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
September 2024
- 1 participants
- 128 discussions
[Git][ultreiaio/ird-observe][feature/feature/issue-2669] 7 commits: [persistence-migration] add migration
by Tony CHEMIT (@tchemit) 12 Sep '24
by Tony CHEMIT (@tchemit) 12 Sep '24
12 Sep '24
Tony CHEMIT pushed to branch feature/feature/issue-2669 at ultreiaio / ird-observe
Commits:
e014a873 by Tony Chemit at 2024-09-12T17:45:38+02:00
[persistence-migration] add migration
- - - - -
a5fb4969 by Tony Chemit at 2024-09-12T17:45:38+02:00
[persistence-resources] update generated resources
- - - - -
44e2d046 by Tony Chemit at 2024-09-12T17:45:38+02:00
[services-i18n] update i18n stuff
- - - - -
b3c87330 by Tony Chemit at 2024-09-12T17:45:38+02:00
[client] Add new field on Form and create action for it
- - - - -
1ae69c89 by Tony Chemit at 2024-09-12T17:45:38+02:00
[validation] Weights are no more mandatory
- - - - -
cc56350f by Tony Chemit at 2024-09-12T18:55:28+02:00
[test] update fixtures
- - - - -
279a1fee by Tony Chemit at 2024-09-12T18:56:49+02:00
stash consolidation updates
- - - - -
30 changed files:
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- client/datasource/editor/ps/src/main/i18n/getters/java.getter
- client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/ObservePsKeyStrokes.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/SampleUI.jaxx
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/SampleUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/SampleUIHandler.java
- + client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/actions/SampleUIResetWeightsComputed.java
- client/runner/src/main/i18n/translations/client-runner_en_GB.properties
- client/runner/src/main/i18n/translations/client-runner_es_ES.properties
- client/runner/src/main/i18n/translations/client-runner_fr_FR.properties
- core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateRequest.java
- core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateResult.java
- + core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleConsolidateResult.java
- + core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleConsolidateResultBuilder.java
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-default.json
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-xwork2.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-error-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-error-validation.xml
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-warning-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-warning-validation.xml
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-update-error-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-update-error-validation.xml
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-update-warning-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/logbook/SampleDto-update-warning-validation.xml
- core/api/validation/src/main/validation/META-INF/validation/files.json
- core/api/validation/src/main/validation/META-INF/validation/model-default.json
- core/api/validation/src/main/validation/META-INF/validation/model-xwork2.json
- + core/api/validation/src/main/validation/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-warning-validation.json
- + core/api/validation/src/main/validation/fr/ird/observe/dto/data/ps/logbook/SampleDto-create-warning-validation.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d7ee01f1e68a86d70c39478b…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d7ee01f1e68a86d70c39478b…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe] Pushed new branch feature/feature/issue-2669
by Tony CHEMIT (@tchemit) 12 Sep '24
by Tony CHEMIT (@tchemit) 12 Sep '24
12 Sep '24
Tony CHEMIT pushed new branch feature/feature/issue-2669 at ultreiaio / ird-observe
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/tree/feature/feature/issue-2669
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 21 commits: [model] update model
by Tony CHEMIT (@tchemit) 12 Sep '24
by Tony CHEMIT (@tchemit) 12 Sep '24
12 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
edaf6fbe by Tony Chemit at 2024-09-12T14:31:53+02:00
[model] update model
- - - - -
c8419d2f by Tony Chemit at 2024-09-12T14:31:53+02:00
[model] add generated tag values
- - - - -
c56acdb8 by Tony Chemit at 2024-09-12T14:31:53+02:00
[model] update generated models
- - - - -
7235585e by Tony Chemit at 2024-09-12T14:31:53+02:00
[model] update fixtures
- - - - -
1f412168 by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-dto-decoration] update i18n labels and add generated decorators
- - - - -
5bc99902 by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-services] update generated model
- - - - -
60064768 by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-tree] update generated models
- - - - -
4d1d539c by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-tree] update fixtures
- - - - -
ccae85e5 by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-validation] update generated validators
- - - - -
8af6fcb7 by Tony Chemit at 2024-09-12T14:31:54+02:00
[api-validation] update fixtures
- - - - -
c74e927e by Tony Chemit at 2024-09-12T14:31:54+02:00
[persistence-java] update generated mappings and models
- - - - -
dd67ed81 by Tony Chemit at 2024-09-12T14:31:54+02:00
[persistence-decoration] add generated decorator
- - - - -
efaeb40d by Tony Chemit at 2024-09-12T14:31:54+02:00
[persistence-migration] add migration
- - - - -
7550dd32 by Tony Chemit at 2024-09-12T14:31:54+02:00
[persistence-resources] update generated resources
- - - - -
2142ad1e by Tony Chemit at 2024-09-12T14:31:54+02:00
[persistence-test] update fixtures
- - - - -
e25a53ea by Tony Chemit at 2024-09-12T14:31:54+02:00
[services-i18n] update i18n stuff
- - - - -
17230292 by Tony Chemit at 2024-09-12T14:31:54+02:00
[services-test] update fixtures
- - - - -
96121993 by Tony Chemit at 2024-09-12T14:36:10+02:00
[server] Update generated mapping
- - - - -
78b5e87d by Tony Chemit at 2024-09-12T14:54:43+02:00
[client] Add new UI and update Vessel one
- - - - -
3e876a69 by Tony Chemit at 2024-09-12T14:54:43+02:00
[client] Update generated resources
- - - - -
43282691 by Tony Chemit at 2024-09-12T14:56:11+02:00
Merge branch 'feature/feature/issue-2818' into develop
Ajouter 2 tables de référence et 2 références à ces tables dans Vessel - Closes #2818
- - - - -
30 changed files:
- client/datasource/editor/common/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/common/src/main/i18n/getters/navigation.getter
- + client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/EngineMakeUI.jaxx
- + client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/HullMaterialUI.jaxx
- client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/referential/common/VesselUI.jaxx
- + client/datasource/editor/common/src/main/resources/fr/ird/observe/client/datasource/editor/common/referential/common/EngineMakeUINavigationNode.scope
- + client/datasource/editor/common/src/main/resources/fr/ird/observe/client/datasource/editor/common/referential/common/HullMaterialUINavigationNode.scope
- client/datasource/editor/common/src/main/resources/fr/ird/observe/client/datasource/editor/common/referential/common/ReferentialHomeUINavigationNode.scope
- core/api/dto-decoration/src/main/i18n/getters/labels.getter
- + core/api/dto-decoration/src/main/java/fr/ird/observe/dto/referential/common/EngineMakeDtoDecoratorDefinition.java
- + core/api/dto-decoration/src/main/java/fr/ird/observe/dto/referential/common/EngineMakeReferenceDecoratorDefinition.java
- + core/api/dto-decoration/src/main/java/fr/ird/observe/dto/referential/common/HullMaterialDtoDecoratorDefinition.java
- + core/api/dto-decoration/src/main/java/fr/ird/observe/dto/referential/common/HullMaterialReferenceDecoratorDefinition.java
- core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties
- core/api/services/src/main/resources/META-INF/services/Observe/DifferentialMetaModel.json
- core/api/tree/src/main/resources/META-INF/mapping/ObserveDtoToNavigationTreePathMapping.json
- core/api/tree/src/main/resources/META-INF/mapping/ObserveDtoToSelectionTreePathMapping.json
- core/api/tree/src/test/resources/fixtures/api-tree.properties
- core/api/validation/src/main/filtered-resources/META-INF/validation/files.json
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-default.json
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-xwork2.json
- core/api/validation/src/main/i18n/getters/eugene.getter
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-create-error-validation.json
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-create-error-validation.xml
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-create-warning-validation.json
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-create-warning-validation.xml
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-update-error-validation.json
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-update-error-validation.xml
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-update-warning-validation.json
- + core/api/validation/src/main/resources/fr/ird/observe/dto/referential/common/EngineMakeDto-update-warning-validation.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/42b4df1eb9bc3fb33a393458…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/42b4df1eb9bc3fb33a393458…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] [services-test] Add default validation factory name in DataEntityServiceLocalWriteTest
by Tony CHEMIT (@tchemit) 12 Sep '24
by Tony CHEMIT (@tchemit) 12 Sep '24
12 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
42b4df1e by Tony Chemit at 2024-09-12T14:31:45+02:00
[services-test] Add default validation factory name in DataEntityServiceLocalWriteTest
- - - - -
1 changed file:
- core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java
Changes:
=====================================
core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java
=====================================
@@ -33,7 +33,10 @@ import fr.ird.observe.services.service.data.ps.common.TripService;
import fr.ird.observe.test.DatabaseName;
import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
import fr.ird.observe.test.spi.DatabaseNameConfiguration;
+import io.ultreia.java4all.validation.api.NuitonValidatorProviders;
+import io.ultreia.java4all.validation.impl.java.NuitonValidatorProviderFactoryImpl;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
import java.util.Collection;
@@ -42,6 +45,11 @@ import java.util.Map;
import java.util.Objects;
public class DataEntityServiceLocalWriteTest extends GeneratedDataEntityServiceLocalWriteTest {
+ @BeforeClass
+ public static void beforeClass() {
+ NuitonValidatorProviders.setDefaultFactoryName(NuitonValidatorProviderFactoryImpl.PROVIDER_NAME);
+ }
+
@Override
public void setUp() throws Exception {
TOPIA_TEST_CLASS_RESOURCE.getServiceInitializerConfig().setValidationMode(DataSourceValidationMode.STRONG);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/42b4df1eb9bc3fb33a393458c…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/42b4df1eb9bc3fb33a393458c…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9.3.x] [services-test] Add default validation factory name in DataEntityServiceLocalWriteTest
by Tony CHEMIT (@tchemit) 12 Sep '24
by Tony CHEMIT (@tchemit) 12 Sep '24
12 Sep '24
Tony CHEMIT pushed to branch develop-9.3.x at ultreiaio / ird-observe
Commits:
2c7121a6 by Tony Chemit at 2024-09-12T14:31:37+02:00
[services-test] Add default validation factory name in DataEntityServiceLocalWriteTest
- - - - -
1 changed file:
- core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java
Changes:
=====================================
core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java
=====================================
@@ -33,7 +33,10 @@ import fr.ird.observe.services.service.data.ps.common.TripService;
import fr.ird.observe.test.DatabaseName;
import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
import fr.ird.observe.test.spi.DatabaseNameConfiguration;
+import io.ultreia.java4all.validation.api.NuitonValidatorProviders;
+import io.ultreia.java4all.validation.impl.java.NuitonValidatorProviderFactoryImpl;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
import java.util.Collection;
@@ -42,6 +45,11 @@ import java.util.Map;
import java.util.Objects;
public class DataEntityServiceLocalWriteTest extends GeneratedDataEntityServiceLocalWriteTest {
+ @BeforeClass
+ public static void beforeClass() {
+ NuitonValidatorProviders.setDefaultFactoryName(NuitonValidatorProviderFactoryImpl.PROVIDER_NAME);
+ }
+
@Override
public void setUp() throws Exception {
TOPIA_TEST_CLASS_RESOURCE.getServiceInitializerConfig().setValidationMode(DataSourceValidationMode.STRONG);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2c7121a6a96e565453530f803…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2c7121a6a96e565453530f803…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Add sampleReferences field in Catch model
by Tony CHEMIT (@tchemit) 11 Sep '24
by Tony CHEMIT (@tchemit) 11 Sep '24
11 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
390689d4 by Tony Chemit at 2024-09-11T18:11:46+02:00
Add sampleReferences field in Catch model
- - - - -
878280e6 by Tony Chemit at 2024-09-11T18:19:56+02:00
Add common I18n for sampleReferences
- - - - -
503f9833 by Tony Chemit at 2024-09-11T18:19:56+02:00
Add persistence migration
- - - - -
97063916 by Tony Chemit at 2024-09-11T18:19:57+02:00
Update generated model
- - - - -
8d22b292 by Tony Chemit at 2024-09-11T18:19:57+02:00
Update generated validation
- - - - -
39943d7d by Tony Chemit at 2024-09-11T18:21:12+02:00
Merge branch 'feature/feature/issue-2909' into develop
LL observations/captures : ajout de champs Reférence Échantillon - Closes #2909
- - - - -
30 changed files:
- core/api/dto-decoration/src/main/i18n/getters/labels.getter
- core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties
- core/api/dto/src/main/java/fr/ird/observe/dto/ObserveI18nLabelsBuilder.java
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-default.json
- core/api/validation/src/main/filtered-resources/META-INF/validation/model-xwork2.json
- core/api/validation/src/main/i18n/getters/eugene.getter
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-create-error-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-create-error-validation.xml
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.json
- core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.xml
- core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlCopyPlanModel.json
- core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlModel.json
- core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlReplicatePlanModel.json
- core/persistence/java/src/main/resources/fr/ird/observe/entities/data/ll/observation/CatchImpl.hbm.xml
- core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
- + core/persistence/migration/src/main/resources/db/migration/v9/9.4/02_issue-2909-common.sql
- core/persistence/migration/src/main/resources/db/migration/v9/9.4/empty-schema-H2.sql
- core/persistence/migration/src/main/resources/db/migration/v9/9.4/empty-schema-PG.sql
- core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/definition.json
- core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/validation-create.json
- core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/validation-update.json
- core/services/i18n/src/main/i18n/translations/services_en_GB.properties
- core/services/i18n/src/main/i18n/translations/services_es_ES.properties
- core/services/i18n/src/main/i18n/translations/services_fr_FR.properties
- model/src/main/models/Observe/dto/30-data-ll-observation.model
- model/src/main/models/Observe/dto/attribute/notBlank.properties
- model/src/main/models/Observe/dto/attribute/stringMaxLength.properties
- model/src/main/models/Observe/dto/class/i18nLabels.properties
- model/src/main/models/Observe/persistence/30-data-ll-observation.model
- model/src/main/models/Observe/persistence/attribute/length.properties
Changes:
=====================================
core/api/dto-decoration/src/main/i18n/getters/labels.getter
=====================================
@@ -289,6 +289,7 @@ observe.Common.relatedObservedActivity
observe.Common.reportsUrl
observe.Common.root.list.message.none
observe.Common.sampleQuality
+observe.Common.sampleReferences
observe.Common.sampleSpeciesMeasure
observe.Common.sampleType
observe.Common.saveFile.overwrite
=====================================
core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties
=====================================
@@ -20,7 +20,7 @@
# #L%
###
#Generated by org.nuiton.i18n.plugin.GenerateI18nLabelsMojo
-#Tue Aug 27 18:04:46 CEST 2024
+#Wed Sep 11 18:08:07 CEST 2024
observe.Business.createDate=observe.Common.createDate
observe.Business.homeId=observe.Common.homeId
observe.Business.id=observe.Common.id
@@ -783,6 +783,7 @@ observe.data.ll.observation.Catch.photoReferences=observe.Common.photoReferences
observe.data.ll.observation.Catch.predator=observe.Common.predator
observe.data.ll.observation.Catch.predator.available=observe.Common.predator.available
observe.data.ll.observation.Catch.predator.selected=observe.Common.predator.selected
+observe.data.ll.observation.Catch.sampleReferences=observe.Common.sampleReferences
observe.data.ll.observation.Catch.section=observe.Common.section
observe.data.ll.observation.Catch.section.short=observe.Common.section.short
observe.data.ll.observation.Catch.sex=observe.Common.sex
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/ObserveI18nLabelsBuilder.java
=====================================
@@ -112,7 +112,7 @@ import static io.ultreia.java4all.i18n.I18n.n;
"objectOperation", "observationsComment", "observationsDataEntryOperator", "observationsDataQuality", "observedSystem",
"observedSystem.available", "observedSystem.selected", "observedSystemDistance",
"observer", "ocean", "ocean.available", "ocean.selected",
- "onBoardProcessing", "origin", "otherTab", "packaging", "packaging.short", "photoReferences", "predator", "predator.available", "predator.selected", "processingCompany",
+ "onBoardProcessing", "origin", "otherTab", "packaging", "packaging.short", "photoReferences", "sampleReferences", "predator", "predator.available", "predator.selected", "processingCompany",
"program", "proportion", "proportion.short", "proportionSum", "psSampler.available", "psSampler.selected", "quadrant", "quadrantOriginal", "reasonForNoFishing", "reasonForNullSet", "relatedObservedActivity", "reportsUrl", "root.list.message.none", "sampleQuality", "sampleSpeciesMeasure", "sampleType", "saveFile.overwrite",
"saveFile.overwrite.cancel", "saveFile.overwrite.ok", "saveFile.overwrite.title", "schoolType", "seaSurfaceTemperature", "second.buoy", "section", "section.short",
"sensorBrand", "sensorBrand.short", "sensorDataFormat", "sensorDataFormat.short", "sensorSerialNo", "sensorSerialNo.short", "sensorType", "sensorType.short", "serialNo", "serialNo.short", "settingEndLatitude", "settingEndLongitude", "settingEndQuadrant",
=====================================
core/api/validation/src/main/filtered-resources/META-INF/validation/model-default.json
=====================================
@@ -2856,6 +2856,10 @@
"predator": [
"check if referential predator is disabled (only if validation is strong)"
],
+ "sampleReferences": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ],
"sex": [
"check if referential sex is disabled (only if validation is strong)"
],
@@ -2966,6 +2970,10 @@
"predator": [
"check if referential predator is disabled (only if validation is strong)"
],
+ "sampleReferences": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ],
"sex": [
"check if referential sex is disabled (only if validation is strong)"
],
=====================================
core/api/validation/src/main/filtered-resources/META-INF/validation/model-xwork2.json
=====================================
@@ -2856,6 +2856,10 @@
"predator": [
"check if referential predator is disabled (only if validation is strong)"
],
+ "sampleReferences": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ],
"sex": [
"check if referential sex is disabled (only if validation is strong)"
],
@@ -2966,6 +2970,10 @@
"predator": [
"check if referential predator is disabled (only if validation is strong)"
],
+ "sampleReferences": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ],
"sex": [
"check if referential sex is disabled (only if validation is strong)"
],
=====================================
core/api/validation/src/main/i18n/getters/eugene.getter
=====================================
@@ -144,6 +144,7 @@ observe.Common.reasonForNullSet
observe.Common.relatedObservedActivity
observe.Common.reportsUrl
observe.Common.sampleQuality
+observe.Common.sampleReferences
observe.Common.sampleSpeciesMeasure
observe.Common.sampleType
observe.Common.schoolType
=====================================
core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-create-error-validation.json
=====================================
@@ -107,6 +107,19 @@
"comment": "check if referential predator is disabled (only if validation is strong)"
}
],
+ "sampleReferences": [
+ {
+ "validator": "io.ultreia.java4all.validation.impl.java.validator.string.NotBlankStringFieldValidator",
+ "comment": "sampleReferences (if not null) is not a blank string"
+ },
+ {
+ "validator": "io.ultreia.java4all.validation.impl.java.validator.string.StringMaxLength",
+ "comment": "sampleReferences length <= 255",
+ "parameters": {
+ "maxLength": "255"
+ }
+ }
+ ],
"sex": [
{
"validator": "fr.ird.observe.validation.validator.referential.CheckReferentialIsEnabledOnErrorScope",
=====================================
core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-create-error-validation.xml
=====================================
@@ -144,6 +144,19 @@
</field-validator>
</field>
+ <field name="sampleReferences">
+ <!-- sampleReferences (if not null) is not a blank string -->
+ <field-validator type="notBlankString">
+ <message/>
+ </field-validator>
+
+ <!-- sampleReferences length <= 255 -->
+ <field-validator type="stringMaxLength">
+ <param name="maxLength">255</param>
+ <message/>
+ </field-validator>
+ </field>
+
<field name="sex">
<!-- check if referential sex is disabled (only if validation is strong) -->
<field-validator type="checkDisabledReferentialOnErrorScope">
=====================================
core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.json
=====================================
@@ -107,6 +107,19 @@
"comment": "check if referential predator is disabled (only if validation is strong)"
}
],
+ "sampleReferences": [
+ {
+ "validator": "io.ultreia.java4all.validation.impl.java.validator.string.NotBlankStringFieldValidator",
+ "comment": "sampleReferences (if not null) is not a blank string"
+ },
+ {
+ "validator": "io.ultreia.java4all.validation.impl.java.validator.string.StringMaxLength",
+ "comment": "sampleReferences length <= 255",
+ "parameters": {
+ "maxLength": "255"
+ }
+ }
+ ],
"sex": [
{
"validator": "fr.ird.observe.validation.validator.referential.CheckReferentialIsEnabledOnErrorScope",
=====================================
core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.xml
=====================================
@@ -144,6 +144,19 @@
</field-validator>
</field>
+ <field name="sampleReferences">
+ <!-- sampleReferences (if not null) is not a blank string -->
+ <field-validator type="notBlankString">
+ <message/>
+ </field-validator>
+
+ <!-- sampleReferences length <= 255 -->
+ <field-validator type="stringMaxLength">
+ <param name="maxLength">255</param>
+ <message/>
+ </field-validator>
+ </field>
+
<field name="sex">
<!-- check if referential sex is disabled (only if validation is strong) -->
<field-validator type="checkDisabledReferentialOnErrorScope">
=====================================
core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlCopyPlanModel.json
=====================================
@@ -272,7 +272,7 @@
{
"gav": "ll_observation.catch",
"from": "INNER JOIN ll_observation.set set ON set.topiaId = catch.set INNER JOIN ll_observation.activity activity ON activity.topiaId = set.activity WHERE activity.trip %s",
- "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
+ "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,sampleReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
"extra-referentialShell": {
"fr.ird.observe.entities.referential.ll.observation.StomachFullness": "stomachFullness",
"fr.ird.observe.entities.referential.common.Species": "species",
=====================================
core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlModel.json
=====================================
@@ -769,7 +769,7 @@
"fr.ird.observe.entities.data.ll.observation.Catch": {
"table": {
"gav": "fr.ird.observe.entities.data.ll.observation.Catch~ll_observation~catch",
- "authorizedColumnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
+ "authorizedColumnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,sampleReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
"selectors": [
"ll_observation.catch catch~INNER JOIN ll_observation.set set ON set.topiaId = catch.set INNER JOIN ll_observation.activity activity ON activity.topiaId = set.activity~activity.trip"
],
@@ -785,6 +785,7 @@
"lastUpdateDate": "java.sql.Timestamp",
"number": "java.lang.Integer",
"photoReferences": "java.lang.String",
+ "sampleReferences": "java.lang.String",
"tagNumber": "java.lang.String",
"totalWeight": "java.lang.Float"
},
=====================================
core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlReplicatePlanModel.json
=====================================
@@ -338,7 +338,7 @@
"gav": "ll_observation.catch",
"from": "INNER JOIN ll_observation.set set ON set.topiaId = catch.set WHERE set.activity %s",
"parentColumnName": "set",
- "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
+ "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,sampleReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
"columnsToReplace": "section,basket,branchline"
},
{
@@ -422,7 +422,7 @@
"gav": "ll_observation.catch",
"from": "WHERE catch.topiaId %s",
"parentColumnName": "set",
- "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
+ "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,sampleReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
"columnsToDetach": "section~ll_observation.section,basket~ll_observation.basket,branchline~ll_observation.branchline",
"entryPoint": true
},
@@ -566,7 +566,7 @@
"gav": "ll_observation.catch",
"from": "WHERE catch.set %s",
"parentColumnName": "set",
- "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
+ "columnNames": "topiaId,topiaCreateDate,topiaVersion,set_idx,lastUpdateDate,homeId,comment,count,totalWeight,hookWhenDiscarded,depredated,beatDiameter,gonadeWeight,photoReferences,sampleReferences,number,acquisitionMode,tagNumber,section,basket,branchline,catchFate,discardHealthStatus,species,maturityStatus,stomachFullness,hookPosition,catchHealthStatus,sex,weightMeasureMethod,set",
"columnsToReplace": "section,basket,branchline"
},
{
=====================================
core/persistence/java/src/main/resources/fr/ird/observe/entities/data/ll/observation/CatchImpl.hbm.xml
=====================================
@@ -53,6 +53,9 @@
<column name="gonadeWeight" precision="6" scale="3" sql-type="numeric"/>
</property>
<property name="photoReferences" access="field" type="java.lang.String" column="photoReferences"/>
+ <property name="sampleReferences" access="field" type="java.lang.String" length="255">
+ <column length="255" name="sampleReferences"/>
+ </property>
<property name="number" access="field" type="java.lang.Integer" column="number"/>
<property name="acquisitionMode" access="field" type="int" column="acquisitionMode"/>
<property name="tagNumber" access="field" type="java.lang.String" column="tagNumber"/>
=====================================
core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
=====================================
@@ -60,6 +60,8 @@ public class DataSourceMigrationForVersion_9_4 extends ByMajorMigrationVersionRe
issue2914(executor);
// See https://gitlab.com/ultreiaio/ird-observe/-/issues/2931
executor.addScript("01", "issue-2931");
+ // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2909
+ executor.addScript("02", "issue-2909");
}
}
=====================================
core/persistence/migration/src/main/resources/db/migration/v9/9.4/02_issue-2909-common.sql
=====================================
@@ -0,0 +1,22 @@
+---
+-- #%L
+-- ObServe Core :: Persistence :: Migration
+-- %%
+-- Copyright (C) 2008 - 2024 IRD, Ultreia.io
+-- %%
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as
+-- published by the Free Software Foundation, either version 3 of the
+-- License, or (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public
+-- License along with this program. If not, see
+-- <http://www.gnu.org/licenses/gpl-3.0.html>.
+-- #L%
+---
+ALTER TABLE ll_observation.Catch ADD COLUMN sampleReferences VARCHAR(255);
=====================================
core/persistence/migration/src/main/resources/db/migration/v9/9.4/empty-schema-H2.sql
=====================================
@@ -104,7 +104,7 @@ create table ll_observation.baitsComposition (topiaId varchar(255) not null, top
create table ll_observation.basket (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), settingIdentifier integer not null, haulingIdentifier integer, floatline1Length numeric, floatline2Length numeric, section varchar(255) not null, primary key (topiaId));
create table ll_observation.branchline (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), settingIdentifier integer not null, haulingIdentifier integer, depthRecorder boolean default false not null, timer boolean default false not null, timeSinceContact integer, hookOffset integer, branchlineLength numeric, weightedSwivel boolean default false not null, timerTimeOnBoard timestamp, weightedSnap boolean default false not null, swivelWeight numeric, snapWeight numeric, tracelineLength numeric, hookLost boolean default false not null, traceCutOff boolean default false not null, hookType varchar(255), baitType varchar(255), topType varchar(255), tracelineType varchar(255), baitSettingStatus varchar(255), baitHaulingStatus varchar(255), hookSize varchar(255), basket varchar(255) not null, primary key (topiaId));
create table ll_observation.branchlinesComposition (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), length numeric not null, proportion integer not null, tracelineLength numeric, topType varchar(255) not null, tracelineType varchar(255) not null, set varchar(255) not null, primary key (topiaId));
-create table ll_observation.catch (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), count integer not null, totalWeight numeric, hookWhenDiscarded boolean, depredated boolean default false not null, beatDiameter numeric, gonadeWeight numeric, photoReferences varchar(255), number integer, acquisitionMode integer, tagNumber varchar(255), section varchar(255), basket varchar(255), branchline varchar(255), catchFate varchar(255) not null, discardHealthStatus varchar(255), species varchar(255) not null, maturityStatus varchar(255), stomachFullness varchar(255), hookPosition varchar(255), catchHealthStatus varchar(255), sex varchar(255), weightMeasureMethod varchar(255), set varchar(255) not null, set_idx integer, primary key (topiaId));
+create table ll_observation.catch (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), count integer not null, totalWeight numeric, hookWhenDiscarded boolean, depredated boolean default false not null, beatDiameter numeric, gonadeWeight numeric, photoReferences varchar(255), sampleReferences varchar(255), number integer, acquisitionMode integer, tagNumber varchar(255), section varchar(255), basket varchar(255), branchline varchar(255), catchFate varchar(255) not null, discardHealthStatus varchar(255), species varchar(255) not null, maturityStatus varchar(255), stomachFullness varchar(255), hookPosition varchar(255), catchHealthStatus varchar(255), sex varchar(255), weightMeasureMethod varchar(255), set varchar(255) not null, set_idx integer, primary key (topiaId));
create table ll_observation.catch_predator (catch varchar(255) not null, species varchar(255) not null, primary key (catch, species));
create table ll_observation.encounter (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), distance numeric, count integer, encounterType varchar(255) not null, species varchar(255), activity varchar(255) not null, primary key (topiaId));
create table ll_observation.encounterType (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, code varchar(255) not null, uri varchar(255), homeId varchar(255), needComment boolean default false not null, status integer not null, label1 varchar(255) not null, label2 varchar(255) not null, label3 varchar(255) not null, label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
=====================================
core/persistence/migration/src/main/resources/db/migration/v9/9.4/empty-schema-PG.sql
=====================================
@@ -104,7 +104,7 @@ create table ll_observation.baitsComposition (topiaId varchar(255) not null, top
create table ll_observation.basket (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), settingIdentifier integer not null, haulingIdentifier integer, floatline1Length numeric, floatline2Length numeric, section varchar(255) not null, primary key (topiaId));
create table ll_observation.branchline (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), settingIdentifier integer not null, haulingIdentifier integer, depthRecorder boolean default false not null, timer boolean default false not null, timeSinceContact integer, hookOffset integer, branchlineLength numeric, weightedSwivel boolean default false not null, timerTimeOnBoard timestamp, weightedSnap boolean default false not null, swivelWeight numeric, snapWeight numeric, tracelineLength numeric, hookLost boolean default false not null, traceCutOff boolean default false not null, hookType varchar(255), baitType varchar(255), topType varchar(255), tracelineType varchar(255), baitSettingStatus varchar(255), baitHaulingStatus varchar(255), hookSize varchar(255), basket varchar(255) not null, primary key (topiaId));
create table ll_observation.branchlinesComposition (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), length numeric not null, proportion integer not null, tracelineLength numeric, topType varchar(255) not null, tracelineType varchar(255) not null, set varchar(255) not null, primary key (topiaId));
-create table ll_observation.catch (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), count integer not null, totalWeight numeric, hookWhenDiscarded boolean, depredated boolean default false not null, beatDiameter numeric, gonadeWeight numeric, photoReferences varchar(255), number integer, acquisitionMode integer, tagNumber varchar(255), section varchar(255), basket varchar(255), branchline varchar(255), catchFate varchar(255) not null, discardHealthStatus varchar(255), species varchar(255) not null, maturityStatus varchar(255), stomachFullness varchar(255), hookPosition varchar(255), catchHealthStatus varchar(255), sex varchar(255), weightMeasureMethod varchar(255), set varchar(255) not null, set_idx integer, primary key (topiaId));
+create table ll_observation.catch (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), comment varchar(8192), count integer not null, totalWeight numeric, hookWhenDiscarded boolean, depredated boolean default false not null, beatDiameter numeric, gonadeWeight numeric, photoReferences varchar(255), sampleReferences varchar(255), number integer, acquisitionMode integer, tagNumber varchar(255), section varchar(255), basket varchar(255), branchline varchar(255), catchFate varchar(255) not null, discardHealthStatus varchar(255), species varchar(255) not null, maturityStatus varchar(255), stomachFullness varchar(255), hookPosition varchar(255), catchHealthStatus varchar(255), sex varchar(255), weightMeasureMethod varchar(255), set varchar(255) not null, set_idx integer, primary key (topiaId));
create table ll_observation.catch_predator (catch varchar(255) not null, species varchar(255) not null, primary key (catch, species));
create table ll_observation.encounter (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, homeId varchar(255), distance numeric, count integer, encounterType varchar(255) not null, species varchar(255), activity varchar(255) not null, primary key (topiaId));
create table ll_observation.encounterType (topiaId varchar(255) not null, topiaVersion bigint not null, topiaCreateDate timestamp not null, lastUpdateDate timestamp default CURRENT_TIMESTAMP not null, code varchar(255) not null, uri varchar(255), homeId varchar(255), needComment boolean default false not null, status integer not null, label1 varchar(255) not null, label2 varchar(255) not null, label3 varchar(255) not null, label4 varchar(255), label5 varchar(255), label6 varchar(255), label7 varchar(255), label8 varchar(255), primary key (topiaId));
=====================================
core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/definition.json
=====================================
@@ -8,6 +8,7 @@
"beatDiameter": "Float",
"gonadeWeight": "Float",
"photoReferences": "String",
+ "sampleReferences": "String",
"number": "Integer",
"acquisitionMode": "int",
"tagNumber": "String",
=====================================
core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/validation-create.json
=====================================
@@ -97,6 +97,12 @@
"check if referential predator is disabled (only if validation is not strong)"
]
},
+ "sampleReferences": {
+ "errors": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ]
+ },
"section": {
"warnings": [
"mandatory except if acquisitionMode != 0"
=====================================
core/persistence/resources/src/main/resources/fr/ird/observe/entities/data/ll/observation/Catch/validation-update.json
=====================================
@@ -97,6 +97,12 @@
"check if referential predator is disabled (only if validation is not strong)"
]
},
+ "sampleReferences": {
+ "errors": [
+ "sampleReferences (if not null) is not a blank string",
+ "sampleReferences length <= 255"
+ ]
+ },
"section": {
"warnings": [
"mandatory except if acquisitionMode != 0"
=====================================
core/services/i18n/src/main/i18n/translations/services_en_GB.properties
=====================================
@@ -289,6 +289,7 @@ observe.Common.reportsUrl=Reports url
observe.Common.root.list.message.none=<html><body>No data of type <i>%s</i> for group by <i>%s</i> saved.</body></html>
observe.Common.sample=Sample
observe.Common.sampleQuality=Sample quality
+observe.Common.sampleReferences=Sample references
observe.Common.sampleSpeciesMeasure=Frequencies
observe.Common.sampleSpeciesMeasure.validation.uniqueKey=Size class must be unique, value at index %s is duplicated.
observe.Common.sampleType=Sample type
=====================================
core/services/i18n/src/main/i18n/translations/services_es_ES.properties
=====================================
@@ -289,6 +289,7 @@ observe.Common.reportsUrl=URL del informe
observe.Common.root.list.message.none=<html><body>No data of type <i>%s</i> for group by <i>%s</i> saved.</body></html>
observe.Common.sample=Sample \#TODO
observe.Common.sampleQuality=Sample quality \#TODO
+observe.Common.sampleReferences=Sample references \#TODO
observe.Common.sampleSpeciesMeasure=TODO
observe.Common.sampleSpeciesMeasure.validation.uniqueKey=TODO
observe.Common.sampleType=Sample type \#TODO
=====================================
core/services/i18n/src/main/i18n/translations/services_fr_FR.properties
=====================================
@@ -289,6 +289,7 @@ observe.Common.reportsUrl=URL de rapport
observe.Common.root.list.message.none=<html><body>Aucune donnée du type <i>%s</i> pour le groupement <i>%s</i> enregistrée.</body></html>
observe.Common.sample=Échantillon
observe.Common.sampleQuality=Qualité de l'échantillon
+observe.Common.sampleReferences=Références échantillon
observe.Common.sampleSpeciesMeasure=Fréquences
observe.Common.sampleSpeciesMeasure.validation.uniqueKey=La classe de taille doit être unique, la donnée de rang %s est invalide.
observe.Common.sampleType=Type d'échantillon
=====================================
model/src/main/models/Observe/dto/30-data-ll-observation.model
=====================================
@@ -89,6 +89,7 @@ depredated boolean
beatDiameter Float
gonadeWeight Float
photoReferences String
+sampleReferences String
number Integer
acquisitionMode int
tagNumber String
=====================================
model/src/main/models/Observe/dto/attribute/notBlank.properties
=====================================
@@ -43,6 +43,7 @@ data.ll.observation.Activity.attribute.comment=true
data.ll.observation.Branchline.attribute.comment=true
data.ll.observation.Catch.attribute.comment=true
data.ll.observation.Catch.attribute.photoReferences=true
+data.ll.observation.Catch.attribute.sampleReferences=true
data.ll.observation.Catch.attribute.tagNumber=true
data.ll.observation.SectionTemplate.attribute.floatlineLengths=true
data.ll.observation.SectionTemplate.attribute.id=true
=====================================
model/src/main/models/Observe/dto/attribute/stringMaxLength.properties
=====================================
@@ -34,6 +34,7 @@ data.ll.logbook.Sample.attribute.comment=8192
data.ll.observation.Activity.attribute.comment=8192
data.ll.observation.Branchline.attribute.comment=8192
data.ll.observation.Catch.attribute.comment=8192
+data.ll.observation.Catch.attribute.sampleReferences=255
data.ps.common.GearUseFeatures.attribute.comment=8192
data.ps.common.Trip.attribute.generalComment=8192
data.ps.common.Trip.attribute.logbookComment=8192
=====================================
model/src/main/models/Observe/dto/class/i18nLabels.properties
=====================================
@@ -41,7 +41,7 @@ data.ll.observation.BaitsComposition=baitSettingStatus,baitType,individualSize,i
data.ll.observation.Basket=floatline1Length,floatline1Length.short,floatline2Length,floatline2Length.short,branchline,haulingIdentifier,settingIdentifier
data.ll.observation.Branchline=branchlineLength.short,tracelineLength.short,depthRecorder,timer,timeSinceContact,hookOffset,branchlineLength,weightedSwivel,timerTimeOnBoard,weightedSnap,swivelWeight,snapWeight,tracelineLength,hookLost,traceCutOff,baitSettingStatus,hookSize,baitHaulingStatus,hookType,tracelineType,topType,baitType,comment,action.save,action.save.tip,haulingIdentifier,message.modified,message.modified.but.invalid,setDefaultTimerTimeOnBoard.tip,settingIdentifier
data.ll.observation.BranchlinesComposition=length,topType,tracelineLength,tracelineType,branchlinesCompositionProportionSum
-data.ll.observation.Catch=baitHaulingStatus,acquisitionMode,basket,beatDiameter,branchline,catchFate,catchHealthStatus,comment,count,depredated,depthRecorder,discardHealthStatus,gonadeWeight,hookLost,hookPosition,hookWhenDiscarded,maturityStatus,number,photoReferences,predator,section,sex,species,stomachFullness,tagNumber,timer,timerTimeOnBoard,totalWeight,traceCutOff,weightMeasureMethod,depredatedProportion,branchlineTab,caracteristicTab,depredatedTab,foodAndSexualTab,noBranchlineSelected,sizeMeasuresTab,timeSinceContact,weightMeasuresTab,action.reset.branchline,action.reset.branchline.tip,predator.available,predator.selected
+data.ll.observation.Catch=baitHaulingStatus,acquisitionMode,basket,beatDiameter,branchline,catchFate,catchHealthStatus,comment,count,depredated,depthRecorder,discardHealthStatus,gonadeWeight,hookLost,hookPosition,hookWhenDiscarded,maturityStatus,number,photoReferences,predator,sampleReferences,section,sex,species,stomachFullness,tagNumber,timer,timerTimeOnBoard,totalWeight,traceCutOff,weightMeasureMethod,depredatedProportion,branchlineTab,caracteristicTab,depredatedTab,foodAndSexualTab,noBranchlineSelected,sizeMeasuresTab,timeSinceContact,weightMeasuresTab,action.reset.branchline,action.reset.branchline.tip,predator.available,predator.selected
data.ll.observation.Encounter=count,distance,encounterType,species
data.ll.observation.FloatlinesComposition=length,lineType,floatlinesCompositionProportionSum
data.ll.observation.HooksComposition=hookOffset,hookSize,hookType,hooksCompositionProportionSum
=====================================
model/src/main/models/Observe/persistence/30-data-ll-observation.model
=====================================
@@ -68,6 +68,7 @@ depredated boolean
beatDiameter Float
gonadeWeight Float
photoReferences String
+sampleReferences String
number Integer
acquisitionMode int
tagNumber String
=====================================
model/src/main/models/Observe/persistence/attribute/length.properties
=====================================
@@ -31,6 +31,7 @@ data.ll.logbook.Set.attribute.comment=8192
data.ll.observation.Activity.attribute.comment=8192
data.ll.observation.Branchline.attribute.comment=8192
data.ll.observation.Catch.attribute.comment=8192
+data.ll.observation.Catch.attribute.sampleReferences=255
data.ll.observation.Set.attribute.comment=8192
data.ps.common.GearUseFeatures.attribute.comment=8192
data.ps.common.Trip.attribute.generalComment=8192
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c3b23dc1984ca5b5375d262…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0c3b23dc1984ca5b5375d262…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Add speciesList by migration
by Tony CHEMIT (@tchemit) 11 Sep '24
by Tony CHEMIT (@tchemit) 11 Sep '24
11 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
33c0b05a by Tony Chemit at 2024-09-11T17:52:04+02:00
Add speciesList by migration
- - - - -
1354fcc4 by Tony Chemit at 2024-09-11T17:52:04+02:00
Update test fixtures
- - - - -
2828d7e0 by Tony Chemit at 2024-09-11T17:52:04+02:00
Review TripConsolidateRequest to use only speciesList id
- - - - -
dd7e205c by Tony Chemit at 2024-09-11T17:52:04+02:00
Replace client configuration option by a simple id of the dedicated speciesList and adapt consolidation action
- - - - -
3f8850f1 by Tony Chemit at 2024-09-11T17:52:04+02:00
Add config for consolidate action on speciesList
- - - - -
0c3b23dc by Tony Chemit at 2024-09-11T17:57:56+02:00
Merge branch 'feature/feature/issue-2931' into develop
Ajouter une liste d'espèce dédiée à la consolidation et l'utiliser dans l'assistant de consolidation - Closes #2931
- - - - -
18 changed files:
- client/configuration/src/main/config/Client.ini
- client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client/datasource/actions/src/main/i18n/getters/jaxx.getter
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jaxx
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jcss
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateRequest.java
- core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateEngine.java
- core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
- + core/persistence/migration/src/main/resources/db/migration/v9/9.4/01_issue-2931-common.sql
- core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties
- core/services/test/src/main/java/fr/ird/observe/services/service/data/ps/ConsolidateDataServiceFixtures.java
- core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common-default.json
- core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common-xwork2.json
- core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/data/ps/ConsolidateDataService.properties
- model/src/main/resources/fixtures/global.properties
Changes:
=====================================
client/configuration/src/main/config/Client.ini
=====================================
@@ -453,8 +453,8 @@ defaultValue = false
[option consolidationSpeciesListForLogbookSampleActivityWeightedWeight]
description = observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight
key = instance.consolidation.speciesListForLogbookSampleActivityWeightedWeight
-type = String[]
-defaultValue = fr.ird.referential.common.Species#1239832685474#0.8943253454598569,fr.ird.referential.common.Species#1239832685474#0.975344121171992,fr.ird.referential.common.Species#1239832685475#0.13349466123905152,fr.ird.referential.common.Species#1239832685476#0.5618871286604711,fr.ird.referential.common.Species#1239832685477#0.8024257002747615,fr.ird.referential.common.Species#1239832685477#0.3846921632590058,fr.ird.referential.common.Species#1441287921299#0.016754076421811148,fr.ird.referential.common.Species#1433499265113#0.891799515346065,fr.ird.referential.common.Species#1239832685477#0.2673009297087321,fr.ird.referential.common.Species#1239832685478#0.7676744877900202,fr.ird.referential.common.Species#1239832685477#0.5989181185528589,fr.ird.referential.common.Species#1239832685476#0.36339915670317835
+type = String
+defaultValue = fr.ird.referential.common.SpeciesList#1464000000000#100
[option sizeMeasureTypeSeineObservationTargetSampleId]
description = observe.config.sizeMeasureType.seine.observation.targetSample
=====================================
client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
=====================================
@@ -273,11 +273,10 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext
helper.addOption(ClientConfigOption.VALIDATION_USE_DISABLED_REFERENTIAL);
helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_WEIGHT_PARAMETER_NOT_FOUND);
helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_LENGTH_PARAMETER_NOT_FOUND);
- //FIXME Re-add this when this option will be a reference to a SpeciesList
// See https://gitlab.com/ultreiaio/ird-observe/-/issues/2931
-// if (dataSource != null && dataSource.isOpen()) {
-// helper.addOption(ClientConfigOption.CONSOLIDATION_SPECIES_LIST_FOR_LOGBOOK_SAMPLE_ACTIVITY_WEIGHTED_WEIGHT);
-// }
+ if (dataSource != null && dataSource.isOpen()) {
+ helper.addSpeciesListOption(ClientConfigOption.CONSOLIDATION_SPECIES_LIST_FOR_LOGBOOK_SAMPLE_ACTIVITY_WEIGHTED_WEIGHT);
+ }
}
=====================================
client/datasource/actions/src/main/i18n/getters/jaxx.getter
=====================================
@@ -4,6 +4,7 @@ observe.Common.global.progression.description
observe.Common.step.description
observe.config.consolidation.failIfLengthLengthParameterNotFound
observe.config.consolidation.failIfLengthWeightParameterNotFound
+observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight
observe.config.ui.seineBycatchObservedSystem.description
observe.config.validation.lengthWeightEnable
observe.config.validation.speedEnable
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jaxx
=====================================
@@ -22,7 +22,9 @@
<import>
fr.ird.observe.client.datasource.actions.AdminUIModel
fr.ird.observe.client.datasource.actions.consolidate.actions.SelectConsolidationConfigFlag
+ fr.ird.observe.dto.referential.common.SpeciesListReference
+ io.ultreia.java4all.jaxx.widgets.combobox.FilterableComboBox
java.io.File
static io.ultreia.java4all.i18n.I18n.t
@@ -42,7 +44,7 @@ public void destroy() {
</script>
<JPanel constraints='BorderLayout.NORTH' layout='{new BorderLayout()}'>
- <Table id="consolidateDataConfig" constraints='BorderLayout.NORTH'>
+ <Table id="consolidateDataConfig" constraints='BorderLayout.NORTH' beanScope="consolidateModel">
<row>
<cell anchor="west">
@@ -62,10 +64,10 @@ public void destroy() {
</row>
<row>
<cell anchor="west">
- <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeightLabel' styleClass="skipI18n"/>
+ <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeightLabel'/>
</cell>
<cell weightx='1' fill="horizontal">
- <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeight' styleClass="skipI18n"/>
+ <FilterableComboBox id='speciesListForLogbookSampleActivityWeightedWeight' genericType='SpeciesListReference'/>
</cell>
</row>
</Table>
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jcss
=====================================
@@ -40,6 +40,13 @@
selected:{consolidateModel.isConsolidationFailIfLengthLengthParameterNotFound()};
}
+#consolidationSpeciesListForLogbookSampleActivityWeightedWeightLabel {
+ text:"observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight";
+}
+
+#speciesListForLogbookSampleActivityWeightedWeight {
+ selectedItem:{consolidateModel.getSpeciesListForLogbookSampleActivityWeightedWeight()};
+}
#consolidationReportConfig {
border:{new TitledBorder(t("observe.ui.datasource.editor.actions.consolidate.config.report") + " ")};
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java
=====================================
@@ -26,11 +26,11 @@ import fr.ird.observe.client.datasource.actions.AdminStep;
import fr.ird.observe.client.datasource.actions.AdminUIModel;
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
import fr.ird.observe.client.datasource.editor.api.wizard.connexion.DataSourceSelectorModel;
+import fr.ird.observe.dto.referential.common.SpeciesListReference;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
-import java.util.List;
import java.util.Set;
import java.util.TreeSet;
@@ -53,8 +53,10 @@ public class ConsolidateModel extends AdminActionModel {
private ObserveSwingDataSource source;
private boolean consolidationFailIfLengthWeightParameterNotFound;
private boolean consolidationFailIfLengthLengthParameterNotFound;
- private List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
+ private String consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
+ private SpeciesListReference speciesListForLogbookSampleActivityWeightedWeight;
private boolean skipForReport;
+
public ConsolidateModel() {
super(AdminStep.CONSOLIDATE);
this.alreadyDoneTripIds = new TreeSet<>();
@@ -88,7 +90,7 @@ public class ConsolidateModel extends AdminActionModel {
setConsolidationFailIfLengthWeightParameterNotFound(getClientConfig().isConsolidationFailIfLengthWeightParameterNotFound());
setConsolidationFailIfLengthLengthParameterNotFound(getClientConfig().isConsolidationFailIfLengthLengthParameterNotFound());
- setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(getClientConfig().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeightList());
+ setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(getClientConfig().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight());
}
@Override
@@ -96,6 +98,11 @@ public class ConsolidateModel extends AdminActionModel {
return uiModel.validate(AdminStep.SELECT_DATA) && uiModel.getStepState(step) == WizardState.SUCCESSED;
}
+ @Override
+ public boolean validateConfig(AdminUIModel uiModel) {
+ return super.validateConfig(uiModel) && getSpeciesListForLogbookSampleActivityWeightedWeight() != null;
+ }
+
public boolean checkIfTripAlreadyProcessed(String tripId) {
return alreadyDoneTripIds.contains(tripId);
}
@@ -124,16 +131,27 @@ public class ConsolidateModel extends AdminActionModel {
firePropertyChange("consolidationFailIfLengthLengthParameterNotFound", oldValue, consolidationFailIfLengthLengthParameterNotFound);
}
- public List<String> getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight() {
+ public String getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight() {
return consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
}
- public void setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight) {
- List<String> oldValue = this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
+ public void setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(String consolidationSpeciesListForLogbookSampleActivityWeightedWeight) {
+ String oldValue = this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight = consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
firePropertyChange("consolidationSpeciesListForLogbookSampleActivityWeightedWeight", oldValue, consolidationSpeciesListForLogbookSampleActivityWeightedWeight);
}
+ public SpeciesListReference getSpeciesListForLogbookSampleActivityWeightedWeight() {
+ return speciesListForLogbookSampleActivityWeightedWeight;
+ }
+
+ public void setSpeciesListForLogbookSampleActivityWeightedWeight(SpeciesListReference speciesListForLogbookSampleActivityWeightedWeight) {
+ SpeciesListReference oldValue = this.speciesListForLogbookSampleActivityWeightedWeight;
+ this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight;
+ setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(speciesListForLogbookSampleActivityWeightedWeight == null ? null : speciesListForLogbookSampleActivityWeightedWeight.getId());
+ firePropertyChange("speciesListForLogbookSampleActivityWeightedWeight", oldValue, speciesListForLogbookSampleActivityWeightedWeight);
+ }
+
public boolean isSkipForReport() {
return skipForReport;
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java
=====================================
@@ -24,9 +24,20 @@ package fr.ird.observe.client.datasource.actions.consolidate;
import fr.ird.observe.client.datasource.actions.AdminTabUIHandler;
import fr.ird.observe.client.datasource.actions.config.ConfigUI;
import fr.ird.observe.client.datasource.actions.consolidate.actions.SelectConsolidationConfigFlag;
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
+import fr.ird.observe.client.datasource.editor.api.wizard.connexion.DataSourceSelectorModel;
import fr.ird.observe.client.util.UIHelper;
+import fr.ird.observe.client.util.init.UIInitHelper;
+import fr.ird.observe.dto.referential.common.SpeciesListReference;
+import io.ultreia.java4all.jaxx.widgets.combobox.FilterableComboBox;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.nuiton.jaxx.runtime.spi.UIHandler;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Objects;
+
import static io.ultreia.java4all.i18n.I18n.t;
/**
@@ -34,6 +45,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
* @since 1.5
*/
public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> implements UIHandler<ConsolidateUI> {
+ private static final Logger log = LogManager.getLogger(ConsolidateUIHandler.class);
@Override
public void afterInit(ConsolidateUI ui) {
@@ -49,7 +61,34 @@ public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> imple
ConsolidateConfigUI extraConfig = new ConsolidateConfigUI(UIHelper.initialContext(configUI, this));
SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthWeightParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthWeightParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthWeightParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthWeightParameterNotFound, 5));
SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthLengthParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthLengthParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthLengthParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthLengthParameterNotFound, 6));
- extraConfig.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight().setText("<html><body><b>TODO</b></body></html>");
+ getModel().getConfigModel().getLeftSourceModel().addPropertyChangeListener(DataSourceSelectorModel.VALID_PROPERTY_NAME, evt -> onDataSourceValidChanged(extraConfig, (boolean) evt.getNewValue()));
+ FilterableComboBox<SpeciesListReference> editor = extraConfig.getSpeciesListForLogbookSampleActivityWeightedWeight();
+ UIInitHelper.init(editor);
+ editor.init(getDecoratorService().getDecoratorByType(SpeciesListReference.class), Collections.emptyList());
configUI.getExtraConfig().add(extraConfig);
}
+
+ private void onDataSourceValidChanged(ConsolidateConfigUI extraConfig, boolean dataSourceValid) {
+ log.info("Data source valid: {}", dataSourceValid);
+ FilterableComboBox<SpeciesListReference> editor = extraConfig.getSpeciesListForLogbookSampleActivityWeightedWeight();
+ if (dataSourceValid) {
+ try (ObserveSwingDataSource dataSource = getModel().getConfigModel().getLeftSourceModel().getSafeSource(true)) {
+ ArrayList<SpeciesListReference> data = dataSource.getReferentialService().getReferenceSet(SpeciesListReference.class, null).toArrayList();
+ String speciesListId = getModel().getConsolidateModel().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight();
+ if (speciesListId == null) {
+ speciesListId = getClientConfig().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight();
+ getModel().getConsolidateModel().setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(speciesListId);
+ }
+ log.info("Loading speciesList {}", speciesListId);
+ String finalSpeciesListId = speciesListId;
+ SpeciesListReference speciesListReference = data.stream().filter(sl -> Objects.equals(sl.getId(), finalSpeciesListId)).findFirst().orElse(null);
+ log.info("Found speciesList {}", speciesListReference);
+ editor.setData(data);
+ getModel().getConsolidateModel().setSpeciesListForLogbookSampleActivityWeightedWeight(speciesListReference);
+ }
+ } else {
+ editor.setData(Collections.emptyList());
+ }
+ editor.setEnabled(dataSourceValid);
+ }
}
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
=====================================
@@ -169,7 +169,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
request.setTripId(tripId);
request.setFailIfLengthWeightParameterNotFound(stepModel.isConsolidationFailIfLengthWeightParameterNotFound());
request.setFailIfLengthLengthParameterNotFound(stepModel.isConsolidationFailIfLengthLengthParameterNotFound());
- request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(stepModel.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight()));
+ request.setSpeciesListForLogbookSampleActivityWeightedWeight(stepModel.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight());
TripConsolidateResult result = consolidateDataService.consolidateTrip(simplifiedObjectTypeSpecializedRules, request);
if (result != null) {
=====================================
core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateRequest.java
=====================================
@@ -25,8 +25,6 @@ package fr.ird.observe.consolidation.data.ps.common;
import io.ultreia.java4all.util.json.JsonAware;
-import java.util.Set;
-
/**
* Request to consolidate a trip.
* <p>
@@ -49,7 +47,7 @@ public class TripConsolidateRequest implements JsonAware {
*/
private boolean failIfLengthLengthParameterNotFound;
- private Set<String> speciesListForLogbookSampleActivityWeightedWeight;
+ private String speciesListForLogbookSampleActivityWeightedWeight;
public boolean isFailIfLengthWeightParameterNotFound() {
return failIfLengthWeightParameterNotFound;
@@ -75,11 +73,11 @@ public class TripConsolidateRequest implements JsonAware {
this.failIfLengthLengthParameterNotFound = failIfLengthLengthParameterNotFound;
}
- public Set<String> getSpeciesListForLogbookSampleActivityWeightedWeight() {
+ public String getSpeciesListForLogbookSampleActivityWeightedWeight() {
return speciesListForLogbookSampleActivityWeightedWeight;
}
- public void setSpeciesListForLogbookSampleActivityWeightedWeight(Set<String> speciesListForLogbookSampleActivityWeightedWeight) {
+ public void setSpeciesListForLogbookSampleActivityWeightedWeight(String speciesListForLogbookSampleActivityWeightedWeight) {
this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight;
}
}
=====================================
core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateEngine.java
=====================================
@@ -36,6 +36,8 @@ import fr.ird.observe.entities.data.ps.localmarket.Batch;
import fr.ird.observe.entities.data.ps.logbook.SampleActivity;
import fr.ird.observe.entities.referential.common.LengthLengthParameterCache;
import fr.ird.observe.entities.referential.common.LengthWeightParameterCache;
+import fr.ird.observe.entities.referential.common.Species;
+import fr.ird.observe.entities.referential.common.SpeciesList;
import fr.ird.observe.spi.consolidation.ToolkitIdModificationsToSql;
import fr.ird.observe.spi.service.ServiceContext;
import io.ultreia.java4all.decoration.Decorator;
@@ -49,6 +51,7 @@ import java.nio.file.Path;
import java.util.LinkedHashSet;
import java.util.Optional;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* Created on 17/01/2022.
@@ -88,7 +91,10 @@ public class TripConsolidateEngine {
Trip trip = Trip.loadEntity(context, tripId);
- Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip, request.getSpeciesListForLogbookSampleActivityWeightedWeight());
+ String speciesListId = request.getSpeciesListForLogbookSampleActivityWeightedWeight();
+ SpeciesList speciesList = SpeciesList.loadEntity(context, speciesListId);
+ Set<String> speciesListForLogbookSampleActivityWeightedWeight = speciesList.getSpecies().stream().map(Species ::getId).collect(Collectors.toSet());
+ Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip, speciesListForLogbookSampleActivityWeightedWeight);
Set<ToolkitIdModifications> localmarketBatchResults = consolidateLocalmarketBatches(trip, failIfLengthWeightParameterNotFound);
Set<fr.ird.observe.consolidation.data.ps.observation.ActivityConsolidateResult> observationActivityConsolidateResults = consolidateObservationActivities(trip, failIfLengthWeightParameterNotFound, failIfLengthLengthParameterNotFound);
=====================================
core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
=====================================
@@ -34,6 +34,9 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.stream.Stream;
/**
* Created at 11/09/2024.
@@ -55,6 +58,8 @@ public class DataSourceMigrationForVersion_9_4 extends ByMajorMigrationVersionRe
if (withIds) {
// See https://gitlab.com/ultreiaio/ird-observe/-/issues/2914
issue2914(executor);
+ // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2931
+ executor.addScript("01", "issue-2931");
}
}
=====================================
core/persistence/migration/src/main/resources/db/migration/v9/9.4/01_issue-2931-common.sql
=====================================
@@ -0,0 +1,36 @@
+---
+-- #%L
+-- ObServe Core :: Persistence :: Migration
+-- %%
+-- Copyright (C) 2008 - 2023 IRD, Ultreia.io
+-- %%
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as
+-- published by the Free Software Foundation, either version 3 of the
+-- License, or (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public
+-- License along with this program. If not, see
+-- <http://www.gnu.org/licenses/gpl-3.0.html>.
+-- #L%
+---
+-- add a new species list PS - Catch
+INSERT INTO common.SpeciesList (topiaid, topiaversion, topiacreatedate, code, status, uri, label1, label2, label3, label4, label5, label6, label7, label8, needcomment, lastupdatedate, homeid) VALUES ('fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100', 0, ${CURRENT_DATE}, '100', 1, null, 'Consolidation (PS Logbook SampleActivity.weightedWeight)', 'Consolidation (PS Logbook SampleActivity.weightedWeight)', 'Consolidation (PS Logbook SampleActivity.weightedWeight) TODO', null, null, null, null, null, false, ${CURRENT_TIMESTAMP} , null);
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685474#0.8943253454598569', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685474#0.975344121171992', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685475#0.13349466123905152', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685476#0.5618871286604711', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685477#0.8024257002747615', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685477#0.3846921632590058', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1441287921299#0.016754076421811148', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1433499265113#0.891799515346065', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685477#0.2673009297087321', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685478#0.7676744877900202', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685477#0.5989181185528589', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+INSERT INTO common.speciesList_species (species, speciesList) VALUES ('fr.ird.referential.common.Species#1239832685476#0.36339915670317835', 'fr.ird.referential.common.SpeciesList#${REFERENTIAL_PREFIX}100');
+UPDATE common.LastUpdateDate SET lastUpdateDate = ${CURRENT_TIMESTAMP} WHERE type = 'fr.ird.observe.entities.referential.common.SpeciesList';
\ No newline at end of file
=====================================
core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties
=====================================
@@ -40,7 +40,7 @@ common.sizeMeasureType=21
common.species=315
common.speciesGroup=12
common.speciesGroupReleaseMode=10
-common.speciesList=10
+common.speciesList=11
common.vessel=1250
common.vesselSizeCategory=13
common.vesselType=18
@@ -118,4 +118,4 @@ common.gear_allowedGearCharacteristic=108
common.gear_defaultGearCharacteristic=45
common.species_ocean=553
common.speciesGroup_speciesGroupReleaseMode=19
-common.speciesList_species=965
+common.speciesList_species=977
=====================================
core/services/test/src/main/java/fr/ird/observe/services/service/data/ps/ConsolidateDataServiceFixtures.java
=====================================
@@ -42,7 +42,6 @@ import io.ultreia.java4all.util.Dates;
import org.junit.Assert;
import java.net.URL;
-import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -206,7 +205,7 @@ public class ConsolidateDataServiceFixtures extends GeneratedConsolidateDataServ
TripConsolidateRequest request = new TripConsolidateRequest();
request.setTripId(getProperty("consolidateTrip.id"));
request.setFailIfLengthWeightParameterNotFound(false);
- request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(Arrays.asList(getArrayProperty("consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight"))));
+ request.setSpeciesListForLogbookSampleActivityWeightedWeight(getProperty("consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight"));
TripConsolidateResult actual = service.consolidateTrip(simplifiedObjectTypeSpecializedRules, request);
Assert.assertNotNull(actual);
=====================================
core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common-default.json
=====================================
@@ -43661,6 +43661,32 @@
}
]
},
+ {
+ "datum": {
+ "text": "100##Consolidation (PS Logbook SampleActivity.weightedWeight)",
+ "type": "fr.ird.observe.dto.referential.common.SpeciesListDto",
+ "id": "fr.ird.referential.common.SpeciesList#1464000000000#100",
+ "topiaVersion": 0,
+ "lastUpdateDate": "2024-09-11T00:00:00.000Z"
+ },
+ "messages": [
+ {
+ "fieldName": "label1",
+ "scope": "WARNING",
+ "message": "Le libellé anglais n'est pas traduit."
+ },
+ {
+ "fieldName": "label3",
+ "scope": "WARNING",
+ "message": "Le libellé espagnol n'est pas traduit."
+ },
+ {
+ "fieldName": "uri",
+ "scope": "WARNING",
+ "message": "Le champ n'est pas renseigné."
+ }
+ ]
+ },
{
"datum": {
"text": "BENIGUET##25",
=====================================
core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/ValidateService-referentialResult-common-xwork2.json
=====================================
@@ -43661,6 +43661,32 @@
}
]
},
+ {
+ "datum": {
+ "text": "100##Consolidation (PS Logbook SampleActivity.weightedWeight)",
+ "type": "fr.ird.observe.dto.referential.common.SpeciesListDto",
+ "id": "fr.ird.referential.common.SpeciesList#1464000000000#100",
+ "topiaVersion": 0,
+ "lastUpdateDate": "2024-09-11T00:00:00.000Z"
+ },
+ "messages": [
+ {
+ "fieldName": "label1",
+ "scope": "WARNING",
+ "message": "Le libellé anglais n'est pas traduit."
+ },
+ {
+ "fieldName": "label3",
+ "scope": "WARNING",
+ "message": "Le libellé espagnol n'est pas traduit."
+ },
+ {
+ "fieldName": "uri",
+ "scope": "WARNING",
+ "message": "Le champ n'est pas renseigné."
+ }
+ ]
+ },
{
"datum": {
"text": "BENIGUET##25",
=====================================
core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/data/ps/ConsolidateDataService.properties
=====================================
@@ -29,4 +29,4 @@ consolidateTrip.logbookSampleActivity.count=1
consolidateTrip.observationsActivityResult.count=4
consolidateTrip.observationsActivityResult.withModifications.count=4
consolidateTrip.observationsActivityResult.withWarnings.count=4
-consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight=fr.ird.referential.common.Species#1239832685474#0.8943253454598569^fr.ird.referential.common.Species#1239832685474#0.975344121171992^fr.ird.referential.common.Species#1239832685475#0.13349466123905152^fr.ird.referential.common.Species#1239832685476#0.5618871286604711^fr.ird.referential.common.Species#1239832685477#0.8024257002747615^fr.ird.referential.common.Species#1239832685477#0.3846921632590058^fr.ird.referential.common.Species#1441287921299#0.016754076421811148^fr.ird.referential.common.Species#1433499265113#0.891799515346065^fr.ird.referential.common.Species#1239832685477#0.2673009297087321^fr.ird.referential.common.Species#1239832685478#0.7676744877900202^fr.ird.referential.common.Species#1239832685477#0.5989181185528589^fr.ird.referential.common.Species#1239832685476#0.36339915670317835
+consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight=fr.ird.referential.common.SpeciesList#1464000000000#100
=====================================
model/src/main/resources/fixtures/global.properties
=====================================
@@ -25,4 +25,4 @@ REFERENCE_DATA_COUNT=68
ENTITIES_LIMIT_SIZE=100
# fr.ird.observe.services.service.referential.ReferentialService
# fr.ird.observe.services.local.service.referential.DifferentialModelTest
-REFERENTIAL_COUNT=4369
+REFERENTIAL_COUNT=4370
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c4bcd8900e7c57597e63e3a0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c4bcd8900e7c57597e63e3a0…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9.3.x] Fix consolidation printResult on SampleActivity
by Tony CHEMIT (@tchemit) 11 Sep '24
by Tony CHEMIT (@tchemit) 11 Sep '24
11 Sep '24
Tony CHEMIT pushed to branch develop-9.3.x at ultreiaio / ird-observe
Commits:
e2d5e24c by Tony Chemit at 2024-09-11T17:51:44+02:00
Fix consolidation printResult on SampleActivity
- - - - -
1 changed file:
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
Changes:
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
=====================================
@@ -37,6 +37,7 @@ import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.ToolkitIdModifications;
import fr.ird.observe.dto.data.TripAware;
import fr.ird.observe.dto.data.ps.localmarket.BatchDto;
+import fr.ird.observe.dto.data.ps.logbook.SampleActivityDto;
import fr.ird.observe.dto.data.ps.observation.CatchDto;
import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto;
import fr.ird.observe.dto.data.ps.observation.SampleMeasureDto;
@@ -195,7 +196,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
printResult(activityResult);
}
for (ToolkitIdModifications modifications : result.getLogbookSampleActivityResults()) {
- printResult(BatchDto.class, modifications);
+ printResult(SampleActivityDto.class, modifications);
}
for (ToolkitIdModifications batchResult : result.getLocalmarketBatchResults()) {
printResult(BatchDto.class, batchResult);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e2d5e24c897afcd3ac4e8d5d3…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e2d5e24c897afcd3ac4e8d5d3…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Fix consolidation printResult on SampleActivity
by Tony CHEMIT (@tchemit) 11 Sep '24
by Tony CHEMIT (@tchemit) 11 Sep '24
11 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
c4bcd890 by Tony Chemit at 2024-09-11T17:51:51+02:00
Fix consolidation printResult on SampleActivity
- - - - -
1 changed file:
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
Changes:
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
=====================================
@@ -37,6 +37,7 @@ import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.ToolkitIdModifications;
import fr.ird.observe.dto.data.TripAware;
import fr.ird.observe.dto.data.ps.localmarket.BatchDto;
+import fr.ird.observe.dto.data.ps.logbook.SampleActivityDto;
import fr.ird.observe.dto.data.ps.observation.CatchDto;
import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto;
import fr.ird.observe.dto.data.ps.observation.SampleMeasureDto;
@@ -195,7 +196,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
printResult(activityResult);
}
for (ToolkitIdModifications modifications : result.getLogbookSampleActivityResults()) {
- printResult(BatchDto.class, modifications);
+ printResult(SampleActivityDto.class, modifications);
}
for (ToolkitIdModifications batchResult : result.getLocalmarketBatchResults()) {
printResult(BatchDto.class, batchResult);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c4bcd8900e7c57597e63e3a0e…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c4bcd8900e7c57597e63e3a0e…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 6 commits: Reduce digits to 2 for floatline3Length and floatline2Length
by Tony CHEMIT (@tchemit) 11 Sep '24
by Tony CHEMIT (@tchemit) 11 Sep '24
11 Sep '24
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
655f2efb by Tony Chemit at 2024-09-11T15:49:54+02:00
Reduce digits to 2 for floatline3Length and floatline2Length
- - - - -
b90951e3 by Tony Chemit at 2024-09-11T15:49:54+02:00
Reduce digits to 2 for floatline3Length and floatline2Length from migration
- - - - -
9670ccf7 by Tony Chemit at 2024-09-11T15:49:54+02:00
SectionTemplateDto now treat all floats with 2 digits only
- - - - -
2aaeae8d by Tony Chemit at 2024-09-11T15:49:55+02:00
On ui validation, let's use only two digits to compare FloatlineLengths
- - - - -
97886cfb by Tony Chemit at 2024-09-11T15:49:55+02:00
On ui editors, let's use only two digits
- - - - -
81566471 by Tony Chemit at 2024-09-11T15:51:04+02:00
Merge branch 'feature/issue-2914' into develop
Utilisation du convertisseur d'unité sur la définition détaillée de palangre et décimales - Closes #2914
- - - - -
8 changed files:
- client/core/src/main/java/fr/ird/observe/client/util/table/JXTableUtil.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIInitializer.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/SetDetailCompositionValidatorService.java
- core/api/dto/src/main/java/fr/ird/observe/dto/data/ll/observation/SectionTemplateDto.java
- core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlModel.json
- core/persistence/java/src/main/resources/fr/ird/observe/entities/data/ll/observation/BasketImpl.hbm.xml
- core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
- model/src/main/models/Observe/persistence/attribute/digits.properties
Changes:
=====================================
client/core/src/main/java/fr/ird/observe/client/util/table/JXTableUtil.java
=====================================
@@ -31,14 +31,18 @@ import io.ultreia.java4all.decoration.Decorator;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.renderer.DefaultTableRenderer;
import org.jdesktop.swingx.renderer.StringValue;
+import org.nuiton.jaxx.runtime.swing.SwingUtil;
+import org.nuiton.jaxx.widgets.number.NumberCellEditor;
import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.JTable;
+import javax.swing.border.LineBorder;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
+import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.util.Collection;
@@ -221,6 +225,14 @@ public class JXTableUtil {
return getDefaultTableRenderer(sv, true);
}
+ public static TableCellEditor newFloat2ColumnEditor() {
+ @SuppressWarnings("unchecked") NumberCellEditor<Float> editor = (NumberCellEditor<Float>) NumberCellEditor.newFloatColumnEditor();
+ editor.getNumberEditor().setSelectAllTextOnError(true);
+ editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2));
+ editor.getNumberEditor().setNumberPattern(SwingUtil.DECIMAL2_PATTERN);
+ return editor;
+ }
+
private static DefaultTableRenderer getDefaultTableRenderer(StringValue sv, boolean useStringValue) {
return getDefaultTableRenderer(sv, useStringValue, null);
}
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIInitializer.java
=====================================
@@ -174,8 +174,8 @@ public class SetDetailCompositionUIInitializer extends ContentSimpleUIInitialize
JXTableUtil.initEditors(table,
null,
NumberCellEditor.newIntegerColumnEditor(),
- NumberCellEditor.newFloatColumnEditor(),
- NumberCellEditor.newFloatColumnEditor());
+ JXTableUtil.newFloat2ColumnEditor(),
+ JXTableUtil.newFloat2ColumnEditor());
table.installTableKeyListener();
// table.installTableFocusListener();
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/SetDetailCompositionValidatorService.java
=====================================
@@ -92,7 +92,7 @@ public class SetDetailCompositionValidatorService {
Float basketFloatline1Length = basket.getFloatline1Length();
if (previousBasketFloatline2Length != null
&& basketFloatline1Length != null
- && Math.abs(previousBasketFloatline2Length - basketFloatline1Length) > 0.001f) {
+ && Math.abs(previousBasketFloatline2Length - basketFloatline1Length) > 0.01f) {
validationContext.addMessage(basketValidator, NuitonValidatorScope.ERROR, "floatline2Length", t("observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length", previousBasketFloatline2Length, basketFloatline1Length));
}
}
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ll/observation/SectionTemplateDto.java
=====================================
@@ -25,6 +25,7 @@ package fr.ird.observe.dto.data.ll.observation;
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
import io.ultreia.java4all.decoration.Decorated;
import io.ultreia.java4all.jaxx.widgets.length.nautical.NauticalLengthFormat;
+import io.ultreia.java4all.lang.Numbers;
import io.ultreia.java4all.lang.Strings;
import java.util.ArrayList;
@@ -72,7 +73,7 @@ public class SectionTemplateDto extends GeneratedSectionTemplateDto {
String[] parts = floatlineLengths.substring(0, floatlineLengths.indexOf(":")).split("/");
List<Float> newLengths = new ArrayList<>(parts.length);
for (String part : parts) {
- Float aFloat = Float.valueOf(part);
+ float aFloat = Numbers.roundTwoDigits(Float.valueOf(part));
newLengths.add(aFloat);
}
return newLengths;
@@ -105,8 +106,8 @@ public class SectionTemplateDto extends GeneratedSectionTemplateDto {
Iterator<BasketDto> basketIterator = baskets.iterator();
{
// on first basket, using the two first lengths
- floatline1 = unitFormat.convert(NauticalLengthFormat.M, lengthsIterator.next());
- floatline2 = unitFormat.convert(NauticalLengthFormat.M,lengthsIterator.next());
+ floatline1 = Numbers.roundTwoDigits(unitFormat.convert(NauticalLengthFormat.M, lengthsIterator.next()));
+ floatline2 = Numbers.roundTwoDigits(unitFormat.convert(NauticalLengthFormat.M,lengthsIterator.next()));
BasketDto basket = basketIterator.next();
basket.setFloatline1Length(floatline1);
basket.setFloatline2Length(floatline2);
@@ -114,7 +115,7 @@ public class SectionTemplateDto extends GeneratedSectionTemplateDto {
while (basketIterator.hasNext()) {
// floatline1 is previous floatline2
floatline1 = floatline2;
- floatline2 = unitFormat.convert(NauticalLengthFormat.M,lengthsIterator.next());
+ floatline2 = Numbers.roundTwoDigits(unitFormat.convert(NauticalLengthFormat.M,lengthsIterator.next()));
BasketDto basket = basketIterator.next();
basket.setFloatline1Length(floatline1);
basket.setFloatline2Length(floatline2);
=====================================
core/persistence/java/src/main/resources/META-INF/persistence/Observe/TopiaEntitySqlModel.json
=====================================
@@ -664,8 +664,8 @@
"settingIdentifier": "java.lang.Integer"
},
"decimalPropertiesScales": {
- "floatline1Length": 4,
- "floatline2Length": 4
+ "floatline1Length": 2,
+ "floatline2Length": 2
}
},
"replicationOrder": [
=====================================
core/persistence/java/src/main/resources/fr/ird/observe/entities/data/ll/observation/BasketImpl.hbm.xml
=====================================
@@ -38,10 +38,10 @@
<property name="settingIdentifier" access="field" type="java.lang.Integer" column="settingIdentifier" not-null="true"/>
<property name="haulingIdentifier" access="field" type="java.lang.Integer" column="haulingIdentifier"/>
<property name="floatline1Length" access="field" type="java.lang.Float">
- <column name="floatline1Length" precision="6" scale="4" sql-type="numeric"/>
+ <column name="floatline1Length" precision="6" scale="2" sql-type="numeric"/>
</property>
<property name="floatline2Length" access="field" type="java.lang.Float">
- <column name="floatline2Length" precision="6" scale="4" sql-type="numeric"/>
+ <column name="floatline2Length" precision="6" scale="2" sql-type="numeric"/>
</property>
<set name="branchline" order-by="settingIdentifier" lazy="true" cascade="all,delete-orphan" >
<key column="basket" foreign-key="fk_ll_observation_basket_branchline" not-null="true" />
=====================================
core/persistence/migration/src/main/java/fr/ird/observe/spi/migration/v9/DataSourceMigrationForVersion_9_4.java
=====================================
@@ -24,11 +24,17 @@ package fr.ird.observe.spi.migration.v9;
import com.google.auto.service.AutoService;
import fr.ird.observe.spi.migration.ByMajorMigrationVersionResource;
+import io.ultreia.java4all.lang.Numbers;
import io.ultreia.java4all.util.Version;
import io.ultreia.java4all.util.sql.SqlQuery;
import org.nuiton.topia.service.migration.resources.MigrationVersionResource;
import org.nuiton.topia.service.migration.resources.MigrationVersionResourceExecutor;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
/**
* Created at 11/09/2024.
*
@@ -46,9 +52,48 @@ public class DataSourceMigrationForVersion_9_4 extends ByMajorMigrationVersionRe
@Override
public void generateSqlScript(MigrationVersionResourceExecutor executor) {
boolean withIds = executor.findSingleResult(SqlQuery.wrap("SELECT COUNT (*) FROM common.person", r -> r.getInt(1) > 0));
+ if (withIds) {
+ // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2914
+ issue2914(executor);
+ }
+ }
+ private void issue2914(MigrationVersionResourceExecutor executor) {
+ executor.findMultipleResult(SqlQuery.wrap("SELECT topiaId, floatline1Length, floatline2Length FROM ll_observation.Basket WHERE floatline1Length IS NOT NULL OR floatline2Length IS NOT NULL", BasketRecord::new))
+ .stream()
+ .filter(BasketRecord::isModified)
+ .map(BasketRecord::toSql)
+ .forEach(executor::writeSql);
}
+ private static class BasketRecord {
+ private final String id;
+ private final Float floatline1Length;
+ private final Float floatline2Length;
+ private final boolean modified;
+
+ public BasketRecord(ResultSet r) throws SQLException {
+ this.id = r.getString(1);
+ Double floatline1Length = toDouble(r.getObject(2));
+ Double floatline2Length = toDouble(r.getObject(3));
+ this.floatline1Length = floatline1Length == null ? null : Numbers.roundNDigits(floatline1Length.floatValue(), 2);
+ this.floatline2Length = floatline2Length == null ? null : Numbers.roundNDigits(floatline2Length.floatValue(), 2);
+ this.modified = (this.floatline1Length != null && this.floatline1Length.toString().equals(floatline1Length.toString())) ||
+ (this.floatline2Length != null && this.floatline2Length.toString().equals(floatline2Length.toString()));
+ }
+
+ private static Double toDouble(Object r) {
+ return r == null ? null : new BigDecimal(r.toString()).setScale(10, RoundingMode.HALF_UP).doubleValue();
+ }
+
+ public boolean isModified() {
+ return modified;
+ }
+
+ public String toSql() {
+ return String.format("UPDATE ll_observation.Basket SET floatline1Length = %s, floatline2Length = %s WHERE topiaId ='%s';", floatline1Length, floatline2Length, id);
+ }
+ }
}
=====================================
model/src/main/models/Observe/persistence/attribute/digits.properties
=====================================
@@ -58,8 +58,8 @@ data.ll.observation.Activity.attribute.latitude=4
data.ll.observation.Activity.attribute.longitude=4
data.ll.observation.Activity.attribute.seaSurfaceTemperature=2
data.ll.observation.BaitsComposition.attribute.individualWeight=3
-data.ll.observation.Basket.attribute.floatline1Length=4
-data.ll.observation.Basket.attribute.floatline2Length=4
+data.ll.observation.Basket.attribute.floatline1Length=2
+data.ll.observation.Basket.attribute.floatline2Length=2
data.ll.observation.Branchline.attribute.branchlineLength=4
data.ll.observation.Branchline.attribute.snapWeight=3
data.ll.observation.Branchline.attribute.swivelWeight=3
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c834f986f40d80af8d7d3bdb…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c834f986f40d80af8d7d3bdb…
You're receiving this email because of your account on gitlab.com.
1
0