diff --git a/WEB-INF/src/controleur/ThreadController.java b/WEB-INF/src/controleur/ThreadController.java index 4c79a529e78a5c4f2e9dc915845856a1c01f2874..940e345f9fe208572ee9cd36337808589b16d498 100644 --- a/WEB-INF/src/controleur/ThreadController.java +++ b/WEB-INF/src/controleur/ThreadController.java @@ -3,6 +3,9 @@ package controleur; import java.io.IOException; import java.time.LocalDate; +import org.apache.commons.text.StringEscapeUtils; +import org.apache.commons.text.translate.CharSequenceTranslator; + import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; @@ -79,6 +82,8 @@ public class ThreadController extends HttpServlet { break; case "create": String name = req.getParameter("name"); + CharSequenceTranslator cst = StringEscapeUtils.ESCAPE_HTML4; + name = cst.translate(name); idThread = daoThread.create(new Thread(idThread, username, name, LocalDate.now())); follow = new Follower(username, idThread); daoFollower.create(follow); diff --git a/WEB-INF/src/modele/dao/Dao.java b/WEB-INF/src/modele/dao/Dao.java deleted file mode 100644 index e6df44f0dde1f3cc91ba2bb8fa293a442094f3e3..0000000000000000000000000000000000000000 --- a/WEB-INF/src/modele/dao/Dao.java +++ /dev/null @@ -1,10 +0,0 @@ -package modele.dao; - -import java.util.List; - -public interface Dao<E>{ - List<E> findAll(); - void create(E elt); - void update(E elt); - void delete(E elt); -} diff --git a/WEB-INF/src/modele/dao/DaoThread.java b/WEB-INF/src/modele/dao/DaoThread.java index 710adf7b655ef96aec65194c78034a5907957a04..63b94588812a0b619ba1ba1d0de86d6e74a7bb6f 100644 --- a/WEB-INF/src/modele/dao/DaoThread.java +++ b/WEB-INF/src/modele/dao/DaoThread.java @@ -92,7 +92,7 @@ public class DaoThread { DS bdd = DS.getInstance(); List<Thread> res = new ArrayList<>(); try(Connection con = bdd.getConnection()) { - PreparedStatement ps = con.prepareStatement("SELECT * FROM threads WHERE id_thread NOT IN (SELECT id_thread FROM followers WHERE username = ?)"); + PreparedStatement ps = con.prepareStatement("SELECT * FROM threads WHERE id_thread NOT IN (SELECT id_thread FROM followers WHERE username = ?) ORDER BY date DESC"); ps.setString(1, creator); ResultSet rs = ps.executeQuery(); while (rs.next()) { @@ -108,7 +108,7 @@ public class DaoThread { DS bdd = DS.getInstance(); List<Thread> res = new ArrayList<>(); try(Connection con = bdd.getConnection()) { - PreparedStatement ps = con.prepareStatement("SELECT * FROM threads WHERE id_thread IN (SELECT id_thread FROM followers WHERE username = ?)"); + PreparedStatement ps = con.prepareStatement("SELECT * FROM threads WHERE id_thread IN (SELECT id_thread FROM followers WHERE username = ?) ORDER BY date DESC"); ps.setString(1, creator); ResultSet rs = ps.executeQuery(); while (rs.next()) { diff --git a/WEB-INF/vue/chat.jsp b/WEB-INF/vue/chat.jsp index fc8ddd6aba292a4563dc5e73630eabe7fd966f10..3ec10aae5be6e53ea45f3d787cff0cba0143be12 100644 --- a/WEB-INF/vue/chat.jsp +++ b/WEB-INF/vue/chat.jsp @@ -126,7 +126,7 @@ <a class="input-group-text link-primary" href="thread?action=open&id=<%=id %>"> <i class="bi-arrow-clockwise"></i> </a> - <input name="message" class="form-control" placeholder="Entrez votre message ici." required> + <input name="message" class="form-control" placeholder="Entrez votre message ici." maxlength=1024 required> <input type="submit" class="input-group-text" value="Envoyer"> </form> </div> diff --git a/lib/jackson-annotations-2.15.3.jar b/lib/jackson-annotations-2.15.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..83a6e4ddaacd47fa06e8e464d9c7af645b53ff23 Binary files /dev/null and b/lib/jackson-annotations-2.15.3.jar differ diff --git a/lib/jackson-core-2.15.3.jar b/lib/jackson-core-2.15.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..f0c53d16aa074ab1bc97346eb7d3502ac0ecc03f Binary files /dev/null and b/lib/jackson-core-2.15.3.jar differ diff --git a/lib/jackson-databind-2.15.3.jar b/lib/jackson-databind-2.15.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..b1a891a3a152ad0323b5fcbcbfa046aa8bd36d9a Binary files /dev/null and b/lib/jackson-databind-2.15.3.jar differ diff --git a/lib/jackson-datatype-jsr310-2.8.6.jar b/lib/jackson-datatype-jsr310-2.8.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..544f3e843ad73f7cb2d3de9168c27e71eecd3585 Binary files /dev/null and b/lib/jackson-datatype-jsr310-2.8.6.jar differ diff --git a/lib/postgresql.jar b/lib/postgresql.jar new file mode 100644 index 0000000000000000000000000000000000000000..091b4d13a417d635f5a1d7a42b482f88a6f3bf65 Binary files /dev/null and b/lib/postgresql.jar differ diff --git a/lib/servlet-api.jar b/lib/servlet-api.jar new file mode 100644 index 0000000000000000000000000000000000000000..bd79a8be34b3e074e31a1f1733c141b19a3c1b90 Binary files /dev/null and b/lib/servlet-api.jar differ diff --git a/delete_the_podman_psql_container.sh b/scripts/delete_the_podman_psql_container.sh similarity index 100% rename from delete_the_podman_psql_container.sh rename to scripts/delete_the_podman_psql_container.sh diff --git a/install_psql_on_podman_container.sh b/scripts/install_psql_on_podman_container.sh similarity index 74% rename from install_psql_on_podman_container.sh rename to scripts/install_psql_on_podman_container.sh index 53a24bb66c5f8d1c6b4513e527a6705270673fd0..ef3e0f6f9bf212ace1d128a842e4cf773eb686b6 100755 --- a/install_psql_on_podman_container.sh +++ b/scripts/install_psql_on_podman_container.sh @@ -10,9 +10,9 @@ podman run -d --name bdd -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -e #On attend que le port fonctionne sleep 2 -PGPASSWORD=password psql -h localhost -p 9090 -U user -d bdd -a -f baseDeDonnee/init.sql && PGPASSWORD=password psql -h localhost -p 9090 -U user -d bdd -a -f baseDeDonnee/setup.sql && echo "Ajout des tables et des données effectuée !" +PGPASSWORD=password psql -h localhost -p 9090 -U user -d bdd -a -f ../baseDeDonnee/init.sql && PGPASSWORD=password psql -h localhost -p 9090 -U user -d bdd -a -f ../baseDeDonnee/setup.sql && echo "Ajout des tables et des données effectuée !" echo "driver=org.postgresql.Driver url=jdbc:postgresql://localhost:9090/bdd login=user -password=password" > WEB-INF/config.prop && echo "Modification du config.prop effectuée." \ No newline at end of file +password=password" > ../WEB-INF/config.prop && echo "Modification du config.prop effectuée." \ No newline at end of file diff --git a/reset_configprop.sh b/scripts/reset_configprop.sh similarity index 54% rename from reset_configprop.sh rename to scripts/reset_configprop.sh index 17807fc35bd156214d58a576a81984446c61b26b..7cb778363780f68660fa8cf724b4d3d68641e7b3 100644 --- a/reset_configprop.sh +++ b/scripts/reset_configprop.sh @@ -2,4 +2,4 @@ echo "driver=org.postgresql.Driver url=jdbc:postgresql://psqlserv/but2 login=maximegosselinetu -password=moi" > WEB-INF/config.prop && echo "Modification du config.prop effectuée." \ No newline at end of file +password=moi" > ../WEB-INF/config.prop && echo "Modification du config.prop effectuée." \ No newline at end of file