Observe-commits
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
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
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'release/7.6.4' 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
[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
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 'master-7.x' into 'develop-7.x'
- - - - -
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'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'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'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'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'espèce d'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'espèce d'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'espèce d'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'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'espèces - Closes #1573
- - - - -
5b2ae29c by Tony Chemit at 2020-07-08T14:44:02+02:00
Integrates back toolkit since we won'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'eau : le mode de libération n'est pas supprimé si on change d'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'release/7.6.4' with non-snapshot versions[skip ci]
- - - - -
d09a4a8e by Tony Chemit at 2020-07-09T08:26:33+02:00
[jgitflow-maven-plugin]merging 'release/7.6.4' into 'master-7.x'
- - - - -
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
[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
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'release/7.6.4' with non-snapshot versions[skip ci]
- - - - -
d09a4a8e by Tony Chemit at 2020-07-09T08:26:33+02:00
[jgitflow-maven-plugin]merging 'release/7.6.4' into 'master-7.x'
- - - - -
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 'master-7.x' into 'develop-7.x'
- - - - -
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
[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
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
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
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'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'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'item : l'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'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 -> chagement d'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'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'ajout d'une caractéristique d'é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'enregistrement d'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 'd'** (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'afficher le `À propos`** (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'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'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'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'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'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'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'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'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'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'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'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'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'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'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'eau : le mode de libération n'est pas supprimé si on change d'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'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'espèce d'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
[Git][ultreiaio/ird-observe][develop-7.x] 7 commits: Amélioration des logs - Closes #1574
by Tony CHEMIT 08 Jul '20
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'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'espèces - Closes #1573
- - - - -
5b2ae29c by Tony Chemit at 2020-07-08T14:44:02+02:00
Integrates back toolkit since we won'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'eau : le mode de libération n'est pas supprimé si on change d'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
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'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 'Données logbook' et 'Données d'observation' - 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'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
[Git][ultreiaio/ird-observe][develop] [LL Logbook Activity] Revoir finement l'activité observée associée à une...
by Tony CHEMIT 08 Jul '20
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'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
[Git][ultreiaio/ird-observe][develop] 2 commits: [SYNCHRO AVANCEE][REFERENTIEL] Améliorer la coche des cases - Closes #1546
by Tony CHEMIT 08 Jul '20
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