diff --git a/pom.xml b/pom.xml index f68afa3232fb7776c8a750bac7fb22a5adc51148..46e0faa73adfbcefe190a858838735dc791c6b9b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>fr.inrae.agroclim</groupId> <artifactId>gwtexpe</artifactId> - <version>2.11.0.0</version> + <version>2.12.1.0-SNAPSHOT</version> <packaging>war</packaging> <name>GWT Experiments</name> <description>Experiments with GWT 2.11.0</description> @@ -32,7 +32,7 @@ </issueManagement> <properties> <!-- Dependencies versions --> - <gwt.version>2.11.0</gwt.version> + <gwt.version>2.12.1</gwt.version> <jackson.version>2.17.1</jackson.version> <jersey.version>2.45</jersey.version> <junit.version>4.13.2</junit.version> @@ -46,10 +46,10 @@ <build.date>${maven.build.timestamp}</build.date> <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> - <maven.compiler.source>11</maven.compiler.source> - <maven.compiler.target>11</maven.compiler.target> - <maven.compiler.testSource>11</maven.compiler.testSource> - <maven.compiler.testTarget>11</maven.compiler.testTarget> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.testSource>17</maven.compiler.testSource> + <maven.compiler.testTarget>17</maven.compiler.testTarget> <!-- other properties --> <analytics.tracking.id></analytics.tracking.id> diff --git a/readme.md b/readme.md index a47816e35935a9c19cf429768ae32504cec40eb4..a45c7fdb0d118d5f84b7f677719569ee039462b3 100644 --- a/readme.md +++ b/readme.md @@ -2,9 +2,9 @@ Ce projet vise à : -* définir une configuration minimale pour commencer un projet GWT, version [2.11.0](https://www.gwtproject.org/release-notes.html#Release_Notes_2_11_0), sur Tomcat 9 et Java 11, -* définir l'outillage (Checkstyle, CPD, PMD, Spotbugs), -* tester quelques technologies (Hibernate, JWT, Leaflet, MVP, OpenAPI, REST, SOAP, SSE, websockets). +- définir une configuration minimale pour commencer un projet GWT, version [2.12.1](https://www.gwtproject.org/release-notes.html#Release_Notes_2_11_0), sur Tomcat 9 et Java 11, +- définir l'outillage (Checkstyle, CPD, PMD, Spotbugs), +- tester quelques technologies (Hibernate, JWT, Leaflet, MVP, OpenAPI, REST, SOAP, SSE, websockets). Ajouter et configurer ces paramètres dans le fichier `context.xml` de Tomcat : @@ -38,9 +38,9 @@ Cette application a été enregistrée sur le serveur de développement de B2Acc Sur ce serveur de développement B2Access : -* l'authentification par le CAS INRA n'est pas disponible, -* l'authentification par GitHub ne fonctionne pas, -* passer par ORCID permet d'utiliser le CAS INRA. +- l'authentification par le CAS INRA n'est pas disponible, +- l'authentification par GitHub ne fonctionne pas, +- passer par ORCID permet d'utiliser le CAS INRA. ## Tests de JWT @@ -51,7 +51,7 @@ Sur ce serveur de développement B2Access : ## Problème de dépendance lors du lancement dans Eclipse Parfois Eclipse perd les dépendances (Log4j non trouvé au lancement). -Clic droit sur **le projet**, choisir **Properties**, puis **Deployment Assembly** et vérifier que dans la colonne *Source* il y a *Maven Dependencies*. +Clic droit sur **le projet**, choisir **Properties**, puis **Deployment Assembly** et vérifier que dans la colonne _Source_ il y a _Maven Dependencies_. Si ce n'est pas le cas, cliquer sur **Add...**, **Java Build Path Entries** et **Maven Dependencies**, **Apply and close**. ## Avertissements de Tomcat diff --git a/src/main/java/fr/inrae/agroclim/gwtexpe/client/Gwtexpe.java b/src/main/java/fr/inrae/agroclim/gwtexpe/client/Gwtexpe.java index 82978e97d0226b871b7037af42dab7ab3bff0004..6f6475e6b2432db82b34325cd3934dfd8446d16f 100644 --- a/src/main/java/fr/inrae/agroclim/gwtexpe/client/Gwtexpe.java +++ b/src/main/java/fr/inrae/agroclim/gwtexpe/client/Gwtexpe.java @@ -22,10 +22,6 @@ package fr.inrae.agroclim.gwtexpe.client; * #L% */ -import org.cleanlogic.sse.EventSource; -import org.peimari.gleaflet.client.resources.LeafletDrawResourceInjector; -import org.peimari.gleaflet.client.resources.LeafletResourceInjector; - import com.google.gwt.activity.shared.ActivityManager; import com.google.gwt.activity.shared.ActivityMapper; import com.google.gwt.core.client.EntryPoint; @@ -39,9 +35,11 @@ import com.google.gwt.place.shared.PlaceHistoryHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.RootPanel; import com.google.web.bindery.event.shared.EventBus; - import fr.inrae.agroclim.gwtexpe.client.hello.HelloPlace; import fr.inrae.agroclim.gwtexpe.shared.PersonDTO; +import org.cleanlogic.sse.EventSource; +import org.peimari.gleaflet.client.resources.LeafletDrawResourceInjector; +import org.peimari.gleaflet.client.resources.LeafletResourceInjector; /** * Entry point classes define <code>onModuleLoad()</code>. @@ -117,62 +115,38 @@ public class Gwtexpe implements EntryPoint { // Server-Send Event final EventSource sse = new EventSource("/gwtexpe/rs/sse/persons"); - sse.onOpen = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/persons Open readyState: " + event.target.readyState()); - mainPage.displayLogMessage("sse/persons Open lastEventId: " + event.lastEventId); - } + sse.onOpen = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/persons Open readyState: " + event.target.readyState()); + mainPage.displayLogMessage("sse/persons Open lastEventId: " + event.lastEventId); }; - sse.onError = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/persons Error: " + event.target.readyState()); - } + sse.onError = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/persons Error: " + event.target.readyState()); }; - sse.onMessage = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/persons data: " + event.data); - } + sse.onMessage = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/persons data: " + event.data); }; // Custom listener - sse.addEventListener("person", new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - final PersonDTO dto = JSON.parse(event.data); - mainPage.displayLogMessage( - "sse/persons personDTO: " + dto.id + ", " + dto.name + ", " + dto.getCreatedDate()); - } + sse.addEventListener("person", (final org.cleanlogic.sse.Event event) -> { + final PersonDTO dto = JSON.parse(event.data); + mainPage.displayLogMessage( + "sse/persons personDTO: " + dto.id + ", " + dto.name + ", " + dto.getCreatedDate()); }); // Server-Send Event broadcast // Launch with http://localhost:8080/gwtexpe/rs/sse/publish final EventSource broadcastSse = new EventSource("/gwtexpe/rs/sse/subscribe"); - broadcastSse.onOpen = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/subscribe Open readyState: " + event.target.readyState()); - mainPage.displayLogMessage("sse/subscribe Open lastEventId: " + event.lastEventId); - } + broadcastSse.onOpen = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/subscribe Open readyState: " + event.target.readyState()); + mainPage.displayLogMessage("sse/subscribe Open lastEventId: " + event.lastEventId); }; - broadcastSse.onError = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/subscribe Error: " + event.target.readyState()); - } + broadcastSse.onError = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/subscribe Error: " + event.target.readyState()); }; - broadcastSse.onMessage = new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/subscribe subscribed data: " + event.data); - } + broadcastSse.onMessage = (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/subscribe subscribed data: " + event.data); }; // Custom listener - broadcastSse.addEventListener("message", new EventSource.Listener() { - @Override - public void function(final org.cleanlogic.sse.Event event) { - mainPage.displayLogMessage("sse/subscribe subscribed message: " + event.data); - } + broadcastSse.addEventListener("message", (final org.cleanlogic.sse.Event event) -> { + mainPage.displayLogMessage("sse/subscribe subscribed message: " + event.data); }); } } diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 82a2b10c3be4edbe3efabe3ae433ae0ffe4c14ce..acb5b0e23b85441163bb89a0eed107cf3ce70453 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -1,3 +1,4 @@ +<!doctype html> <!-- #%L GWT Experiments @@ -19,7 +20,6 @@ <http://www.gnu.org/licenses/gpl-3.0.html>. #L% --> -<!doctype html> <!-- The DOCTYPE declaration above will set the --> <!-- browser's rendering engine into --> <!-- "Standards Mode". Replacing this declaration -->