mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2013 -----
  • December
  • November
  • October
  • September
observe-commits@list.forge.codelutin.com

July 2020

  • 1 participants
  • 91 discussions
[Git][ultreiaio/ird-observe][release/7.6.4] [jgitflow-maven-plugin]updating poms for branch'release/7.6.4' with non-snapshot versions[skip ci]
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed to branch release/7.6.4 at ultreiaio / ird-observe Commits: 55522c6d by Tony Chemit at 2020-07-09T08:21:05+02:00 [jgitflow-maven-plugin]updating poms for branch&#39;release/7.6.4&#39; with non-snapshot versions[skip ci] - - - - - 22 changed files: - client-configuration/pom.xml - client-core/pom.xml - client-runner/pom.xml - common-dto/pom.xml - common-persistence/pom.xml - common-service/pom.xml - common-validation/pom.xml - dto/pom.xml - observe-i18n/pom.xml - observe/pom.xml - persistence/pom.xml - pom.xml - server-configuration/pom.xml - server-core/pom.xml - server-runner/pom.xml - services-client/pom.xml - services-local/pom.xml - services/pom.xml - templates/pom.xml - test/pom.xml - toolbox-maven-plugin/pom.xml - validation/pom.xml Changes: ===================================== client-configuration/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>client-configuration</artifactId> ===================================== client-core/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>client-core</artifactId> ===================================== client-runner/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>client-runner</artifactId> ===================================== common-dto/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-persistence/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-service/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-validation/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== dto/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>dto</artifactId> ===================================== observe-i18n/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>observe-i18n</artifactId> ===================================== observe/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>observe</artifactId> ===================================== persistence/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>persistence</artifactId> ===================================== pom.xml ===================================== @@ -29,7 +29,7 @@ <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> <packaging>pom</packaging> <name>ObServe :: Pom</name> ===================================== server-configuration/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>server-configuration</artifactId> @@ -118,7 +118,7 @@ <dependency> <groupId>fr.ird.observe</groupId> <artifactId>services</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> <scope>compile</scope> </dependency> ===================================== server-core/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>server-core</artifactId> ===================================== server-runner/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>server-runner</artifactId> ===================================== services-client/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>services-client</artifactId> ===================================== services-local/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>services-local</artifactId> ===================================== services/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>services</artifactId> ===================================== templates/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== test/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>test</artifactId> ===================================== toolbox-maven-plugin/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== validation/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.4</version> </parent> <artifactId>validation</artifactId> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/55522c6d5a400eb7edc53681d… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/55522c6d5a400eb7edc53681d… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][master-7.x] 26 commits: [jgitflow-maven-plugin]updating poms for 7.6.4-SNAPSHOT development[skip ci]
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed to branch master-7.x at ultreiaio / ird-observe Commits: d1d3eb1a by Tony Chemit at 2020-06-22T16:56:43+02:00 [jgitflow-maven-plugin]updating poms for 7.6.4-SNAPSHOT development[skip ci] - - - - - ba13c2ae by Tony Chemit at 2020-06-22T17:15:32+02:00 [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci] - - - - - cc6c62b1 by Tony Chemit at 2020-06-22T17:15:32+02:00 [jgitflow-maven-plugin]merging &#39;master-7.x&#39; into &#39;develop-7.x&#39; - - - - - ee51e70a by Tony Chemit at 2020-06-22T17:15:32+02:00 [jgitflow-maven-plugin]Updating develop poms back to pre merge state[skip ci] - - - - - 6d8bef84 by Tony Chemit at 2020-07-01T10:30:35+02:00 Deux comportements étranges sur l&#39;assistant tableaux de synthèse - Closes #1533 - - - - - ce0547c6 by Tony Chemit at 2020-07-01T10:41:29+02:00 Correction des composants graphiques numériques et sélection - Closes #1563 - - - - - b4c3bb68 by Tony Chemit at 2020-07-01T11:13:28+02:00 Requêtes de synthèse PS - Closes #1529 - - - - - b95e3b85 by Tony Chemit at 2020-07-02T11:20:09+02:00 [PS][Observations] Activité : contrôle trop strict - Closes #1552 - - - - - 3ed185fe by Tony Chemit at 2020-07-02T11:20:11+02:00 [7.6.3][PS] Les thonidés sont disponibles dans la liste déroulante du form Espèces accessoires, alors qu&#39;ils ne sont pas dans la display liste correspondante - Closes #1562 - - - - - a17958e2 by Tony Chemit at 2020-07-02T11:20:11+02:00 [LL] Onglet Composition détaillée / Détail avançon / Hameçon et appât non consultable - Closes #1558 - - - - - b5a3eb17 by Tony Chemit at 2020-07-02T12:10:40+02:00 [PS] Pratiques de remise à l&#39;eau, cétacés non trouvés - Closes #1564 - - - - - 82cbd449 by Tony Chemit at 2020-07-03T19:25:23+02:00 le reset reste actif sur les éditeurs de nombres même si ceci ne sont pas actif - Closes #1568 le reset des combo box ne fonctionne pas bien (alors que l&#39;action associée Ctrl+D est ok) - Closes #1569 - - - - - 51e68e52 by Tony Chemit at 2020-07-05T09:40:52+02:00 Deux coquilles dans les validations - Closes #1572 - - - - - cb657363 by Tony Chemit at 2020-07-05T14:36:05+02:00 Problème de traduction sur les validations taille/poids des espèces - Closes #1571 - - - - - 4813a403 by Tony Chemit at 2020-07-05T14:36:06+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - See #1565 Rendre toutes les colonnes modifiables dans les modèles de tableau - - - - - 49b5e36d by Tony Chemit at 2020-07-05T14:36:06+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - See #1565 Rendre toutes les propriétés modifiables dans les formulaires - - - - - 1a6e009b by Tony Chemit at 2020-07-05T14:36:06+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - Close #1565 Bien restituer les listes de données pour modification (et non plus juste la valeur sélectionnée) Revue du focus suite à une modification de ligne dans le tableau - - - - - 1559b16f by Tony Chemit at 2020-07-08T14:44:01+02:00 Amélioration des logs - Closes #1574 - - - - - de252cbe by Tony Chemit at 2020-07-08T14:44:02+02:00 les programmes ne sont pas triés dans le même ordre dans l&#39;arbre de navigation et dans la formulaire liste des marées - Closes #1567 - - - - - 54e060f2 by Tony Chemit at 2020-07-08T14:44:02+02:00 Revoir la gestion des validateurs taille-poids d&#39;espèces - Closes #1573 - - - - - 5b2ae29c by Tony Chemit at 2020-07-08T14:44:02+02:00 Integrates back toolkit since we won&#39;t use it anywhere else - - - - - 647b3466 by Tony Chemit at 2020-07-08T14:44:02+02:00 Clean license headers - - - - - 0af7d8e7 by Tony Chemit at 2020-07-08T14:44:02+02:00 [PS] Pratiques de remises à l&#39;eau : le mode de libération n&#39;est pas supprimé si on change d&#39;espèce - Closes #1575 - - - - - d1b521a0 by Tony Chemit at 2020-07-08T14:44:02+02:00 Petite amélioration cosmétique (c kdo) - - - - - 55522c6d by Tony Chemit at 2020-07-09T08:21:05+02:00 [jgitflow-maven-plugin]updating poms for branch&#39;release/7.6.4&#39; with non-snapshot versions[skip ci] - - - - - d09a4a8e by Tony Chemit at 2020-07-09T08:26:33+02:00 [jgitflow-maven-plugin]merging &#39;release/7.6.4&#39; into &#39;master-7.x&#39; - - - - - 30 changed files: - client-configuration/pom.xml - client-configuration/src/main/resources/log4j2.xml - client-configuration/src/main/resources/observe-log4j2.xml - client-core/pom.xml - client-core/src/main/assembly/map.xml - client-core/src/main/java/fr/ird/observe/client/package.html - client-core/src/main/java/fr/ird/observe/client/ui/ObserveCommon.jcss - client-core/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/actions/content/ShowUniqueKeysAction.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/config/ConfigModel.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/config/ConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/config/SelectDataUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/report/ReportConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/report/ReportModel.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/legacy/SynchronizeUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTree.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jcss - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/CollapseAll.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/ExpandAll.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/ReferentialSelectionTreePaneActionSupport.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ea5d67523cd3ca464a79ea78… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/ea5d67523cd3ca464a79ea78… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 5 commits: [jgitflow-maven-plugin]updating poms for branch'release/7.6.4' with non-snapshot versions[skip ci]
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 55522c6d by Tony Chemit at 2020-07-09T08:21:05+02:00 [jgitflow-maven-plugin]updating poms for branch&#39;release/7.6.4&#39; with non-snapshot versions[skip ci] - - - - - d09a4a8e by Tony Chemit at 2020-07-09T08:26:33+02:00 [jgitflow-maven-plugin]merging &#39;release/7.6.4&#39; into &#39;master-7.x&#39; - - - - - 7aae43f1 by Tony Chemit at 2020-07-09T08:26:34+02:00 [jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci] - - - - - 507c2ab9 by Tony Chemit at 2020-07-09T08:26:35+02:00 [jgitflow-maven-plugin]merging &#39;master-7.x&#39; into &#39;develop-7.x&#39; - - - - - 11f90bbd by Tony Chemit at 2020-07-09T08:26:35+02:00 [jgitflow-maven-plugin]Updating develop poms back to pre merge state[skip ci] - - - - - 0 changed files: Changes: View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c79d49fb2e1005ec38c2f4c… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c79d49fb2e1005ec38c2f4c… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] [jgitflow-maven-plugin]updating poms for 7.6.5-SNAPSHOT development[skip ci]
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 0c79d49f by Tony Chemit at 2020-07-09T08:19:52+02:00 [jgitflow-maven-plugin]updating poms for 7.6.5-SNAPSHOT development[skip ci] - - - - - 22 changed files: - client-configuration/pom.xml - client-core/pom.xml - client-runner/pom.xml - common-dto/pom.xml - common-persistence/pom.xml - common-service/pom.xml - common-validation/pom.xml - dto/pom.xml - observe-i18n/pom.xml - observe/pom.xml - persistence/pom.xml - pom.xml - server-configuration/pom.xml - server-core/pom.xml - server-runner/pom.xml - services-client/pom.xml - services-local/pom.xml - services/pom.xml - templates/pom.xml - test/pom.xml - toolbox-maven-plugin/pom.xml - validation/pom.xml Changes: ===================================== client-configuration/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>client-configuration</artifactId> ===================================== client-core/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>client-core</artifactId> ===================================== client-runner/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>client-runner</artifactId> ===================================== common-dto/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-persistence/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-service/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== common-validation/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== dto/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>dto</artifactId> ===================================== observe-i18n/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>observe-i18n</artifactId> ===================================== observe/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>observe</artifactId> ===================================== persistence/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>persistence</artifactId> ===================================== pom.xml ===================================== @@ -29,7 +29,7 @@ <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> <packaging>pom</packaging> <name>ObServe :: Pom</name> ===================================== server-configuration/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>server-configuration</artifactId> @@ -118,7 +118,7 @@ <dependency> <groupId>fr.ird.observe</groupId> <artifactId>services</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> <scope>compile</scope> </dependency> ===================================== server-core/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>server-core</artifactId> ===================================== server-runner/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>server-runner</artifactId> ===================================== services-client/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>services-client</artifactId> ===================================== services-local/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>services-local</artifactId> ===================================== services/pom.xml ===================================== @@ -25,7 +25,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>services</artifactId> ===================================== templates/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== test/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>test</artifactId> ===================================== toolbox-maven-plugin/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <groupId>fr.ird.observe.toolkit</groupId> ===================================== validation/pom.xml ===================================== @@ -24,7 +24,7 @@ <parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> - <version>7.6.4-SNAPSHOT</version> + <version>7.6.5-SNAPSHOT</version> </parent> <artifactId>validation</artifactId> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0c79d49fb2e1005ec38c2f4c4… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0c79d49fb2e1005ec38c2f4c4… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe] Pushed new branch release/7.6.4
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed new branch release/7.6.4 at ultreiaio / ird-observe -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/tree/release/7.6.4 You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] update changelog [skip ci]
by Tony CHEMIT 09 Jul '20

09 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fcea594d by Tony Chemit at 2020-07-09T08:19:27+02:00 update changelog [skip ci] - - - - - 1 changed file: - CHANGELOG.md Changes: ===================================== CHANGELOG.md ===================================== @@ -1,7 +1,55 @@ # ObServe changelog * Author [Tony Chemit](mailto:dev@tchemit.fr) - * Last generated at 2020-06-27 20:02. + * Last generated at 2020-07-09 08:01. + +## Version [8.0.0-RC-8](https://gitlab.com/ultreiaio/ird-observe/milestones/167) + +**Closed at 2020-07-08.** + + +### Issues + * [[Anomalie 1496]](https://gitlab.com/ultreiaio/ird-observe/issues/1496) **[PS] Les listes de sélection d&#39;espèces cible sont vides, celle des espèces accessoires partielle** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1497]](https://gitlab.com/ultreiaio/ird-observe/issues/1497) **Disfonctionnement de raccourcis** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1499]](https://gitlab.com/ultreiaio/ird-observe/issues/1499) **Un programme est marqué ouvert mais pas de marée ouverte à l&#39;intérieur** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1500]](https://gitlab.com/ultreiaio/ird-observe/issues/1500) **Réouverture simplifiée d&#39;item : l&#39;arbre de navigation est mal rafraîchit** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1501]](https://gitlab.com/ultreiaio/ird-observe/issues/1501) **Imperfections sur création de nouveau FOB en utilisant les préconfigurations** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1503]](https://gitlab.com/ultreiaio/ird-observe/issues/1503) **Enregistrement de FOB impossible si une balise est présente** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1504]](https://gitlab.com/ultreiaio/ird-observe/issues/1504) **FOB enregistré non disponible immédiatement dans la popup de sélection d&#39;objet prédéfini** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1505]](https://gitlab.com/ultreiaio/ird-observe/issues/1505) **Enregistrement de FOB -&gt; chagement d&#39;onglet intempestif** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1506]](https://gitlab.com/ultreiaio/ird-observe/issues/1506) **Classement Calée / FOBs dans l&#39;arbre** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1515]](https://gitlab.com/ultreiaio/ird-observe/issues/1515) **Racourcis non fonctinonels** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1516]](https://gitlab.com/ultreiaio/ird-observe/issues/1516) **L&#39;ajout d&#39;une caractéristique d&#39;équipement plante** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1518]](https://gitlab.com/ultreiaio/ird-observe/issues/1518) **MAJ+TAB fonctionne moyennement sur 8 RC7, comme sur 7.6.2** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1519]](https://gitlab.com/ultreiaio/ird-observe/issues/1519) **LL Observations / Echec d&#39;enregistrement d&#39;une capture** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1524]](https://gitlab.com/ultreiaio/ird-observe/issues/1524) **Widget horodatage dans un état instable** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1525]](https://gitlab.com/ultreiaio/ird-observe/issues/1525) **[LL][Logbook] opération de pêche / Numéro : réaction inatendue à la touche &#39;d&#39;** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1527]](https://gitlab.com/ultreiaio/ird-observe/issues/1527) **[LL][Logbook] opération de pêche / décimaux : gestion de la virgule** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1537]](https://gitlab.com/ultreiaio/ird-observe/issues/1537) **[LL] Appairement des activités : cosmétique** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1540]](https://gitlab.com/ultreiaio/ird-observe/issues/1540) **Impossible d&#39;afficher le &#96;À propos&#96;** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1543]](https://gitlab.com/ultreiaio/ird-observe/issues/1543) **[SYNCHRO AVANCEE MAREES] Barre de progression ne fonctionne pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1547]](https://gitlab.com/ultreiaio/ird-observe/issues/1547) **[CALCULS] L&#39;assistant calculs bloque après la sélection des marées** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1549]](https://gitlab.com/ultreiaio/ird-observe/issues/1549) **L&#39;export de marées central vers local plante** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1550]](https://gitlab.com/ultreiaio/ird-observe/issues/1550) **La modification de la sélection du composant comboBox ne fonctionne pas** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1555]](https://gitlab.com/ultreiaio/ird-observe/issues/1555) **Amélioration de l&#39;onglet Sauvegarde (Actions longues)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1570]](https://gitlab.com/ultreiaio/ird-observe/issues/1570) **Les actions de changement d&#39;ordre sur les tableaux ordonné ne fonctionnent plus** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1509]](https://gitlab.com/ultreiaio/ird-observe/issues/1509) **Libellés référentiels** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1510]](https://gitlab.com/ultreiaio/ird-observe/issues/1510) **Ajout d&#39;une méthode de mesure de poids par défaut sur Estimations du banc** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1520]](https://gitlab.com/ultreiaio/ird-observe/issues/1520) **LL Observations / Capture / déprédation : libellé** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1521]](https://gitlab.com/ultreiaio/ird-observe/issues/1521) **Renommer un onglet sur form Marée LL** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1523]](https://gitlab.com/ultreiaio/ird-observe/issues/1523) **[LL][Logbooks] Besoin de pouvoir mettre les horodatages à NULL** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1526]](https://gitlab.com/ultreiaio/ird-observe/issues/1526) **[LL][Logbook] opération de pêche / libellé** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1534]](https://gitlab.com/ultreiaio/ird-observe/issues/1534) **[LL][Logbooks] Form Opération de pêche / Capture : champs actifs en fonction du mode de saisie** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1535]](https://gitlab.com/ultreiaio/ird-observe/issues/1535) **[LL][Echantillon logbook] Cosmétique échantillon dans l&#39;arbre** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1536]](https://gitlab.com/ultreiaio/ird-observe/issues/1536) **[LL][Echantillon logbook] Cosmétique** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1551]](https://gitlab.com/ultreiaio/ird-observe/issues/1551) **[LL Logbook Activity] Revoir finement l&#39;activité observée associée à une activité logbook** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1554]](https://gitlab.com/ultreiaio/ird-observe/issues/1554) **[WEB SERVICE] Se passer du paramètre observeweb.host** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1557]](https://gitlab.com/ultreiaio/ird-observe/issues/1557) **Ajouter une option pour ne pas afficher la légende dans la carte** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1560]](https://gitlab.com/ultreiaio/ird-observe/issues/1560) **Élimination des points non effectifs dans la carte** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Tâche 1417]](https://gitlab.com/ultreiaio/ird-observe/issues/1417) **Revoir les barres de progressions** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Tâche 1493]](https://gitlab.com/ultreiaio/ird-observe/issues/1493) **Comportement de l&#39;ouverture des programmes** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Tâche 1508]](https://gitlab.com/ultreiaio/ird-observe/issues/1508) **[PS] Calée / estimation banc** (Thanks to Pascal Cauquil) (Reported by Pascal Cauquil) + * [[Tâche 1553]](https://gitlab.com/ultreiaio/ird-observe/issues/1553) **Bascule entre langues** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) ## Version [8.0-RC-7](https://gitlab.com/ultreiaio/ird-observe/milestones/161) @@ -235,6 +283,30 @@ * [[Evolution 1181]](https://gitlab.com/ultreiaio/ird-observe/issues/1181) **Ajouter un champ vessel.lloydid** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) * [[Evolution 1183]](https://gitlab.com/ultreiaio/ird-observe/issues/1183) **[V8][DATA MODEL] Transformer Vessel.fleetcountry (int4) en topiaid** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) +## Version [7.6.4](https://gitlab.com/ultreiaio/ird-observe/milestones/166) + +**Closed at 2020-07-08.** + + +### Issues + * [[Anomalie 1533]](https://gitlab.com/ultreiaio/ird-observe/issues/1533) **Deux comportements étranges sur l&#39;assistant tableaux de synthèse** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1552]](https://gitlab.com/ultreiaio/ird-observe/issues/1552) **[PS][Observations] Activité : contrôle trop strict** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1558]](https://gitlab.com/ultreiaio/ird-observe/issues/1558) **[LL] Onglet Composition détaillée / Détail avançon / Hameçon et appât non consultable** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1561]](https://gitlab.com/ultreiaio/ird-observe/issues/1561) **[7.6.3] Rappel d&#39;espèce / catégorie** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1562]](https://gitlab.com/ultreiaio/ird-observe/issues/1562) **[7.6.3][PS] Les thonidés sont disponibles dans la liste déroulante du form Espèces accessoires, alors qu&#39;ils ne sont pas dans la display liste correspondante** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1563]](https://gitlab.com/ultreiaio/ird-observe/issues/1563) **Correction des composants graphiques numériques et sélection** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1567]](https://gitlab.com/ultreiaio/ird-observe/issues/1567) **les programmes ne sont pas triés dans le même ordre dans l&#39;arbre de navigation et dans la formulaire liste des marées** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1568]](https://gitlab.com/ultreiaio/ird-observe/issues/1568) **le reset reste actif sur les éditeurs de nombres même si ceci ne sont pas actif** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1569]](https://gitlab.com/ultreiaio/ird-observe/issues/1569) **le reset des combo box ne fonctionne pas bien (alors que l&#39;action associée Ctrl+D est ok)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1571]](https://gitlab.com/ultreiaio/ird-observe/issues/1571) **Problème de traduction sur les validations taille/poids des espèces** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1572]](https://gitlab.com/ultreiaio/ird-observe/issues/1572) **Deux coquilles dans les validations** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1573]](https://gitlab.com/ultreiaio/ird-observe/issues/1573) **Revoir la gestion des validateurs taille-poids d&#39;espèces** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1575]](https://gitlab.com/ultreiaio/ird-observe/issues/1575) **[PS] Pratiques de remises à l&#39;eau : le mode de libération n&#39;est pas supprimé si on change d&#39;espèce** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1564]](https://gitlab.com/ultreiaio/ird-observe/issues/1564) **[PS] Pratiques de remise à l&#39;eau, cétacés non trouvés** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1565]](https://gitlab.com/ultreiaio/ird-observe/issues/1565) **Pouvoir changer l&#39;espèce d&#39;un enregistrement** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Tâche 1529]](https://gitlab.com/ultreiaio/ird-observe/issues/1529) **Requêtes de synthèse PS** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Tâche 1574]](https://gitlab.com/ultreiaio/ird-observe/issues/1574) **Amélioration des logs** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + ## Version [7.6.3](https://gitlab.com/ultreiaio/ird-observe/milestones/165) **Closed at 2020-06-22.** View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fcea594dfa7657079cceb68f0… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fcea594dfa7657079cceb68f0… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 7 commits: Amélioration des logs - Closes #1574
by Tony CHEMIT 08 Jul '20

08 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 1559b16f by Tony Chemit at 2020-07-08T14:44:01+02:00 Amélioration des logs - Closes #1574 - - - - - de252cbe by Tony Chemit at 2020-07-08T14:44:02+02:00 les programmes ne sont pas triés dans le même ordre dans l&#39;arbre de navigation et dans la formulaire liste des marées - Closes #1567 - - - - - 54e060f2 by Tony Chemit at 2020-07-08T14:44:02+02:00 Revoir la gestion des validateurs taille-poids d&#39;espèces - Closes #1573 - - - - - 5b2ae29c by Tony Chemit at 2020-07-08T14:44:02+02:00 Integrates back toolkit since we won&#39;t use it anywhere else - - - - - 647b3466 by Tony Chemit at 2020-07-08T14:44:02+02:00 Clean license headers - - - - - 0af7d8e7 by Tony Chemit at 2020-07-08T14:44:02+02:00 [PS] Pratiques de remises à l&#39;eau : le mode de libération n&#39;est pas supprimé si on change d&#39;espèce - Closes #1575 - - - - - d1b521a0 by Tony Chemit at 2020-07-08T14:44:02+02:00 Petite amélioration cosmétique (c kdo) - - - - - 30 changed files: - client-configuration/pom.xml - client-configuration/src/main/resources/log4j2.xml - client-configuration/src/main/resources/observe-log4j2.xml - client-core/pom.xml - client-core/src/main/assembly/map.xml - client-core/src/main/java/fr/ird/observe/client/package.html - client-core/src/main/java/fr/ird/observe/client/ui/ObserveMainUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/actions/content/ShowUniqueKeysAction.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminTabUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/AdminUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/config/ConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/config/SelectDataUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/export/ExportUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/report/ReportConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/legacy/SynchronizeUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/ReferentialReplaceUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/ReferentialSynchroConfigUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTree.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePane.jcss - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/CollapseAll.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/ExpandAll.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/ReferentialSelectionTreePaneActionSupport.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/SelectAll.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/SelectUnselect.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/synchronize/referential/ng/tree/actions/UnselectAll.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/851b44aeb69bb50e16b71a54… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/851b44aeb69bb50e16b71a54… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 8 commits: amélioration log
by Tony CHEMIT 08 Jul '20

08 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: e341f1c5 by Tony Chemit at 2020-07-08T14:42:23+02:00 amélioration log - - - - - e72c5cfe by Tony Chemit at 2020-07-08T14:42:25+02:00 Les actions de changement d&#39;ordre sur les tableaux ordonné ne fonctionnent plus - Closes #1570 - - - - - f61af58b by Tony Chemit at 2020-07-08T14:42:25+02:00 [LL][LOGBOOKS] Activité : champ vitesse vent superflu - Closes #1531 - - - - - 07c50c00 by Tony Chemit at 2020-07-08T14:42:25+02:00 Remove logger in plugin - - - - - 6c7dd013 by Tony Chemit at 2020-07-08T14:42:25+02:00 [LL] Form marée / Coche des cases &#39;Données logbook&#39; et &#39;Données d&#39;observation&#39; - Closes #1522 - - - - - e5490dcd by Tony Chemit at 2020-07-08T14:42:25+02:00 [SYNCHRO AVANCEE][REFERENTIEL] Améliorer la coche des cases - Closes #1546 - - - - - 102a989b by Tony Chemit at 2020-07-08T14:42:25+02:00 Change data synchro action keystroke to be conform with referential syncho - - - - - 78908d1b by Tony Chemit at 2020-07-08T14:42:25+02:00 [LL Logbook Activity] Revoir finement l&#39;activité observée associée à une activité logbook - Closes #1551 - - - - - 30 changed files: - client-configuration/src/main/resources/observe-log4j2.xml - client-core/src/main/java/fr/ird/observe/client/util/JMenuWithAccelerator.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTree.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreeCellRenderer.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/DataSourceInformation.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectAll.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/UnselectAll.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialPropertyUpdatedNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialTypeSynchroNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialUpdatedSynchroNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/SynchroNodeSupport.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/list/actions/Create.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/actions/ContentTableUIEntryActionSupport.java - + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/actions/MakeActionsEnabledOnlyIfMenuItemParentIsOpenedPopupMenuListener.java - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/popup/AutoSelectWithMoveUpAndDownShowPopupAction.java - client-datasource-editor-ll/src/main/i18n/getters/java.getter - + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/ActionHelper.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripUIHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/LandingListUI.jcss - + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/actions/LandingListUICreate.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityListUI.jcss - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jaxx The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c2eb9b53772afc1c6cf31b63… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c2eb9b53772afc1c6cf31b63… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL Logbook Activity] Revoir finement l'activité observée associée à une...
by Tony CHEMIT 08 Jul '20

08 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: c2eb9b53 by Tony Chemit at 2020-07-08T14:21:50+02:00 [LL Logbook Activity] Revoir finement l&#39;activité observée associée à une activité logbook - Closes #1551 - - - - - 18 changed files: - client-datasource-editor-ll/src/main/i18n/getters/java.getter - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jaxx - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jcss - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUIHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUIModel.java - − client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/ActivityUIChooseRelatedObservedActivity.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/ActivityUI.jcss - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/ActivityUIModel.java - dto/src/main/java/fr/ird/observe/dto/data/ActivityAware.java - dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityDto.java - dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityReference.java - dto/src/main/java/fr/ird/observe/dto/data/ll/observation/ActivityDto.java - dto/src/main/java/fr/ird/observe/dto/data/ll/observation/ActivityReference.java - dto/src/main/java/fr/ird/observe/dto/referential/ll/common/VesselActivityHelper.java → dto/src/main/java/fr/ird/observe/dto/referential/ll/common/VesselActivityReference.java - dto/src/main/models/Observe-30-data-ll-observation.model - dto/src/main/models/Observe-31-data-ll-logbook.model - persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java - persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/ActivityImpl.java Changes: ===================================== client-datasource-editor-ll/src/main/i18n/getters/java.getter ===================================== @@ -68,9 +68,6 @@ observe.data.ll.logbook.Activity.action.addSample observe.data.ll.logbook.Activity.action.addSample.tip observe.data.ll.logbook.Activity.action.addSet observe.data.ll.logbook.Activity.action.addSet.tip -observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity -observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity.message -observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity.title observe.data.ll.logbook.Activity.action.moves observe.data.ll.logbook.Activity.action.moves.tip observe.data.ll.logbook.Activity.message.not.open ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jaxx ===================================== @@ -39,7 +39,6 @@ fr.ird.observe.client.datasource.editor.content.data.ll.logbook.actions.ActivityUIAddSample fr.ird.observe.client.datasource.editor.content.data.ll.logbook.actions.ActivityUIDelete fr.ird.observe.client.datasource.editor.content.data.ll.logbook.actions.ActivityUISave - fr.ird.observe.client.datasource.editor.content.data.ll.logbook.actions.ActivityUIChooseRelatedObservedActivity fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingResultItem @@ -110,8 +109,7 @@ <JLabel id='vesselActivityLabel'/> </cell> <cell anchor='east' fill="both"> - <JaxxComboBox id='vesselActivity' genericType='VesselActivityReference' - constructorParams='this'/> + <JaxxComboBox id='vesselActivity' genericType='VesselActivityReference' constructorParams='this'/> </cell> </row> @@ -190,11 +188,7 @@ <JLabel id='relatedObservedActivityLabel'/> </cell> <cell anchor='east' fill="both"> - <JPanel layout="{new BorderLayout()}"> - <JaxxComboBox id='relatedObservedActivity' genericType='fr.ird.observe.dto.data.ll.observation.ActivityReference' constructorParams='this' - constraints='BorderLayout.CENTER'/> - <JButton id='chooseRelatedObservedActivity' constraints='BorderLayout.EAST'/> - </JPanel> + <JaxxComboBox id='relatedObservedActivity' genericType='fr.ird.observe.dto.data.ll.observation.ActivityReference' constructorParams='this'/> </cell> </row> ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jcss ===================================== @@ -33,13 +33,13 @@ DateTimeEditor { } #startTimeStamp { - propertyDayDate:{ActivityUIModel.PROPERTY_START_DATE}; - propertyTimeDate:{ActivityUIModel.PROPERTY_START_TIME}; + propertyDayDate:{ActivityDto.PROPERTY_START_DATE}; + propertyTimeDate:{ActivityDto.PROPERTY_START_TIME}; } #endTimeStamp { - propertyDayDate:{ActivityUIModel.PROPERTY_END_DATE}; - propertyTimeDate:{ActivityUIModel.PROPERTY_END_TIME}; + propertyDayDate:{ActivityDto.PROPERTY_END_DATE}; + propertyTimeDate:{ActivityDto.PROPERTY_END_TIME}; } #coordinate { @@ -71,14 +71,9 @@ DateTimeEditor { } #addSet { - enabled:{!model.isModified() && model.isValid() && model.isSetOperation() && ! bean.isHasSet()}; + enabled:{!model.isModified() && model.isValid() && bean.isSetOperation() && ! bean.isHasSet()}; } #addSample { enabled:{!model.isModified() && model.isValid() && !bean.isHasSample()}; } - -#chooseRelatedObservedActivity { - visible:{!model.isReadingMode()}; - enabled:{model.isValid() && bean.getLatitude() != null && bean.getLongitude() != null && bean.getQuadrant() != null}; -} ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUIHandler.java ===================================== @@ -27,6 +27,7 @@ import fr.ird.observe.client.datasource.editor.content.data.open.ContentOpenable import fr.ird.observe.dto.data.ll.logbook.ActivityDto; import fr.ird.observe.dto.data.ll.observation.ActivityReference; import fr.ird.observe.dto.form.Form; +import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingEngine; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.spi.UIHandler; @@ -44,6 +45,7 @@ import java.util.List; class ActivityUIHandler extends ContentOpenableUIHandler<ActivityDto, fr.ird.observe.dto.data.ll.logbook.ActivityReference, ActivityUI> implements UIHandler<ActivityUI> { private static final Logger log = LogManager.getLogger(ActivityUIHandler.class); + private ActivityLonglinePairingEngine pairingEngine; @Override public ActivityUIModel getModel() { @@ -74,6 +76,7 @@ class ActivityUIHandler extends ContentOpenableUIHandler<ActivityDto, fr.ird.obs public void afterInit(ActivityUI ui) { ui.getRelatedObservedActivity().setBeanType(ActivityReference.class); super.afterInit(ui); + pairingEngine = new ActivityLonglinePairingEngine(getClientConfig().getReferentialLocale(), getLlCommonTripService(), getLlLogbookActivityService()); } @Override @@ -94,7 +97,7 @@ class ActivityUIHandler extends ContentOpenableUIHandler<ActivityDto, fr.ird.obs } List<ActivityReference> allActivityLonglineObs = getLlObservationActivityService().getActivityLonglineByTripLongline(tripId).toList(); - model.openForm(form, allActivityLonglineObs); + model.openForm(form, allActivityLonglineObs, pairingEngine); } } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUIModel.java ===================================== @@ -23,21 +23,20 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.logbook; */ import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.client.datasource.editor.content.data.open.ContentOpenableUIModel; import fr.ird.observe.dto.data.ll.logbook.ActivityDto; import fr.ird.observe.dto.data.ll.observation.ActivityReference; import fr.ird.observe.dto.form.Form; -import fr.ird.observe.dto.referential.ll.common.VesselActivityHelper; -import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; +import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingEngine; +import fr.ird.observe.services.service.data.ll.pairing.TripLonglinePairingContext; import io.ultreia.java4all.i18n.I18n; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.nuiton.util.DateUtil; import java.util.Collections; -import java.util.Date; import java.util.List; -import java.util.stream.Collectors; +import java.util.Objects; /** * Created on 9/26/14. @@ -47,95 +46,46 @@ import java.util.stream.Collectors; */ public class ActivityUIModel extends ContentOpenableUIModel<ActivityDto, fr.ird.observe.dto.data.ll.logbook.ActivityReference> { - public static final String PROPERTY_START_DATE = "startDate"; - public static final String PROPERTY_START_TIME = "startTime"; - public static final String PROPERTY_END_DATE = "endDate"; - public static final String PROPERTY_END_TIME = "endTime"; - private static final String PROPERTY_SET_OPERATION = "setOperation"; + public static final String PROPERTY_ACTIVITY_OBS = "activityObs"; + public static final ImmutableSet<String> PROPERTIES_FOR_UPDATE_ACTIVITIES_OBS_LIST = ImmutableSet.of( + ActivityDto.PROPERTY_VESSEL_ACTIVITY, + ActivityDto.PROPERTY_LATITUDE, + ActivityDto.PROPERTY_LONGITUDE, + ActivityDto.PROPERTY_QUADRANT, + ActivityDto.PROPERTY_START_DATE, + ActivityDto.PROPERTY_START_TIME, + ActivityDto.PROPERTY_START_TIME_STAMP, + ActivityDto.PROPERTY_END_DATE, + ActivityDto.PROPERTY_END_TIME, + ActivityDto.PROPERTY_END_TIME_STAMP); + private static final Logger log = LogManager.getLogger(ActivityUIModel.class); - private List<ActivityReference> allActivityObs; - private List<ActivityReference> activityObs; + private boolean opening = false; + private List<ActivityReference> activityObs; + private TripLonglinePairingContext pairingContext; public ActivityUIModel() { super(ActivityDto.class, I18n.n("observe.data.ll.logbook.Activity.message.not.open")); - - getBean().addPropertyChangeListener(ActivityDto.PROPERTY_VESSEL_ACTIVITY, evt -> { - boolean oldValue = VesselActivityHelper.isSetOperation((VesselActivityReference) evt.getOldValue()); - VesselActivityReference VesselActivityReference = (VesselActivityReference) evt.getNewValue(); - boolean newValue = VesselActivityHelper.isSetOperation(VesselActivityReference); - firePropertyChange(PROPERTY_SET_OPERATION, oldValue, newValue); - if (!opening) { - updateActivityObs(); + getBean().attachSetOperationListener(); + getBean().addPropertyChangeListener(evt -> { + String propertyName = evt.getPropertyName(); + if (opening || !PROPERTIES_FOR_UPDATE_ACTIVITIES_OBS_LIST.contains(propertyName)) { + return; } + updateActivityObsCandidates(); }); } - public boolean isSetOperation() { - return VesselActivityHelper.isSetOperation(getBean().getVesselActivity()); - } - - public Date getStartDate() { - Date timeStamp = getBean().getStartTimeStamp(); - return timeStamp == null ? null : DateUtil.getDay(timeStamp); - } - - public void setStartDate(Date date) { - Date timeStamp = getBean().getStartTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = date == null ? timeStamp : DateUtil.getDateAndTime(date, timeStamp, true, false); - getBean().setStartTimeStamp(dateAndTime); - } - } - - public Date getStartTime() { - Date timeStamp = getBean().getStartTimeStamp(); - return timeStamp == null ? null : DateUtil.getTime(timeStamp, false, false); - } - - public void setStartTime(Date time) { - Date timeStamp = getBean().getStartTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = time == null ? timeStamp : DateUtil.getDateAndTime(timeStamp, time, false, false); - getBean().setStartTimeStamp(dateAndTime); - } - } - - public Date getEndDate() { - Date timeStamp = getBean().getEndTimeStamp(); - return timeStamp == null ? null : DateUtil.getDay(timeStamp); - } - - public void setEndDate(Date date) { - Date timeStamp = getBean().getEndTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = date == null ? timeStamp : DateUtil.getDateAndTime(date, timeStamp, true, false); - getBean().setEndTimeStamp(dateAndTime); - } - } - - public Date getEndTime() { - Date timeStamp = getBean().getEndTimeStamp(); - return timeStamp == null ? null : DateUtil.getTime(timeStamp, false, false); - } - - public void setEndTime(Date time) { - Date timeStamp = getBean().getEndTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = time == null ? timeStamp : DateUtil.getDateAndTime(timeStamp, time, false, false); - getBean().setEndTimeStamp(dateAndTime); - } - } - - public void openForm(Form<ActivityDto> form, List<ActivityReference> allActivityObs) { - this.allActivityObs = ImmutableList.copyOf(allActivityObs); + public void openForm(Form<ActivityDto> form, List<ActivityReference> allActivityObs, ActivityLonglinePairingEngine pairingEngine) { + this.pairingContext = pairingEngine.newTripContext(getSelectedParentId(), ImmutableList.copyOf(allActivityObs)); opening = true; try { super.openForm(form); } finally { opening = false; } - updateActivityObs(); + updateActivityObsCandidates(); } public List<ActivityReference> getActivityObs() { @@ -143,29 +93,29 @@ public class ActivityUIModel extends ContentOpenableUIModel<ActivityDto, fr.ird. } public void setActivityObs(List<ActivityReference> activityObs) { - // only used for jaxx binding - } - - public List<ActivityReference> getAllActivityObs() { - return allActivityObs; + ActivityReference relatedObservedActivity = getBean().getRelatedObservedActivity(); + this.activityObs = Objects.requireNonNull(activityObs); + boolean removeRelatedObservedActivity = relatedObservedActivity != null && !activityObs.contains(relatedObservedActivity); + firePropertyChange(PROPERTY_ACTIVITY_OBS, null, activityObs); + if (removeRelatedObservedActivity) { + log.info(String.format("%s Removed not matching related observed activity: %s", getPrefix(), relatedObservedActivity)); + getBean().setRelatedObservedActivity(null); + } } - private void updateActivityObs() { - log.info(getPrefix() + "Will update release observed actities..."); + private void updateActivityObsCandidates() { + if (opening) { + return; + } + log.info(String.format("%s Will update release observed activities...", getPrefix())); ActivityDto bean = getBean(); - if (allActivityObs == null || bean.getVesselActivityId() == null) { + String vesselActivityId = bean.getVesselActivityId(); + if (pairingContext == null || vesselActivityId == null) { activityObs = Collections.emptyList(); } else { - String VesselActivityId = bean.getVesselActivityId(); - activityObs = allActivityObs.stream().filter(e -> VesselActivityId.equals(e.getVesselActivityId())).collect(Collectors.toList()); - } - log.info(getPrefix() + "Found " + activityObs.size() + " related observed activities."); - ActivityReference relatedObservedActivity = bean.getRelatedObservedActivity(); - boolean removeRelatedObservedActivity = !opening && relatedObservedActivity != null && !activityObs.contains(relatedObservedActivity); - firePropertyChange("activityObs", null, activityObs); - if (removeRelatedObservedActivity) { - log.info(getPrefix() + "Removed not matching related observed activity: " + relatedObservedActivity); - bean.setRelatedObservedActivity(null); + activityObs = pairingContext.getActivityLonglineObsList(bean); } + log.info(String.format("%s Found %d related observed activities.", getPrefix(), activityObs.size())); + setActivityObs(activityObs); } } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/ActivityUIChooseRelatedObservedActivity.java deleted ===================================== @@ -1,135 +0,0 @@ -package fr.ird.observe.client.datasource.editor.content.data.ll.logbook.actions; - -/*- - * #%L - * ObServe :: Client DataSource Editor LL - * %% - * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ird.observe.client.ClientUIContextApplicationComponent; -import fr.ird.observe.client.datasource.editor.content.ObserveLLKeyStrokes; -import fr.ird.observe.client.datasource.editor.content.actions.ContentUIActionSupport; -import fr.ird.observe.client.datasource.editor.content.data.ll.logbook.ActivityUI; -import fr.ird.observe.client.datasource.editor.content.data.ll.logbook.ActivityUIModel; -import fr.ird.observe.client.datasource.editor.content.ref.usage.UsageUIHandlerSupport; -import fr.ird.observe.client.util.UIHelper; -import fr.ird.observe.dto.data.ll.logbook.ActivityDto; -import fr.ird.observe.dto.data.ll.observation.ActivityReference; -import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingEngine; -import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingResult; -import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingResultItem; -import fr.ird.observe.services.service.data.ll.pairing.ActivityLonglinePairingResultItemDecorator; -import fr.ird.observe.services.service.data.ll.pairing.TripLonglinePairingContext; -import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - -import static io.ultreia.java4all.i18n.I18n.n; -import static io.ultreia.java4all.i18n.I18n.t; - -/** - * Created by tchemit on 16/10/2018. - * - * @author Tony Chemit - dev(a)tchemit.fr - */ -public class ActivityUIChooseRelatedObservedActivity extends ContentUIActionSupport<ActivityUI> { - - private static final Logger log = LogManager.getLogger(ActivityUIChooseRelatedObservedActivity.class); - private final ActivityLonglinePairingResultItemDecorator decorator; - - public ActivityUIChooseRelatedObservedActivity() { - super(n("observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity"), n("observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity"), "data-calcule", ObserveLLKeyStrokes.KEY_STROKE_CHOOSE_RELATED_OBSERVATION_ACTIVITY); - decorator = new ActivityLonglinePairingResultItemDecorator(getDecoratorService(), getClientConfig().getLocale()); - } - - @Override - protected void doActionPerformed(ActionEvent e, ActivityUI ui) { - - ActivityUIModel model = ui.getModel(); - - ActivityLonglinePairingEngine pairingEngine = new ActivityLonglinePairingEngine(getClientConfig().getReferentialLocale(), getServicesProvider().getLlCommonTripService(), getServicesProvider().getLlLogbookActivityService()); - - ActivityDto bean = model.getBean(); - - TripLonglinePairingContext pairingContext = pairingEngine.newTripContext(model.getSelectedParentId(), model.getAllActivityObs()); - - ActivityLonglinePairingResult activityLonglinePairingResult = pairingEngine.computeForActivityLogbook(pairingContext, bean); - - Optional<ActivityReference> optionalActivityLonglineObs = askNewParent(activityLonglinePairingResult.getItems()); - - if (optionalActivityLonglineObs.isPresent()) { - ActivityReference activityLonglineObs = optionalActivityLonglineObs.get(); - log.info("will use new related activity observation: " + activityLonglineObs); - bean.setRelatedObservedActivity(activityLonglineObs); - } - } - - private Optional<ActivityReference> askNewParent(List<ActivityLonglinePairingResultItem> pairingResult) { - - JaxxComboBox<ActivityLonglinePairingResultItem> editor = UIHelper.newJaxxComboBox( - ActivityLonglinePairingResultItem.class, - decorator, - new ArrayList<>(pairingResult)); - - String continueActionText = t("observe.choice.continue"); - Object[] options = {continueActionText, t("observe.choice.cancel")}; - JPanel panel = new JPanel(new BorderLayout()); - panel.add(BorderLayout.NORTH, new JLabel(t("observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity.message"))); - panel.add(BorderLayout.CENTER, editor); - - JOptionPane pane = new JOptionPane(panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]) { - @Override - public void selectInitialValue() { - if (editor.getModel().getData().size() == 1) { - editor.setSelectedItem(editor.getModel().getData().get(0)); - } - editor.requestFocusInWindow(); - } - }; - - JButton jButton = UsageUIHandlerSupport.findButton(pane, continueActionText); - Objects.requireNonNull(jButton); - jButton.setEnabled(false); - editor.addPropertyChangeListener("selectedItem", evt -> jButton.setEnabled(evt.getNewValue() != null)); - - int response = UIHelper.askUser(ClientUIContextApplicationComponent.value().getMainUI(), pane, t("observe.data.ll.logbook.Activity.action.chooseRelatedObservedActivity.title"), options); - - ActivityLonglinePairingResultItem newActivityLonglineObs = null; - if (response == 0) { - newActivityLonglineObs = editor.getComboBoxModel().getSelectedItem(); - log.info(String.format("Selected new related observed activity id: %s", newActivityLonglineObs)); - } else { - log.info("Use cancel choice of related observed activity"); - } - return Optional.ofNullable(newActivityLonglineObs).map(ActivityLonglinePairingResultItem::getObservationActivity); - } - -} - ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/ActivityUI.jcss ===================================== @@ -29,8 +29,8 @@ } #timeStamp { - propertyDayDate:{ActivityUIModel.PROPERTY_DATE}; - propertyTimeDate:{ActivityUIModel.PROPERTY_TIME}; + propertyDayDate:{ActivityDto.PROPERTY_DATE}; + propertyTimeDate:{ActivityDto.PROPERTY_TIME}; } #vesselActivity { @@ -51,5 +51,5 @@ } #addSet { - enabled:{!model.isModified() && model.isValid() && model.isSetOperation() && ! bean.isHasSet()}; + enabled:{!model.isModified() && model.isValid() && bean.isSetOperation() && ! bean.isHasSet()}; } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/ActivityUIModel.java ===================================== @@ -25,12 +25,7 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation; import fr.ird.observe.client.datasource.editor.content.data.open.ContentOpenableUIModel; import fr.ird.observe.dto.data.ll.observation.ActivityDto; import fr.ird.observe.dto.data.ll.observation.ActivityReference; -import fr.ird.observe.dto.referential.ll.common.VesselActivityHelper; -import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; import io.ultreia.java4all.i18n.I18n; -import org.nuiton.util.DateUtil; - -import java.util.Date; /** * Created on 9/26/14. @@ -40,47 +35,8 @@ import java.util.Date; */ public class ActivityUIModel extends ContentOpenableUIModel<ActivityDto, ActivityReference> { - public static final String PROPERTY_SET_OPERATION = "setOperation"; - public static final String PROPERTY_DATE = "date"; - public static final String PROPERTY_TIME = "time"; - public ActivityUIModel() { super(ActivityDto.class, I18n.n("observe.data.ll.observation.Activity.message.not.open")); - - getBean().addPropertyChangeListener(ActivityDto.PROPERTY_VESSEL_ACTIVITY, evt -> { - boolean oldValue = VesselActivityHelper.isSetOperation((VesselActivityReference) evt.getOldValue()); - boolean newValue = VesselActivityHelper.isSetOperation((VesselActivityReference) evt.getNewValue()); - firePropertyChange(PROPERTY_SET_OPERATION, oldValue, newValue); - }); - } - - public boolean isSetOperation() { - return VesselActivityHelper.isSetOperation(getBean().getVesselActivity()); - } - - public Date getDate() { - Date timeStamp = getBean().getTimeStamp(); - return timeStamp == null ? null : DateUtil.getDay(timeStamp); - } - - public void setDate(Date date) { - Date timeStamp = getBean().getTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = date == null ? timeStamp : DateUtil.getDateAndTime(date, timeStamp, true, false); - getBean().setTimeStamp(dateAndTime); - } - } - - public Date getTime() { - Date timeStamp = getBean().getTimeStamp(); - return timeStamp == null ? null : DateUtil.getTime(timeStamp, false, false); - } - - public void setTime(Date time) { - Date timeStamp = getBean().getTimeStamp(); - if (timeStamp != null) { - Date dateAndTime = time == null ? timeStamp : DateUtil.getDateAndTime(timeStamp, time, false, false); - getBean().setTimeStamp(dateAndTime); - } + getBean().attachSetOperationListener(); } } ===================================== dto/src/main/java/fr/ird/observe/dto/data/ActivityAware.java ===================================== @@ -24,16 +24,21 @@ package fr.ird.observe.dto.data; import fr.ird.observe.dto.DtoAndReferenceAware; import fr.ird.observe.dto.GPSPoint; +import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; +import io.ultreia.java4all.bean.JavaBean; import org.nuiton.util.DateUtil; import java.util.Date; +import java.util.Optional; /** * Created by tchemit on 15/10/2018. * * @author Tony Chemit - dev(a)tchemit.fr */ -public interface ActivityAware extends DtoAndReferenceAware { +public interface ActivityAware extends DtoAndReferenceAware, JavaBean { + + String PROPERTY_SET_OPERATION = "setOperation"; static GPSPoint newGPSPoint(ActivityAware a) { GPSPoint gpsPoint = new GPSPoint(); @@ -57,5 +62,23 @@ public interface ActivityAware extends DtoAndReferenceAware { Float getLongitude(); - String getVesselActivityId(); + VesselActivityReference getVesselActivity(); + + default String getVesselActivityId() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getId).orElse(null); + } + default String getVesselActivityLabel() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getLabel).orElse(null); + } + + boolean isSetOperation(); + + + static boolean isSetOperation(ActivityAware activity) { + return isSetOperation(activity.getVesselActivity()); + } + + static boolean isSetOperation(VesselActivityReference activity) { + return Optional.ofNullable(activity).map(VesselActivityReference::isSetOperation).orElse(false); + } } ===================================== dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityDto.java ===================================== @@ -24,10 +24,14 @@ package fr.ird.observe.dto.data.ll.logbook; import fr.ird.observe.dto.GPSPoint; import fr.ird.observe.dto.data.ActivityAware; +import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; import org.nuiton.util.DateUtil; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.Date; +import java.util.Optional; @GenerateJavaBeanDefinition public class ActivityDto extends GeneratedActivityDto { @@ -37,6 +41,7 @@ public class ActivityDto extends GeneratedActivityDto { public static final String PROPERTY_END_DATE = "endDate"; public static final String PROPERTY_END_TIME = "endTime"; private static final long serialVersionUID = 1L; + private PropertyChangeListener setOperationListener; public Date getStartDate() { return startTimeStamp == null ? null : DateUtil.getDay(startTimeStamp); @@ -110,13 +115,42 @@ public class ActivityDto extends GeneratedActivityDto { return ActivityAware.newGPSPoint(this); } + public boolean isHasSample() { + return sample != null; + } + @Override - public String getVesselActivityId() { - return vesselActivity == null ? null : vesselActivity.getId(); + public boolean isSetOperation() { + return ActivityAware.isSetOperation(this); } - public boolean isHasSample() { - return sample != null; + public void attachSetOperationListener() { + if (setOperationListener == null) { + setOperationListener = new SetOperationListener(this); + } + removePropertyChangeListener(PROPERTY_VESSEL_ACTIVITY, setOperationListener); + addPropertyChangeListener(PROPERTY_VESSEL_ACTIVITY, setOperationListener); + fireSetOperation(false); + } + + public void fireSetOperation(boolean oldValue) { + firePropertyChange(PROPERTY_SET_OPERATION, oldValue, isSetOperation()); } + + static class SetOperationListener implements PropertyChangeListener { + + private final ActivityDto activity; + + SetOperationListener(ActivityDto activity) { + this.activity = activity; + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Optional<VesselActivityReference> oldVesselActivity = Optional.ofNullable((VesselActivityReference) evt.getOldValue()); + boolean oldValue = oldVesselActivity.map(VesselActivityReference::isSetOperation).orElse(false); + activity.fireSetOperation(oldValue); + } + } } ===================================== dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityReference.java ===================================== @@ -25,21 +25,23 @@ package fr.ird.observe.dto.data.ll.logbook; import fr.ird.observe.dto.GPSPoint; import fr.ird.observe.dto.data.ActivityAware; import fr.ird.observe.dto.reference.DtoReferenceAware; +import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; import java.util.Date; +import java.util.Optional; @GenerateJavaBeanDefinition public class ActivityReference extends GeneratedActivityReference { private transient GPSPoint gpsPoint; - public ActivityReference(DtoReferenceAware dto, Date startTimeStamp, Date endTimeStamp, Float latitude, Float longitude, String vesselActivityId, String vesselActivityLabel, SetReference set, SampleReference sample, fr.ird.observe.dto.data.ll.observation.ActivityReference activity) { - super(dto, startTimeStamp, endTimeStamp, latitude, longitude, vesselActivityId, vesselActivityLabel, set, sample, activity); + public ActivityReference(DtoReferenceAware dto, Date startTimeStamp, Date endTimeStamp, Float latitude, Float longitude, VesselActivityReference vesselActivity, SetReference set, SampleReference sample, fr.ird.observe.dto.data.ll.observation.ActivityReference activity) { + super(dto, startTimeStamp, endTimeStamp, latitude, longitude, vesselActivity, set, sample, activity); } public ActivityReference(DtoReferenceAware dto) { - this(dto, null, null, null, null, null, null, null, null, null); + this(dto, null, null, null, null, null, null, null, null); } @Override @@ -47,6 +49,21 @@ public class ActivityReference extends GeneratedActivityReference { return getStartTimeStamp(); } + @Override + public boolean isSetOperation() { + return ActivityAware.isSetOperation(this); + } + + @Override + public String getVesselActivityId() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getId).orElse(null); + } + + @Override + public String getVesselActivityLabel() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getLabel).orElse(null); + } + @Override public GPSPoint getGPSPoint() { if (gpsPoint == null) { ===================================== dto/src/main/java/fr/ird/observe/dto/data/ll/observation/ActivityDto.java ===================================== @@ -24,10 +24,14 @@ package fr.ird.observe.dto.data.ll.observation; import fr.ird.observe.dto.GPSPoint; import fr.ird.observe.dto.data.ActivityAware; +import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; import org.nuiton.util.DateUtil; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.Date; +import java.util.Optional; @GenerateJavaBeanDefinition public class ActivityDto extends GeneratedActivityDto { @@ -35,6 +39,7 @@ public class ActivityDto extends GeneratedActivityDto { public static final String PROPERTY_DATE = "date"; public static final String PROPERTY_TIME = "time"; private static final long serialVersionUID = 1L; + private ActivityDto.SetOperationListener setOperationListener; public Date getDate() { return timeStamp == null ? null : DateUtil.getDay(timeStamp); @@ -73,7 +78,36 @@ public class ActivityDto extends GeneratedActivityDto { } @Override - public String getVesselActivityId() { - return vesselActivity == null ? null : vesselActivity.getId(); + public boolean isSetOperation() { + return ActivityAware.isSetOperation(this); + } + + public void attachSetOperationListener() { + if (setOperationListener == null) { + setOperationListener = new SetOperationListener(this); + } + removePropertyChangeListener(PROPERTY_VESSEL_ACTIVITY, setOperationListener); + addPropertyChangeListener(PROPERTY_VESSEL_ACTIVITY, setOperationListener); + fireSetOperation(false); + } + + public void fireSetOperation(boolean oldValue) { + firePropertyChange(PROPERTY_SET_OPERATION, oldValue, isSetOperation()); + } + + static class SetOperationListener implements PropertyChangeListener { + + private final ActivityDto activity; + + SetOperationListener(ActivityDto activity) { + this.activity = activity; + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Optional<VesselActivityReference> oldVesselActivity = Optional.ofNullable((VesselActivityReference) evt.getOldValue()); + boolean oldValue = oldVesselActivity.map(VesselActivityReference::isSetOperation).orElse(false); + activity.fireSetOperation(oldValue); + } } } ===================================== dto/src/main/java/fr/ird/observe/dto/data/ll/observation/ActivityReference.java ===================================== @@ -25,21 +25,23 @@ package fr.ird.observe.dto.data.ll.observation; import fr.ird.observe.dto.GPSPoint; import fr.ird.observe.dto.data.ActivityAware; import fr.ird.observe.dto.reference.DtoReferenceAware; +import fr.ird.observe.dto.referential.ll.common.VesselActivityReference; import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; import java.util.Date; +import java.util.Optional; @GenerateJavaBeanDefinition public class ActivityReference extends GeneratedActivityReference { private transient GPSPoint gpsPoint; - public ActivityReference(DtoReferenceAware dto, Date timeStamp, Float latitude, Float longitude, String vesselActivityId, String vesselActivityLabel, SetReference set) { - super(dto, timeStamp, latitude, longitude, vesselActivityId, vesselActivityLabel, set); + public ActivityReference(DtoReferenceAware dto, Date timeStamp, Float latitude, Float longitude, VesselActivityReference vesselActivity, SetReference set) { + super(dto, timeStamp, latitude, longitude, vesselActivity, set); } public ActivityReference(DtoReferenceAware dto) { - this(dto, null, null, null, null, null, null); + this(dto, null, null, null, null, null); } @Override @@ -49,4 +51,19 @@ public class ActivityReference extends GeneratedActivityReference { } return gpsPoint; } + + @Override + public String getVesselActivityId() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getId).orElse(null); + } + + @Override + public String getVesselActivityLabel() { + return Optional.ofNullable(getVesselActivity()).map(VesselActivityReference::getLabel).orElse(null); + } + + @Override + public boolean isSetOperation() { + return ActivityAware.isSetOperation(this); + } } ===================================== dto/src/main/java/fr/ird/observe/dto/referential/ll/common/VesselActivityHelper.java → dto/src/main/java/fr/ird/observe/dto/referential/ll/common/VesselActivityReference.java ===================================== @@ -23,16 +23,21 @@ package fr.ird.observe.dto.referential.ll.common; */ import fr.ird.observe.dto.ProtectedIds; +import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; -public class VesselActivityHelper extends GeneratedVesselActivityHelper { +@GenerateJavaBeanDefinition +public class VesselActivityReference extends GeneratedVesselActivityReference { + + public VesselActivityReference(fr.ird.observe.dto.reference.ReferentialDtoReferenceAware dto, java.lang.String code, String label, java.lang.String uri) { + super(dto, code, label, uri); + } public static boolean isSetOperation(String id) { return ProtectedIds.LL_COMMON_VESSEL_ACTIVITY_ID_FOR_SET.equals(id); } - public static boolean isSetOperation(VesselActivityReference reference) { - return reference != null && isSetOperation(reference.getId()); + public boolean isSetOperation() { + return isSetOperation(getId()); } - -} //VesselActivityLonglineHelper +} ===================================== dto/src/main/models/Observe-30-data-ll-observation.model ===================================== @@ -6,7 +6,7 @@ interface data.ll.observation.LonglinePositionAwareDto interface data.ll.observation.LonglinePositionSetDto -data.ll.observation.Activity > data.Openable >> data.ActivityAware | references=timeStamp,latitude,longitude,vesselActivityId,vesselActivityLabel,set +data.ll.observation.Activity > data.Openable >> data.ActivityAware | references=timeStamp,latitude,longitude,vesselActivity,set timeStamp + {*:1} Date latitude + {*:1} Float | notNull longitude + {*:1} Float | notNull ===================================== dto/src/main/models/Observe-31-data-ll-logbook.model ===================================== @@ -20,7 +20,7 @@ longitude + {*:1} Float quadrant + {*:1} Integer samplePart + {*} fr.ird.observe.dto.data.ll.logbook.SamplePartDto | ordered -data.ll.logbook.Activity > data.Openable >> data.ActivityAware | references=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivityId,vesselActivityLabel,set,sample,relatedObservedActivity +data.ll.logbook.Activity > data.Openable >> data.ActivityAware | references=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivity,set,sample,relatedObservedActivity startTimeStamp + {*:1} Date | notNull endTimeStamp + {*:1} Date | mayNotNull latitude + {*:1} Float | mayNotNull ===================================== persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java ===================================== @@ -25,7 +25,7 @@ package fr.ird.observe.entities.data.ll.common; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.ll.common.TripDto; import fr.ird.observe.dto.referential.ReferentialLocale; -import fr.ird.observe.dto.referential.ll.common.VesselActivityHelper; +import fr.ird.observe.entities.data.ActivityAware; /** * Created on 8/27/14. @@ -93,10 +93,10 @@ public class TripImpl extends TripAbstract { private int computeTotalFishingOperationsNumber() { int result = 0; if (isActivityLogbookNotEmpty()) { - result += activityLogbook.stream().filter(f -> VesselActivityHelper.isSetOperation(f.getVesselActivity().getTopiaId())).count(); + result += activityLogbook.stream().filter(ActivityAware::isSetOperation).count(); } if (isActivityObsNotEmpty()) { - result += activityObs.stream().filter(f -> VesselActivityHelper.isSetOperation(f.getVesselActivity().getTopiaId())).count(); + result += activityObs.stream().filter(ActivityAware::isSetOperation).count(); } return result; } ===================================== persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/ActivityImpl.java ===================================== @@ -29,6 +29,7 @@ import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.ll.logbook.ActivityDto; import fr.ird.observe.dto.data.ll.logbook.ActivityStubDto; import fr.ird.observe.dto.referential.ReferentialLocale; +import fr.ird.observe.dto.referential.ll.common.VesselActivityDto; import fr.ird.observe.entities.referential.ll.common.VesselActivity; import org.nuiton.util.DateUtil; @@ -85,10 +86,8 @@ public class ActivityImpl extends ActivityAbstract { @Override public void setVesselActivity(VesselActivity vesselActivity) { - super.setVesselActivity(vesselActivity); fireOnPostWrite("setOperation", null, isSetOperation()); - } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c2eb9b53772afc1c6cf31b639… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c2eb9b53772afc1c6cf31b639… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: [SYNCHRO AVANCEE][REFERENTIEL] Améliorer la coche des cases - Closes #1546
by Tony CHEMIT 08 Jul '20

08 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: afde2be0 by Tony Chemit at 2020-07-08T10:48:09+02:00 [SYNCHRO AVANCEE][REFERENTIEL] Améliorer la coche des cases - Closes #1546 - - - - - 77bb17d0 by Tony Chemit at 2020-07-08T10:48:36+02:00 Change data synchro action keystroke to be conform with referential syncho - - - - - 17 changed files: - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTree.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreeCellRenderer.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/DataSourceInformation.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectAll.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/UnselectAll.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialPropertyUpdatedNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialTypeSynchroNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialUpdatedSynchroNode.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/SynchroNodeSupport.java Changes: ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java ===================================== @@ -40,7 +40,7 @@ import static io.ultreia.java4all.i18n.I18n.t; public class DataSourceInformation extends DataSelectionTreePaneActionSupport { public DataSourceInformation() { - super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SOURCE_INFORMATION); + super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_CONFIGURE_LOCAL_SOURCE); } @Override @@ -55,4 +55,12 @@ public class DataSourceInformation extends DataSelectionTreePaneActionSupport { JOptionPane.INFORMATION_MESSAGE); } + + @Override + public void init() { + if (ui.isRight()) { + setKeyStroke(ObserveKeyStrokesSupport.KEY_STROKE_CONFIGURE_REMOTE_SOURCE); + } + defaultInit(getInputMap(ui, getInputMapCondition()), getActionMap(ui)); + } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroUIHandler.java ===================================== @@ -26,7 +26,6 @@ import fr.ird.observe.client.datasource.actions.AdminStep; import fr.ird.observe.client.datasource.actions.AdminTabUIHandler; import fr.ird.observe.client.datasource.actions.AdminUIModel; import fr.ird.observe.client.datasource.actions.config.ConfigUI; -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.SelectUnselect; import fr.ird.observe.client.datasource.editor.wizard.StorageUIModel; import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; @@ -66,7 +65,7 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler<ReferentialSy configUI.getStepModel().addPropertyChangeListener(StorageUIModel.VALID_PROPERTY_NAME, evt -> updateSynchroModes()); configUI.getExtraConfig().add(extraConfig); super.afterInit(ui); - SelectUnselect.init(ui.getLeftTreePane(), null, new SelectUnselect(ui.getRightTreePane())); +// SelectUnselect.init(ui.getLeftTreePane(), null, new SelectUnselect(ui.getRightTreePane())); ui.getLeftTreePane().init(); ui.getRightTreePane().init(); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java ===================================== @@ -134,25 +134,25 @@ public class Start extends ReferentialSynchroUIActionSupport { sendMessage(message); - tree.addMouseListener(new MouseAdapter() { - @Override - public void mouseReleased(MouseEvent e) { - if (e.getClickCount() == 2) { - TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY()); - Object lastPathComponent = path.getLastPathComponent(); - if (lastPathComponent instanceof SynchroNodeSupport) { - SynchroNodeSupport node = (SynchroNodeSupport) lastPathComponent; - if(node instanceof ReferentialPropertyUpdatedNode && !node.getRoot().isShowProperties()) { - // we can not modify property to update or revert in such mode - return; - } - boolean newValue = !node.isSelected(); - log.info(String.format("Node: %s - new selected value: %s", node, newValue)); - tree.getTreeModel().setValueAt(node, newValue); - } - } - } - }); +// tree.addMouseListener(new MouseAdapter() { +// @Override +// public void mouseReleased(MouseEvent e) { +// if (e.getClickCount() == 2) { +// TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY()); +// Object lastPathComponent = path.getLastPathComponent(); +// if (lastPathComponent instanceof SynchroNodeSupport) { +// SynchroNodeSupport node = (SynchroNodeSupport) lastPathComponent; +// if(node instanceof ReferentialPropertyUpdatedNode && !node.getRoot().isShowProperties()) { +// // we can not modify property to update or revert in such mode +// return; +// } +// boolean newValue = !node.isSelected(); +// log.info(String.format("Node: %s - new selected value: %s", node, newValue)); +// tree.getTreeModel().setValueAt(node, newValue); +// } +// } +// } +// }); } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTree.java ===================================== @@ -22,12 +22,17 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree * #L% */ +import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSetMultimap; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.RootSynchroNode; +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.SynchroNodeSupport; import fr.ird.observe.client.util.UIHelper; import org.jdesktop.swingx.JXTree; +import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; +import java.util.Collections; +import java.util.Set; /** * @author Tony Chemit - dev(a)tchemit.fr @@ -52,4 +57,16 @@ public class ReferentialSelectionTree extends JXTree { return (ReferentialSynchronizeTreeModel) getModel(); } + public Set<SynchroNodeSupport> getSelectedNodes() { + TreePath[] selectedRow = getSelectionPaths(); + if (selectedRow == null || selectedRow.length == 0) { + return Collections.emptySet(); + } + ImmutableSet.Builder<SynchroNodeSupport> resultBuilder = ImmutableSet.builder(); + for (TreePath treePath : selectedRow) { + SynchroNodeSupport node = (SynchroNodeSupport) treePath.getLastPathComponent(); + resultBuilder.add(node); + } + return resultBuilder.build(); + } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreeCellRenderer.java ===================================== @@ -35,8 +35,6 @@ import javax.swing.UIManager; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.Objects; /** @@ -45,12 +43,10 @@ import java.util.Objects; */ public class ReferentialSelectionTreeCellRenderer extends DefaultXTreeCellRenderer implements WithDecoratorService { - private final DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyy HH:mm"); - private final JPanel panel; private final JCheckBox selected; private final Icon unselectedIcon; - private Icon partialIcon; + private final Icon partialIcon; ReferentialSelectionTreeCellRenderer() { selected = new JCheckBox(); @@ -60,10 +56,11 @@ public class ReferentialSelectionTreeCellRenderer extends DefaultXTreeCellRender panel.add(this, BorderLayout.CENTER); partialIcon = Objects.requireNonNull(UIManager.getIcon("checkbox.partial")); unselectedIcon = Objects.requireNonNull(UIManager.getIcon("checkbox.empty")); - selected.setIcon(unselectedIcon); +// selected.setIcon(unselectedIcon); Icon selectedIcon = Objects.requireNonNull(UIManager.getIcon("checkbox.selected")); selected.setSelectedIcon(selectedIcon); } + @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { @@ -79,15 +76,21 @@ public class ReferentialSelectionTreeCellRenderer extends DefaultXTreeCellRender setIcon(icon); setToolTipText(text); - - if (!(node instanceof ReferentialPropertyUpdatedNode) || node.getRoot().isShowProperties()) { - boolean selected = node.isSelected(); - this.selected.setSelected(selected); - panel.add(this.selected, BorderLayout.WEST); - this.selected.setIcon(selected || !node.isPartialSelected() ? unselectedIcon : partialIcon); + boolean selectedState; + Icon selectedIcon = unselectedIcon; + if (node.isLeaf()) { + selectedState = node.isSelected(); } else { - panel.remove(this.selected); + // node is selected (says has the icon selected) only if all his children are selected + selectedState = node.isFullySelected(); + if (!selectedState && node.isPartialSelected()) { + // use partial icon, only if node is partial selected + selectedIcon = partialIcon; + } } + selected.setSelected(selectedState); + selected.setIcon(selectedIcon); + selected.setEnabled(!(node instanceof ReferentialPropertyUpdatedNode) || node.getRoot().isShowProperties()); panel.setPreferredSize(new Dimension(getPreferredSize().width + 20, getPreferredSize().height + 2)); return panel; } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java ===================================== @@ -32,6 +32,7 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree. import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDelete; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterRevert; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterSkip; +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.SelectUnselect; import org.nuiton.jaxx.runtime.spi.UIHandler; import java.awt.BorderLayout; @@ -53,7 +54,7 @@ public class ReferentialSelectionTreePaneHandler implements UIHandler<Referentia RegisterDeactivateWithReplacement.init(ui, ui.deactivateWithReplace, new RegisterDeactivateWithReplacement(ui, isLeft)); RegisterDelete.init(ui, ui.delete, new RegisterDelete(ui, isLeft)); RegisterSkip.init(ui, ui.skip, new RegisterSkip(ui, isLeft)); - + SelectUnselect.init(ui, null, new SelectUnselect(ui)); if (!isLeft) { ui.remove(ui.getMiddleActions()); ui.add(ui.getMiddleActions(), BorderLayout.WEST); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModel.java ===================================== @@ -33,13 +33,13 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree. import fr.ird.observe.dto.referential.ReferentialDto; import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeNode; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.util.Collection; import java.util.Enumeration; import java.util.LinkedList; import java.util.List; -import java.util.Optional; import java.util.function.Predicate; /** @@ -50,8 +50,6 @@ import java.util.function.Predicate; public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { public static final String SELECTED_COUNT = "selectedCount"; - -// private static final Logger log = LogManager.getLogger(ReferentialSynchronizeTreeModel.class); public static final String SELECTED = "selected"; private static final long serialVersionUID = 1L; private static final String SELECTION_EMPTY = "selectionEmpty"; @@ -59,13 +57,19 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { private final ImmutableSetMultimap<Class<? extends ReferentialDto>, String> idsOnlyExistOnThisSide; + /** + * List of selected referential nodes. + * + * <b>Be ware, a node present here means it is selected or partial selected!</b> + */ + private final List<ReferentialSynchroNodeSupport> selected; private boolean canAdd; private boolean canUpdate; private boolean canDelete; private boolean canRevert; - private List<ReferentialSynchroNodeSupport> selected; private boolean adjusting; + private int oldSelectedCount; ReferentialSynchronizeTreeModel(RootSynchroNode root, ImmutableSetMultimap<Class<? extends ReferentialDto>, String> idsOnlyExistOnThisSide) { @@ -75,50 +79,33 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { } public void setValueAt(SynchroNodeSupport node, boolean value) { - node.setSelected(value); - boolean oldSelectionEmpty = isSelectionEmpty(); - int oldSelectedCount = getSelectedCount(); - - if (node instanceof ReferentialPropertyUpdatedNode) { - // this node can not be selected - if (!adjusting) { - updateSelectedActions(); - nodeChanged(node); - } - return; + boolean wasAdjusting = adjusting; + if (!wasAdjusting) { + setAdjusting(true); } - if (node instanceof ReferentialSynchroNodeSupport) { - if (value) { - selected.add((ReferentialSynchroNodeSupport) node); - } else { - selected.remove(node); - } - if (!adjusting) { - nodeChanged(node.getParent()); - nodeChanged(node); - } - } else { - if (!adjusting) { - nodeChanged(node); - } - Enumeration<?> children = node.children(); - while (children.hasMoreElements()) { - ReferentialSynchroNodeSupport child = (ReferentialSynchroNodeSupport) children.nextElement(); - if (value) { - selected.add(child); - } else { - selected.remove(child); - } - if (!adjusting) { - nodeChanged(child); + try { + if (node instanceof ReferentialTypeSynchroNode) { + ReferentialTypeSynchroNode node1 = (ReferentialTypeSynchroNode) node; + node1.updateSelect(value); + Enumeration<? extends TreeNode> children = node1.children(); + while (children.hasMoreElements()) { + ReferentialSynchroNodeSupport childNode = (ReferentialSynchroNodeSupport) children.nextElement(); + updateSelected(value, childNode); } + } else if (node instanceof ReferentialSynchroNodeSupport) { + ReferentialSynchroNodeSupport node1 = (ReferentialSynchroNodeSupport) node; + node1.updateSelect(value); + updateSelected(value, node1); + } else if (node instanceof ReferentialPropertyUpdatedNode) { + ReferentialPropertyUpdatedNode node1 = (ReferentialPropertyUpdatedNode) node; + node1.updateSelect(value); + updateSelected(node1.getParent().isSelected(), node1.getParent()); + } + } finally { + if (!wasAdjusting) { + setAdjusting(false); } } - - if (!adjusting) { - fireSelectedChanged(oldSelectionEmpty, oldSelectedCount); - } - } public int getSelectedCount() { @@ -129,7 +116,6 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { return selected.isEmpty(); } - public List<ReferentialSynchroNodeSupport> getSelected() { return selected; } @@ -145,10 +131,9 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { canDelete |= node.isCanDelete(); boolean canUpdate = node.isCanUpdate(); boolean canRevert = node.isCanRevert(); - if ((canUpdate || canRevert) && getRoot().isShowProperties() && node instanceof ReferentialUpdatedSynchroNode) { - ReferentialUpdatedSynchroNode node1 = (ReferentialUpdatedSynchroNode) node; - Optional<ImmutableSet<String>> selectedPropertyNames = node1.getPropertyNamesSelected(); - canUpdate = canRevert = selectedPropertyNames.map(t -> t.size() > 0).orElse(false); + if ((canUpdate || canRevert) && node instanceof ReferentialUpdatedSynchroNode) { + // in this special cas, ask if node is really selected (means not without selected children) + canUpdate = canRevert = !node.isNotSelected(); } this.canUpdate |= canUpdate; this.canRevert |= canRevert; @@ -192,23 +177,44 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { } public void clearSelection() { - - boolean oldSelectionEmpty = isSelectionEmpty(); - int oldSelectedCount = getSelectedCount(); - - for (ReferentialSynchroNodeSupport node : selected) { - node.setSelected(false); - nodeChanged(node); - nodeChanged(node.getParent()); + setAdjusting(true); + try { + for (ReferentialSynchroNodeSupport node : selected) { + node.updateSelect(false); + nodeChanged(node); + nodeChanged(node.getParent()); + } + selected.clear(); + } finally { + setAdjusting(false); } + } - selected.clear(); - - pcs.firePropertyChange(SELECTION_EMPTY, oldSelectionEmpty, isSelectionEmpty()); - pcs.firePropertyChange(SELECTED_COUNT, oldSelectedCount, getSelectedCount()); - pcs.firePropertyChange(SELECTED, null, selected); + public void removeReferenceNodes(Collection<SynchroNodeSupport> removedNodes) { + setAdjusting(true); + try { + for (SynchroNodeSupport removedNode : removedNodes) { + if (removedNode instanceof ReferentialPropertyUpdatedNode) { + removedNode.updateSelect(false); + removeNodeFromParent(removedNode); + continue; + } - updateSelectedActions(); + if (removedNode instanceof ReferentialSynchroNodeSupport) { + ReferentialSynchroNodeSupport removedNode1 = (ReferentialSynchroNodeSupport) removedNode; + removedNode1.updateSelect(false); + selected.remove(removedNode1); + ReferentialTypeSynchroNode typeNode = removedNode1.getParent(); + if (typeNode.getChildCount() == 1) { + removeNodeFromParent(typeNode); + } else { + removeNodeFromParent(removedNode); + } + } + } + } finally { + setAdjusting(false); + } } @Override @@ -232,44 +238,30 @@ public class ReferentialSynchronizeTreeModel extends DefaultTreeModel { pcs.removePropertyChangeListener(name, listener); } + private void updateSelected(boolean value, ReferentialSynchroNodeSupport node) { + if (value) { + selected.add(node); + } else { + selected.remove(node); + } + } + private void fireSelectedChanged(boolean oldSelectionEmpty, int oldSelectedCount) { + if (adjusting) { + return; + } + updateSelectedActions(); pcs.firePropertyChange(SELECTION_EMPTY, oldSelectionEmpty, isSelectionEmpty()); - pcs.firePropertyChange(SELECTED_COUNT, oldSelectedCount, getSelectedCount()); + pcs.firePropertyChange(SELECTED_COUNT, null, getSelectedCount()); pcs.firePropertyChange(SELECTED, null, selected); - updateSelectedActions(); } - public void removeReferenceNodes(Collection<SynchroNodeSupport> removedNodes) { - - boolean oldSelectionEmpty = isSelectionEmpty(); - int oldSelectedCount = getSelectedCount(); - - adjusting = true; - - try { - for (SynchroNodeSupport removedNode : removedNodes) { - - if (removedNode instanceof ReferentialPropertyUpdatedNode) { - removedNode.setSelected(false); - removeNodeFromParent(removedNode); - continue; - } - - if (removedNode instanceof ReferentialSynchroNodeSupport) { - ReferentialSynchroNodeSupport removedNode1 = (ReferentialSynchroNodeSupport) removedNode; - removedNode1.setSelected(false); - selected.remove(removedNode1); - ReferentialTypeSynchroNode typeNode = removedNode1.getParent(); - if (typeNode.getChildCount() == 1) { - removeNodeFromParent(typeNode); - } else { - removeNodeFromParent(removedNode); - } - } - } - } finally { - adjusting = false; - fireSelectedChanged(oldSelectionEmpty, oldSelectedCount); + public void setAdjusting(boolean adjusting) { + this.adjusting = adjusting; + if (adjusting) { + oldSelectedCount = getSelectedCount(); + } else { + fireSelectedChanged(oldSelectedCount == 0, oldSelectedCount); } } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java ===================================== @@ -61,14 +61,13 @@ import java.util.Objects; public class ReferentialSynchronizeTreeModelsBuilder { private static final Logger log = LogManager.getLogger(ReferentialSynchronizeTreeModelsBuilder.class); - private final boolean showProperties; + private final DifferentialEngine engine; private final RootSynchroNode leftRootNode; private final RootSynchroNode rightRootNode; private final ProgressionModel progressionModel; public ReferentialSynchronizeTreeModelsBuilder(ReferentialSynchronizeMode synchronizeMode, boolean showProperties, DifferentialEngine engine, ProgressionModel progressionModel) { - this.showProperties = showProperties; this.engine = Objects.requireNonNull(engine); this.leftRootNode = new RootSynchroNode(true, Objects.requireNonNull(synchronizeMode).isLeftWrite(), showProperties); this.rightRootNode = new RootSynchroNode(false, synchronizeMode.isRightWrite(), showProperties); @@ -119,11 +118,11 @@ public class ReferentialSynchronizeTreeModelsBuilder { boolean leftCanWrite = leftRootNode.isCanWrite(); CreateAddNode leftAddNode = new CreateAddNode(rightCanWrite, leftCanWrite); - CreateUpdateNode leftUpdateNode = new CreateUpdateNode(rightCanWrite, leftCanWrite, showProperties); + CreateUpdateNode leftUpdateNode = new CreateUpdateNode(rightCanWrite, leftCanWrite); create(leftRootNode, leftAddNode, leftUpdateNode, leftDiff); CreateAddNode rightAddNode = new CreateAddNode(leftCanWrite, rightCanWrite); - CreateUpdateNode rightUpdateNode = new CreateUpdateNode(leftCanWrite, rightCanWrite, showProperties); + CreateUpdateNode rightUpdateNode = new CreateUpdateNode(leftCanWrite, rightCanWrite); create(rightRootNode, rightAddNode, rightUpdateNode, rightDiff); ReferentialSynchronizeTreeModel leftTreeModel = new ReferentialSynchronizeTreeModel(leftRootNode, leftAddNode.getIds()); @@ -171,17 +170,15 @@ public class ReferentialSynchronizeTreeModelsBuilder { private final boolean canCopy; private final boolean canRevert; - private final boolean showProperties; - protected CreateUpdateNode(boolean canCopy, boolean canRevert, boolean showProperties) { + protected CreateUpdateNode(boolean canCopy, boolean canRevert) { this.canCopy = canCopy; this.canRevert = canRevert; - this.showProperties = showProperties; } public void createNode(ReferentialTypeSynchroNode typeNode, Differential diffState) { - DifferentialPropertyList modifiedProperties; + DifferentialPropertyList modifiedProperties = null; if (canCopy || canRevert) { modifiedProperties = diffState.getPropertiesModification(); @@ -191,8 +188,6 @@ public class ReferentialSynchronizeTreeModelsBuilder { return; } log.debug(String.format("Modified properties: %s on %s", modifiedProperties, diffState.getId())); - } else { - modifiedProperties = null; } ReferentialSynchroNodeSupport node = new ReferentialUpdatedSynchroNode(diffState, canCopy, canRevert); typeNode.add(node); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/DataSourceInformation.java ===================================== @@ -40,7 +40,7 @@ import static io.ultreia.java4all.i18n.I18n.t; public class DataSourceInformation extends ReferentialSelectionTreePaneActionSupport { public DataSourceInformation() { - super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SOURCE_INFORMATION); + super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_CONFIGURE_LOCAL_SOURCE); } @Override @@ -55,4 +55,12 @@ public class DataSourceInformation extends ReferentialSelectionTreePaneActionSup JOptionPane.INFORMATION_MESSAGE); } + + @Override + public void init() { + if (ui.isRight()) { + setKeyStroke(ObserveKeyStrokesSupport.KEY_STROKE_CONFIGURE_REMOTE_SOURCE); + } + defaultInit(getInputMap(ui, getInputMapCondition()), getActionMap(ui)); + } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/RegisterTaskActionSupport.java ===================================== @@ -247,7 +247,7 @@ public abstract class RegisterTaskActionSupport extends ReferentialSelectionTree DifferentialPropertyList includedProperties = null; Set<ReferentialPropertyUpdatedNode> toRemove = new LinkedHashSet<>(); Differential userObject = node.getUserObject(); - boolean toOtherSide = taskType.toOtherSide(); + boolean toOtherSide = taskType != null && taskType.toOtherSide(); if (!node.isLeaf() && node instanceof ReferentialUpdatedSynchroNode) { ReferentialUpdatedSynchroNode node1 = (ReferentialUpdatedSynchroNode) node; includedPropertyNames = node1.getPropertyNamesSelected().orElse(null); ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectAll.java ===================================== @@ -27,8 +27,8 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree. import fr.ird.observe.client.util.ObserveKeyStrokesSupport; import javax.swing.SwingUtilities; -import javax.swing.tree.TreePath; import java.awt.event.ActionEvent; +import java.util.Collections; import static io.ultreia.java4all.i18n.I18n.t; @@ -44,17 +44,8 @@ public class SelectAll extends ReferentialSelectionTreePaneActionSupport { @Override protected void doActionPerformed(ActionEvent e, ReferentialSelectionTreePane ui) { - ReferentialSelectionTree tree = ui.getTree(); - SwingUtilities.invokeLater(() -> { - int l = tree.getRowCount(); - for (int i = 0; i < l; i++) { - TreePath path = tree.getPathForRow(i); - tree.addSelectionPath(path); - } - SelectUnselect.select(tree); - }); - + SelectUnselect.selectUnSelect(tree, Collections.singleton(tree.getTreeModel().getRoot()), n -> true); SwingUtilities.invokeLater(tree::repaint); } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java ===================================== @@ -24,9 +24,11 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTree; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTreePane; +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.ReferentialPropertyUpdatedNode; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.ReferentialSynchroNodeSupport; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.ReferentialTypeSynchroNode; +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.RootSynchroNode; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.SynchroNodeSupport; import fr.ird.observe.client.util.ObserveKeyStrokesSupport; import org.apache.logging.log4j.LogManager; @@ -34,12 +36,20 @@ import org.apache.logging.log4j.Logger; import javax.swing.ActionMap; import javax.swing.InputMap; +import javax.swing.JComponent; +import javax.swing.SwingUtilities; +import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.Collections; +import java.util.Enumeration; import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; import java.util.Set; +import java.util.function.Function; /** * @author Tony Chemit - dev(a)tchemit.fr @@ -49,11 +59,16 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport { private static final Logger log = LogManager.getLogger(SelectUnselect.class); - private final ReferentialSelectionTreePane opposite; +// private final ReferentialSelectionTreePane opposite; public SelectUnselect(ReferentialSelectionTreePane opposite) { super(null, null, null, ObserveKeyStrokesSupport.KEY_STROKE_SPACE); - this.opposite = opposite; +// this.opposite = opposite; + } + + @Override + protected int getInputMapCondition() { + return JComponent.WHEN_FOCUSED; } @Override @@ -79,7 +94,7 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport { @Override public void init() { defaultInit(ui); - defaultInit(opposite); +// defaultInit(opposite); } @Override @@ -90,7 +105,14 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { - actionPerformed(new ActionEvent(getUi().getTree(), 0, "yo")); + ReferentialSelectionTree tree = ui.getTree(); + TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY()); + Object lastPathComponent = path.getLastPathComponent(); + if (lastPathComponent instanceof SynchroNodeSupport) { + SynchroNodeSupport node = (SynchroNodeSupport) lastPathComponent; + selectUnSelect(tree, Collections.singleton(node), n -> !n.isSelected()); +// actionPerformed(new ActionEvent(getUi().getTree(), 0, "Coming from mouse click")); + } } } }); @@ -110,56 +132,81 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport { @Override protected void doActionPerformed(ActionEvent e, ReferentialSelectionTreePane ui) { ReferentialSelectionTree tree = ui.getTree(); - if (tree.isFocusOwner()) { - selectUnSelect(tree); - } else { - selectUnSelect(opposite.getTree()); - } + selectUnSelect(tree, tree.getSelectedNodes(), n -> !n.isSelected()); +// if (tree.isFocusOwner()) { +// selectUnSelect(tree); +// } else { +// selectUnSelect(opposite.getTree()); +// } } - protected static void selectUnSelect(ReferentialSelectionTree tree) { - TreePath[] selectedRow = tree.getSelectionPaths(); - if (selectedRow == null || selectedRow.length == 0) { + protected static void selectUnSelect(ReferentialSelectionTree tree, Set<SynchroNodeSupport> selectedNodes, Function<SynchroNodeSupport, Boolean> function) { + if (selectedNodes.isEmpty()) { return; } - Set<SynchroNodeSupport> nodes = new LinkedHashSet<>(); - for (TreePath treePath : selectedRow) { - SynchroNodeSupport node = (SynchroNodeSupport) treePath.getLastPathComponent(); - if (node instanceof ReferentialPropertyUpdatedNode && !node.getRoot().isShowProperties()) { - // we can not modify property to update or revert in such mode + boolean showProperties = tree.getTreeModel().getRoot().isShowProperties(); + + // Get all typed nodes in selection + Set<SynchroNodeSupport> typeNodes = new LinkedHashSet<>(); + // Get all referential nodes in selection + Set<SynchroNodeSupport> referentialNodes = new LinkedHashSet<>(); + // Get all property nodes in selection + Set<SynchroNodeSupport> propertyNodes = new LinkedHashSet<>(); + for (SynchroNodeSupport node : selectedNodes) { + if (node instanceof ReferentialPropertyUpdatedNode) { + if (!showProperties) { + // we can not modify selected property in such mode + continue; + } + propertyNodes.add(node); + continue; + } + if (node instanceof ReferentialTypeSynchroNode) { + typeNodes.add(node); continue; } if (node instanceof ReferentialSynchroNodeSupport) { - if (nodes.contains(node.getParent())) { - continue; + referentialNodes.add(node); + } + if (node instanceof RootSynchroNode) { + RootSynchroNode node1 = (RootSynchroNode) node; + Enumeration<TreeNode> children = node1.children(); + while (children.hasMoreElements()) { + ReferentialTypeSynchroNode childNode = (ReferentialTypeSynchroNode) children.nextElement(); + referentialNodes.add(childNode); } - } else if (node instanceof ReferentialTypeSynchroNode) { - nodes.add(node); } - tree.getTreeModel().setValueAt(node, !node.isSelected()); } - } - protected static void select(ReferentialSelectionTree tree) { - TreePath[] selectedRow = tree.getSelectionPaths(); - if (selectedRow == null || selectedRow.length == 0) { - return; - } - Set<SynchroNodeSupport> nodes = new LinkedHashSet<>(); - for (TreePath treePath : selectedRow) { - SynchroNodeSupport node = (SynchroNodeSupport) treePath.getLastPathComponent(); - if (node instanceof ReferentialPropertyUpdatedNode && !node.getRoot().isShowProperties()) { - // we can not modify property to update or revert in such mode - continue; - } - if (node instanceof ReferentialSynchroNodeSupport) { - if (nodes.contains(node.getParent())) { - continue; + // To collect all nodes to modify (type nodes are always modified) + List<SynchroNodeSupport> nodesToModify = new LinkedList<>(typeNodes); + + // Removes referential node if his type node is also selected + referentialNodes.removeIf(node -> typeNodes.contains(node.getParent())); + // Retained referential nodes need to be modified + nodesToModify.addAll(referentialNodes); + + // Remove property node if one of his ancestor is also selected + propertyNodes.removeIf(node -> referentialNodes.contains(node.getParent()) || typeNodes.contains(node.getParent().getParent())); + // Retained property nodes need to be modified + nodesToModify.addAll(propertyNodes); + + if (!nodesToModify.isEmpty()) { + ReferentialSynchronizeTreeModel treeModel = tree.getTreeModel(); + treeModel.setAdjusting(true); + + try { + for (SynchroNodeSupport node : nodesToModify) { + boolean newSelectedValue = function.apply(node); + log.info(String.format("Change selection of node: %s to value? %b", node, newSelectedValue)); + treeModel.setValueAt(node, newSelectedValue); } - } else if (node instanceof ReferentialTypeSynchroNode) { - nodes.add(node); + } finally { + treeModel.setAdjusting(false); } - tree.getTreeModel().setValueAt(node, true); + + log.info("Some modification in tree need a repaint"); + SwingUtilities.invokeLater(tree::repaint); } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/UnselectAll.java ===================================== @@ -24,10 +24,12 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTree; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSelectionTreePane; +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.node.RootSynchroNode; import fr.ird.observe.client.util.ObserveKeyStrokesSupport; import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; +import java.util.Collections; import static io.ultreia.java4all.i18n.I18n.t; @@ -44,17 +46,8 @@ public class UnselectAll extends ReferentialSelectionTreePaneActionSupport { @Override protected void doActionPerformed(ActionEvent e, ReferentialSelectionTreePane ui) { ReferentialSelectionTree tree = ui.getTree(); - - SwingUtilities.invokeLater(() -> { - - tree.getTreeModel().clearSelection(); - tree.clearSelection(); - - if (!tree.getTreeModel().getRoot().isLeaf()) { - tree.addSelectionRow(0); - } - }); - + RootSynchroNode root = tree.getTreeModel().getRoot(); + SelectUnselect.selectUnSelect(tree, Collections.singleton(root), n -> false); SwingUtilities.invokeLater(tree::repaint); } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialPropertyUpdatedNode.java ===================================== @@ -48,8 +48,6 @@ public class ReferentialPropertyUpdatedNode extends SynchroNodeSupport { String rightValue = left ? property.getNewValueLabel(decoratorService) : property.getOldValueLabel(decoratorService); this.label = property.getPropertyNameLabel(dtoType, decoratorService); this.modificationLabel = String.format("<i>( %s )</i>", t("observe.actions.synchro.referential.property.modified", leftValue, rightValue)); - // by default all properties are selected - setSelected(true); } public DifferentialProperty getModifiedProperty() { ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialTypeSynchroNode.java ===================================== @@ -27,7 +27,6 @@ import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.tree.I18nTreeHelper; import javax.swing.UIManager; -import java.util.Enumeration; /** * Created on 09/08/16. @@ -47,37 +46,26 @@ public class ReferentialTypeSynchroNode extends SynchroNodeSupport { return (RootSynchroNode) super.getParent(); } - @Override - public boolean isSelected() { - Enumeration<?> children = children(); - while (children.hasMoreElements()) { - SynchroNodeSupport node = (SynchroNodeSupport) children.nextElement(); - if (!node.isSelected()) { - return false; - } - } - return !isLeaf(); - } - - @Override - public void setSelected(boolean selected) { - Enumeration<?> children = children(); - while (children.hasMoreElements()) { - SynchroNodeSupport node = (SynchroNodeSupport) children.nextElement(); - node.setSelected(selected); - } - } - - public ReferentialSynchroNodeSupport getChild(String id) { - Enumeration<?> children = children(); - while (children.hasMoreElements()) { - ReferentialSynchroNodeSupport o = (ReferentialSynchroNodeSupport) children.nextElement(); - if (id.equals(o.getUserObject().getId())) { - return o; - } - } - return null; - } +// @Override +// public boolean isSelected() { +// Enumeration<?> children = children(); +// while (children.hasMoreElements()) { +// SynchroNodeSupport node = (SynchroNodeSupport) children.nextElement(); +// if (!node.isSelected()) { +// return false; +// } +// } +// return !isLeaf(); +// } +// +// @Override +// public void setSelected(boolean selected) { +// Enumeration<?> children = children(); +// while (children.hasMoreElements()) { +// SynchroNodeSupport node = (SynchroNodeSupport) children.nextElement(); +// node.setSelected(selected); +// } +// } @SuppressWarnings("unchecked") @Override ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/ReferentialUpdatedSynchroNode.java ===================================== @@ -57,8 +57,4 @@ public class ReferentialUpdatedSynchroNode extends ReferentialSynchroNodeSupport return Optional.ofNullable(oneSelected ? includedPropertyNamesBuilder.build() : null); } - @Override - public boolean isPartialSelected() { - return false; - } } ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/node/SynchroNodeSupport.java ===================================== @@ -38,7 +38,7 @@ public abstract class SynchroNodeSupport extends DefaultMutableTreeNode implemen private static final long serialVersionUID = 1L; - private transient Icon icon; + private final transient Icon icon; private transient boolean selected; protected SynchroNodeSupport(Icon icon, Object userObject) { @@ -46,7 +46,6 @@ public abstract class SynchroNodeSupport extends DefaultMutableTreeNode implemen this.icon = icon; } - public abstract String toString(DecoratorService decoratorService); public Icon getIcon() { @@ -65,25 +64,50 @@ public abstract class SynchroNodeSupport extends DefaultMutableTreeNode implemen return selected; } - public void setSelected(boolean selected) { - this.selected = selected; + public boolean isPartialSelected() { + if (isLeaf()) { + return false; + } + int selectedCount = getSelectedCount(); + int childCount = getChildCount(); + return selectedCount > 0 && selectedCount < childCount; } - public boolean isPartialSelected() { - if (isSelected()) { + public boolean isFullySelected() { + if (isLeaf()) { return false; } + int selectedCount = getSelectedCount(); + int childCount = getChildCount(); + return selectedCount == childCount; + } + + public boolean isNotSelected() { if (isLeaf()) { return false; } + int selectedCount = getSelectedCount(); + return selectedCount == 0; + } + + public int getSelectedCount() { + int result = 0; Enumeration<?> children = children(); while (children.hasMoreElements()) { - SynchroNodeSupport nodeSupport = (SynchroNodeSupport) children.nextElement(); - if (nodeSupport.isSelected()) { - return true; + SynchroNodeSupport childNode = (SynchroNodeSupport) children.nextElement(); + if (childNode.isSelected()) { + result++; } } - return false; + return result; + } + + public void updateSelect(boolean selected) { + if (selected) { + select(true); + } else { + unselect(true); + } } @Override @@ -95,4 +119,49 @@ public abstract class SynchroNodeSupport extends DefaultMutableTreeNode implemen public SynchroNodeSupport getParent() { return (SynchroNodeSupport) super.getParent(); } + + protected void select(boolean first) { + if (first) { + setSelectedDeeply(true); + } else { + setSelected(true); + } + SynchroNodeSupport parent = getParent(); + if (parent.isRoot()) { + return; + } + if (!parent.isNotSelected()) { + parent.select(false); + } + } + + protected void unselect(boolean first) { + if (first) { + setSelectedDeeply(false); + } else { + setSelected(false); + } + SynchroNodeSupport parent = getParent(); + if (parent.isRoot()) { + return; + } + if (parent.isNotSelected()) { + // no more selection on parent + parent.unselect(false); + } + } + + protected void setSelected(boolean selected) { + this.selected = selected; + } + + private void setSelectedDeeply(boolean selected) { + setSelected(selected); + // Reset all all children + Enumeration<?> children = children(); + while (children.hasMoreElements()) { + SynchroNodeSupport node = (SynchroNodeSupport) children.nextElement(); + node.setSelectedDeeply(selected); + } + } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/69869bd516ef63ce7b09f65f… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/69869bd516ef63ce7b09f65f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.