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
April 2024
- 1 participants
- 31 discussions
[Git][ultreiaio/ird-observe][master] 43 commits: [jgitflow-maven-plugin]updating poms for 9.3.0-RC-6-SNAPSHOT development[skip ci]
by Tony CHEMIT (@tchemit) 25 Apr '24
by Tony CHEMIT (@tchemit) 25 Apr '24
25 Apr '24
Tony CHEMIT pushed to branch master at ultreiaio / ird-observe
Commits:
bcddf0a6 by Tony Chemit at 2024-03-19T20:23:24+01:00
[jgitflow-maven-plugin]updating poms for 9.3.0-RC-6-SNAPSHOT development[skip ci]
- - - - -
144e8568 by Tony Chemit at 2024-03-19T20:38:58+01:00
[jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci]
- - - - -
9ac42b8d by Tony Chemit at 2024-03-19T20:38:59+01:00
[jgitflow-maven-plugin]merging 'master' into 'develop'
- - - - -
0abb219c by Tony Chemit at 2024-03-19T20:39:00+01:00
[jgitflow-maven-plugin]Updating develop poms back to pre merge state[skip ci]
- - - - -
bbaef632 by Tony Chemit at 2024-03-20T14:51:13+01:00
La valeur du champs ps_observation.Catch.well a des fois la valeur vide, à la place de la valeur nulle - Closes #2857
- - - - -
6229d78f by Tony Chemit at 2024-03-20T14:51:13+01:00
Use updated check-services-types configuration
- - - - -
69444bb6 by Tony Chemit at 2024-03-29T09:35:21+01:00
update pom
- - - - -
91cfc7bc by Tony Chemit at 2024-03-29T09:35:21+01:00
fix Observations - Types d'activités par zones FPA report (missing GroupBy for postgresql)
- - - - -
dc0261ca by Tony Chemit at 2024-03-29T09:35:21+01:00
Fix save step when simple referential synchronize (was using a not open data source)
- - - - -
a4fdf628 by Tony Chemit at 2024-03-29T09:35:21+01:00
Checks parameters in generated services local
- - - - -
2d63583a by Tony Chemit at 2024-03-29T09:35:21+01:00
Improve webmotion injectors, jsonAware one can now return null value
- - - - -
9afbc1fe by Tony Chemit at 2024-03-29T09:35:21+01:00
Synchro avancée données - Mise à jour de l'arbre de sélection après avoir enregistrer des actions
- - - - -
3a91649e by Tony Chemit at 2024-03-29T09:35:21+01:00
Amélioration de la gestion des services non connectés (See ultreiaio/http#65)
- - - - -
8d35e222 by Tony Chemit at 2024-03-29T09:35:21+01:00
Correction du nombre d'étapes sur l'assistant de consolidation
- - - - -
e5cfd497 by Tony Chemit at 2024-03-29T09:35:21+01:00
Add onEndAction method to report end of action + add initProgressModel method
- - - - -
20c90236 by Tony Chemit at 2024-03-29T09:35:21+01:00
Introduce maven module core-api-dto-pairing (coming from core-api-dto)
- - - - -
2f088f4a by Tony Chemit at 2024-04-22T08:25:41+02:00
Nouveau rapport PS / Observations & Logbooks / Captures par Zone FPA, espèce et devenir - See #2856
- - - - -
e2d3797c by Tony Chemit at 2024-04-22T08:37:34+02:00
Alerte InsecureRecursiveDeleteException lors du lancement de la 9.3 - Closes #2860
- - - - -
432362ac by Tony Chemit at 2024-04-22T17:09:05+02:00
update pom (java-util)
- - - - -
68ee09a5 by Tony Chemit at 2024-04-22T17:09:05+02:00
Augmenter la valeur max d'un contrôle sur form PS landing - Closes #2863
- - - - -
69d548c6 by Tony Chemit at 2024-04-22T17:09:21+02:00
Les reports LL logbook ne fonctionnent pas - Closes #2864
- - - - -
b893ac53 by Tony Chemit at 2024-04-22T17:11:13+02:00
Move method getEnabledReferentialLabelSet from ReferentialService to SynchronizeService
- - - - -
dab9dd3f by Tony Chemit at 2024-04-23T08:59:21+02:00
Review DifferentialModelBuilder API (now use TwoSide API)
- - - - -
2598daa5 by Tony Chemit at 2024-04-23T09:11:56+02:00
Review Synchro API (now use TwoSide API)
- - - - -
dee40b5e by Tony Chemit at 2024-04-23T09:20:23+02:00
use new TwoSide API
- - - - -
5ce049f4 by Tony Chemit at 2024-04-23T09:20:23+02:00
Improve ondEndAction method
- - - - -
4f41d87a by Tony Chemit at 2024-04-23T09:20:23+02:00
Fix resources usages in admin action
- - - - -
5705e7f8 by Tony Chemit at 2024-04-23T09:22:08+02:00
Merge branch 'feature/TwoSide' into develop
Revue des actions longues et utilisation de l'API TwoSide
- - - - -
8f797cf7 by Tony Chemit at 2024-04-23T09:49:49+02:00
Sur LL logbooks, global composition, le bouton 'Save' est disponible dans des situations où il ne devrait pas - Closes #2862
- - - - -
07bb1e0c by Tony Chemit at 2024-04-23T10:00:21+02:00
Amélioration de la gestion des services non connectés (See ultreiaio/http#65)
- - - - -
f4c3d2fe by Tony Chemit at 2024-04-23T12:31:36+02:00
Improve ObserveSwingDataSource.doOpenSource method and remove AdminTabUIActionSupport.openSource one
- - - - -
c9be7d77 by Tony Chemit at 2024-04-23T12:32:12+02:00
On OneSideSqlResult, improve generated sql code (always trim any statement and add a new line)
- - - - -
091c11eb by Tony Chemit at 2024-04-23T12:32:33+02:00
Immrove BothSidesSqlRequestBuilder code
- - - - -
7a81eb84 by Tony Chemit at 2024-04-23T12:33:31+02:00
Improve SynchronizeEngine and UnidirectionalSynchronizeEngine code
- - - - -
61d55ad5 by Tony Chemit at 2024-04-23T12:34:06+02:00
Clean Synchronize referential admin actions
- - - - -
50468105 by Tony Chemit at 2024-04-23T12:53:40+02:00
move to version 9.3.0
- - - - -
250e3419 by Tony Chemit at 2024-04-23T12:54:21+02:00
Update changelog for v.9.3.0 [skip CI]
- - - - -
d6da558d by Tony Chemit at 2024-04-24T09:40:22+02:00
Fix SqlConversions.convertValue method (when modification is an entity)
- - - - -
61876197 by Tony Chemit at 2024-04-24T09:44:41+02:00
Impossible de rouvrir une activité PS logbook - Closes #2866
- - - - -
59f18d2d by Tony Chemit at 2024-04-25T09:24:00+02:00
Quelques libellés anglais, sur le fil - Closes #2867
- - - - -
91eccb32 by Tony Chemit at 2024-04-25T09:34:29+02:00
Update changelog for v.9.3.0 [skip CI]
- - - - -
8e68b9a0 by Tony Chemit at 2024-04-25T09:35:32+02:00
[jgitflow-maven-plugin]updating poms for branch'release/9.3.0' with non-snapshot versions[skip ci]
- - - - -
79cff34a by Tony Chemit at 2024-04-25T09:50:48+02:00
[jgitflow-maven-plugin]merging 'release/9.3.0' into 'master'
- - - - -
30 changed files:
- CHANGELOG.md
- client/configuration/pom.xml
- client/configuration/src/main/dcp-presets/ps/common/01-standard-fad-deployment-preset.yml
- client/configuration/src/main/dcp-presets/ps/common/02-standard-fad-removal-preset.yml
- client/configuration/src/main/dcp-presets/ps/common/03-standard-fad-update-preset.yml
- client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client/core/pom.xml
- client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/data/DataManager.java
- client/datasource/actions/pom.xml
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Prepare.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/save/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jaxx
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUIHandler.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Apply.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jaxx
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSelectionTreePaneActionSupport.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterCopy.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterDelete.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/Apply.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bfe516d548a8fd1fda40f8d9…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bfe516d548a8fd1fda40f8d9…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 5 commits: [jgitflow-maven-plugin]updating poms for branch'release/9.3.0' with non-snapshot versions[skip ci]
by Tony CHEMIT (@tchemit) 25 Apr '24
by Tony CHEMIT (@tchemit) 25 Apr '24
25 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
8e68b9a0 by Tony Chemit at 2024-04-25T09:35:32+02:00
[jgitflow-maven-plugin]updating poms for branch'release/9.3.0' with non-snapshot versions[skip ci]
- - - - -
79cff34a by Tony Chemit at 2024-04-25T09:50:48+02:00
[jgitflow-maven-plugin]merging 'release/9.3.0' into 'master'
- - - - -
53b669fd by Tony Chemit at 2024-04-25T09:50:53+02:00
[jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci]
- - - - -
12d7f83f by Tony Chemit at 2024-04-25T09:50:54+02:00
[jgitflow-maven-plugin]merging 'master' into 'develop'
- - - - -
3ed637ff by Tony Chemit at 2024-04-25T09:50:55+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/d0f6d809f1e91f88d3e87100…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d0f6d809f1e91f88d3e87100…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] [jgitflow-maven-plugin]updating poms for 9.3.1-SNAPSHOT development[skip ci]
by Tony CHEMIT (@tchemit) 25 Apr '24
by Tony CHEMIT (@tchemit) 25 Apr '24
25 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d0f6d809 by Tony Chemit at 2024-04-25T09:34:58+02:00
[jgitflow-maven-plugin]updating poms for 9.3.1-SNAPSHOT development[skip ci]
- - - - -
30 changed files:
- client/configuration/pom.xml
- client/core/pom.xml
- client/datasource/actions/pom.xml
- client/datasource/editor/api-test/pom.xml
- client/datasource/editor/api/pom.xml
- client/datasource/editor/common/pom.xml
- client/datasource/editor/ll/pom.xml
- client/datasource/editor/pom.xml
- client/datasource/editor/ps/pom.xml
- client/datasource/editor/spi/pom.xml
- client/datasource/pom.xml
- client/pom.xml
- client/runner/pom.xml
- core/api/dto-consolidation/pom.xml
- core/api/dto-decoration/pom.xml
- core/api/dto-pairing/pom.xml
- core/api/dto-validation/pom.xml
- core/api/dto/pom.xml
- core/api/pom.xml
- core/api/services/pom.xml
- core/api/tree/pom.xml
- core/api/validation/pom.xml
- core/persistence/avdth/pom.xml
- core/persistence/consolidation/pom.xml
- core/persistence/decoration/pom.xml
- core/persistence/java/pom.xml
- core/persistence/migration/pom.xml
- core/persistence/pom.xml
- core/persistence/report/pom.xml
- core/persistence/resources/pom.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d0f6d809f1e91f88d3e87100a…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d0f6d809f1e91f88d3e87100a…
You're receiving this email because of your account on gitlab.com.
1
0
25 Apr '24
Tony CHEMIT pushed new branch release/9.3.0 at ultreiaio / ird-observe
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/tree/release/9.3.0
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Update changelog for v.9.3.0 [skip CI]
by Tony CHEMIT (@tchemit) 25 Apr '24
by Tony CHEMIT (@tchemit) 25 Apr '24
25 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
91eccb32 by Tony Chemit at 2024-04-25T09:34:29+02:00
Update changelog for v.9.3.0 [skip CI]
- - - - -
1 changed file:
- CHANGELOG.md
Changes:
=====================================
CHANGELOG.md
=====================================
@@ -1,11 +1,11 @@
# ObServe changelog
* Author [Tony Chemit](mailto:dev@tchemit.fr)
- * Last generated at 2024-04-23 12:51.
+ * Last generated at 2024-04-25 09:34.
## Version [9.3.0](https://gitlab.com/ultreiaio/ird-observe/-/milestones/271)
-**Closed at 2024-04-23.**
+**Closed at 2024-04-25.**
### Download
* [Client (observe-9.3.0-client.zip)](https://repo1.maven.org/maven2/fr/ird/observe/ob…)
@@ -29,6 +29,7 @@
* [[Type::Anomalie 2860]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2860) **Alerte InsecureRecursiveDeleteException lors du lancement de la 9.3** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Anomalie 2862]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2862) **Sur LL logbooks, global composition, le bouton 'Save' est disponible dans des situations où il ne devrait pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Anomalie 2864]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2864) **Les reports LL logbook ne fonctionnent pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Type::Anomalie 2866]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2866) **Impossible de rouvrir une activité PS logbook** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Evolution 1962]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1962) **Séparer le fichier des reports en plusieurs fichiers** (Thanks to ) (Reported by Tony CHEMIT)
* [[Type::Evolution 2044]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2044) **Peaufinage du form Balise : disponibilité des champs Appartenance, Pays et Navire** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Evolution 2182]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2182) **Ajouter le défilement année par année sur les calendriers** (Thanks to Pascal Cauquil) (Reported by Pascal Cauquil)
@@ -60,6 +61,7 @@
* [[Type::Evolution 2855]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2855) **Ajout des rapports sur les FOB PS - Logbook** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
* [[Type::Evolution 2856]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2856) **Nouveau rapport PS / Observations & Logbooks / Captures par Zone FPA, espèce et devenir** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Evolution 2863]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2863) **Augmenter la valeur max d'un contrôle sur form PS landing** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Type::Evolution 2867]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2867) **Quelques libellés anglais, sur le fil** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
* [[Type::Tâche 2807]](https://gitlab.com/ultreiaio/ird-observe/-/issues/2807) **Supprimer le module server-configuration-tool (il ne sert pas)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
## Version [9.2.3](https://gitlab.com/ultreiaio/ird-observe/-/milestones/276)
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/91eccb32b2b3b9d224c65d037…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/91eccb32b2b3b9d224c65d037…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Quelques libellés anglais, sur le fil - Closes #2867
by Tony CHEMIT (@tchemit) 25 Apr '24
by Tony CHEMIT (@tchemit) 25 Apr '24
25 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
59f18d2d by Tony Chemit at 2024-04-25T09:24:00+02:00
Quelques libellés anglais, sur le fil - Closes #2867
- - - - -
23 changed files:
- client/configuration/src/main/dcp-presets/ps/common/01-standard-fad-deployment-preset.yml
- client/configuration/src/main/dcp-presets/ps/common/02-standard-fad-removal-preset.yml
- client/configuration/src/main/dcp-presets/ps/common/03-standard-fad-update-preset.yml
- core/persistence/report/src/main/resources/META-INF/report/default/ll/llCommonTripGearUseFeatures.report
- core/persistence/report/src/main/resources/META-INF/report/default/ll/llLanding.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatch.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupAndSpeciesFateDiscardPerAssociation.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupPerReasonForDiscard.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupPerSpeciesFate.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByFPAZonePerSpeciesFate.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupAndSpeciesFateDiscardPerAssociation.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupPerReasonForDiscard.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupPerSpeciesFate.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationDailySetAndCatch.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageExtended.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageMinimal.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationLengthsDistribution.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationRepartionCaleeParCuve.report
- core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationSetByAssociation.report
- core/services/i18n/src/main/i18n/translations/services_en_GB.properties
- core/services/i18n/src/main/i18n/translations/services_es_ES.properties
- core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-llLanding.properties
- src/site/markdown/report/embedded-reports.md
Changes:
=====================================
client/configuration/src/main/dcp-presets/ps/common/01-standard-fad-deployment-preset.yml
=====================================
@@ -1,9 +1,9 @@
buoy1:
transmittingBuoyOperationId: fr.ird.referential.ps.common.TransmittingBuoyOperation#1239832686238#0.4755624782839416
transmittingBuoyOwnershipId: fr.ird.referential.ps.common.TransmittingBuoyOwnership#0#3
-label1: Draft deployment (DFAD)
-label2: Mise à l'eau de radeau dérivant (DFAD)
-label3: Draft deployment (DFAD) #TODO
+label1: Draft deployment (DFAD/Raft)
+label2: Mise à l'eau de radeau dérivant (DFAD/Raft)
+label3: Draft deployment (DFAD/Raft) #TODO
objectOperationId: fr.ird.referential.ps.common.ObjectOperation#0#1
whenLeavingMaterials: !java.util.TreeMap
fr.ird.referential.ps.common.ObjectMaterial#0#0.3: true
=====================================
client/configuration/src/main/dcp-presets/ps/common/02-standard-fad-removal-preset.yml
=====================================
@@ -1,8 +1,8 @@
buoy1:
transmittingBuoyOperationId: fr.ird.referential.ps.common.TransmittingBuoyOperation#1239832686238#0.38090479793636556
-label1: Draft removal (DFAD)
-label2: Retrait de radeau dérivant (DFAD)
-label3: Draft removal (DFAD) #TODO
+label1: Draft removal (DFAD/Raft)
+label2: Retrait de radeau dérivant (DFAD/Raft)
+label3: Draft removal (DFAD/Raft) #TODO
objectOperationId: fr.ird.referential.ps.common.ObjectOperation#0#4
whenArrivingMaterials: !java.util.TreeMap
fr.ird.referential.ps.common.ObjectMaterial#0#0.3: true
=====================================
client/configuration/src/main/dcp-presets/ps/common/03-standard-fad-update-preset.yml
=====================================
@@ -1,6 +1,6 @@
-label1: Draft visit/modify/reinforce (DFAD)
-label2: Visite/modification/renforcement de radeau dérivant (DFAD)
-label3: Draft visit/modify/reinforce (DFAD) #TODO
+label1: Draft visit/modify/reinforce (DFAD/Raft)
+label2: Visite/modification/renforcement de radeau dérivant (DFAD/Raft)
+label3: Draft visit/modify/reinforce (DFAD/Raft) #TODO
objectOperationId: fr.ird.referential.ps.common.ObjectOperation#0#2
whenArrivingMaterials: !java.util.TreeMap
fr.ird.referential.ps.common.ObjectMaterial#0#0.3: true
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ll/llCommonTripGearUseFeatures.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=LL
name=Liste des équipements
-name.en=Gears uses features
+name.en=Common - Vessel equipments
name.es=
description=Afficher les équipements
description.en=Display gear uses features
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ll/llLanding.report
=====================================
@@ -20,8 +20,8 @@
# #L%
###
modelType=LL
-name=Liste des débarquements
-name.en=List of landings
+name=Livre de bord - Débarquements
+name.en=Logbook - Landings
name.es=
description=Afficher le détails des débarquements
description.en=Display details on landing
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatch.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Liste des captures selon le type de banc, filtrées par groupe
-name.en=Observation - List of catches per school type, filtered per group
+name.en=Observations - List of catches per school type, filtered per group
name.es=
description=Afficher les captures par groupe d'espèce\nLes poids sont exprimés en tonnes.
description.en=Display catches per school type, filtered per group\nWeights are in tons.
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupAndSpeciesFateDiscardPerAssociation.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Dénombrement des captures selon le type d'association, filtrées par groupe et mode (rejeté/conservé)
-name.en=Observation - Catches counting per association type, filtered per group and discarded mode
+name.en=Observations - Catches counting per association type, filtered per group and discarded mode
name.es=
description=Afficher le dénombrement de rejets par groupe d'espèces et mode (rejeté/conservé) selon le type d'association
description.en=Display catches counting per association type, filtered per group and discarded mode
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupPerReasonForDiscard.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Dénombrement des rejets par type de banc et raison de rejet, filtrés par groupe (en t)
-name.en=Observation - Discard counting per school type and reason for discard, filtered per group (in t)
+name.en=Observations - Discard counting per school type and reason for discard, filtered per group (in t)
name.es=
description=Afficher le nombre de captures rejetées par espèce selon le type de banc et le type de rejet, filtrés par groupe (en t)
description.en=Display discard counting per school type and reason for discard, filtered per group (in t)
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchTotalCountByGroupPerSpeciesFate.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Dénombrement des captures par type de banc et devenir, filtrés par groupe
-name.en=Observation - Catches counting per school type and species fate, filtered per group
+name.en=Observations - Catches counting per school type and species fate, filtered per group
name.es=
description=Afficher les nombres de captures selon le type de banc et le devenir, filtré par groupe
description.en=Display catches counting per school type and species fate, filtered per group
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByFPAZonePerSpeciesFate.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Devenir des captures par zone FPA filtré par groupe d'espèce (en t)
-name.en=Observation - Catch fates by species group and FPA zone, filtered per group (in t)
+name.en=Observations - Catch fates by species group and FPA zone, filtered per group (in t)
name.es=
description=Après sélection d'un groupe d'espèces, ce rapport retourne les poids capturés (en tonnes) par zone FPA et par devenir
description.en=Once a species group is selected, this report returns catch weights (in tons) by FPA zone and fate
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupAndSpeciesFateDiscardPerAssociation.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Poids des captures selon le type d'association, filtrées par groupe et mode (rejeté/conservé) (en t)
-name.en=Observation - Catches weight per association type, filtered per group and discarded mode (in t)
+name.en=Observations - Catches weight per association type, filtered per group and discarded mode (in t)
name.es=
description=Afficher le poids de rejets par groupe d'espèces et mode (rejeté/conservé) selon le type d'association
description.en=
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupPerReasonForDiscard.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Poids des rejets par type de banc et raison de rejet, filtrés par groupe (en t)
-name.en=Observation - Discarded weight per school type and species fate, filtered per group (in t)
+name.en=Observations - Discarded weight per school type and species fate, filtered per group (in t)
name.es=
description=Afficher le poids de captures rejetées par espèce selon le type de banc et type de rejet, filtrés par groupe
description.en=Display discarded weight per school type and species fate, filtered per group (in t)
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationCatchWeightByGroupPerSpeciesFate.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Poids des captures par type de banc et devenir, filtrés par groupe (en t)
-name.en=Observation - Catches weight per school type, species fate, filtered per group (in t)
+name.en=Observations - Catches weight per school type, species fate, filtered per group (in t)
name.es=
description=Afficher le poids de captures selon le type de banc et le devenir, filtrés par groupe (en t)
description.en=Display catches weight per school type, species fate, filtered per group (in t)
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationDailySetAndCatch.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Nombre de calées et captures journalières d'une marée
-name.en=Observation - Set counting and daily catches
+name.en=Observations - Set counting and daily catches
name.es=
description=Afficher le nombre de calées et les captures journalières d’une calée
description.en=Display set counting and daily catches
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageExtended.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Utilisation des FOB, tableau détaillé
-name.en=Observation - FOB usage - detailled version
+name.en=Observations - FOB usage - detailled version
name.es=
description=Tableau récapitulatif des FOB rencontrés, par types CECOFAD et types d’actions (déploiements, simples visites, modifications, diverses modalités de retraits), avec et sans pêche, et nombres de tortues observées
description.en=Summary of FOB encountered, by CECOFAD types, types of object operation (deployment, visit, update, kinds of retrievals), presence or absence of associated fishing set, and number of observed turtles.
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationFobUsageMinimal.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Utilisation des FOB, tableau simplifiée
-name.en=Observation - FOB usage, simplified version
+name.en=Observations - FOB usage, simplified version
name.es=
description=Tableau récapitulatif des FOB rencontrés, par types CECOFAD et types d’actions regroupés (rencontrés et pêchés, rencontrés non pêchés, déployés), et nombres de tortues observées
description.en=Total number of found FOB,per CECOFAD types and action type (Visited fishing,Visited not fishing, deployed), and count of observed turtles
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationLengthsDistribution.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Distribution des tailles par espèces et type de mesure
-name.en=Observation - Length distribution per species and length measure type
+name.en=Observations - Length distribution per species and length measure type
name.es=
description=Afficher la nombre d'individus mesurés par classe de taille pour les espèces et le type de mesure
description.en=Display length distribution per species and length measure type
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationRepartionCaleeParCuve.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Répartition des calées par cuves
-name.en=Observation - Set counting per well
+name.en=Observations - Set counting per well
name.es=
description=Répartition des calées par cuves, type de banc et espèce
description.en=Display set counting per well
=====================================
core/persistence/report/src/main/resources/META-INF/report/default/ps/psObservationSetByAssociation.report
=====================================
@@ -21,7 +21,7 @@
###
modelType=PS
name=Observations - Nombre de calées selon le type d’association
-name.en=Observation - Set counting per association type
+name.en=Observations - Set counting per association type
name.es=
description=Afficher la répartitions des calées selon le type d’association l’issue du coup. Les coups sur BL baleine et BO requin-baleine sont spécifiés.
description.en=Display set counting per association type
=====================================
core/services/i18n/src/main/i18n/translations/services_en_GB.properties
=====================================
@@ -620,7 +620,7 @@ observe.data.ll.landing.LandingPart.weight=Weight (Kg)
observe.data.ll.landing.LandingPart.weight.short=Weight
observe.data.ll.landing.LandingPart.weight.validation.required=Count or weight must be filled.
observe.data.ll.landing.LandingPart.weightCategoryMinMax=Weight category min - max
-observe.data.ll.logbook.Activity.action.create=Next activity
+observe.data.ll.logbook.Activity.action.create=Create activity
observe.data.ll.logbook.Activity.action.move=Change trip
observe.data.ll.logbook.Activity.action.move.choose.parent.message=Select target trip
observe.data.ll.logbook.Activity.action.move.choose.parent.title=Move activities to another trip
@@ -683,12 +683,12 @@ observe.data.ll.logbook.HooksComposition.action.save=Insert this hook
observe.data.ll.logbook.HooksComposition.action.save.tip=Insert this hook
observe.data.ll.logbook.HooksComposition.type=Hook composition
observe.data.ll.logbook.Sample.action.create=Next sample
-observe.data.ll.logbook.Sample.action.move=Change trip
+observe.data.ll.logbook.Sample.action.move=Move to activity or other trip
observe.data.ll.logbook.Sample.action.move.choose.parent.activity.message=Select target activity
observe.data.ll.logbook.Sample.action.move.choose.parent.activity.title=Move samples to another activity
observe.data.ll.logbook.Sample.action.move.choose.parent.message=Select target trip
observe.data.ll.logbook.Sample.action.move.choose.parent.target.activity=Move to activity
-observe.data.ll.logbook.Sample.action.move.choose.parent.target.message=You can move sample to a trip or a sample
+observe.data.ll.logbook.Sample.action.move.choose.parent.target.message=You can move this sample to an activity or to another trip
observe.data.ll.logbook.Sample.action.move.choose.parent.target.multiple.message=You can move samples only to a trip
observe.data.ll.logbook.Sample.action.move.choose.parent.target.title=Target of sample move
observe.data.ll.logbook.Sample.action.move.choose.parent.target.trip=Move to trip
@@ -744,7 +744,7 @@ observe.data.ll.logbook.SetGlobalComposition.floatlinesCompositionTab=Floatlines
observe.data.ll.logbook.SetGlobalComposition.hooksCompositionTab=Hooks
observe.data.ll.logbook.SetGlobalComposition.mitigationTypeTab=Mitigation
observe.data.ll.logbook.SetGlobalComposition.type=Global composition
-observe.data.ll.observation.Activity.action.create=Next activity
+observe.data.ll.observation.Activity.action.create=Create activity
observe.data.ll.observation.Activity.action.move=Change trip
observe.data.ll.observation.Activity.action.move.choose.parent.message=Select target trip
observe.data.ll.observation.Activity.action.move.choose.parent.title=Move activities to another trip
@@ -1091,7 +1091,7 @@ observe.data.ps.localmarket.SurveyPart.type=Survey part
observe.data.ps.localmarket.TripBatch.availablePackagings=Available packaging
observe.data.ps.localmarket.TripBatch.type=Trip batch
observe.data.ps.localmarket.WellId.type=Well id
-observe.data.ps.logbook.Activity.action.create=Next activity
+observe.data.ps.logbook.Activity.action.create=Create activity
observe.data.ps.logbook.Activity.action.move=Change route
observe.data.ps.logbook.Activity.action.move.choose.parent.message=Select target route
observe.data.ps.logbook.Activity.action.move.choose.parent.title=Move activities to another route
@@ -1130,7 +1130,7 @@ observe.data.ps.logbook.ActivityStub.date=Date
observe.data.ps.logbook.ActivityStub.number=Number
observe.data.ps.logbook.ActivityStub.time=Observation time
observe.data.ps.logbook.ActivityStub.type=Activity
-observe.data.ps.logbook.Catch.action.create=Create a new catch
+observe.data.ps.logbook.Catch.action.create=Create catch
observe.data.ps.logbook.Catch.action.save=Insert this catch
observe.data.ps.logbook.Catch.action.save.tip=Insert this catch
observe.data.ps.logbook.Catch.count=Count
@@ -1142,7 +1142,7 @@ observe.data.ps.logbook.Catch.weight=Weight (t)
observe.data.ps.logbook.Catch.weight.short=Weight
observe.data.ps.logbook.Catch.weight.validation.required=Mandatory if count not filled
observe.data.ps.logbook.Catch.weightMeasureMethod.validation.required=Mandatory if weight is filled
-observe.data.ps.logbook.FloatingObject.action.add=Add FAD
+observe.data.ps.logbook.FloatingObject.action.add=Create FOB
observe.data.ps.logbook.FloatingObject.action.add.tip=Add a FAD to the activity
observe.data.ps.logbook.FloatingObject.buoysTab=Beacon
observe.data.ps.logbook.FloatingObject.materialsTab=Materials
@@ -1152,7 +1152,7 @@ observe.data.ps.logbook.FloatingObject.title=DCP
observe.data.ps.logbook.FloatingObject.type=Floating object
observe.data.ps.logbook.FloatingObjectPart.objectMaterial=Object material
observe.data.ps.logbook.FloatingObjectPart.type=Floating object part
-observe.data.ps.logbook.Route.action.create=Next road
+observe.data.ps.logbook.Route.action.create=Create route day
observe.data.ps.logbook.Route.action.move=Change trip
observe.data.ps.logbook.Route.action.move.choose.parent.message=Select target trip
observe.data.ps.logbook.Route.action.move.choose.parent.title=Move routes to another trip
@@ -1273,7 +1273,7 @@ observe.data.ps.logbook.WellActivitySpecies.setSpeciesNumber=Set species number
observe.data.ps.logbook.WellActivitySpecies.type=Well activity species
observe.data.ps.logbook.WellActivitySpecies.weight=Weight (t)
observe.data.ps.logbook.WellActivitySpecies.weight.short=Weight
-observe.data.ps.observation.Activity.action.create=Next activity
+observe.data.ps.observation.Activity.action.create=Create activity
observe.data.ps.observation.Activity.action.move=Change route
observe.data.ps.observation.Activity.action.move.choose.parent.message=Select target route
observe.data.ps.observation.Activity.action.move.choose.parent.title=Move activities to another route
@@ -1299,7 +1299,7 @@ observe.data.ps.observation.Activity.validation.null.dcp=No floating object sele
observe.data.ps.observation.Activity.validation.required.observedSystem.for.catches=Some of the following observed systems are required for the non target catches \: %s
observe.data.ps.observation.Activity.validation.speed.bound=Activity speed is %s nd, which is more than the maximum authorized which is %s nd.
observe.data.ps.observation.Activity.validation.speed.bound.inter=Speed between two activities can't exceed %1$s nd, (activity %2$s speed is %3$s).
-observe.data.ps.observation.Catch.action.create=Create a new catch
+observe.data.ps.observation.Catch.action.create=Create catch
observe.data.ps.observation.Catch.action.save=Insert this catch
observe.data.ps.observation.Catch.action.save.tip=Insert this catch
observe.data.ps.observation.Catch.catchWeight=Total weight estimated (in t)
@@ -1341,7 +1341,7 @@ observe.data.ps.observation.Catch.type=Catch
observe.data.ps.observation.Catch.validation.missing.observedSystem=One of the following observed system %s must be filled for the selected species.
observe.data.ps.observation.Catch.weightMeasureMethod=Total weight measure method
observe.data.ps.observation.Catch.weightMeasureMethod.short=Total weight measure method
-observe.data.ps.observation.FloatingObject.action.add=Add FAD
+observe.data.ps.observation.FloatingObject.action.add=Create FOB
observe.data.ps.observation.FloatingObject.action.add.tip=Add a FAD to the activity
observe.data.ps.observation.FloatingObject.buoysTab=Beacon
observe.data.ps.observation.FloatingObject.materialsTab=Materials
@@ -1356,8 +1356,8 @@ observe.data.ps.observation.FloatingObjectObjectObservedSpecies.type=Floating ob
observe.data.ps.observation.FloatingObjectObjectSchoolEstimate.type=Floating object school estimate
observe.data.ps.observation.FloatingObjectPart.objectMaterial=Object material
observe.data.ps.observation.FloatingObjectPart.type=Floating object part
-observe.data.ps.observation.NonTargetCatchRelease.action.create=Create a new catch release
-observe.data.ps.observation.NonTargetCatchRelease.action.save=Create a new catch released
+observe.data.ps.observation.NonTargetCatchRelease.action.create=Create catch release
+observe.data.ps.observation.NonTargetCatchRelease.action.save=Create catch released
observe.data.ps.observation.NonTargetCatchRelease.action.save.tip=Insert this catch released
observe.data.ps.observation.NonTargetCatchRelease.brailNumber=Brail number
observe.data.ps.observation.NonTargetCatchRelease.conformity=Conformity
@@ -1389,7 +1389,7 @@ observe.data.ps.observation.ObjectSchoolEstimate.title=Object School estimate
observe.data.ps.observation.ObjectSchoolEstimate.totalWeight=Weight (in t)
observe.data.ps.observation.ObjectSchoolEstimate.totalWeight.short=Total weight
observe.data.ps.observation.ObjectSchoolEstimate.type=Object school estimate
-observe.data.ps.observation.Route.action.create=Next road
+observe.data.ps.observation.Route.action.create=Create route day
observe.data.ps.observation.Route.action.move=Change trip
observe.data.ps.observation.Route.action.move.all=Move all
observe.data.ps.observation.Route.action.move.all.choose.parent.message=Select target trip
=====================================
core/services/i18n/src/main/i18n/translations/services_es_ES.properties
=====================================
@@ -1142,7 +1142,7 @@ observe.data.ps.logbook.Catch.weight=Peso (en t)
observe.data.ps.logbook.Catch.weight.short=Peso
observe.data.ps.logbook.Catch.weight.validation.required=Mandatory if count not filled \#TODO
observe.data.ps.logbook.Catch.weightMeasureMethod.validation.required=Mandatory if weight is filled \#TODO
-observe.data.ps.logbook.FloatingObject.action.add=Add FAD
+observe.data.ps.logbook.FloatingObject.action.add=Create FOB
observe.data.ps.logbook.FloatingObject.action.add.tip=Add a FAD to the activity
observe.data.ps.logbook.FloatingObject.buoysTab=Baliza
observe.data.ps.logbook.FloatingObject.materialsTab=Materials \#TODO
@@ -1152,7 +1152,7 @@ observe.data.ps.logbook.FloatingObject.title=Objeto flotante
observe.data.ps.logbook.FloatingObject.type=Objeto flotante
observe.data.ps.logbook.FloatingObjectPart.objectMaterial=objectMaterial \#TODO
observe.data.ps.logbook.FloatingObjectPart.type=FloatingObjectPart
-observe.data.ps.logbook.Route.action.create=Next road
+observe.data.ps.logbook.Route.action.create=Create route day
observe.data.ps.logbook.Route.action.move=Change trip
observe.data.ps.logbook.Route.action.move.choose.parent.message=Select target trip
observe.data.ps.logbook.Route.action.move.choose.parent.title=Move routes to another trip
=====================================
core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ReportService-llLanding.properties
=====================================
@@ -19,7 +19,7 @@
# <http://www.gnu.org/licenses/gpl-3.0.html>.
# #L%
###
-syntax.name=Liste des débarquements
+syntax.name=Livre de bord - Débarquements
syntax.description=Afficher le détails des débarquements
syntax.rows=-1
syntax.columns=39
=====================================
src/site/markdown/report/embedded-reports.md
=====================================
@@ -10,7 +10,7 @@ Liste des équipements
### llLanding
-Liste des débarquements
+Livre de bord - Débarquements
### llLogbookActivities
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/59f18d2dcc5b15c509cfb1c84…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/59f18d2dcc5b15c509cfb1c84…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Fix SqlConversions.convertValue method (when modification is an entity)
by Tony CHEMIT (@tchemit) 24 Apr '24
by Tony CHEMIT (@tchemit) 24 Apr '24
24 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d6da558d by Tony Chemit at 2024-04-24T09:40:22+02:00
Fix SqlConversions.convertValue method (when modification is an entity)
- - - - -
61876197 by Tony Chemit at 2024-04-24T09:44:41+02:00
Impossible de rouvrir une activité PS logbook - Closes #2866
- - - - -
2 changed files:
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
- toolkit/persistence/src/main/java/fr/ird/observe/spi/SqlConversions.java
Changes:
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
=====================================
@@ -80,7 +80,7 @@ public class ActivityUIModelStates extends GeneratedActivityUIModelStates {
this.pairingContext = SingletonSupplier.of(() -> {
RoutePairingDto data = dataSource.getPsActivityPairingService().getRoutePairingDto(psModule.getCommonTrip().getId(), psModule.getLogbookRoute().getId());
return data == null ? null : new RoutePairingEngine(data);
- });
+ }, false);
getBean().addPropertyChangeListener(evt -> {
String propertyName = evt.getPropertyName();
if (!isOpened()) {
=====================================
toolkit/persistence/src/main/java/fr/ird/observe/spi/SqlConversions.java
=====================================
@@ -77,6 +77,8 @@ public class SqlConversions {
String stringValue;
if (value == null) {
stringValue = "NULL";
+ } else if (value instanceof Entity) {
+ stringValue = SqlHelper.escapeString(((Entity) value).getId());
} else {
Class<?> propertyType = sqlModelDescriptorTable.getSimplePropertiesType(propertyName);
if (propertyType.equals(String.class)) {
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/250e3419cfa9ef65e7e4cf57…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/250e3419cfa9ef65e7e4cf57…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: move to version 9.3.0
by Tony CHEMIT (@tchemit) 23 Apr '24
by Tony CHEMIT (@tchemit) 23 Apr '24
23 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
50468105 by Tony Chemit at 2024-04-23T12:53:40+02:00
move to version 9.3.0
- - - - -
250e3419 by Tony Chemit at 2024-04-23T12:54:21+02:00
Update changelog for v.9.3.0 [skip CI]
- - - - -
30 changed files:
- CHANGELOG.md
- client/configuration/pom.xml
- client/core/pom.xml
- client/datasource/actions/pom.xml
- client/datasource/editor/api-test/pom.xml
- client/datasource/editor/api/pom.xml
- client/datasource/editor/common/pom.xml
- client/datasource/editor/ll/pom.xml
- client/datasource/editor/pom.xml
- client/datasource/editor/ps/pom.xml
- client/datasource/editor/spi/pom.xml
- client/datasource/pom.xml
- client/pom.xml
- client/runner/pom.xml
- core/api/dto-consolidation/pom.xml
- core/api/dto-decoration/pom.xml
- core/api/dto-pairing/pom.xml
- core/api/dto-validation/pom.xml
- core/api/dto/pom.xml
- core/api/pom.xml
- core/api/services/pom.xml
- core/api/tree/pom.xml
- core/api/validation/pom.xml
- core/persistence/avdth/pom.xml
- core/persistence/consolidation/pom.xml
- core/persistence/decoration/pom.xml
- core/persistence/java/pom.xml
- core/persistence/migration/pom.xml
- core/persistence/pom.xml
- core/persistence/report/pom.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/61d55ad5baf5430fc88e4556…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/61d55ad5baf5430fc88e4556…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Amélioration de la gestion des services non connectés (See ultreiaio/http#65)
by Tony CHEMIT (@tchemit) 23 Apr '24
by Tony CHEMIT (@tchemit) 23 Apr '24
23 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
07bb1e0c by Tony Chemit at 2024-04-23T10:00:21+02:00
Amélioration de la gestion des services non connectés (See ultreiaio/http#65)
- - - - -
f4c3d2fe by Tony Chemit at 2024-04-23T12:31:36+02:00
Improve ObserveSwingDataSource.doOpenSource method and remove AdminTabUIActionSupport.openSource one
- - - - -
c9be7d77 by Tony Chemit at 2024-04-23T12:32:12+02:00
On OneSideSqlResult, improve generated sql code (always trim any statement and add a new line)
- - - - -
091c11eb by Tony Chemit at 2024-04-23T12:32:33+02:00
Immrove BothSidesSqlRequestBuilder code
- - - - -
7a81eb84 by Tony Chemit at 2024-04-23T12:33:31+02:00
Improve SynchronizeEngine and UnidirectionalSynchronizeEngine code
- - - - -
61d55ad5 by Tony Chemit at 2024-04-23T12:34:06+02:00
Clean Synchronize referential admin actions
- - - - -
25 changed files:
- client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Prepare.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Apply.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/Apply.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/Start.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/SynchroUIActionSupport.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Apply.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/task/SwingReferentialSynchronizeTask.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/Start.java
- core/services/local/src/test/java/fr/ird/observe/services/local/service/referential/UnidirectionalResultIssue2208Test.java
- core/services/local/src/test/java/fr/ird/observe/services/local/service/referential/UnidirectionalResultTest.java
- server/core/src/main/java/fr/ird/observe/server/request/ObserveWebRequestContext.java
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/SynchronizeEngine.java
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/UnidirectionalSynchronizeEngine.java
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/BothSidesSqlRequestBuilder.java
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/OneSideSqlResult.java
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/SynchronizeTaskType.java
Changes:
=====================================
client/core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java
=====================================
@@ -141,16 +141,18 @@ public class ObserveSwingDataSource extends AbstractJavaBean implements ObserveS
}
}
- public static void doOpenSource(ObserveSwingDataSource source) {
+ public static ObserveSwingDataSource doOpenSource(ObserveSwingDataSource source) {
if (source != null && !source.isOpen()) {
try {
source.open();
+ return source;
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
+ return source;
}
public ObserveSwingDataSource(ClientConfig config, ObserveServiceMainFactory serviceFactory, DecoratorService decoratorService, ObserveDataSourceConfiguration configuration) {
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminActionModel.java
=====================================
@@ -108,12 +108,11 @@ public abstract class AdminActionModel extends WizardExtStepModel<AdminStep> imp
}
- public DifferentialModelBuilder newDifferentialModelBuilder(LeftOrRightContext<ObserveSwingDataSource> sources) {
+ protected DifferentialModelBuilder newDifferentialModelBuilder(LeftOrRightContext<ObserveSwingDataSource> sources) {
return ReferentialService.createDifferentialModelBuilder(getClientConfig().getReferentialLocale().getLocale(), ObserveDifferentialMetaModel::get, sources.apply(ObserveServicesProvider::getReferentialService));
}
- public SynchronizeEngine newReferentialSynchronizeEngine(LeftOrRightContext<ObserveSwingDataSource> sources) {
+ protected SynchronizeEngine newReferentialSynchronizeEngine(LeftOrRightContext<ObserveSwingDataSource> sources) {
return new SynchronizeEngine(getClientConfig().getTemporaryDirectory().toPath(), sources.apply(ObserveSwingDataSource::getSynchronizeService));
}
-
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
=====================================
@@ -26,12 +26,6 @@ import fr.ird.observe.client.WithClientUIContextApi;
import fr.ird.observe.client.datasource.actions.AdminActionWorker;
import fr.ird.observe.client.datasource.actions.AdminTabUI;
import fr.ird.observe.client.datasource.actions.AdminUI;
-import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.ProgressionModel;
import io.ultreia.java4all.lang.Strings;
import io.ultreia.java4all.util.TimeLog;
@@ -107,13 +101,6 @@ public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JCom
return ui.getContextValue(AdminUI.class, "parent");
}
- protected ObserveSwingDataSource openSource(ObserveSwingDataSource service) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException {
- if (!service.isOpen()) {
- service.open();
- }
- return service;
- }
-
public void addMessage(String text) {
JTextArea progression = ui.getProgression();
progression.append(text + "\n");
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
=====================================
@@ -31,11 +31,6 @@ import fr.ird.observe.consolidation.AtomicConsolidateAction;
import fr.ird.observe.consolidation.data.ps.common.TripConsolidateRequest;
import fr.ird.observe.consolidation.data.ps.common.TripConsolidateResult;
import fr.ird.observe.consolidation.data.ps.dcp.SimplifiedObjectTypeSpecializedRules;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.BusinessDto;
import fr.ird.observe.dto.ObserveUtil;
import fr.ird.observe.dto.ProgressionModel;
@@ -86,7 +81,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
addAdminWorker(ui.getStart().getToolTipText(), this::doAction);
}
- private WizardState doAction() throws BabModelVersionException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, IncompatibleDataSourceCreateConfigurationException, DatabaseConnexionNotAuthorizedException {
+ private WizardState doAction() {
log.debug(this);
@@ -102,7 +97,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
int stepCount = tripIds.size() + 3;
long t000 = TimeLog.getTime();
ProgressionModel progressModel = stepModel.initProgressModel(stepCount);
- try (ObserveSwingDataSource dataSource = openSource(stepModel.getSource())) {
+ try (ObserveSwingDataSource dataSource = ObserveSwingDataSource.doOpenSource(stepModel.getSource())) {
progressModel.increments();
ConsolidateDataService consolidateDataService = dataSource.getPsConsolidateDataService();
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java
=====================================
@@ -59,7 +59,7 @@ public class Start extends ExportUIActionSupport {
addAdminWorker(ui.getStart().getToolTipText(), this::doStartAction);
}
- private WizardState doStartAction() throws Exception {
+ private WizardState doStartAction() {
AdminUIModel model = ui.getModel();
ExportModel stepModel = model.getExportModel();
@@ -71,9 +71,9 @@ public class Start extends ExportUIActionSupport {
long t00 = TimeLog.getTime();
int stepCount = 4 + tasks.stream().mapToInt(CopyDataTask::stepCount).sum();
ProgressionModel progressModel = stepModel.initProgressModel(stepCount);
- try (ObserveSwingDataSource localDataSource = openSource(stepModel.getSource())) {
+ try (ObserveSwingDataSource localDataSource = ObserveSwingDataSource.doOpenSource(stepModel.getSource())) {
progressModel.increments();
- try (ObserveSwingDataSource centralDataSource = openSource(stepModel.getCentralSource())) {
+ try (ObserveSwingDataSource centralDataSource = ObserveSwingDataSource.doOpenSource(stepModel.getCentralSource())) {
progressModel.increments();
DataManager dataManager = new DataManager(progressModel, localDataSource, centralDataSource);
dataManager.consume(tasks);
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Prepare.java
=====================================
@@ -27,11 +27,6 @@ import fr.ird.observe.client.datasource.actions.config.SelectDataModel;
import fr.ird.observe.client.datasource.actions.pairing.ActivityPairingModel;
import fr.ird.observe.client.datasource.actions.pairing.ActivityPairingUI;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.ToolkitIdLabel;
import io.ultreia.java4all.util.TimeLog;
@@ -67,7 +62,7 @@ public class Prepare extends ActivityPairingUIActionSupport {
addAdminWorker(ui.getPrepare().getToolTipText(), this::doPrepareAction0);
}
- private WizardState doPrepareAction0() throws BabModelVersionException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, IncompatibleDataSourceCreateConfigurationException, DatabaseConnexionNotAuthorizedException {
+ private WizardState doPrepareAction0() {
log.debug(this);
long t00 = TimeLog.getTime();
ActivityPairingModel stepModel = ui.getStepModel();
@@ -79,7 +74,7 @@ public class Prepare extends ActivityPairingUIActionSupport {
int stepCount = 3 + selectedDataByProgram.values().stream().mapToInt(Collection::size).sum();
ProgressionModel progressModel = stepModel.initProgressModel(stepCount);
- try (ObserveSwingDataSource source = openSource(stepModel.getSource())) {
+ try (ObserveSwingDataSource source = ObserveSwingDataSource.doOpenSource(stepModel.getSource())) {
progressModel.increments();
String modelType = selectDataModel.getTreeConfig().getModuleName();
switch (modelType) {
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/actions/Start.java
=====================================
@@ -26,11 +26,6 @@ import fr.ird.observe.client.datasource.actions.pairing.ActivityPairingModel;
import fr.ird.observe.client.datasource.actions.pairing.ActivityPairingUI;
import fr.ird.observe.client.datasource.actions.pairing.tree.PairingTreeTableModelSupport;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.data.pairing.ApplyPairingRequest;
import fr.ird.observe.services.service.data.ActivityPairingService;
@@ -66,7 +61,7 @@ public class Start extends ActivityPairingUIActionSupport {
addAdminWorker(ui.getStart().getToolTipText(), this::doStartAction0);
}
- private WizardState doStartAction0() throws BabModelVersionException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, IncompatibleDataSourceCreateConfigurationException, DatabaseConnexionNotAuthorizedException {
+ private WizardState doStartAction0() {
log.debug(this);
long t00 = TimeLog.getTime();
int stepCount = 3;
@@ -76,7 +71,7 @@ public class Start extends ActivityPairingUIActionSupport {
ProgressionModel progressModel = stepModel.initProgressModel(stepCount);
- try (ObserveSwingDataSource dataSource = openSource(stepModel.getSource())) {
+ try (ObserveSwingDataSource dataSource = ObserveSwingDataSource.doOpenSource(stepModel.getSource())) {
progressModel.increments();
ActivityPairingService<?, ?, ?> service = treeTableModel.getService(dataSource);
service.applyPairing(request);
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Apply.java
=====================================
@@ -32,20 +32,13 @@ import fr.ird.observe.client.datasource.api.data.DataTaskSupport;
import fr.ird.observe.client.datasource.api.data.InsertMissingReferentialTask;
import fr.ird.observe.client.datasource.api.data.TaskSide;
import fr.ird.observe.client.datasource.api.data.UserCancelException;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.data.RootOpenableDto;
-import io.ultreia.java4all.lang.Strings;
import io.ultreia.java4all.util.TimeLog;
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
import javax.swing.DefaultListModel;
import java.awt.event.ActionEvent;
-import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
@@ -71,7 +64,7 @@ public class Apply extends DataSynchroUIActionSupport {
addAdminWorker(getUi().getStart().getToolTipText(), this::doApply);
}
- private WizardState doApply() throws BabModelVersionException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, IncompatibleDataSourceCreateConfigurationException, DatabaseConnexionNotAuthorizedException {
+ private WizardState doApply() {
DataSynchroModel stepModel = ui.getStepModel();
DataSelectionTreePaneModel leftModel = stepModel.onSameSide(TaskSide.FROM_LEFT);
@@ -108,15 +101,13 @@ public class Apply extends DataSynchroUIActionSupport {
ProgressionModel progressModel = stepModel.initProgressModel(stepCount);
WizardState state;
- try (ObserveSwingDataSource leftSource = openSource(leftModel.getSource())) {
+ try (ObserveSwingDataSource leftSource = ObserveSwingDataSource.doOpenSource(leftModel.getSource())) {
progressModel.increments();
- try (ObserveSwingDataSource rightSource = openSource(stepModel.onOppositeSide(TaskSide.FROM_LEFT).getSource())) {
- long t00 = TimeLog.getTime();
+ try (ObserveSwingDataSource rightSource = ObserveSwingDataSource.doOpenSource(stepModel.onOppositeSide(TaskSide.FROM_LEFT).getSource())) {
progressModel.increments();
try {
DataManager dataManager = new DataManager(progressModel, leftSource, rightSource);
dataManager.consume(finalTasksToConsume);
- sendMessage(t("observe.ui.datasource.editor.actions.operation.message.done", new Date(), Strings.convertTime(TimeLog.getTime() - t00)));
state = WizardState.SUCCESSED;
} catch (Exception e) {
if (e instanceof UserCancelException) {
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/SynchronizeModel.java
=====================================
@@ -68,7 +68,6 @@ public class SynchronizeModel extends AdminActionModel {
* Result of synchronization.
*/
private UnidirectionalResult referentialSynchronizeResult;
- private UnidirectionalSynchronizeEngine engine;
private UnidirectionalSynchronizeContext referentialSynchronizeContext;
private UnidirectionalCallbackResults referentialSynchronizeCallbackResults;
@@ -109,9 +108,9 @@ public class SynchronizeModel extends AdminActionModel {
obsoleteReferences.clear();
referentialSynchronizeCallbackResults = null;
referentialSynchronizeResult = null;
+ sources.accept(ObserveSwingDataSource::doCloseSource);
centralSource = null;
source = null;
- engine = null;
referentialSynchronizeContext = null;
}
@@ -140,12 +139,12 @@ public class SynchronizeModel extends AdminActionModel {
}
public UnidirectionalSynchronizeEngine newEngine() {
- if (engine == null) {
- DifferentialModelBuilder diffsEngine = newDifferentialModelBuilder(sources);
- SynchronizeEngine synchronizeEngine = newReferentialSynchronizeEngine(sources);
- engine = new UnidirectionalSynchronizeEngine(diffsEngine, synchronizeEngine);
- }
- return engine;
+ SynchronizeEngine synchronizeEngine = newReferentialSynchronizeEngine(sources);
+ return new UnidirectionalSynchronizeEngine(synchronizeEngine);
+ }
+
+ public DifferentialModelBuilder newDifferentialModelBuilder() {
+ return newDifferentialModelBuilder(sources);
}
public UnidirectionalSynchronizeContext getReferentialSynchronizeContext() {
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/Apply.java
=====================================
@@ -22,23 +22,26 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.
* #L%
*/
+import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.ObsoleteReferentialReference;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeModel;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeUI;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
+import fr.ird.observe.dto.I18nDecoratorHelper;
import fr.ird.observe.dto.ToolkitIdLabel;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.service.referential.UnidirectionalSynchronizeContext;
import fr.ird.observe.services.service.referential.UnidirectionalSynchronizeEngine;
import fr.ird.observe.services.service.referential.synchro.UnidirectionalCallbackResults;
+import fr.ird.observe.services.service.referential.synchro.UnidirectionalResult;
import io.ultreia.java4all.jaxx.widgets.combobox.FilterableComboBox;
+import io.ultreia.java4all.util.LeftOrRightContext;
+import io.ultreia.java4all.util.TimeLog;
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
import java.awt.event.ActionEvent;
+import java.util.Collection;
+import java.util.List;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -53,9 +56,9 @@ public class Apply extends SynchroUIActionSupport {
resolveObsoleteReference();
}
- public <D extends ReferentialDto> void resolveObsoleteReference() {
+ private <D extends ReferentialDto> void resolveObsoleteReference() {
- @SuppressWarnings({"unchecked", "rawtypes"}) ObsoleteReferentialReference<D> obsoleteRef = (ObsoleteReferentialReference) ui.getObsoleteReferencesList().getSelectedValue();
+ @SuppressWarnings("unchecked") ObsoleteReferentialReference<D> obsoleteRef = (ObsoleteReferentialReference<D>) ui.getObsoleteReferencesList().getSelectedValue();
FilterableComboBox<ToolkitIdLabel> safeComboBox = ui.getHandler().getSafeComboBox();
ToolkitIdLabel safeRef = safeComboBox.getModel().getSelectedItem();
@@ -73,18 +76,75 @@ public class Apply extends SynchroUIActionSupport {
// S'il ne reste plus de référentiel à corriger, on peut terminer le traitement
if (stepModel.getObsoleteReferences().isEmpty()) {
- try (ObserveSwingDataSource source = openSource(stepModel.getSource())) {
- try (ObserveSwingDataSource centralSource = openSource(stepModel.getCentralSource())) {
+ try (ObserveSwingDataSource source = ObserveSwingDataSource.doOpenSource(stepModel.getSource())) {
+
+ try (ObserveSwingDataSource centralSource = ObserveSwingDataSource.doOpenSource(stepModel.getCentralSource())) {
UnidirectionalSynchronizeEngine engine = stepModel.newEngine();
beforeSuccess(engine);
ui.getModel().setStepState(WizardState.SUCCESSED);
}
- } catch (BabModelVersionException | DatabaseConnexionNotAuthorizedException |
- IncompatibleDataSourceCreateConfigurationException | DatabaseNotFoundException |
- DataSourceCreateWithNoReferentialImportException e) {
- throw new RuntimeException(e);
}
}
}
+
+
+ private void beforeSuccess(UnidirectionalSynchronizeEngine engine) {
+ SynchronizeModel stepModel = ui.getStepModel();
+
+ UnidirectionalSynchronizeContext referentialSynchronizeContext = stepModel.getReferentialSynchronizeContext();
+ UnidirectionalCallbackResults referentialSynchronizeCallbackResults = stepModel.getReferentialSynchronizeCallbackResults();
+
+ UnidirectionalResult referentialSynchronizeResult = engine.prepareResult(referentialSynchronizeContext, referentialSynchronizeCallbackResults);
+ stepModel.setReferentialSynchronizeResult(referentialSynchronizeResult);
+ long t00 = TimeLog.getTime();
+ if (referentialSynchronizeResult.isEmpty()) {
+ //Update lastUpdateDate anyway (See https://gitlab.com/ultreiaio/ird-observe/-/issues/2231)
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.ref.is.updtodate"));
+ ui.getModel().getSaveLocalModel().addStepForSave(AdminStep.SYNCHRONIZE);
+ } else {
+ for (Class<? extends ReferentialDto> referentialName : referentialSynchronizeResult.getReferentialNames()) {
+ String referentialStr = t(I18nDecoratorHelper.getType(referentialName));
+ Collection<String> referentialAdded = referentialSynchronizeResult.getReferentialAdded(referentialName);
+ if (referentialAdded != null && !referentialAdded.isEmpty()) {
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.added", referentialStr, referentialAdded.size()));
+ for (String id : referentialAdded) {
+ sendMessage(" - " + id);
+ }
+ }
+ Collection<String> referentialUpdated = referentialSynchronizeResult.getReferentialUpdated(referentialName);
+ if (referentialUpdated != null && !referentialUpdated.isEmpty()) {
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.modified", referentialStr, referentialUpdated.size()));
+ for (String id : referentialUpdated) {
+ sendMessage(" - " + id);
+ }
+ }
+ Collection<String> referentialReverted = referentialSynchronizeResult.getReferentialReverted(referentialName);
+ if (referentialReverted != null && !referentialReverted.isEmpty()) {
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.reverted", referentialStr, referentialReverted.size()));
+ for (String id : referentialReverted) {
+ sendMessage(" - " + id);
+ }
+ }
+ Collection<String> referentialRemoved = referentialSynchronizeResult.getReferentialRemoved(referentialName);
+ if (referentialRemoved != null && !referentialRemoved.isEmpty()) {
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.removed", referentialStr, referentialRemoved.size()));
+ for (String id : referentialRemoved) {
+ sendMessage(" - " + id);
+ }
+ }
+ List<LeftOrRightContext<String>> referentialReplaced = referentialSynchronizeResult.getReferentialReplaced(referentialName);
+ if (referentialReplaced != null && !referentialReplaced.isEmpty()) {
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.replaced", referentialStr, referentialReplaced.size()));
+ for (LeftOrRightContext<String> ids : referentialReplaced) {
+ sendMessage(" - " + ids.left() + " → " + ids.right());
+ }
+ }
+ }
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.script.path", referentialSynchronizeContext.getSqlScriptPath()));
+
+ ui.getModel().getSaveLocalModel().addStepForSave(AdminStep.SYNCHRONIZE);
+ }
+ onEndAction(t00, -1, null);
+ }
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/Start.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.
* #L%
*/
+import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.ObsoleteReferentialReference;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeModel;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeUI;
@@ -67,7 +68,7 @@ public class Start extends SynchroUIActionSupport {
addAdminWorker(getUi().getStart().getToolTipText(), this::doStartAction0);
}
- private WizardState doStartAction0() throws Exception {
+ private WizardState doStartAction0() {
log.debug(this);
@@ -88,7 +89,7 @@ public class Start extends SynchroUIActionSupport {
UnidirectionalSynchronizeEngine engine = stepModel.newEngine();
- UnidirectionalSynchronizeContext context = engine.prepareContext(progressionModel);
+ UnidirectionalSynchronizeContext context = engine.prepareContext(stepModel.newDifferentialModelBuilder(), progressionModel);
stepModel.setReferentialSynchronizeContext(context);
boolean needCallback = context.isNeedCallback();
if (needCallback) {
@@ -112,11 +113,14 @@ public class Start extends SynchroUIActionSupport {
// need user fix on obsolete references
return WizardState.NEED_FIX;
}
- // pas de reference obsolete à traiter
- // on termine le traitement
- beforeSuccess(engine);
}
}
+ // pas de reference obsolete à traiter
+ // on termine le traitement
+ //Update lastUpdateDate anyway (See https://gitlab.com/ultreiaio/ird-observe/-/issues/2231)
+ sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.ref.is.updtodate"));
+
+ ui.getModel().getSaveLocalModel().addStepForSave(AdminStep.SYNCHRONIZE);
return WizardState.SUCCESSED;
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/legacy/actions/SynchroUIActionSupport.java
=====================================
@@ -22,23 +22,8 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.
* #L%
*/
-import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.actions.AdminTabUIActionSupport;
-import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeModel;
import fr.ird.observe.client.datasource.actions.synchronize.referential.legacy.SynchronizeUI;
-import fr.ird.observe.dto.I18nDecoratorHelper;
-import fr.ird.observe.dto.referential.ReferentialDto;
-import fr.ird.observe.services.service.referential.UnidirectionalSynchronizeContext;
-import fr.ird.observe.services.service.referential.UnidirectionalSynchronizeEngine;
-import fr.ird.observe.services.service.referential.synchro.UnidirectionalCallbackResults;
-import fr.ird.observe.services.service.referential.synchro.UnidirectionalResult;
-import io.ultreia.java4all.util.LeftOrRightContext;
-import io.ultreia.java4all.util.TimeLog;
-
-import java.util.Collection;
-import java.util.List;
-
-import static io.ultreia.java4all.i18n.I18n.t;
public abstract class SynchroUIActionSupport extends AdminTabUIActionSupport<SynchronizeUI> {
@@ -46,62 +31,4 @@ public abstract class SynchroUIActionSupport extends AdminTabUIActionSupport<Syn
super(label, shortDescription, actionIcon, acceleratorKey);
}
- public void beforeSuccess(UnidirectionalSynchronizeEngine engine) {
- SynchronizeModel stepModel = ui.getStepModel();
-
- UnidirectionalSynchronizeContext referentialSynchronizeContext = stepModel.getReferentialSynchronizeContext();
- UnidirectionalCallbackResults referentialSynchronizeCallbackResults = stepModel.getReferentialSynchronizeCallbackResults();
-
- UnidirectionalResult referentialSynchronizeResult = engine.prepareResult(referentialSynchronizeContext, referentialSynchronizeCallbackResults);
- stepModel.setReferentialSynchronizeResult(referentialSynchronizeResult);
- long t00 = TimeLog.getTime();
- if (referentialSynchronizeResult.isEmpty()) {
- //Update lastUpdateDate anyway (See https://gitlab.com/ultreiaio/ird-observe/-/issues/2231)
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.ref.is.updtodate"));
- ui.getModel().getSaveLocalModel().addStepForSave(AdminStep.SYNCHRONIZE);
- } else {
- for (Class<? extends ReferentialDto> referentialName : referentialSynchronizeResult.getReferentialNames()) {
- String referentialStr = t(I18nDecoratorHelper.getType(referentialName));
- Collection<String> referentialAdded = referentialSynchronizeResult.getReferentialAdded(referentialName);
- if (referentialAdded != null && !referentialAdded.isEmpty()) {
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.added", referentialStr, referentialAdded.size()));
- for (String id : referentialAdded) {
- sendMessage(" - " + id);
- }
- }
- Collection<String> referentialUpdated = referentialSynchronizeResult.getReferentialUpdated(referentialName);
- if (referentialUpdated != null && !referentialUpdated.isEmpty()) {
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.modified", referentialStr, referentialUpdated.size()));
- for (String id : referentialUpdated) {
- sendMessage(" - " + id);
- }
- }
- Collection<String> referentialReverted = referentialSynchronizeResult.getReferentialReverted(referentialName);
- if (referentialReverted != null && !referentialReverted.isEmpty()) {
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.reverted", referentialStr, referentialReverted.size()));
- for (String id : referentialReverted) {
- sendMessage(" - " + id);
- }
- }
- Collection<String> referentialRemoved = referentialSynchronizeResult.getReferentialRemoved(referentialName);
- if (referentialRemoved != null && !referentialRemoved.isEmpty()) {
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.removed", referentialStr, referentialRemoved.size()));
- for (String id : referentialRemoved) {
- sendMessage(" - " + id);
- }
- }
- List<LeftOrRightContext<String>> referentialReplaced = referentialSynchronizeResult.getReferentialReplaced(referentialName);
- if (referentialReplaced != null && !referentialReplaced.isEmpty()) {
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.referentiel.was.replaced", referentialStr, referentialReplaced.size()));
- for (LeftOrRightContext<String> ids : referentialReplaced) {
- sendMessage(" - " + ids.left() + " → " + ids.right());
- }
- }
- }
- sendMessage(t("observe.ui.datasource.editor.actions.synchro.referential.message.script.path", referentialSynchronizeContext.getSqlScriptPath()));
-
- ui.getModel().getSaveLocalModel().addStepForSave(AdminStep.SYNCHRONIZE);
- }
- onEndAction(t00, -1, null);
- }
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/ReferentialSynchroModel.java
=====================================
@@ -39,6 +39,7 @@ import fr.ird.observe.dto.ToolkitIdLabel;
import fr.ird.observe.dto.ToolkitIdTechnicalLabel;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
+import fr.ird.observe.services.service.referential.SynchronizeEngine;
import fr.ird.observe.services.service.referential.differential.DifferentialModelBuilder;
import fr.ird.observe.services.service.referential.differential.DifferentialType;
import fr.ird.observe.services.service.referential.synchro.SynchronizeTaskType;
@@ -94,7 +95,6 @@ public class ReferentialSynchroModel extends AdminActionModel {
private boolean showProperties;
private ReferentialSynchronizeTreeModel leftTreeModel;
private ReferentialSynchronizeTreeModel rightTreeModel;
- private DifferentialModelBuilder engine;
private boolean copyLeft;
private boolean revertLeft;
private boolean skipLeft;
@@ -205,13 +205,11 @@ public class ReferentialSynchroModel extends AdminActionModel {
public void destroy() {
super.destroy();
tasks.clear();
- ObserveSwingDataSource.doCloseSource(leftSource);
- ObserveSwingDataSource.doCloseSource(rightSource);
+ sources.accept(ObserveSwingDataSource::doCloseSource);
leftSource = null;
rightSource = null;
leftTreeModel = null;
rightTreeModel = null;
- engine = null;
}
public ReferentialSynchronizeMode getSynchronizeMode() {
@@ -292,10 +290,6 @@ public class ReferentialSynchroModel extends AdminActionModel {
firePropertyChange(TASKS_EMPTY_PROPERTY_NAME, isTasksEmpty());
}
- public void setEngine(DifferentialModelBuilder engine) {
- this.engine = engine;
- }
-
public boolean isCopyRight() {
return copyRight;
}
@@ -453,9 +447,16 @@ public class ReferentialSynchroModel extends AdminActionModel {
return getSource(side).getSynchronizeService().getEnabledReferentialLabelSet(dtoType);
}
+ public DifferentialModelBuilder newDifferentialModelBuilder() {
+ return newDifferentialModelBuilder(sources);
+ }
+
+ public SynchronizeEngine newReferentialSynchronizeEngine() {
+ return newReferentialSynchronizeEngine(sources);
+ }
+
private ObserveSwingDataSource getSource(LeftOrRight side) {
- ObserveSwingDataSource source = sources.onSameSide(side);
- ObserveSwingDataSource.doOpenSource(source);
- return source;
+ return ObserveSwingDataSource.doOpenSource(sources.onSameSide(side));
}
+
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Apply.java
=====================================
@@ -29,11 +29,6 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.task.
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.task.SwingWithIncludedPropertyNamesTask;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
-import fr.ird.observe.datasource.security.BabModelVersionException;
-import fr.ird.observe.datasource.security.DataSourceCreateWithNoReferentialImportException;
-import fr.ird.observe.datasource.security.DatabaseConnexionNotAuthorizedException;
-import fr.ird.observe.datasource.security.DatabaseNotFoundException;
-import fr.ird.observe.datasource.security.IncompatibleDataSourceCreateConfigurationException;
import fr.ird.observe.dto.ToolkitIdTechnicalLabel;
import fr.ird.observe.services.service.referential.SynchronizeEngine;
import fr.ird.observe.services.service.referential.differential.Differential;
@@ -71,7 +66,7 @@ public class Apply extends ReferentialSynchroUIActionSupport {
addAdminWorker("Application des modifications.", this::apply);
}
- private WizardState apply() throws BabModelVersionException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, IncompatibleDataSourceCreateConfigurationException, DatabaseConnexionNotAuthorizedException {
+ private WizardState apply() {
ReferentialSynchroModel stepModel = ui.getStepModel();
@@ -181,9 +176,9 @@ public class Apply extends ReferentialSynchroUIActionSupport {
}
LeftOrRightContext<OneSideSqlRequest> sqlRequest = builder.build();
- try (ObserveSwingDataSource leftSource = openSource(stepModel.getLeftSource())) {
- try (ObserveSwingDataSource rightSource = openSource(stepModel.getRightSource())) {
- SynchronizeEngine synchronizeEngine = stepModel.newReferentialSynchronizeEngine(stepModel.getSources());
+ try (ObserveSwingDataSource leftSource = ObserveSwingDataSource.doOpenSource(stepModel.getLeftSource())) {
+ try (ObserveSwingDataSource rightSource = ObserveSwingDataSource.doOpenSource(stepModel.getRightSource())) {
+ SynchronizeEngine synchronizeEngine = stepModel.newReferentialSynchronizeEngine();
LeftOrRightContext<OneSideSqlResult> sqlResult = synchronizeEngine.produceSql(sqlRequest);
synchronizeEngine.executeSql(sqlResult);
if (leftModified && leftSource.isLocal()) {
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/actions/Start.java
=====================================
@@ -65,8 +65,7 @@ public class Start extends ReferentialSynchroUIActionSupport {
try (ObserveSwingDataSource rightSource = ui.getModel().getConfigModel().getRightSourceModel().getSafeSource(true)) {
stepModel.setRightSource(rightSource);
- DifferentialModelBuilder engine = stepModel.newDifferentialModelBuilder(stepModel.getSources());
- stepModel.setEngine(engine);
+ DifferentialModelBuilder engine = stepModel.newDifferentialModelBuilder();
ReferentialSynchronizeMode synchronizeMode = stepModel.getSynchronizeMode();
ProgressionModel progressionModel = stepModel.getProgressModel();
ReferentialSynchronizeTreeModelsBuilder treeModelsBuilder = new ReferentialSynchronizeTreeModelsBuilder(synchronizeMode, stepModel.isShowProperties(), engine, progressionModel);
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/task/SwingReferentialSynchronizeTask.java
=====================================
@@ -22,7 +22,6 @@ package fr.ird.observe.client.datasource.actions.synchronize.referential.ng.task
* #L%
*/
-import fr.ird.observe.client.WithClientUIContextApi;
import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeResources;
import fr.ird.observe.dto.I18nDecoratorHelper;
import fr.ird.observe.dto.ToolkitIdTechnicalLabel;
@@ -44,7 +43,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 5.0
*/
-public class SwingReferentialSynchronizeTask implements WithClientUIContextApi {
+public class SwingReferentialSynchronizeTask {
private final String dataStr;
private final String typeStr;
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/Start.java
=====================================
@@ -108,13 +108,13 @@ public class Start extends ValidateUIActionSupport {
return WizardState.NEED_FIX;
}
- private WizardState initDB() throws Exception {
+ private WizardState initDB() {
// on récupère la source de données
AdminUIModel model = ui.getModel();
ObserveSwingDataSource source = model.getConfigModel().getLeftSourceModel().getSafeSource(false);
- openSource(source);
+ ObserveSwingDataSource.doOpenSource(source);
// recuperation des validateurs du modèle
=====================================
core/services/local/src/test/java/fr/ird/observe/services/local/service/referential/UnidirectionalResultIssue2208Test.java
=====================================
@@ -131,8 +131,8 @@ public class UnidirectionalResultIssue2208Test extends ServiceLocalTestSupportWr
// do synchro
ProgressionModel progressionModel = new ProgressionModel();
- UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(diffsEngine, synchronizeEngine);
- UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(progressionModel);
+ UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(synchronizeEngine);
+ UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(diffsEngine, progressionModel);
UnidirectionalResult result = referentialSynchronizeEngine.prepareResult(unidirectionalSynchronizeContext, null);
unidirectionalSynchronizeContext.finish(service);
=====================================
core/services/local/src/test/java/fr/ird/observe/services/local/service/referential/UnidirectionalResultTest.java
=====================================
@@ -102,8 +102,8 @@ public class UnidirectionalResultTest extends ServiceLocalTestSupportWrite<Synch
ProgressionModel progressionModel = new ProgressionModel();
progressionModel.addPropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, evt -> log.debug(evt.getNewValue()));
- UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(diffsEngine, synchronizeEngine);
- UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(progressionModel);
+ UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(synchronizeEngine);
+ UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(diffsEngine, progressionModel);
UnidirectionalResult result = referentialSynchronizeEngine.prepareResult(unidirectionalSynchronizeContext, null);
unidirectionalSynchronizeContext.finish(service);
@@ -138,8 +138,8 @@ public class UnidirectionalResultTest extends ServiceLocalTestSupportWrite<Synch
ProgressionModel progressionModel = new ProgressionModel();
progressionModel.addPropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, evt -> log.debug(evt.getNewValue()));
- UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(diffsEngine, synchronizeEngine);
- UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(progressionModel);
+ UnidirectionalSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalSynchronizeEngine(synchronizeEngine);
+ UnidirectionalSynchronizeContext unidirectionalSynchronizeContext = referentialSynchronizeEngine.prepareContext(diffsEngine, progressionModel);
UnidirectionalResult result = referentialSynchronizeEngine.prepareResult(unidirectionalSynchronizeContext, null);
unidirectionalSynchronizeContext.finish(service);
=====================================
server/core/src/main/java/fr/ird/observe/server/request/ObserveWebRequestContext.java
=====================================
@@ -137,16 +137,16 @@ public class ObserveWebRequestContext {
}
public void checkAuthentication(ObserveWebUserSession session, Class<? extends ObserveService> serviceType) {
- boolean requiredAuthentication = SpiHelper.anonymous(serviceType);
+ boolean anonymous = SpiHelper.anonymous(serviceType);
boolean withConnection = session.withConnection();
- if (requiredAuthentication) {
- if (!withConnection) {
- throw new IllegalStateException("Vous avez demandé un service connecté, mais aucune connection n'est enregistrée.");
- }
- } else {
+ if (anonymous) {
if (withConnection) {
throw new IllegalStateException("Vous avez demandé un service anonyme, mais une connection est enregistrée.");
}
+ } else {
+ if (!withConnection) {
+ throw new IllegalStateException("Vous avez demandé un service connecté, mais aucune connection n'est enregistrée.");
+ }
}
}
}
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/SynchronizeEngine.java
=====================================
@@ -22,8 +22,6 @@ package fr.ird.observe.services.service.referential;
* #L%
*/
-import fr.ird.observe.dto.ToolkitIdLabel;
-import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.services.service.referential.synchro.OneSideSqlRequest;
import fr.ird.observe.services.service.referential.synchro.OneSideSqlResult;
import io.ultreia.java4all.util.LeftOrRight;
@@ -35,7 +33,6 @@ import org.apache.logging.log4j.Logger;
import java.nio.file.Path;
import java.util.Objects;
import java.util.Optional;
-import java.util.Set;
/**
* Created on 15/07/2021.
@@ -65,42 +62,34 @@ public class SynchronizeEngine {
}
public void executeSql(LeftOrRightContext<OneSideSqlResult> sqlResult) {
-
String filePrefix = String.format("SynchronizeEngine-%d-", System.nanoTime());
- Path leftScriptPath = temporaryPath.resolve(filePrefix + "left.sql");
- log.info(String.format("Generate left side script at: %s", leftScriptPath));
- Optional<SqlScript> leftScript = toSqlScript(leftScriptPath, LeftOrRight.LEFT, sqlResult);
- leftScript.ifPresent(s -> executeSql(s, LeftOrRight.LEFT));
-
- Path rightScriptPath = temporaryPath.resolve(filePrefix + "right.sql");
- log.info(String.format("Generate right side script at: %s", rightScriptPath));
- Optional<SqlScript> rightScript = toSqlScript(leftScriptPath, LeftOrRight.RIGHT, sqlResult);
- rightScript.ifPresent(s -> executeSql(s, LeftOrRight.RIGHT));
+ executeSqlSide(LeftOrRight.LEFT, filePrefix, sqlResult);
+ executeSqlSide(LeftOrRight.RIGHT, filePrefix, sqlResult);
}
public Optional<SqlScript> toSqlScript(Path scriptPath, LeftOrRight side, LeftOrRightContext<OneSideSqlResult> result) {
return result.onSameSide(side).toSqlScript(Objects.requireNonNull(scriptPath), result.onOppositeSide(side));
}
- public void executeSql(SqlScript sqlResult, LeftOrRight side) {
- log.info("Execute {} side script...", side);
- services.onSameSide(side).applySql(sqlResult, SynchronizeService.ADVANCED_REFERENTIAL_SYNCHRONISATION);
- }
-
public Path getTemporaryPath() {
return temporaryPath;
}
- public <D extends ReferentialDto> Set<ToolkitIdLabel> getLocalSourceReferentialToDelete(Class<D> dtoType, Set<String> blockingIdsToRemove) {
- return services.left().getReferentialToDelete(dtoType, blockingIdsToRemove);
+
+ public LeftOrRightContext<SynchronizeService> getServices() {
+ return services;
}
- public <D extends ReferentialDto> Set<String> filterIdsUsedInLocalSource(Class<D> dtoType, Set<String> idsToRemove) {
- return services.left().filterIdsUsed(dtoType, idsToRemove);
+ protected void executeSqlSide(LeftOrRight side, String filePrefix, LeftOrRightContext<OneSideSqlResult> sqlResult) {
+ Path scriptPath = getTemporaryPath().resolve(filePrefix + side+".sql");
+ log.info("Generate {} side script at: {}", side, scriptPath);
+ Optional<SqlScript> optionalScript = toSqlScript(scriptPath, side, sqlResult);
+ optionalScript.ifPresent(s -> executeSql(s, side));
}
- public <D extends ReferentialDto> Set<ToolkitIdLabel> getRightEnabledReferentialLabelSet(Class<D> referentialName) {
- return services.right().getEnabledReferentialLabelSet(referentialName);
+ protected void executeSql(SqlScript sqlResult, LeftOrRight side) {
+ log.info("Execute {} side script...", side);
+ services.onSameSide(side).applySql(sqlResult, SynchronizeService.ADVANCED_REFERENTIAL_SYNCHRONISATION);
}
}
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/UnidirectionalSynchronizeEngine.java
=====================================
@@ -64,15 +64,13 @@ import java.util.stream.Collectors;
public class UnidirectionalSynchronizeEngine {
private static final Logger log = LogManager.getLogger(UnidirectionalSynchronizeEngine.class);
- private final DifferentialModelBuilder diffsEngine;
private final SynchronizeEngine synchronizeEngine;
- public UnidirectionalSynchronizeEngine(DifferentialModelBuilder diffsEngine, SynchronizeEngine synchronizeEngine) {
- this.diffsEngine = Objects.requireNonNull(diffsEngine);
+ public UnidirectionalSynchronizeEngine(SynchronizeEngine synchronizeEngine) {
this.synchronizeEngine = Objects.requireNonNull(synchronizeEngine);
}
- public UnidirectionalSynchronizeContext prepareContext(ProgressionModel progressionModel) {
+ public UnidirectionalSynchronizeContext prepareContext(DifferentialModelBuilder diffsEngine, ProgressionModel progressionModel) {
if (progressionModel == null) {
progressionModel = new ProgressionModel();
progressionModel.addPropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, evt -> log.info(evt.getNewValue()));
@@ -189,7 +187,7 @@ public class UnidirectionalSynchronizeEngine {
Set<String> idsToRemove = leftAddDifferentials.stream().map(Differential::getId).collect(Collectors.toCollection(LinkedHashSet::new));
Set<String> blockingIdsToRemove = null;
if (!idsToRemove.isEmpty()) {
- Set<String> blockingIdsToRemoveFromLocal = synchronizeEngine.filterIdsUsedInLocalSource(dtoType, idsToRemove);
+ Set<String> blockingIdsToRemoveFromLocal = filterIdsUsedInLeftSource(dtoType, idsToRemove);
blockingIdsToRemove = idsToRemove
.stream()
.filter(blockingIdsToRemoveFromLocal::contains)
@@ -199,14 +197,26 @@ public class UnidirectionalSynchronizeEngine {
}
boolean needCallback = blockingIdsToRemove != null && !blockingIdsToRemove.isEmpty();
if (needCallback) {
- Set<ToolkitIdLabel> availableReferenceSet = synchronizeEngine.getRightEnabledReferentialLabelSet(dtoType);
- Set<ToolkitIdLabel> blockingReferentialSetToRemove = synchronizeEngine.getLocalSourceReferentialToDelete(dtoType, blockingIdsToRemove);
+ Set<ToolkitIdLabel> availableReferenceSet = getRightEnabledReferentialLabelSet(dtoType);
+ Set<ToolkitIdLabel> blockingReferentialSetToRemove = getLeftReferentialToDelete(dtoType, blockingIdsToRemove);
callbackRequests.addCallbackRequest(dtoType, blockingReferentialSetToRemove, availableReferenceSet);
}
}
return used;
}
+ private <D extends ReferentialDto> Set<ToolkitIdLabel> getLeftReferentialToDelete(Class<D> dtoType, Set<String> blockingIdsToRemove) {
+ return synchronizeEngine.getServices().left().getReferentialToDelete(dtoType, blockingIdsToRemove);
+ }
+
+ private <D extends ReferentialDto> Set<String> filterIdsUsedInLeftSource(Class<D> dtoType, Set<String> idsToRemove) {
+ return synchronizeEngine.getServices().left().filterIdsUsed(dtoType, idsToRemove);
+ }
+
+ private <D extends ReferentialDto> Set<ToolkitIdLabel> getRightEnabledReferentialLabelSet(Class<D> referentialName) {
+ return synchronizeEngine.getServices().right().getEnabledReferentialLabelSet(referentialName);
+ }
+
private <D extends ReferentialDto> SynchronizeTask createTask(Class<D> dtoType, Differential differential) {
return SynchronizeTask.create(dtoType, differential.getId(), differential.getThisSideDto().getLastUpdateDate());
}
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/BothSidesSqlRequestBuilder.java
=====================================
@@ -52,7 +52,7 @@ public class BothSidesSqlRequestBuilder {
}
public void addTask(LeftOrRight side, SynchronizeTaskType taskType, SynchronizeTask task) {
- OneSideSqlRequest.Builder requestBuilder = getRequestBuilder(side, taskType);
+ OneSideSqlRequest.Builder requestBuilder = taskType.chooseSqlBuilder(builders).apply(side);
requestBuilder.addTask(taskType, task);
if (SynchronizeTaskType.ADD == taskType) {
@@ -67,11 +67,4 @@ public class BothSidesSqlRequestBuilder {
requestBuilder.removeIdOnlyExistOnThisSide(task.getReferentialType(), task.getReferentialId());
}
}
-
- private OneSideSqlRequest.Builder getRequestBuilder(LeftOrRight side, SynchronizeTaskType taskType) {
- if (taskType == SynchronizeTaskType.REVERT) {
- return builders.onOppositeSide(side);
- }
- return builders.onSameSide(side);
- }
}
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/OneSideSqlResult.java
=====================================
@@ -200,7 +200,8 @@ public class OneSideSqlResult implements JsonAware {
}
try (BufferedWriter writer = Files.newBufferedWriter(scriptPath)) {
for (String statement : statements) {
- writer.write(statement);
+ writer.write(statement.trim());
+ writer.newLine();
}
} catch (IOException e) {
throw new IllegalStateException("Can't write to " + scriptPath, e);
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/referential/synchro/SynchronizeTaskType.java
=====================================
@@ -22,6 +22,11 @@ package fr.ird.observe.services.service.referential.synchro;
* #L%
*/
+import io.ultreia.java4all.util.LeftOrRight;
+import io.ultreia.java4all.util.LeftOrRightContext;
+
+import java.util.function.Function;
+
/**
* Created on 14/08/16.
*
@@ -30,19 +35,21 @@ package fr.ird.observe.services.service.referential.synchro;
*/
public enum SynchronizeTaskType {
- ADD(false, true),
- UPDATE(true, true),
- REVERT(true, false),
- DELETE(false, false),
- DEACTIVATE(false, false),
- DEACTIVATE_WITH_REPLACEMENT(false, false);
+ ADD(false, true, false),
+ UPDATE(true, true, false),
+ REVERT(true, false, true),
+ DELETE(false, false, false),
+ DEACTIVATE(false, false, false),
+ DEACTIVATE_WITH_REPLACEMENT(false, false, false);
private final boolean withProperties;
private final boolean toOtherSide;
+ private final boolean useOtherSideSqlBuilder;
- SynchronizeTaskType(boolean withProperties, boolean toOtherSide) {
+ SynchronizeTaskType(boolean withProperties, boolean toOtherSide, boolean useOtherSideSqlBuilder) {
this.withProperties = withProperties;
this.toOtherSide = toOtherSide;
+ this.useOtherSideSqlBuilder = useOtherSideSqlBuilder;
}
public boolean withProperties() {
@@ -52,4 +59,8 @@ public enum SynchronizeTaskType {
public boolean toOtherSide() {
return toOtherSide;
}
+
+ public <O> Function<LeftOrRight, O> chooseSqlBuilder(LeftOrRightContext<O> sides) {
+ return useOtherSideSqlBuilder ? sides::onOppositeSide : sides::onSameSide;
+ }
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8f797cf764fb40b669ec93dc…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8f797cf764fb40b669ec93dc…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Sur LL logbooks, global composition, le bouton 'Save' est disponible dans des...
by Tony CHEMIT (@tchemit) 23 Apr '24
by Tony CHEMIT (@tchemit) 23 Apr '24
23 Apr '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
8f797cf7 by Tony Chemit at 2024-04-23T09:49:49+02:00
Sur LL logbooks, global composition, le bouton 'Save' est disponible dans des situations où il ne devrait pas - Closes #2862
- - - - -
2 changed files:
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUI.jcss
Changes:
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUI.jaxx
=====================================
@@ -115,4 +115,5 @@
<SetBranchlinesCompositionUIModelStates id='branchlinesCompositionStates' initializer="branchlinesCompositionUI.getModel().getStates()"/>
<SetHooksCompositionUIModelStates id='hooksCompositionStates' initializer="hooksCompositionUI.getModel().getStates()"/>
<SetBaitsCompositionUIModelStates id='baitsCompositionStates' initializer="baitsCompositionUI.getModel().getStates()"/>
+ <JButton id="save"/>
</fr.ird.observe.client.datasource.editor.api.content.data.simple.ContentSimpleUI>
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUI.jcss
=====================================
@@ -21,17 +21,14 @@
*/
#states {
+ modified:{validator.isChanged() || floatlinesCompositionStates.isModified() || branchlinesCompositionStates.isModified() || hooksCompositionStates.isModified() || baitsCompositionStates.isModified()};
+ valid:{validator.isValid() && floatlinesCompositionStates.isValid() && branchlinesCompositionStates.isValid() && hooksCompositionStates.isValid() && baitsCompositionStates.isValid()};
baitsCompositionModel:{baitsCompositionUI.getModel()};
branchlinesCompositionModel:{branchlinesCompositionUI.getModel()};
floatlinesCompositionModel:{floatlinesCompositionUI.getModel()};
hooksCompositionModel:{hooksCompositionUI.getModel()};
}
-#states {
- modified:{validator.isChanged() || floatlinesCompositionStates.isModified() || branchlinesCompositionStates.isModified() || hooksCompositionStates.isModified() || baitsCompositionStates.isModified()};
- valid:{validator.isValid() && floatlinesCompositionStates.isValid() && branchlinesCompositionStates.isValid() && hooksCompositionStates.isValid() && baitsCompositionStates.isValid()};
-}
-
#mainTabbedPane {
_focusComponent:{newComponentArray(floatlinesCompositionUI,branchlinesCompositionUI,hooksCompositionUI,baitsCompositionUI,mitigationType)};
}
@@ -51,3 +48,7 @@
#baitsCompositionUI {
_tab:{"baitsCompositionTab"};
}
+
+#save {
+ enabled:{states.isModified() && states.isValid() && !(floatlinesCompositionStates.isCanSaveRow() || branchlinesCompositionStates.isCanSaveRow() || hooksCompositionStates.isCanSaveRow() || baitsCompositionStates.isCanSaveRow())};
+}
\ No newline at end of file
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8f797cf764fb40b669ec93dc7…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8f797cf764fb40b669ec93dc7…
You're receiving this email because of your account on gitlab.com.
1
0