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
- 7199 discussions
Tony CHEMIT pushed to branch develop-9 at ultreiaio / ird-observe
Commits:
eaf1f9da by Tony Chemit at 2021-01-30T12:48:47+01:00
update pom
- - - - -
53ec0d69 by Tony Chemit at 2021-01-30T12:57:01+01:00
Move to 9.0.0-RC-1 and go to 9 baseline
- - - - -
30 changed files:
- .mvn/pom.gitflow.develop
- .mvn/pom.gitflow.master
- client/.mvn/pom.gitflow.develop
- client/.mvn/pom.gitflow.master
- client/configuration/.mvn/pom.gitflow.develop
- client/configuration/.mvn/pom.gitflow.master
- client/configuration/pom.xml
- client/core/.mvn/pom.gitflow.develop
- client/core/.mvn/pom.gitflow.master
- client/core/pom.xml
- + client/datasource/.mvn/pom.gitflow.develop
- + client/datasource/.mvn/pom.gitflow.master
- + client/datasource/.mvn/pom.organizationId
- + client/datasource/.mvn/pom.projectId
- + client/datasource/.mvn/pom.stageId
- client/datasource/actions/.mvn/pom.gitflow.develop
- client/datasource/actions/.mvn/pom.gitflow.master
- client/datasource/actions/pom.xml
- + client/datasource/editor/.mvn/pom.gitflow.develop
- + client/datasource/editor/.mvn/pom.gitflow.master
- + client/datasource/editor/.mvn/pom.organizationId
- + client/datasource/editor/.mvn/pom.projectId
- + client/datasource/editor/.mvn/pom.stageId
- client/datasource/editor/api-test/.mvn/pom.gitflow.develop
- client/datasource/editor/api-test/.mvn/pom.gitflow.master
- client/datasource/editor/api-test/pom.xml
- client/datasource/editor/api/.mvn/pom.gitflow.develop
- client/datasource/editor/api/.mvn/pom.gitflow.master
- client/datasource/editor/api/pom.xml
- client/datasource/editor/common/.mvn/pom.gitflow.develop
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d2365ce0597dafe6f8d9a604…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/d2365ce0597dafe6f8d9a604…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
eaf1f9da by Tony Chemit at 2021-01-30T12:48:47+01:00
update pom
- - - - -
1 changed file:
- pom.xml
Changes:
=====================================
pom.xml
=====================================
@@ -24,7 +24,7 @@
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
- <version>2021.3</version>
+ <version>2021.4</version>
</parent>
<groupId>fr.ird.observe</groupId>
@@ -154,7 +154,7 @@
<lib.version.h2>1.4.196</lib.version.h2>
<lib.version.nuiton.utils>3.0</lib.version.nuiton.utils>
- <lib.version.java4all.topia>1.40</lib.version.java4all.topia>
+ <!--lib.version.java4all.topia>1.40</lib.version.java4all.topia-->
<!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>-->
<!-- <lib.version.java4all.jaxx>3.0-alpha-92</lib.version.java4all.jaxx>-->
<!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>-->
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaf1f9da8dae459ed9d4e1844…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaf1f9da8dae459ed9d4e1844…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9] 43 commits: Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
by Tony CHEMIT 30 Jan '21
by Tony CHEMIT 30 Jan '21
30 Jan '21
Tony CHEMIT pushed to branch develop-9 at ultreiaio / ird-observe
Commits:
c0297045 by Tony Chemit at 2021-01-19T10:44:24+01:00
Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
- - - - -
25332936 by Tony Chemit at 2021-01-19T11:20:38+01:00
[jgitflow-maven-plugin]updating poms for 8.0.5-SNAPSHOT development[skip ci]
- - - - -
1c9cd2dd by Tony Chemit at 2021-01-19T11:21:15+01:00
[jgitflow-maven-plugin]updating poms for branch'release/8.0.4' with non-snapshot versions[skip ci]
- - - - -
7123ab14 by Tony Chemit at 2021-01-19T11:32:01+01:00
[jgitflow-maven-plugin]merging 'release/8.0.4' into 'master'
- - - - -
cb6473d6 by Tony Chemit at 2021-01-19T11:32:04+01:00
[jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci]
- - - - -
0c465330 by Tony Chemit at 2021-01-19T11:32:05+01:00
[jgitflow-maven-plugin]merging 'master' into 'develop'
- - - - -
332a6e99 by Tony Chemit at 2021-01-19T11:32:05+01:00
[jgitflow-maven-plugin]Updating develop poms back to pre merge state[skip ci]
- - - - -
72e4976e by Tony Chemit at 2021-01-20T15:51:02+01:00
update CHANGELOG [skip ci]
- - - - -
9135411f by Tony Chemit at 2021-01-20T20:23:08+01:00
Dysfonctionnement de l'arbre - Closes #1763
- - - - -
064d69ff by Tony Chemit at 2021-01-20T21:13:20+01:00
Introduce a way to extract schema or table from generated schema (help to create new safe migration for v9)
- - - - -
5fc94916 by Tony Chemit at 2021-01-20T22:45:21+01:00
Improve ExtraTable and ExtractSchema
- - - - -
429a3949 by Tony Chemit at 2021-01-21T13:09:18+01:00
Fix NPE if no species on NonTargetReleaseUI
- - - - -
a27ecc60 by Tony Chemit at 2021-01-21T13:09:57+01:00
Fix ReferentialCache to be able to use the incoming form object to filter
- - - - -
f09a98fb by Tony Chemit at 2021-01-21T13:10:47+01:00
Review ContentTableUI delete extra message (this should be always specialized, and no using a default message for all the form).
- - - - -
605b4b11 by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures conservées - Closes #1765
- - - - -
bced957e by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures rejetées - Closes #1766
- - - - -
4c1ca99d by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade de la faune accessoire - Closes #1767
- - - - -
e8ee529f by Tony Chemit at 2021-01-21T18:19:47+01:00
Suppression en cade des libérations de capture accessoire - Closes #1768
- - - - -
69257b76 by Tony Chemit at 2021-01-22T09:38:55+01:00
Micro bizarrerie sur le modèle 8.0 - Closes #1764
- - - - -
e473bd86 by Tony Chemit at 2021-01-22T10:35:05+01:00
Disponibilité du sélecteur DMS / DMD / DD - Closes #1717
- - - - -
f3977cee by Tony Chemit at 2021-01-22T10:54:34+01:00
Petit défaut d'affichage d'une liste à choix multiple - Closes #1770
- - - - -
65848f2e by Tony Chemit at 2021-01-22T10:54:54+01:00
Tailles d'icônes différentes sur le même niveau de hiérarchie - Closes #1769
- - - - -
cf3e58bb by Tony Chemit at 2021-01-22T15:02:47+01:00
Problème de sauvegarde libération espèce sensible - Closes #1771
- - - - -
54ba847a by Tony Chemit at 2021-01-23T09:46:55+01:00
Use now containerDto (make us remove a lots of code we now generate)
- - - - -
77caeba3 by Tony Chemit at 2021-01-23T16:44:16+01:00
* Sanitize service API and Local API
* Align it to DataDto type
* Make neutral ObserveServiceLocal
- - - - -
20c9f26c by Tony Chemit at 2021-01-23T16:44:16+01:00
* Align UI to DataDto type
* Simplify UI code (add more method final)
- - - - -
71d00f50 by Tony Chemit at 2021-01-23T16:44:16+01:00
Put config color in UIManager
- - - - -
1e6f7ff2 by Tony Chemit at 2021-01-23T16:44:16+01:00
Use now config color in navigation tree
- - - - -
8d709c05 by Tony Chemit at 2021-01-24T18:44:30+01:00
Introduce DtoMetaTransformer to augments dto model (this is a first step, we will later improve it to minimize as much as possible stuff to write in models)
Rename FloatingObect sub dto to respect convention over configuration on ContainerDto.
- - - - -
0d7934bb by Tony Chemit at 2021-01-25T10:08:56+01:00
augments reference in dto model
- - - - -
e6807f21 by Tony Chemit at 2021-01-25T17:06:32+01:00
make observe tag values available in eugene :)
- - - - -
44fc8be6 by Tony Chemit at 2021-01-25T17:39:25+01:00
introduce tag values extractor
- - - - -
96b19535 by Tony Chemit at 2021-01-27T11:54:24+01:00
fix tag value by adding a basic space after tag value section
- - - - -
0c798c03 by Tony Chemit at 2021-01-27T11:55:03+01:00
remove bad tag value usage
- - - - -
26b984f7 by Tony Chemit at 2021-01-27T11:55:28+01:00
add tag values in toolkit store (and remove unused one)
- - - - -
035bef8f by Tony Chemit at 2021-01-27T11:56:42+01:00
* introduce tag values extractor and use it on dto model
* need now to remove any tag value from models files
- - - - -
30c6c515 by Tony Chemit at 2021-01-27T19:00:07+01:00
Use new models maven layout (two models by domain + one new for migration)
- - - - -
bf6cbc8b by Tony Chemit at 2021-01-28T19:11:52+01:00
Improve tag-values code and apply it also for packages
- - - - -
1d55e100 by Tony Chemit at 2021-01-29T12:36:29+01:00
Use last Topia extension API :
* generate flat-layout for hibernate mapping
* do no generate stuff for abstract entities
* stop generating dao bad design code
* reuse natural ids \o/
- - - - -
b655220d by Tony Chemit at 2021-01-30T10:24:15+01:00
Rename containerDto.getSize to ContainerDto.getChildrenSize (in v9 we got a Sample.size property (and Sample is containerDto...)
- - - - -
6fcc22f0 by Tony Chemit at 2021-01-30T11:03:31+01:00
Remove for the moment any natural id (since we do not want to change database model)
- - - - -
64f4e17c by Tony Chemit at 2021-01-30T11:03:31+01:00
Fix tag values extractor (for new keys on package)
- - - - -
d2365ce0 by Tony Chemit at 2021-01-30T11:11:22+01:00
Move to 9.0.0-RC-1 and go to 9 baseline
- - - - -
30 changed files:
- .mvn/pom.gitflow.develop
- .mvn/pom.gitflow.master
- CHANGELOG.md
- client/.mvn/pom.gitflow.develop
- client/.mvn/pom.gitflow.master
- client/configuration/.mvn/pom.gitflow.develop
- client/configuration/.mvn/pom.gitflow.master
- client/configuration/pom.xml
- client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client/core/.mvn/pom.gitflow.develop
- client/core/.mvn/pom.gitflow.master
- client/core/pom.xml
- client/core/src/main/java/fr/ird/observe/client/ClientUIContext.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesCache.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilter.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilterHelper.java
- client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java
- client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java
- client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializerContext.java
- client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java
- client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss
- + client/datasource/.mvn/pom.gitflow.develop
- + client/datasource/.mvn/pom.gitflow.master
- models/dto-definition/.mvn/pom.organizationId → client/datasource/.mvn/pom.organizationId
- models/dto-definition/.mvn/pom.projectId → client/datasource/.mvn/pom.projectId
- models/dto-definition/.mvn/pom.stageId → client/datasource/.mvn/pom.stageId
- client/datasource/actions/.mvn/pom.gitflow.develop
- client/datasource/actions/.mvn/pom.gitflow.master
- client/datasource/actions/pom.xml
- + client/datasource/editor/.mvn/pom.gitflow.develop
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/acf42c76e3adf9ed8e8c0b9c…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/acf42c76e3adf9ed8e8c0b9c…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Rename containerDto.getSize to ContainerDto.getChildrenSize (in v9 we got a...
by Tony CHEMIT 30 Jan '21
by Tony CHEMIT 30 Jan '21
30 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
b655220d by Tony Chemit at 2021-01-30T10:24:15+01:00
Rename containerDto.getSize to ContainerDto.getChildrenSize (in v9 we got a Sample.size property (and Sample is containerDto...)
- - - - -
6fcc22f0 by Tony Chemit at 2021-01-30T11:03:31+01:00
Remove for the moment any natural id (since we do not want to change database model)
- - - - -
64f4e17c by Tony Chemit at 2021-01-30T11:03:31+01:00
Fix tag values extractor (for new keys on package)
- - - - -
16 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModel.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/SaveContentTableUIAdapter.java
- models/persistence/definition/pom.xml
- − models/persistence/definition/src/main/models/Observe/persistence/attribute/naturalId.properties
- − models/persistence/definition/src/main/models/Observe/persistence/class/naturalIdMutable.properties
- models/persistence/migration/src/main/resources/db/migration/8.0/observe_create-schema-H2.sql
- models/persistence/migration/src/main/resources/db/migration/8.0/observe_create-schema-PG.sql
- models/persistence/migration/src/main/resources/db/migration/8.0/observe_full-schema-H2.sql
- models/persistence/migration/src/main/resources/db/migration/8.0/observe_full-schema-PG.sql
- tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
- tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
- tests/test/src/main/resources/db/8.0/empty_h2.sql.gz
- tests/test/src/main/resources/db/8.0/empty_pg.sql.gz
- tests/test/src/main/resources/db/8.0/referentiel.sql.gz
- toolkit/dto/src/main/java/fr/ird/observe/dto/data/ContainerDto.java
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/io/TagValuesExtractor.java
Changes:
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIModel.java
=====================================
@@ -75,7 +75,7 @@ public abstract class ContentTableUIModel<D extends DataDto, C extends Container
log.info(String.format("Load Form from id: %s", selectedId));
Form<D> form = loadForm(servicesProvider, selectedId);
if (form.getObject() instanceof ContainerDto) {
- getSource().updateCount(((ContainerDto<?>) form.getObject()).getSize());
+ getSource().updateCount(((ContainerDto<?>) form.getObject()).getChildrenSize());
}
getStates().openForm(form);
return form;
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/SaveContentTableUIAdapter.java
=====================================
@@ -43,7 +43,7 @@ public class SaveContentTableUIAdapter<D extends DataDto, U extends ContentTable
ui.getHandler().getResetAction().doReset();
ContentTableUINavigationNode node = ui.getModel().getSource();
if (savedBean instanceof ContainerDto) {
- node.updateCount(((ContainerDto<?>) savedBean).getSize());
+ node.updateCount(((ContainerDto<?>) savedBean).getChildrenSize());
}
NavigationNode parent = node.getParent();
//FIXME We should not have to do this: parent data should only be on parent, children should not have to recompute parent data???
=====================================
models/persistence/definition/pom.xml
=====================================
@@ -33,4 +33,35 @@
<model.defaultPackage>fr.ird.observe.entities</model.defaultPackage>
<model.fullPackagePath>fr.ird.observe</model.fullPackagePath>
</properties>
+ <!--
+naturalId attribute tagValue (remove now but will be back)
+
+referential.common.LengthLengthParameter.attribute.endDate=true
+referential.common.LengthLengthParameter.attribute.ocean=true
+referential.common.LengthLengthParameter.attribute.sex=true
+referential.common.LengthLengthParameter.attribute.species=true
+referential.common.LengthLengthParameter.attribute.startDate=true
+referential.common.LengthWeightParameter.attribute.endDate=true
+referential.common.LengthWeightParameter.attribute.ocean=true
+referential.common.LengthWeightParameter.attribute.sex=true
+referential.common.LengthWeightParameter.attribute.species=true
+referential.common.LengthWeightParameter.attribute.startDate=true
+referential.common.Person.attribute.firstName=true
+referential.common.Person.attribute.lastName=true
+referential.common.ShipOwner.attribute.endDate=true
+referential.common.ShipOwner.attribute.label=true
+referential.common.ShipOwner.attribute.startDate=true
+referential.common.Species.attribute.faoCode=true
+referential.common.VesselSizeCategory.attribute.capacityLabel=true
+referential.common.VesselSizeCategory.attribute.gaugeLabel=true
+
+naturalIdMutable class tagValue (remove now but will be back)
+
+referential.common.LengthLengthParameter=true
+referential.common.LengthWeightParameter=true
+referential.common.Person=true
+referential.common.ShipOwner=true
+referential.common.Species=true
+referential.common.VesselSizeCategory=true
+-->
</project>
=====================================
models/persistence/definition/src/main/models/Observe/persistence/attribute/naturalId.properties deleted
=====================================
@@ -1,39 +0,0 @@
-###
-# #%L
-# ObServe Models :: Persistence :: Definition
-# %%
-# Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
-referential.common.LengthLengthParameter.attribute.endDate=true
-referential.common.LengthLengthParameter.attribute.ocean=true
-referential.common.LengthLengthParameter.attribute.sex=true
-referential.common.LengthLengthParameter.attribute.species=true
-referential.common.LengthLengthParameter.attribute.startDate=true
-referential.common.LengthWeightParameter.attribute.endDate=true
-referential.common.LengthWeightParameter.attribute.ocean=true
-referential.common.LengthWeightParameter.attribute.sex=true
-referential.common.LengthWeightParameter.attribute.species=true
-referential.common.LengthWeightParameter.attribute.startDate=true
-referential.common.Person.attribute.firstName=true
-referential.common.Person.attribute.lastName=true
-referential.common.ShipOwner.attribute.endDate=true
-referential.common.ShipOwner.attribute.label=true
-referential.common.ShipOwner.attribute.startDate=true
-referential.common.Species.attribute.faoCode=true
-referential.common.VesselSizeCategory.attribute.capacityLabel=true
-referential.common.VesselSizeCategory.attribute.gaugeLabel=true
=====================================
models/persistence/definition/src/main/models/Observe/persistence/class/naturalIdMutable.properties deleted
=====================================
@@ -1,27 +0,0 @@
-###
-# #%L
-# ObServe Models :: Persistence :: Definition
-# %%
-# Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
-referential.common.LengthLengthParameter=true
-referential.common.LengthWeightParameter=true
-referential.common.Person=true
-referential.common.ShipOwner=true
-referential.common.Species=true
-referential.common.VesselSizeCategory=true
=====================================
models/persistence/migration/src/main/resources/db/migration/8.0/observe_create-schema-H2.sql
=====================================
@@ -19,8 +19,8 @@
-- <http://www.gnu.org/licenses/gpl-3.0.html>.
-- #L%
---
-CREATE SCHEMA ps_common;
CREATE SCHEMA common;
+CREATE SCHEMA ps_common;
CREATE SCHEMA ll_observation;
CREATE SCHEMA ll_common;
CREATE SCHEMA ps_observation;
=====================================
models/persistence/migration/src/main/resources/db/migration/8.0/observe_create-schema-PG.sql
=====================================
@@ -19,8 +19,8 @@
-- <http://www.gnu.org/licenses/gpl-3.0.html>.
-- #L%
---
-CREATE SCHEMA ps_common;
CREATE SCHEMA common;
+CREATE SCHEMA ps_common;
CREATE SCHEMA ll_observation;
CREATE SCHEMA ll_common;
CREATE SCHEMA ps_observation;
=====================================
models/persistence/migration/src/main/resources/db/migration/8.0/observe_full-schema-H2.sql
=====================================
@@ -19,8 +19,8 @@
-- <http://www.gnu.org/licenses/gpl-3.0.html>.
-- #L%
---
-CREATE SCHEMA ps_common;
CREATE SCHEMA common;
+CREATE SCHEMA ps_common;
CREATE SCHEMA ll_observation;
CREATE SCHEMA ll_common;
CREATE SCHEMA ps_observation;
=====================================
models/persistence/migration/src/main/resources/db/migration/8.0/observe_full-schema-PG.sql
=====================================
@@ -19,8 +19,8 @@
-- <http://www.gnu.org/licenses/gpl-3.0.html>.
-- #L%
---
-CREATE SCHEMA ps_common;
CREATE SCHEMA common;
+CREATE SCHEMA ps_common;
CREATE SCHEMA ll_observation;
CREATE SCHEMA ll_common;
CREATE SCHEMA ps_observation;
=====================================
tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz and b/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz and b/tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/empty_h2.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/empty_h2.sql.gz and b/tests/test/src/main/resources/db/8.0/empty_h2.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/empty_pg.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/empty_pg.sql.gz and b/tests/test/src/main/resources/db/8.0/empty_pg.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/referentiel.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/referentiel.sql.gz and b/tests/test/src/main/resources/db/8.0/referentiel.sql.gz differ
=====================================
toolkit/dto/src/main/java/fr/ird/observe/dto/data/ContainerDto.java
=====================================
@@ -67,7 +67,7 @@ public abstract class ContainerDto<C extends ContainerChildDto> extends DataDto
return !isEmpty();
}
- public int getSize() {
+ public int getChildrenSize() {
return getChildren() == null ? 0 : getChildren().size();
}
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/io/TagValuesExtractor.java
=====================================
@@ -110,23 +110,44 @@ public class TagValuesExtractor {
public Map<String, String> loadFromModel(String tagValuesKey) {
String[] tagParts = tagValuesKey.split("-");
String tagType = tagParts[0];
- String tagToReplace = "." + tagParts[1] + "." + tagParts[2];
+ String middle = tagParts[1];
int beginIndex = packageName.length() + 1;
Map<String, String> currentTagValues = new TreeMap<>();
for (String k : tagValueKeysByTagValue.get(tagValuesKey)) {
String value = allTagValues.get(k);
- String key = k.replace(tagType + ".", "");
- key = key.substring(beginIndex);
- if (key.equals(tagToReplace.substring(1))) {
- key = "@@";
- } else {
- key = key.replace(tagToReplace, "");
+ String key;
+ switch (tagType) {
+ case "package":
+ // package.fr.ird.observe.dto.data.ll.common.tagValue.xxx → data.ll.common
+ // package.fr.ird.observe.dto.tagValue.xxx → @@
+ key = k.substring(tagType.length() + beginIndex, k.indexOf(middle) - 1);
+ // package.fr.ird.observe.dto.data.ll.common.tagValue.xxx → .data.ll.common
+ // package.fr.ird.observe.dto.tagValue.xxx → .
+ if (key.equals("")) {
+ // empty → @@
+ key = "@@";
+ } else {
+ // .data.ll.common → data.ll.common
+ key = key.substring(1);
+ }
+ break;
+ case "class":
+ // fr.ird.observe.dto.result.SaveResult.class.tagValue.skip=true → result.SaveResult
+ key = k.substring(beginIndex, k.indexOf(tagType) - 1);
+ break;
+ case "attribute":
+ // fr.ird.observe.dto.result.SaveResult.attribute.test.tagValue.skip=true → result.SaveResult.attribute.test
+ key = k.substring(beginIndex, k.indexOf(middle) - 1);
+ break;
+ default:
+ throw new IllegalStateException("Can't manage value of type: " + tagType);
}
+
currentTagValues.put(key, value);
properties.setProperty(k, value);
}
- String index = tagValuesKey.replace("-tagValue", "").replaceAll("-", ".");
+ String index = tagValuesKey.replace("-" + middle, "").replaceAll("-", ".");
list.add(index);
return currentTagValues;
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1d55e10088a6e574196202e8…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1d55e10088a6e574196202e8…
You're receiving this email because of your account on gitlab.com.
1
0
29 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
1d55e100 by Tony Chemit at 2021-01-29T12:36:29+01:00
Use last Topia extension API :
* generate flat-layout for hibernate mapping
* do no generate stuff for abstract entities
* stop generating dao bad design code
* reuse natural ids \o/
- - - - -
3 changed files:
- + models/persistence/definition/src/main/models/Observe/persistence/class/naturalIdMutable.properties
- pom.xml
- toolkit/persistence/src/main/java/fr/ird/observe/entities/AbstractObserveTopiaDao.java
Changes:
=====================================
models/persistence/definition/src/main/models/Observe/persistence/class/naturalIdMutable.properties
=====================================
@@ -0,0 +1,27 @@
+###
+# #%L
+# ObServe Models :: Persistence :: Definition
+# %%
+# Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/gpl-3.0.html>.
+# #L%
+###
+referential.common.LengthLengthParameter=true
+referential.common.LengthWeightParameter=true
+referential.common.Person=true
+referential.common.ShipOwner=true
+referential.common.Species=true
+referential.common.VesselSizeCategory=true
=====================================
pom.xml
=====================================
@@ -154,7 +154,7 @@
<lib.version.h2>1.4.196</lib.version.h2>
<lib.version.nuiton.utils>3.0</lib.version.nuiton.utils>
- <lib.version.java4all.topia>1.39</lib.version.java4all.topia>
+ <lib.version.java4all.topia>1.40</lib.version.java4all.topia>
<!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>-->
<!-- <lib.version.java4all.jaxx>3.0-alpha-92</lib.version.java4all.jaxx>-->
<!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>-->
=====================================
toolkit/persistence/src/main/java/fr/ird/observe/entities/AbstractObserveTopiaDao.java
=====================================
@@ -24,6 +24,7 @@ package fr.ird.observe.entities;
import fr.ird.observe.dto.IdDto;
import org.nuiton.topia.persistence.HqlAndParametersBuilder;
+import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityEnum;
import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.topia.persistence.internal.AbstractTopiaDao;
@@ -77,4 +78,28 @@ public abstract class AbstractObserveTopiaDao<E extends Entity> extends Abstract
}
});
}
+
+ @Override
+ public <R extends TopiaEntity> List<R> findUsages(Class<R> type, E entity) {
+ // No more used by us, prefer use the TopiaUsageService which is more performant
+ return null;
+ }
+
+ @Override
+ public Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> findAllUsages(E entity) {
+ // No more used by us, prefer use the TopiaUsageService which is more performant
+ return null;
+ }
+
+ @Override
+ public List<TopiaEntity> getComposite(E entity) {
+ // Never wants to use this, prefer use TopiaMetadataModel
+ return null;
+ }
+
+ @Override
+ public List<TopiaEntity> getAggregate(E entity) {
+ // Never wants to use this, prefer use TopiaMetadataModel
+ return null;
+ }
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/1d55e10088a6e574196202e8e…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/1d55e10088a6e574196202e8e…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Improve tag-values code and apply it also for packages
by Tony CHEMIT 28 Jan '21
by Tony CHEMIT 28 Jan '21
28 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
bf6cbc8b by Tony Chemit at 2021-01-28T19:11:52+01:00
Improve tag-values code and apply it also for packages
- - - - -
30 changed files:
- models/dto/definition/src/main/models/Observe/dto/00-common.model
- models/dto/definition/src/main/models/Observe/dto/01-referential-common.model
- models/dto/definition/src/main/models/Observe/dto/02-referential-ps-common.model
- models/dto/definition/src/main/models/Observe/dto/03-referential-ps-observation.model
- models/dto/definition/src/main/models/Observe/dto/10-referential-ll-common.model
- models/dto/definition/src/main/models/Observe/dto/11-referential-ll-observation.model
- models/dto/definition/src/main/models/Observe/dto/12-referential-ll-logbook.model
- models/dto/definition/src/main/models/Observe/dto/13-referential-ll-landing.model
- models/dto/definition/src/main/models/Observe/dto/20-data-ps-observation.model
- models/dto/definition/src/main/models/Observe/dto/25-data-ps-common.model
- models/dto/definition/src/main/models/Observe/dto/30-data-ll-observation.model
- models/dto/definition/src/main/models/Observe/dto/31-data-ll-logbook.model
- models/dto/definition/src/main/models/Observe/dto/32-data-ll-landing.model
- models/dto/definition/src/main/models/Observe/dto/35-data-ll-common.model
- models/dto/definition/src/main/models/Observe/dto/class/comparator.properties
- models/dto/definition/src/main/models/Observe/dto/class/constants.properties
- models/dto/definition/src/main/models/Observe/dto/class/form.properties
- models/dto/definition/src/main/models/Observe/dto/class/mainDto.properties
- models/dto/definition/src/main/models/Observe/dto/class/navigationEntryPoint.properties
- models/dto/definition/src/main/models/Observe/dto/class/navigationParent.properties
- models/dto/definition/src/main/models/Observe/dto/class/references.properties
- models/dto/definition/src/main/models/Observe/dto/class/skip.properties
- + models/dto/definition/src/main/models/Observe/dto/package/bean.properties
- + models/dto/definition/src/main/models/Observe/dto/package/form.properties
- + models/dto/definition/src/main/models/Observe/dto/package/packagePriority.properties
- − models/dto/definition/src/main/models/Observe/dto/tagValues.list
- models/persistence/definition/src/main/models/Observe/persistence/00-common.model
- models/persistence/definition/src/main/models/Observe/persistence/01-referential-common.model
- models/persistence/definition/src/main/models/Observe/persistence/02-referential-ps-common.model
- models/persistence/definition/src/main/models/Observe/persistence/03-referential-ps-observation.model
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/bf6cbc8baa179e9039fb6f7da…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/bf6cbc8baa179e9039fb6f7da…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Use new models maven layout (two models by domain + one new for migration)
by Tony CHEMIT 27 Jan '21
by Tony CHEMIT 27 Jan '21
27 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
30c6c515 by Tony Chemit at 2021-01-27T19:00:07+01:00
Use new models maven layout (two models by domain + one new for migration)
- - - - -
30 changed files:
- client/configuration/pom.xml
- client/core/pom.xml
- client/datasource/actions/pom.xml
- client/datasource/editor/api/pom.xml
- client/datasource/editor/common/pom.xml
- client/datasource/editor/ll/pom.xml
- client/datasource/editor/pom.xml
- client/datasource/editor/ps/pom.xml
- client/datasource/editor/spi/pom.xml
- client/runner/pom.xml
- − models/dto-definition/pom.xml
- − models/dto-definition/src/main/models/Observe-00-common.model
- − models/dto-definition/src/main/models/Observe-01-referential-common.model
- − models/dto-definition/src/main/models/Observe-02-referential-ps-common.model
- − models/dto-definition/src/main/models/Observe-03-referential-ps-observation.model
- − models/dto-definition/src/main/models/Observe-11-referential-ll-observation.model
- − models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
- − models/dto-definition/src/main/models/Observe-25-data-ps.model
- − models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
- − models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model
- − models/dto-definition/src/main/models/Observe-32-data-ll-landing.model
- − models/dto-definition/src/main/models/Observe-35-data-ll.model
- − models/dto-definition/src/main/models/Observe/dto/attribute/mayNotNull.properties
- − models/dto-definition/src/main/models/Observe/dto/attribute/notNull.properties
- − models/dto-definition/src/main/models/Observe/dto/attribute/ordered.properties
- − models/dto-definition/src/main/models/Observe/dto/attribute/positiveNumber.properties
- − models/dto-definition/src/main/models/Observe/dto/attribute/strictlyPositiveNumber.properties
- − models/dto-definition/src/main/models/Observe/dto/attribute/unique.properties
- − models/dto-definition/src/main/models/Observe/dto/class/comparator.properties
- − models/dto-definition/src/main/models/Observe/dto/class/constants.properties
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/30c6c515ef3e04a680ec16ca0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/30c6c515ef3e04a680ec16ca0…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 4 commits: fix tag value by adding a basic space after tag value section
by Tony CHEMIT 27 Jan '21
by Tony CHEMIT 27 Jan '21
27 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
96b19535 by Tony Chemit at 2021-01-27T11:54:24+01:00
fix tag value by adding a basic space after tag value section
- - - - -
0c798c03 by Tony Chemit at 2021-01-27T11:55:03+01:00
remove bad tag value usage
- - - - -
26b984f7 by Tony Chemit at 2021-01-27T11:55:28+01:00
add tag values in toolkit store (and remove unused one)
- - - - -
035bef8f by Tony Chemit at 2021-01-27T11:56:42+01:00
* introduce tag values extractor and use it on dto model
* need now to remove any tag value from models files
- - - - -
26 changed files:
- + models/dto-definition/.mvn/models-dto
- models/dto-definition/pom.xml
- models/dto-definition/src/main/models/Observe-01-referential-common.model
- models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
- + models/dto-definition/src/main/models/Observe/dto/attribute/mayNotNull.properties
- + models/dto-definition/src/main/models/Observe/dto/attribute/notNull.properties
- + models/dto-definition/src/main/models/Observe/dto/attribute/ordered.properties
- + models/dto-definition/src/main/models/Observe/dto/attribute/positiveNumber.properties
- + models/dto-definition/src/main/models/Observe/dto/attribute/strictlyPositiveNumber.properties
- + models/dto-definition/src/main/models/Observe/dto/attribute/unique.properties
- + models/dto-definition/src/main/models/Observe/dto/class/comparator.properties
- + models/dto-definition/src/main/models/Observe/dto/class/constants.properties
- + models/dto-definition/src/main/models/Observe/dto/class/form.properties
- + models/dto-definition/src/main/models/Observe/dto/class/mainDto.properties
- + models/dto-definition/src/main/models/Observe/dto/class/navigationEntryPoint.properties
- + models/dto-definition/src/main/models/Observe/dto/class/navigationParent.properties
- + models/dto-definition/src/main/models/Observe/dto/class/references.properties
- + models/dto-definition/src/main/models/Observe/dto/class/skip.properties
- + models/dto-definition/src/main/models/Observe/dto/tagValues.list
- models/persistence/src/main/models/Observe-25-data-ps-common.model
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
- + toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ExtractTagValues.java
- + toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/LoadTagValues.java
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/BusinessProjectTransformer.java
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/NavigationModelHelper.java
Changes:
=====================================
models/dto-definition/.mvn/models-dto
=====================================
=====================================
models/dto-definition/pom.xml
=====================================
@@ -33,6 +33,12 @@
<name>ObServe Models :: Dto definition</name>
<description>ObServe Models Dto definition module</description>
+ <properties>
+ <eugene.templates>fr.ird.observe.toolkit.templates.ExtractTagValues</eugene.templates>
+ <eugene.defaultPackage>fr.ird.observe.dto</eugene.defaultPackage>
+ <eugene.useI18n>false</eugene.useI18n>
+ </properties>
+
<build>
<resources>
=====================================
models/dto-definition/src/main/models/Observe-01-referential-common.model
=====================================
@@ -94,7 +94,7 @@ dataEntryOperator + {*:1} boolean
dataSource + {*:1} boolean
country {*:0..1} referential.common.CountryReference | notNull
-referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate NavigationEntryPoint
+referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate navigationEntryPoint
nonTargetObservation + {*:1} int
targetDiscardsObservation + {*:1} int
samplesObservation + {*:1} int
=====================================
models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
=====================================
@@ -172,7 +172,7 @@ settingShape {*:1} referential.ll.common.SettingShapeReference
lineType {*:0..1} referential.ll.common.LineTypeReference
lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference
lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference
-otherSets {*} data.ll.observation.SetStub | mainDto=skip
+otherSets {*} data.ll.observation.SetStub
data.ll.observation.SetCatch > data.Container >> data.ll.observation.LonglinePositionContainerAware
catches {*} data.ll.observation.Catch | ordered
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/mayNotNull.properties
=====================================
@@ -0,0 +1,60 @@
+data.ll.common.Trip.attribute.captain=true
+data.ll.common.Trip.attribute.departureHarbour=true
+data.ll.common.Trip.attribute.landingHarbour=true
+data.ll.common.Trip.attribute.species=true
+data.ll.common.TripGearUseFeatures.attribute.gearUseFeatures=true
+data.ll.landing.Landing.attribute.processingCompany=true
+data.ll.logbook.Activity.attribute.endTimeStamp=true
+data.ll.logbook.Activity.attribute.fpaZone=true
+data.ll.logbook.Activity.attribute.latitude=true
+data.ll.logbook.Activity.attribute.longitude=true
+data.ll.logbook.Activity.attribute.quadrant=true
+data.ll.logbook.Activity.attribute.relatedObservedActivity=true
+data.ll.logbook.Activity.attribute.seaSurfaceTemperature=true
+data.ll.logbook.Set.attribute.basketsPerSectionCount=true
+data.ll.logbook.Set.attribute.branchlinesPerBasketCount=true
+data.ll.logbook.Set.attribute.haulingBreaks=true
+data.ll.logbook.Set.attribute.lightsticksPerBasketCount=true
+data.ll.observation.Activity.attribute.fpaZone=true
+data.ll.observation.Activity.attribute.seaSurfaceTemperature=true
+data.ll.observation.Branchline.attribute.topType=true
+data.ll.observation.Branchline.attribute.tracelineType=true
+data.ll.observation.Encounter.attribute.count=true
+data.ll.observation.Encounter.attribute.distance=true
+data.ll.observation.Encounter.attribute.species=true
+data.ll.observation.SensorUsed.attribute.sensorSerialNo=true
+data.ll.observation.Set.attribute.haulingBreaks=true
+data.ps.common.Trip.attribute.captain=true
+data.ps.common.Trip.attribute.dataEntryOperator=true
+data.ps.common.Trip.attribute.landingHarbour=true
+data.ps.common.TripGearUseFeatures.attribute.gearUseFeatures=true
+data.ps.observation.Activity.attribute.observedSystemDistance=true
+data.ps.observation.Activity.attribute.seaSurfaceTemperature=true
+data.ps.observation.Activity.attribute.surroundingActivity=true
+data.ps.observation.Activity.attribute.wind=true
+data.ps.observation.NonTargetLength.attribute.speciesFate=true
+data.ps.observation.Set.attribute.currentDirection=true
+data.ps.observation.TransmittingBuoy.attribute.code=true
+referential.Referential.attribute.uri=true
+referential.common.FpaZone.attribute.endDate=true
+referential.common.FpaZone.attribute.startDate=true
+referential.common.Harbour.attribute.latitude=true
+referential.common.Harbour.attribute.locode=true
+referential.common.Harbour.attribute.longitude=true
+referential.common.Harbour.attribute.quadrant=true
+referential.common.LengthFormulaSupport.attribute.endDate=true
+referential.common.LengthFormulaSupport.attribute.startDate=true
+referential.common.Organism.attribute.description=true
+referential.common.Program.attribute.endDate=true
+referential.common.Program.attribute.startDate=true
+referential.common.ShipOwner.attribute.endDate=true
+referential.common.ShipOwner.attribute.startDate=true
+referential.common.Species.attribute.faoCode=true
+referential.common.Species.attribute.ocean=true
+referential.common.Species.attribute.wormsId=true
+referential.common.SpeciesList.attribute.species=true
+referential.common.Vessel.attribute.changeDate=true
+referential.ps.common.ObjectMaterial.attribute.legacyCode=true
+referential.ps.common.ObjectMaterial.attribute.objectMaterialType=true
+referential.ps.common.ObjectMaterial.attribute.parent=true
+referential.ps.common.ObjectMaterial.attribute.standardCode=true
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/notNull.properties
=====================================
@@ -0,0 +1,155 @@
+data.ContainerChildWithProportion.attribute.proportion=true
+data.ll.common.GearUseFeatures.attribute.gear=true
+data.ll.common.GearUseFeatures.attribute.number=true
+data.ll.common.Trip.attribute.endDate=true
+data.ll.common.Trip.attribute.ocean=true
+data.ll.common.Trip.attribute.startDate=true
+data.ll.common.Trip.attribute.tripType=true
+data.ll.common.Trip.attribute.vessel=true
+data.ll.landing.Landing.attribute.harbour=true
+data.ll.landing.LandingPart.attribute.species=true
+data.ll.landing.LandingPart.attribute.weight=true
+data.ll.logbook.Activity.attribute.startTimeStamp=true
+data.ll.logbook.Activity.attribute.vesselActivity=true
+data.ll.logbook.ActivitySample.attribute.timeStamp=true
+data.ll.logbook.BaitsComposition.attribute.baitType=true
+data.ll.logbook.BranchlinesComposition.attribute.length=true
+data.ll.logbook.BranchlinesComposition.attribute.topType=true
+data.ll.logbook.BranchlinesComposition.attribute.tracelineType=true
+data.ll.logbook.Catch.attribute.catchFate=true
+data.ll.logbook.Catch.attribute.species=true
+data.ll.logbook.FloatlinesComposition.attribute.length=true
+data.ll.logbook.FloatlinesComposition.attribute.lineType=true
+data.ll.logbook.HooksComposition.attribute.hookType=true
+data.ll.logbook.Sample.attribute.timeStamp=true
+data.ll.logbook.SamplePart.attribute.count=true
+data.ll.logbook.SamplePart.attribute.species=true
+data.ll.logbook.Set.attribute.haulingEndTimeStamp=true
+data.ll.logbook.Set.attribute.haulingStartTimeStamp=true
+data.ll.logbook.Set.attribute.settingEndTimeStamp=true
+data.ll.logbook.Set.attribute.settingStartLatitude=true
+data.ll.logbook.Set.attribute.settingStartLongitude=true
+data.ll.logbook.Set.attribute.settingStartQuadrant=true
+data.ll.logbook.Set.attribute.settingStartTimeStamp=true
+data.ll.logbook.Set.attribute.totalSectionsCount=true
+data.ll.observation.Activity.attribute.latitude=true
+data.ll.observation.Activity.attribute.longitude=true
+data.ll.observation.Activity.attribute.quadrant=true
+data.ll.observation.Activity.attribute.vesselActivity=true
+data.ll.observation.BaitsComposition.attribute.baitType=true
+data.ll.observation.Basket.attribute.settingIdentifier=true
+data.ll.observation.Branchline.attribute.settingIdentifier=true
+data.ll.observation.BranchlinesComposition.attribute.length=true
+data.ll.observation.BranchlinesComposition.attribute.topType=true
+data.ll.observation.BranchlinesComposition.attribute.tracelineType=true
+data.ll.observation.Catch.attribute.catchFate=true
+data.ll.observation.Catch.attribute.species=true
+data.ll.observation.Encounter.attribute.encounterType=true
+data.ll.observation.FloatlinesComposition.attribute.length=true
+data.ll.observation.FloatlinesComposition.attribute.lineType=true
+data.ll.observation.HooksComposition.attribute.hookType=true
+data.ll.observation.Section.attribute.settingIdentifier=true
+data.ll.observation.SensorUsed.attribute.sensorType=true
+data.ll.observation.Set.attribute.basketsPerSectionCount=true
+data.ll.observation.Set.attribute.branchlinesPerBasketCount=true
+data.ll.observation.Set.attribute.haulingDirectionSameAsSetting=true
+data.ll.observation.Set.attribute.haulingEndLatitude=true
+data.ll.observation.Set.attribute.haulingEndLongitude=true
+data.ll.observation.Set.attribute.haulingEndQuadrant=true
+data.ll.observation.Set.attribute.haulingEndTimeStamp=true
+data.ll.observation.Set.attribute.haulingStartLatitude=true
+data.ll.observation.Set.attribute.haulingStartLongitude=true
+data.ll.observation.Set.attribute.haulingStartQuadrant=true
+data.ll.observation.Set.attribute.haulingStartTimeStamp=true
+data.ll.observation.Set.attribute.settingEndLatitude=true
+data.ll.observation.Set.attribute.settingEndLongitude=true
+data.ll.observation.Set.attribute.settingEndQuadrant=true
+data.ll.observation.Set.attribute.settingEndTimeStamp=true
+data.ll.observation.Set.attribute.settingStartLatitude=true
+data.ll.observation.Set.attribute.settingStartLongitude=true
+data.ll.observation.Set.attribute.settingStartQuadrant=true
+data.ll.observation.Set.attribute.settingStartTimeStamp=true
+data.ll.observation.Set.attribute.settingVesselSpeed=true
+data.ll.observation.Set.attribute.totalSectionsCount=true
+data.ps.common.GearUseFeatures.attribute.gear=true
+data.ps.common.GearUseFeatures.attribute.number=true
+data.ps.common.Trip.attribute.departureHarbour=true
+data.ps.common.Trip.attribute.endDate=true
+data.ps.common.Trip.attribute.observer=true
+data.ps.common.Trip.attribute.ocean=true
+data.ps.common.Trip.attribute.startDate=true
+data.ps.common.Trip.attribute.vessel=true
+data.ps.observation.Activity.attribute.latitude=true
+data.ps.observation.Activity.attribute.longitude=true
+data.ps.observation.Activity.attribute.observedSystem=true
+data.ps.observation.Activity.attribute.quadrant=true
+data.ps.observation.Activity.attribute.time=true
+data.ps.observation.Activity.attribute.vesselActivity=true
+data.ps.observation.DiscardedTargetCatch.attribute.catchWeight=true
+data.ps.observation.DiscardedTargetCatch.attribute.species=true
+data.ps.observation.DiscardedTargetCatch.attribute.weightCategory=true
+data.ps.observation.FloatingObject.attribute.objectOperation=true
+data.ps.observation.KeptTargetCatch.attribute.catchWeight=true
+data.ps.observation.KeptTargetCatch.attribute.species=true
+data.ps.observation.KeptTargetCatch.attribute.weightCategory=true
+data.ps.observation.NonTargetCatch.attribute.species=true
+data.ps.observation.NonTargetCatch.attribute.speciesFate=true
+data.ps.observation.NonTargetCatchRelease.attribute.count=true
+data.ps.observation.NonTargetCatchRelease.attribute.sex=true
+data.ps.observation.NonTargetCatchRelease.attribute.species=true
+data.ps.observation.NonTargetCatchRelease.attribute.speciesGroupReleaseMode=true
+data.ps.observation.NonTargetCatchRelease.attribute.status=true
+data.ps.observation.NonTargetLength.attribute.count=true
+data.ps.observation.NonTargetLength.attribute.sex=true
+data.ps.observation.NonTargetLength.attribute.sizeMeasureType=true
+data.ps.observation.NonTargetLength.attribute.species=true
+data.ps.observation.ObjectObservedSpecies.attribute.count=true
+data.ps.observation.ObjectObservedSpecies.attribute.species=true
+data.ps.observation.ObjectObservedSpecies.attribute.speciesStatus=true
+data.ps.observation.ObjectSchoolEstimate.attribute.species=true
+data.ps.observation.ObjectSchoolEstimate.attribute.totalWeight=true
+data.ps.observation.Route.attribute.date=true
+data.ps.observation.SchoolEstimate.attribute.species=true
+data.ps.observation.TargetLength.attribute.count=true
+data.ps.observation.TargetLength.attribute.sizeMeasureType=true
+data.ps.observation.TargetLength.attribute.species=true
+data.ps.observation.TransmittingBuoy.attribute.transmittingBuoyOperation=true
+data.ps.observation.TransmittingBuoy.attribute.transmittingBuoyType=true
+referential.I18nReferential.attribute.label1=true
+referential.I18nReferential.attribute.label2=true
+referential.I18nReferential.attribute.label3=true
+referential.common.Country.attribute.iso2Code=true
+referential.common.Country.attribute.iso3Code=true
+referential.common.Harbour.attribute.country=true
+referential.common.LengthFormulaSupport.attribute.coefficients=true
+referential.common.LengthFormulaSupport.attribute.ocean=true
+referential.common.LengthFormulaSupport.attribute.sex=true
+referential.common.LengthFormulaSupport.attribute.species=true
+referential.common.LengthLengthParameter.attribute.inputOutputFormula=true
+referential.common.LengthLengthParameter.attribute.inputSizeMeasureType=true
+referential.common.LengthLengthParameter.attribute.outputInputFormula=true
+referential.common.LengthLengthParameter.attribute.outputSizeMeasureType=true
+referential.common.LengthWeightParameter.attribute.lengthWeightFormula=true
+referential.common.LengthWeightParameter.attribute.sizeMeasureType=true
+referential.common.LengthWeightParameter.attribute.weightLengthFormula=true
+referential.common.Organism.attribute.country=true
+referential.common.Person.attribute.country=true
+referential.common.Person.attribute.firstName=true
+referential.common.Person.attribute.lastName=true
+referential.common.Program.attribute.gearType=true
+referential.common.Program.attribute.organism=true
+referential.common.ShipOwner.attribute.label=true
+referential.common.Species.attribute.scientificLabel=true
+referential.common.Species.attribute.speciesGroup=true
+referential.common.Vessel.attribute.flagCountry=true
+referential.common.Vessel.attribute.fleetCountry=true
+referential.common.Vessel.attribute.vesselSizeCategory=true
+referential.common.Vessel.attribute.vesselType=true
+referential.common.VesselSizeCategory.attribute.capacityLabel=true
+referential.common.VesselSizeCategory.attribute.gaugeLabel=true
+referential.common.Wind.attribute.speedRange=true
+referential.common.Wind.attribute.waveHeight=true
+referential.ll.observation.SensorBrand.attribute.brandName=true
+referential.ps.common.ObjectOperation.attribute.whenArriving=true
+referential.ps.common.ObjectOperation.attribute.whenLeaving=true
+referential.ps.observation.WeightCategory.attribute.species=true
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/ordered.properties
=====================================
@@ -0,0 +1,27 @@
+data.TripMap.attribute.points=true
+data.ll.common.GearUseFeatures.attribute.gearUseFeaturesMeasurement=true
+data.ll.common.Trip.attribute.activityObs=true
+data.ll.common.TripGearUseFeatures.attribute.gearUseFeatures=true
+data.ll.logbook.ActivitySample.attribute.samplePart=true
+data.ll.logbook.Sample.attribute.samplePart=true
+data.ll.logbook.SetCatch.attribute.catches=true
+data.ll.observation.Basket.attribute.branchline=true
+data.ll.observation.Section.attribute.basket=true
+data.ll.observation.SetCatch.attribute.catches=true
+data.ll.observation.SetDetailComposition.attribute.section=true
+data.ps.common.GearUseFeatures.attribute.gearUseFeaturesMeasurement=true
+data.ps.common.Trip.attribute.route=true
+data.ps.common.TripGearUseFeatures.attribute.gearUseFeatures=true
+data.ps.observation.DiscardedTargetSample.attribute.targetLength=true
+data.ps.observation.KeptTargetSample.attribute.targetLength=true
+data.ps.observation.NonTargetSample.attribute.nonTargetLength=true
+data.ps.observation.Route.attribute.activity=true
+data.ps.observation.SetDiscardedTargetCatch.attribute.targetCatch=true
+data.ps.observation.SetKeptTargetCatch.attribute.targetCatch=true
+data.ps.observation.SetNonTargetCatch.attribute.nonTargetCatch=true
+data.ps.observation.SetNonTargetCatchRelease.attribute.nonTargetCatchRelease=true
+data.ps.observation.TargetSample.attribute.targetLength=true
+referential.common.Gear.attribute.gearCharacteristic=true
+referential.common.Species.attribute.ocean=true
+referential.common.SpeciesGroup.attribute.speciesGroupReleaseMode=true
+referential.common.SpeciesList.attribute.species=true
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/positiveNumber.properties
=====================================
@@ -0,0 +1,118 @@
+data.ContainerChildWithProportion.attribute.proportion=true
+data.ll.common.GearUseFeatures.attribute.number=true
+data.ll.logbook.Activity.attribute.currentDirection=true
+data.ll.logbook.Activity.attribute.currentSpeed=true
+data.ll.logbook.Activity.attribute.windDirection=true
+data.ll.logbook.BaitsComposition.attribute.individualSize=true
+data.ll.logbook.BaitsComposition.attribute.individualWeight=true
+data.ll.logbook.BranchlinesComposition.attribute.length=true
+data.ll.logbook.BranchlinesComposition.attribute.tracelineLength=true
+data.ll.logbook.Catch.attribute.beatDiameter=true
+data.ll.logbook.Catch.attribute.count=true
+data.ll.logbook.Catch.attribute.countDepredated=true
+data.ll.logbook.Catch.attribute.totalWeight=true
+data.ll.logbook.FloatlinesComposition.attribute.length=true
+data.ll.logbook.HooksComposition.attribute.hookOffset=true
+data.ll.logbook.SamplePart.attribute.count=true
+data.ll.logbook.SamplePart.attribute.length=true
+data.ll.logbook.SamplePart.attribute.weight=true
+data.ll.logbook.Set.attribute.basketLineLength=true
+data.ll.logbook.Set.attribute.basketsPerSectionCount=true
+data.ll.logbook.Set.attribute.branchlinesPerBasketCount=true
+data.ll.logbook.Set.attribute.lengthBetweenBranchlines=true
+data.ll.logbook.Set.attribute.lightsticksPerBasketCount=true
+data.ll.logbook.Set.attribute.maxDepthTargeted=true
+data.ll.logbook.Set.attribute.number=true
+data.ll.logbook.Set.attribute.shooterSpeed=true
+data.ll.logbook.Set.attribute.snapWeight=true
+data.ll.logbook.Set.attribute.swivelWeight=true
+data.ll.logbook.Set.attribute.timeBetweenHooks=true
+data.ll.logbook.Set.attribute.totalBasketsCount=true
+data.ll.logbook.Set.attribute.totalHooksCount=true
+data.ll.logbook.Set.attribute.totalLightsticksCount=true
+data.ll.logbook.Set.attribute.totalLineLength=true
+data.ll.logbook.Set.attribute.totalSectionsCount=true
+data.ll.observation.BaitsComposition.attribute.individualSize=true
+data.ll.observation.BaitsComposition.attribute.individualWeight=true
+data.ll.observation.Basket.attribute.floatline1Length=true
+data.ll.observation.Basket.attribute.floatline2Length=true
+data.ll.observation.Basket.attribute.haulingIdentifier=true
+data.ll.observation.Basket.attribute.settingIdentifier=true
+data.ll.observation.Branchline.attribute.branchlineLength=true
+data.ll.observation.Branchline.attribute.haulingIdentifier=true
+data.ll.observation.Branchline.attribute.hookOffset=true
+data.ll.observation.Branchline.attribute.settingIdentifier=true
+data.ll.observation.Branchline.attribute.snapWeight=true
+data.ll.observation.Branchline.attribute.swivelWeight=true
+data.ll.observation.Branchline.attribute.timeSinceContact=true
+data.ll.observation.Branchline.attribute.tracelineLength=true
+data.ll.observation.BranchlinesComposition.attribute.length=true
+data.ll.observation.BranchlinesComposition.attribute.tracelineLength=true
+data.ll.observation.Catch.attribute.beatDiameter=true
+data.ll.observation.Catch.attribute.count=true
+data.ll.observation.Catch.attribute.gonadeWeight=true
+data.ll.observation.Catch.attribute.totalWeight=true
+data.ll.observation.Encounter.attribute.count=true
+data.ll.observation.Encounter.attribute.distance=true
+data.ll.observation.FloatlinesComposition.attribute.length=true
+data.ll.observation.HooksComposition.attribute.hookOffset=true
+data.ll.observation.Section.attribute.haulingIdentifier=true
+data.ll.observation.Section.attribute.settingIdentifier=true
+data.ll.observation.Set.attribute.branchlinesPerBasketCount=true
+data.ll.observation.Set.attribute.haulingBreaks=true
+data.ll.observation.Set.attribute.maxDepthTargeted=true
+data.ll.observation.Set.attribute.number=true
+data.ll.observation.Set.attribute.shooterSpeed=true
+data.ll.observation.Set.attribute.snapWeight=true
+data.ll.observation.Set.attribute.swivelWeight=true
+data.ll.observation.Set.attribute.timeBetweenHooks=true
+data.ll.observation.Set.attribute.totalBasketsCount=true
+data.ll.observation.Set.attribute.totalHooksCount=true
+data.ll.observation.Set.attribute.totalSectionsCount=true
+data.ll.observation.SetDetailComposition.attribute.basketsPerSectionCount=true
+data.ll.observation.SetDetailComposition.attribute.branchlinesPerBasketCount=true
+data.ll.observation.SetDetailComposition.attribute.totalSectionsCount=true
+data.ll.observation.SizeMeasure.attribute.size=true
+data.ll.observation.Tdr.attribute.fishingEndDepth=true
+data.ll.observation.Tdr.attribute.fishingStartDepth=true
+data.ll.observation.Tdr.attribute.floatline1Length=true
+data.ll.observation.Tdr.attribute.floatline2Length=true
+data.ll.observation.Tdr.attribute.maxFishingDepth=true
+data.ll.observation.Tdr.attribute.meanDeploymentDepth=true
+data.ll.observation.Tdr.attribute.meanFishingDepth=true
+data.ll.observation.Tdr.attribute.medianDeploymentDepth=true
+data.ll.observation.Tdr.attribute.medianFishingDepth=true
+data.ll.observation.Tdr.attribute.minFishingDepth=true
+data.ll.observation.WeightMeasure.attribute.weight=true
+data.ps.common.GearUseFeatures.attribute.number=true
+data.ps.observation.Activity.attribute.observedSystemDistance=true
+data.ps.observation.Activity.attribute.vesselSpeed=true
+data.ps.observation.DiscardedTargetCatch.attribute.catchWeight=true
+data.ps.observation.KeptTargetCatch.attribute.catchWeight=true
+data.ps.observation.NonTargetCatch.attribute.catchWeight=true
+data.ps.observation.NonTargetCatch.attribute.meanLength=true
+data.ps.observation.NonTargetCatch.attribute.meanWeight=true
+data.ps.observation.NonTargetCatch.attribute.totalCount=true
+data.ps.observation.NonTargetCatchRelease.attribute.length=true
+data.ps.observation.NonTargetLength.attribute.count=true
+data.ps.observation.NonTargetLength.attribute.length=true
+data.ps.observation.NonTargetLength.attribute.weight=true
+data.ps.observation.ObjectObservedSpecies.attribute.count=true
+data.ps.observation.ObjectSchoolEstimate.attribute.totalWeight=true
+data.ps.observation.Route.attribute.endLogValue=true
+data.ps.observation.Route.attribute.startLogValue=true
+data.ps.observation.SchoolEstimate.attribute.meanWeight=true
+data.ps.observation.SchoolEstimate.attribute.totalWeight=true
+data.ps.observation.Set.attribute.currentDirection=true
+data.ps.observation.Set.attribute.currentMeasureDepth=true
+data.ps.observation.Set.attribute.currentSpeed=true
+data.ps.observation.Set.attribute.maxGearDepth=true
+data.ps.observation.Set.attribute.schoolMeanDepth=true
+data.ps.observation.Set.attribute.schoolThickness=true
+data.ps.observation.Set.attribute.schoolTopDepth=true
+data.ps.observation.TargetLength.attribute.count=true
+data.ps.observation.TargetLength.attribute.length=true
+data.ps.observation.TargetLength.attribute.weight=true
+referential.common.Species.attribute.minLength=true
+referential.common.Species.attribute.minWeight=true
+referential.common.Vessel.attribute.yearService=true
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/strictlyPositiveNumber.properties
=====================================
@@ -0,0 +1,15 @@
+data.ll.logbook.Activity.attribute.seaSurfaceTemperature=true
+data.ll.logbook.Catch.attribute.depredatedProportion=true
+data.ll.observation.Activity.attribute.seaSurfaceTemperature=true
+data.ll.observation.Set.attribute.basketsPerSectionCount=true
+data.ps.observation.Activity.attribute.seaSurfaceTemperature=true
+data.ps.observation.NonTargetCatchRelease.attribute.count=true
+referential.common.LengthWeightParameter.attribute.meanLength=true
+referential.common.LengthWeightParameter.attribute.meanWeight=true
+referential.common.Species.attribute.maxLength=true
+referential.common.Species.attribute.maxWeight=true
+referential.common.Vessel.attribute.capacity=true
+referential.common.Vessel.attribute.keelCode=true
+referential.common.Vessel.attribute.length=true
+referential.common.Vessel.attribute.power=true
+referential.common.Vessel.attribute.searchMaximum=true
=====================================
models/dto-definition/src/main/models/Observe/dto/attribute/unique.properties
=====================================
@@ -0,0 +1,25 @@
+data.TripMap.attribute.points=true
+data.ll.common.Trip.attribute.activityObs=true
+data.ll.logbook.Activity.attribute.catchSpeciesIds=true
+data.ll.logbook.SetStub.attribute.activity=true
+data.ll.observation.Basket.attribute.branchline=true
+data.ll.observation.Section.attribute.basket=true
+data.ll.observation.SetDetailComposition.attribute.section=true
+data.ll.observation.SetStub.attribute.activity=true
+data.ps.common.Trip.attribute.route=true
+data.ps.observation.Activity.attribute.nonTargetCatchSpecies=true
+data.ps.observation.DiscardedTargetSample.attribute.availableSpeciesIds=true
+data.ps.observation.KeptTargetSample.attribute.availableSpeciesIds=true
+data.ps.observation.NonTargetSample.attribute.availableSpeciesFateIds=true
+data.ps.observation.NonTargetSample.attribute.availableSpeciesIds=true
+data.ps.observation.Route.attribute.activity=true
+data.ps.observation.SetNonTargetCatchRelease.attribute.availableSpeciesIds=true
+data.ps.observation.TargetSample.attribute.availableSpeciesIds=true
+referential.Referential.attribute.code=true
+referential.Referential.attribute.homeId=true
+referential.Referential.attribute.uri=true
+referential.common.Country.attribute.iso2Code=true
+referential.common.Country.attribute.iso3Code=true
+referential.common.Species.attribute.faoCode=true
+referential.common.Species.attribute.scientificLabel=true
+referential.common.Species.attribute.wormsId=true
=====================================
models/dto-definition/src/main/models/Observe/dto/class/comparator.properties
=====================================
@@ -0,0 +1,9 @@
+data.ll.common.Trip.class=startDate
+data.ll.landing.Landing.class=startDate
+data.ll.logbook.Activity.class=startTimeStamp
+data.ll.logbook.ActivitySample.class=timeStamp
+data.ll.logbook.Sample.class=timeStamp
+data.ll.observation.Activity.class=timeStamp
+data.ps.common.Trip.class=startDate
+data.ps.observation.Activity.class=time
+data.ps.observation.Route.class=date
=====================================
models/dto-definition/src/main/models/Observe/dto/class/constants.properties
=====================================
@@ -0,0 +1,2 @@
+data.ps.observation.Set.class=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime
+data.ps.observation.TargetLength.class=totalWeight
=====================================
models/dto-definition/src/main/models/Observe/dto/class/form.properties
=====================================
@@ -0,0 +1,4 @@
+data.ps.observation.DiscardedTargetSample.class=TargetLength
+data.ps.observation.KeptTargetSample.class=TargetLength
+data.ps.observation.NonTargetSample.class=NonTargetLength
+data.ps.observation.TargetSample.class=TargetLength
=====================================
models/dto-definition/src/main/models/Observe/dto/class/mainDto.properties
=====================================
@@ -0,0 +1,15 @@
+data.ll.logbook.ActivitySample.class=Sample
+data.ll.logbook.ActivityStub.class=Activity
+data.ll.logbook.SetGlobalComposition.class=Set
+data.ll.logbook.SetStub.class=Set
+data.ll.observation.ActivityStub.class=Activity
+data.ll.observation.SetDetailComposition.class=Set
+data.ll.observation.SetGlobalComposition.class=Set
+data.ll.observation.SetStub.class=Set
+data.ll.observation.TripActivityStub.class=Activity
+data.ps.observation.ActivityStub.class=Activity
+data.ps.observation.DiscardedTargetCatch.class=TargetCatch
+data.ps.observation.DiscardedTargetSample.class=TargetSample
+data.ps.observation.KeptTargetCatch.class=TargetCatch
+data.ps.observation.KeptTargetSample.class=TargetSample
+data.ps.observation.RouteStub.class=Route
=====================================
models/dto-definition/src/main/models/Observe/dto/class/navigationEntryPoint.properties
=====================================
@@ -0,0 +1 @@
+referential.common.Program.class=true
=====================================
models/dto-definition/src/main/models/Observe/dto/class/navigationParent.properties
=====================================
@@ -0,0 +1,13 @@
+data.ll.common.Trip.class=referential.common.Program
+data.ll.landing.Landing.class=data.ll.common.Trip
+data.ll.logbook.Activity.class=data.ll.common.Trip
+data.ll.logbook.ActivitySample.class=data.ll.logbook.Activity
+data.ll.logbook.Sample.class=data.ll.common.Trip
+data.ll.logbook.Set.class=data.ll.logbook.Activity
+data.ll.observation.Activity.class=data.ll.common.Trip
+data.ll.observation.Set.class=data.ll.observation.Activity
+data.ps.common.Trip.class=referential.common.Program
+data.ps.observation.Activity.class=data.ps.observation.Route
+data.ps.observation.FloatingObject.class=data.ps.observation.Activity
+data.ps.observation.Route.class=data.ps.common.Trip
+data.ps.observation.Set.class=data.ps.observation.Activity
=====================================
models/dto-definition/src/main/models/Observe/dto/class/references.properties
=====================================
@@ -0,0 +1,72 @@
+data.ll.common.GearUseFeatures.class=gearLabel,number,usedInTrip
+data.ll.common.GearUseFeaturesMeasurement.class=measurementValue,gearCharacteristicLabel
+data.ll.common.Trip.class=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability
+data.ll.landing.Landing.class=startDate,harbourLabel,vesselLabel
+data.ll.landing.LandingPart.class=speciesLabel,categoryMin,categoryMax,weight
+data.ll.logbook.Activity.class=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivity,set,activitySample,relatedObservedActivity
+data.ll.logbook.ActivitySample.class=timeStamp,latitude,longitude
+data.ll.logbook.BaitsComposition.class=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight
+data.ll.logbook.BranchlinesComposition.class=proportion,topTypeLabel,tracelineTypeLabel,length
+data.ll.logbook.Catch.class=homeId
+data.ll.logbook.FloatlinesComposition.class=proportion,lineTypeLabel,length
+data.ll.logbook.HooksComposition.class=proportion,hookTypeLabel,hookSizeLabel,hookOffset
+data.ll.logbook.Sample.class=timeStamp,latitude,longitude
+data.ll.logbook.SamplePart.class=speciesLabel,length,weight
+data.ll.logbook.Set.class=homeId
+data.ll.observation.Activity.class=timeStamp,latitude,longitude,vesselActivity,set
+data.ll.observation.BaitsComposition.class=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight
+data.ll.observation.Basket.class=settingIdentifier,haulingIdentifier,parentId
+data.ll.observation.Branchline.class=settingIdentifier,haulingIdentifier,parentId
+data.ll.observation.BranchlinesComposition.class=proportion,topTypeLabel,tracelineTypeLabel,length
+data.ll.observation.Catch.class=homeId
+data.ll.observation.Encounter.class=encounterTypeLabel,speciesLabel
+data.ll.observation.FloatlinesComposition.class=proportion,lineTypeLabel,length
+data.ll.observation.HooksComposition.class=proportion,hookTypeLabel,hookSizeLabel,hookOffset
+data.ll.observation.Section.class=settingIdentifier,haulingIdentifier,parentId
+data.ll.observation.SensorUsed.class=sensorTypeLabel
+data.ll.observation.Set.class=homeId
+data.ll.observation.SizeMeasure.class=sizeMeasureTypeLabel,size
+data.ll.observation.Tdr.class=homeId
+data.ll.observation.WeightMeasure.class=weightMeasureTypeLabel,weight
+data.ps.common.GearUseFeatures.class=gearLabel,number,usedInTrip
+data.ps.common.GearUseFeaturesMeasurement.class=measurementValue,gearCharacteristicLabel
+data.ps.common.Trip.class=startDate,endDate,program,routeSize,vessel,observerLabel
+data.ps.observation.Activity.class=time,latitude,longitude,vesselActivity,set
+data.ps.observation.DiscardedTargetCatch.class=speciesLabel,catchWeight
+data.ps.observation.DiscardedTargetSample.class=homeId,nature,discarded
+data.ps.observation.FloatingObject.class=objectOperationLabel
+data.ps.observation.FloatingObjectPart.class=objectMaterialId,objectMaterialLabel,whenArriving,whenLeaving
+data.ps.observation.KeptTargetCatch.class=speciesLabel,well,catchWeight
+data.ps.observation.KeptTargetSample.class=homeId,nature,discarded
+data.ps.observation.NonTargetCatch.class=speciesLabel,speciesFateLabel
+data.ps.observation.NonTargetCatchRelease.class=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length
+data.ps.observation.NonTargetLength.class=speciesLabel,length,sexLabel
+data.ps.observation.NonTargetSample.class=homeId
+data.ps.observation.ObjectObservedSpecies.class=speciesLabel,speciesStatusLabel,count
+data.ps.observation.ObjectSchoolEstimate.class=speciesLabel,totalWeight
+data.ps.observation.Route.class=date,comment,activitySize
+data.ps.observation.SchoolEstimate.class=speciesLabel,meanWeight,totalWeight
+data.ps.observation.Set.class=comment,discardedTargetSampleEnabled,keptTargetSampleEnabled,nonTargetSampleEnabled,setNonTargetCatchReleaseEnabled
+data.ps.observation.TargetCatch.class=well
+data.ps.observation.TargetLength.class=speciesLabel,length,count
+data.ps.observation.TargetSample.class=homeId,nature,discarded
+data.ps.observation.TransmittingBuoy.class=code,comment,transmittingBuoyTypeLabel,transmittingBuoyOperationLabel
+referential.common.Country.class=code,label,uri,iso2Code,iso3Code
+referential.common.FpaZone.class=code,label,uri,startDate,endDate
+referential.common.GearCharacteristic.class=code,label,uri,gearCharacteristicType,unit
+referential.common.Harbour.class=code,label,uri,locode
+referential.common.LengthLengthParameter.class=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula
+referential.common.LengthWeightParameter.class=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType
+referential.common.Person.class=firstName,lastName,uri,captain,observer,dataEntryOperator,dataSource
+referential.common.Program.class=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate
+referential.common.ShipOwner.class=code,label,uri,startDate,endDate
+referential.common.Species.class=label,uri,faoCode,scientificLabel,sizeMeasureTypeId,weightMeasureTypeId,speciesGroupId,wormsId,faoCode
+referential.common.Vessel.class=code,label,uri,vesselTypeId
+referential.common.VesselSizeCategory.class=code,uri,gaugeLabel,capacityLabel
+referential.common.Wind.class=code,label,uri,speedRange
+referential.ll.observation.SensorBrand.class=code,uri,brandName
+referential.ps.common.ObjectMaterial.class=code,label,uri,parentId,objectMaterialTypeId,validation,biodegradable,nonEntangling
+referential.ps.common.ObjectOperation.class=code,label,uri,whenArriving,whenLeaving
+referential.ps.common.SpeciesFate.class=code,label,uri,discard
+referential.ps.common.VesselActivity.class=code,label,uri,allowFad
+referential.ps.observation.WeightCategory.class=code,label,uri,speciesId
=====================================
models/dto-definition/src/main/models/Observe/dto/class/skip.properties
=====================================
@@ -0,0 +1,14 @@
+Id.class=true
+data.Container.class=true
+data.ContainerChild.class=true
+data.ContainerChildWithDataFile.class=true
+data.ContainerChildWithProportion.class=true
+data.Data.class=true
+data.DataFile.class=true
+data.Editable.class=true
+data.Openable.class=true
+data.Simple.class=true
+data.TripMap.class=true
+referential.I18nReferential.class=true
+referential.Referential.class=true
+result.SaveResult.class=true
=====================================
models/dto-definition/src/main/models/Observe/dto/tagValues.list
=====================================
@@ -0,0 +1,14 @@
+attribute.tagvalue.mayNotNull
+attribute.tagvalue.notNull
+attribute.tagvalue.ordered
+attribute.tagvalue.positiveNumber
+attribute.tagvalue.strictlyPositiveNumber
+attribute.tagvalue.unique
+class.tagvalue.comparator
+class.tagvalue.constants
+class.tagvalue.form
+class.tagvalue.mainDto
+class.tagvalue.navigationEntryPoint
+class.tagvalue.navigationParent
+class.tagvalue.references
+class.tagvalue.skip
=====================================
models/persistence/src/main/models/Observe-25-data-ps-common.model
=====================================
@@ -1,4 +1,4 @@
-package fr.ird.observe.entities.data.ps.common| entity dbSchema=ps_common
+package fr.ird.observe.entities.data.ps.common | entity dbSchema=ps_common
data.ps.common.GearUseFeatures > data.DataEntity | entity
comment + {*:1} String | length=8192
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
=====================================
@@ -24,6 +24,7 @@ package fr.ird.observe.toolkit.templates;
import com.google.common.collect.ImmutableSet;
import fr.ird.observe.dto.data.ContainerDto;
+import io.ultreia.java4all.util.SortedProperties;
import org.nuiton.eugene.AbstractMetaTransformer;
import org.nuiton.eugene.EugeneCoreTagValues;
import org.nuiton.eugene.LogProxy;
@@ -31,6 +32,7 @@ import org.nuiton.eugene.Template;
import org.nuiton.eugene.java.BeanTransformerContext;
import org.nuiton.eugene.java.BeanTransformerTagValues;
import org.nuiton.eugene.java.EugeneJavaTagValues;
+import org.nuiton.eugene.models.extension.io.ModelExtensionReader;
import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
@@ -40,14 +42,12 @@ import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
-import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
-import java.util.TreeMap;
/**
* Created on 24/01/2021.
@@ -67,20 +67,38 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
@Override
protected boolean validateModel(ObjectModel model) {
-
- // Get all non abstract beans
- BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog());
+ String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE);
BeanTransformerContext allWithAbstract = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), true, false, t -> true, getLog());
+ BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog());
ObserveTagValues observeTagValues = new ObserveTagValues();
- String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE);
+ loadTagValues(model, packageName);
+
augmentsReferences(allWithAbstract, packageName);
augmentsTagValues(model, all, observeTagValues);
consolidateModel(model, all, observeTagValues, getLog());
augmentsTagValuesFinal(model, all, observeTagValues);
- extractTagValues(allWithAbstract);
return true;
}
+ private void loadTagValues(ObjectModel model, String packageName) {
+ try {
+
+ SortedProperties loadedTagValues = new LoadTagValues(model, packageName, getClassLoader()).load("dto");
+ getLog().info(String.format("Load %d tag-value(s) for classifier dto.", loadedTagValues.size()));
+
+ Path outputDirectory = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class).toPath().getParent().getParent();
+ Path tmpFile = outputDirectory.resolve("all-dto-tagValues-" + System.nanoTime() + ".properties");
+ try (BufferedWriter writer = Files.newBufferedWriter(tmpFile)) {
+ loadedTagValues.store(writer, String.format("Generated by %s", getClass().getName()));
+ }
+ ModelExtensionReader<ObjectModel> reader = new ModelExtensionReader<>(isVerbose(), true, model);
+ reader.read(tmpFile.toFile());
+
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't load tag-values", e);
+ }
+ }
+
protected void augmentsTagValues(ObjectModel model, BeanTransformerContext all, ObserveTagValues observeTagValues) {
for (ObjectModelClass aClass : all.selectedClasses) {
ObjectModelPackage aPackage = model.getPackage(aClass.getPackageName());
@@ -222,27 +240,4 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
return candidates.get(0);
}
-
- protected void extractTagValues(BeanTransformerContext all) {
- Map<String, String> p = new TreeMap<>();
- for (ObjectModelClass aClass : all.selectedClasses) {
- String tagValuePrefix = aClass.getQualifiedName() + ".attribute.";
- for (ObjectModelAttribute attribute : aClass.getAttributes()) {
- String tagValuePrefix2 = tagValuePrefix + attribute.getName() + ".tagValue.";
- Map<String, String> tagValues1 = attribute.getTagValues();
- tagValues1.forEach((k, v) -> p.put(tagValuePrefix2 + k, v));
- }
- }
- File outputDir = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class);
- Path path = outputDir.toPath().resolve("extracted-tagValues.properties");
- getLog().info(String.format("Generated all tag-values in %s", path));
- try (BufferedWriter writer = java.nio.file.Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
- for (String k : p.keySet()) {
- writer.write(String.format("%s=%s", k, p.get(k)));
- writer.newLine();
- }
- } catch (IOException e) {
- throw new IllegalStateException("Can't write " + path, e);
- }
- }
}
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ExtractTagValues.java
=====================================
@@ -0,0 +1,184 @@
+package fr.ird.observe.toolkit.templates;
+
+/*-
+ * #%L
+ * ObServe Toolkit :: Templates
+ * %%
+ * Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.ImmutableList;
+import io.ultreia.java4all.util.SortedProperties;
+import org.codehaus.plexus.component.annotations.Component;
+import org.nuiton.eugene.Template;
+import org.nuiton.eugene.java.EugeneJavaTagValues;
+import org.nuiton.eugene.models.object.ObjectModel;
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelGenerator;
+import org.nuiton.eugene.models.object.ObjectModelType;
+import org.nuiton.topia.templates.TopiaTemplateHelperExtension;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.Writer;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.function.Predicate;
+
+/**
+ * Created on 26/01/2021.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0.5
+ */
+@Component(role = Template.class, hint = "fr.ird.observe.toolkit.templates.ExtractTagValues")
+public class ExtractTagValues extends ObjectModelGenerator {
+
+ private String filePrefix;
+ private Path outputFile;
+ private Path resourceDirectory;
+ private Map<String, String> currentTagValues;
+
+ @Override
+ public void applyTemplate(ObjectModel model, File destDir) throws IOException {
+ String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE);
+ EugeneJavaTagValues javaTemplatesTagValues = new EugeneJavaTagValues();
+ resourceDirectory = getConfiguration().getProperty(PROP_RESOURCE_DIRECTORY, File.class).toPath().getParent().resolve("models").resolve(model.getName());
+ Predicate<ObjectModelClass> acceptClass;
+ if (packageName.contains(".dto")) {
+ resourceDirectory = resourceDirectory.resolve("dto");
+ acceptClass = c -> javaTemplatesTagValues.isBean(c, model.getPackage(c));
+ } else if (packageName.contains(".entities")) {
+ resourceDirectory = resourceDirectory.resolve("persistence");
+ TopiaTemplateHelperExtension templateHelper = new TopiaTemplateHelperExtension(model);
+ acceptClass = templateHelper::isEntity;
+ } else {
+ throw new IllegalStateException("Can't manage packageName: " + packageName);
+ }
+ getLog().info(String.format("Will generate tag values at %s", resourceDirectory));
+
+ ImmutableList<ObjectModelClass> classes = model.getClasses().stream().filter(acceptClass).collect(ImmutableList.toImmutableList());
+ getLog().info(String.format("Will extract tag values from %d class(es).", classes.size()));
+ ArrayListMultimap<String, String> tagValueKeysByTagValue = ArrayListMultimap.create();
+ Map<String, String> allTagValues = new TreeMap<>();
+ try {
+ extractTagValues(classes, tagValueKeysByTagValue, allTagValues);
+ } catch (IOException e) {
+ throw new IllegalStateException("Can't extract tag values", e);
+ }
+ Set<String> tagValuesKeys = tagValueKeysByTagValue.keySet();
+ int beginIndex = packageName.length() + 1;
+ List<String> tagValueList = new ArrayList<>(tagValuesKeys.size());
+ for (String tagValuesKey : tagValuesKeys) {
+ filePrefix = tagValuesKey;
+ int keySuffix = filePrefix.substring(filePrefix.indexOf("-")).length();
+
+ currentTagValues = new TreeMap<>();
+ for (String k : tagValueKeysByTagValue.get(filePrefix)) {
+ String value = allTagValues.get(k);
+ String key = k.substring(beginIndex);
+ key = key.substring(0, key.length() - keySuffix);
+ currentTagValues.put(key, value);
+ }
+ String index = tagValuesKey.replace("-tagValue", "").replaceAll("-", ".");
+ tagValueList.add(index);
+ super.applyTemplate(model, destDir);
+ }
+
+ Path indexPath = resourceDirectory.resolve(LoadTagValues.TAG_VALUES_LIST_FILENAME);
+ getLog().info(String.format("Will generate tag values list (%d) at %s", tagValueList.size(), indexPath));
+ tagValueList.sort(String::compareTo);
+ Files.write(indexPath, tagValueList);
+ }
+
+ @Override
+ protected void generateFromElement(Object element, File destDir, String filename, ObjectModelType type) {
+ if (ObjectModelType.OBJECT_MODEL != type) {
+ // only generate on model
+ return;
+ }
+ super.generateFromElement(element, destDir, filename, type);
+ }
+
+ @Override
+ public void generateFromModel(Writer output, ObjectModel input) throws IOException {
+
+ // get existing tag values
+ SortedProperties existingProperties = new SortedProperties();
+ if (Files.exists(outputFile)) {
+ try (BufferedReader reader = Files.newBufferedReader(outputFile)) {
+ existingProperties.load(reader);
+ }
+ getLog().info(String.format("%s - Load existing %d element(s) from %s.", filePrefix, existingProperties.size(), outputFile));
+ }
+ // add new one from model
+ int size = existingProperties.stringPropertyNames().size();
+ currentTagValues.forEach(existingProperties::setProperty);
+
+ getLog().info(String.format("%s - Load from model new %d element(s).", filePrefix, existingProperties.stringPropertyNames().size() - size));
+ getLog().info(String.format("%s - Store %d element(s) to %s.", filePrefix, existingProperties.size(), outputFile));
+ // store all tag values
+ for (String key : existingProperties.stringPropertyNames()) {
+ String value = existingProperties.getProperty(key);
+ output.write(String.format("%s=%s", key, value));
+ output.write('\n');
+ }
+ }
+
+ @Override
+ public String getFilenameForModel(ObjectModel model) {
+ return filePrefix + ".properties";
+ }
+
+ @Override
+ protected File getDestinationFile(File destDir, String filename) {
+ int endIndex = filename.indexOf("-");
+ outputFile = resourceDirectory.resolve(filename.substring(0, endIndex)).resolve(filename.substring(filename.lastIndexOf("-") + 1));
+ return outputFile.toFile();
+ }
+
+ private void extractTagValues(ImmutableList<ObjectModelClass> all, ArrayListMultimap<String, String> tagValueKeysByTagValue, Map<String, String> allTagValues) throws IOException {
+ String classPrefix = "class-tagvalue-";
+ String attributePrefix = "attribute-tagvalue-";
+ for (ObjectModelClass aClass : all) {
+ String classTagValuePrefix = aClass.getQualifiedName() + ".class.tagValue.";
+ aClass.getTagValues().forEach((k, v) -> {
+ String key = classTagValuePrefix + k;
+ allTagValues.put(key, v);
+ tagValueKeysByTagValue.put(classPrefix + k, key);
+ });
+ String attributeTagValuePrefix = aClass.getQualifiedName() + ".attribute.";
+ for (ObjectModelAttribute attribute : aClass.getAttributes()) {
+ String attributeTagValuePrefix2 = attributeTagValuePrefix + attribute.getName() + ".tagValue.";
+ attribute.getTagValues().forEach((k, v) -> {
+ String key = attributeTagValuePrefix2 + k;
+ allTagValues.put(key, v);
+ tagValueKeysByTagValue.put(attributePrefix + k, key);
+ });
+ }
+ }
+ }
+}
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/LoadTagValues.java
=====================================
@@ -0,0 +1,83 @@
+package fr.ird.observe.toolkit.templates;
+
+import io.ultreia.java4all.util.SortedProperties;
+import org.apache.commons.io.IOUtils;
+import org.nuiton.eugene.models.object.ObjectModel;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Properties;
+import java.util.TreeMap;
+
+/**
+ * To load tag-values from new layout.
+ * <p>
+ * Created on 27/01/2021.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @see ExtractTagValues
+ * @since 8.0.5
+ */
+public class LoadTagValues {
+
+ public static final String TAG_VALUES_LIST_FILENAME = "tagValues.list";
+ private final ObjectModel model;
+ private final String packageName;
+ private final ClassLoader classLoader;
+
+ public LoadTagValues(ObjectModel model, String packageName, ClassLoader classLoader) {
+ this.model = Objects.requireNonNull(model);
+ this.packageName = Objects.requireNonNull(packageName);
+ this.classLoader = Objects.requireNonNull(classLoader);
+ }
+
+ public SortedProperties load(String classifier) throws IOException {
+ String resourcesPath = "models/" + model.getName() + "/" + Objects.requireNonNull(classifier) + "/";
+
+ List<String> tagValueList = loadTagValuesList(resourcesPath, classLoader);
+ SortedProperties result = new SortedProperties();
+ for (String tagValue : tagValueList) {
+ int i = tagValue.indexOf(".");
+ String type = tagValue.substring(0, i);
+ String suffix = tagValue.substring(i+1);
+ String tagValueName = suffix.replace("tagvalue.", "");
+ String tagValuePath = resourcesPath + type + "/" + tagValueName + ".properties";
+ switch (type) {
+ case "attribute":
+ case "class":
+ URL tagValueURL = classLoader.getResource(tagValuePath);
+ Map<String, String> tagValueProperties = loadTagValuesFile(packageName, suffix, Objects.requireNonNull(tagValueURL));
+ result.putAll(tagValueProperties);
+ break;
+ default:
+ throw new IllegalStateException(String.format("Can't manage tag value type: %s", type));
+ }
+ }
+ return result;
+ }
+
+ private List<String> loadTagValuesList(String resourcesPath, ClassLoader classLoader) throws IOException {
+ String tagValuesListPath = resourcesPath + TAG_VALUES_LIST_FILENAME;
+ URL resource = Objects.requireNonNull(classLoader.getResource(tagValuesListPath));
+ try (InputStreamReader reader = new InputStreamReader(resource.openStream())) {
+ return IOUtils.readLines(reader);
+ }
+ }
+
+ private Map<String, String> loadTagValuesFile(String packageName, String suffix, URL resource) throws IOException {
+ Properties incoming = new Properties();
+ try (InputStream inputStream = resource.openStream()) {
+ incoming.load(inputStream);
+ }
+ Map<String, String> result = new TreeMap<>();
+ for (String key : incoming.stringPropertyNames()) {
+ result.put(packageName + "." + key + "."+suffix, incoming.getProperty(key));
+ }
+ return result;
+ }
+}
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java
=====================================
@@ -84,6 +84,21 @@ public class ObserveTagValues extends DefaultTagValueMetadatasProvider {
return tagValue == null ? null : tagValue.trim();
}
+ public String getNavigationParentTagValue(ObjectModelClassifier classifier) {
+ String tagValue = TagValueUtil.findTagValue(Store.navigationParent, classifier);
+ return tagValue == null ? null : tagValue.trim();
+ }
+//
+// public String getNavigationExtraParentTagValue(ObjectModelClassifier classifier) {
+// String tagValue = TagValueUtil.findTagValue(Store.navigationExtraParent, classifier);
+// return tagValue == null ? null : tagValue.trim();
+// }
+
+ public String getNavigationEntryPointTagValue(ObjectModelClassifier classifier) {
+ String tagValue = TagValueUtil.findTagValue(Store.navigationEntryPoint, classifier);
+ return tagValue == null ? null : tagValue.trim();
+ }
+
/**
* Obtain the value of the {@link Store#comparator} tag value on the given classifier.
*
@@ -203,6 +218,12 @@ public class ObserveTagValues extends DefaultTagValueMetadatasProvider {
mainDto("Pour qualifier le dto principal", String.class, null, ObjectModelClassifier.class),
+ navigationParent("Pour indiquer quelle est le parent dans la navigation", String.class, null, ObjectModelClassifier.class),
+
+// navigationExtraParent("Pour indiquer quelle est le parent dans la navigation", String.class, null, ObjectModelClassifier.class),
+
+ navigationEntryPoint("Pour indiquer si la classe est un point d'entrée est le parent dans la navigation", String.class, null, ObjectModelClassifier.class),
+
comparator("Pour qualifier l'attribut de comparaison", String.class, null, ObjectModelClassifier.class),
/**
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/BusinessProjectTransformer.java
=====================================
@@ -161,15 +161,15 @@ public class BusinessProjectTransformer extends ObjectModelTransformerToJava imp
navigationModelHelper.registerEditClassesCandidate(moduleName, subModuleName, input, input.getName());
navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, input.getName());
- String extraParent = input.getTagValue("navigationExtraParent");
- if (extraParent != null) {
- String inputName = GeneratorUtil.getSimpleName(extraParent) + input.getName();
- navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, inputName);
- }
+// String extraParent = observeTagValues.getNavigationExtraParentTagValue(input);
+// if (extraParent != null) {
+// String inputName = GeneratorUtil.getSimpleName(extraParent) + input.getName();
+// navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, inputName);
+// }
} else if (superclasses.stream().anyMatch(s -> s.getName().equals("Editable"))) {
navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, input.getName());
} else {
- String navigationEntryPoint = input.getTagValue("NavigationEntryPoint");
+ String navigationEntryPoint = observeTagValues.getNavigationEntryPointTagValue(input);
if (navigationEntryPoint != null) {
navigationModelHelper.registerSelectExtraClassesCandidate(moduleName, subModuleName, input);
navigationModelHelper.registerEditExtraClassesCandidate(moduleName, subModuleName, input);
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/NavigationModelHelper.java
=====================================
@@ -26,6 +26,7 @@ import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import fr.ird.observe.spi.ProjectPackagesDefinition;
+import fr.ird.observe.toolkit.templates.ObserveTagValues;
import org.apache.commons.lang3.mutable.MutableInt;
import org.nuiton.eugene.GeneratorUtil;
import org.nuiton.eugene.models.object.ObjectModelClass;
@@ -123,11 +124,12 @@ public class NavigationModelHelper {
*/
public void init() {
+ ObserveTagValues tagValues = new ObserveTagValues();
Set<ObjectModelClass> editCandidates = new LinkedHashSet<>(editExtraClassesCandidates.keySet());
editCandidates.addAll(editClassesCandidates.keySet());
ImmutableMap<String, ObjectModelClass> editNameCandidates = Maps.uniqueIndex(editCandidates, ObjectModelClass::getQualifiedName);
for (ObjectModelClass candidateClass : editClassesCandidates.keySet()) {
- String dependencyClass = def.getDtoRootPackage() + "." + candidateClass.getTagValue("navigationParent");
+ String dependencyClass = def.getDtoRootPackage() + "." + tagValues.getNavigationParentTagValue(candidateClass);
ObjectModelClass parentClass = editNameCandidates.get(dependencyClass);
if (parentClass != null) {
String editNodeName = getEditNodeName(candidateClass);
@@ -140,7 +142,7 @@ public class NavigationModelHelper {
selectCandidates.addAll(selectClassesCandidates.keySet());
ImmutableMap<String, ObjectModelClass> selectNameCandidates = Maps.uniqueIndex(selectCandidates, ObjectModelClass::getQualifiedName);
for (ObjectModelClass candidateClass : selectClassesCandidates.keySet()) {
- String dependencyClass = def.getDtoRootPackage() + "." + candidateClass.getTagValue("navigationParent");
+ String dependencyClass = def.getDtoRootPackage() + "." + tagValues.getNavigationParentTagValue(candidateClass);
ObjectModelClass parentClass = selectNameCandidates.get(dependencyClass);
if (parentClass != null) {
String selectNodeName = getSelectNodeName(candidateClass);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/44fc8be644857c15670c6446…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/44fc8be644857c15670c6446…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: make observe tag values available in eugene :)
by Tony CHEMIT 25 Jan '21
by Tony CHEMIT 25 Jan '21
25 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
e6807f21 by Tony Chemit at 2021-01-25T17:06:32+01:00
make observe tag values available in eugene :)
- - - - -
44fc8be6 by Tony Chemit at 2021-01-25T17:39:25+01:00
introduce tag values extractor
- - - - -
2 changed files:
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java
Changes:
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
=====================================
@@ -37,12 +37,17 @@ import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelPackage;
import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import java.util.TreeMap;
/**
* Created on 24/01/2021.
@@ -72,6 +77,7 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
augmentsTagValues(model, all, observeTagValues);
consolidateModel(model, all, observeTagValues, getLog());
augmentsTagValuesFinal(model, all, observeTagValues);
+ extractTagValues(allWithAbstract);
return true;
}
@@ -81,17 +87,18 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass);
if (observeTagValues.notSkip(mainDtoTagValue) != null) {
String newValue = aPackage.getName() + "." + mainDtoTagValue + "Dto";
- getLog().info(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue));
+ getLog().debug(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue));
aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), newValue);
}
String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage);
if (observeTagValues.notSkip(formTagValue) != null && !Objects.equals("self", formTagValue)) {
String newValue = aPackage.getName() + "." + formTagValue + "Dto";
- getLog().info(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue));
+ getLog().debug(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue));
aClass.getTagValues().put(ObserveTagValues.Store.form.name(), newValue);
}
}
}
+
protected void augmentsReferences(BeanTransformerContext all, String packageName) {
for (ObjectModelClass aClass : all.selectedClasses) {
for (ObjectModelAttribute attribute : aClass.getAttributes()) {
@@ -99,9 +106,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
if (!attributeType.startsWith(packageName) && attributeType.endsWith("Reference")) {
// add full package
String newValue = packageName + "." + attributeType;
- getLog().info(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(),attribute.getName(), newValue));
- ((ObjectModelAttributeImpl)attribute).setType(newValue);
-
+ getLog().debug(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(), attribute.getName(), newValue));
+ ((ObjectModelAttributeImpl) attribute).setType(newValue);
}
}
}
@@ -113,13 +119,13 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage);
if (Objects.equals("self", formTagValue)) {
String newValue = aClass.getQualifiedName() + "Dto";
- getLog().info(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue));
+ getLog().debug(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue));
aClass.getTagValues().put(ObserveTagValues.Store.form.name(), newValue);
}
String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass);
if (mainDtoTagValue == null) {
String newValue = aClass.getQualifiedName() + "Dto";
- getLog().info(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue));
+ getLog().debug(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue));
aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), newValue);
}
}
@@ -136,12 +142,11 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass);
String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage);
if (mainDtoTagValue == null && (formTagValue == null || Objects.equals("self", formTagValue))) {
- log.info(String.format("found ContainerDto without any tagValues, add convention tagValues: %s", aClass.getQualifiedName()));
+ log.debug(String.format("found ContainerDto without any tagValues, add convention tagValues: %s", aClass.getQualifiedName()));
ObjectModelClass childType = guessChildType(all.selectedClasses, aClass);
- log.info(String.format("add tag value %s.form=%s", aClass.getQualifiedName(), childType.getQualifiedName()) + "Dto");
+ log.debug(String.format("add tag value %s.form=%s", aClass.getQualifiedName(), childType.getQualifiedName()) + "Dto");
ObjectModelClass mainType = guessMainType(all.selectedClasses, aClass, childType);
- log.info(String.format("add tag value %s.mainDto=%s", aClass.getQualifiedName(), mainType.getQualifiedName()) + "Dto");
-
+ log.debug(String.format("add tag value %s.mainDto=%s", aClass.getQualifiedName(), mainType.getQualifiedName()) + "Dto");
aClass.getTagValues().put(ObserveTagValues.Store.form.name(), childType.getQualifiedName() + "Dto");
aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), mainType.getQualifiedName() + "Dto");
}
@@ -163,9 +168,7 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
continue;
}
if (name.endsWith(selectedClass.getName())) {
- if (candidates.isEmpty()) {
- candidates.add(selectedClass);
- } else {
+ if (!candidates.isEmpty()) {
ObjectModelClass objectModelClass = candidates.get(0);
if (selectedClass.getName().endsWith(objectModelClass.getName())) {
candidates.remove(0);
@@ -173,8 +176,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
// not keeping this one
continue;
}
- candidates.add(selectedClass);
}
+ candidates.add(selectedClass);
}
}
if (candidates.isEmpty()) {
@@ -184,8 +187,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
// only one candidate, found it!
return candidates.get(0);
}
- candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed());
// should take the biggest matching candidate ?
+ candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed());
return candidates.get(0);
}
@@ -215,6 +218,31 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
return candidates.get(0);
}
// should take the smallest matching candidate ?
+ candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed());
return candidates.get(0);
}
+
+
+ protected void extractTagValues(BeanTransformerContext all) {
+ Map<String, String> p = new TreeMap<>();
+ for (ObjectModelClass aClass : all.selectedClasses) {
+ String tagValuePrefix = aClass.getQualifiedName() + ".attribute.";
+ for (ObjectModelAttribute attribute : aClass.getAttributes()) {
+ String tagValuePrefix2 = tagValuePrefix + attribute.getName() + ".tagValue.";
+ Map<String, String> tagValues1 = attribute.getTagValues();
+ tagValues1.forEach((k, v) -> p.put(tagValuePrefix2 + k, v));
+ }
+ }
+ File outputDir = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class);
+ Path path = outputDir.toPath().resolve("extracted-tagValues.properties");
+ getLog().info(String.format("Generated all tag-values in %s", path));
+ try (BufferedWriter writer = java.nio.file.Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
+ for (String k : p.keySet()) {
+ writer.write(String.format("%s=%s", k, p.get(k)));
+ writer.newLine();
+ }
+ } catch (IOException e) {
+ throw new IllegalStateException("Can't write " + path, e);
+ }
+ }
}
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.toolkit.templates;
* #L%
*/
+import com.google.auto.service.AutoService;
import com.google.common.collect.ImmutableSet;
import org.codehaus.plexus.component.annotations.Component;
import org.nuiton.eugene.models.extension.tagvalue.TagValueMetadata;
@@ -45,6 +46,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
* @since 4.0
*/
@Component(role = TagValueMetadatasProvider.class, hint = "observe")
+(a)AutoService(TagValueMetadatasProvider.class)
public class ObserveTagValues extends DefaultTagValueMetadatasProvider {
public ObserveTagValues() {
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0d7934bbffce9c899793579b…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0d7934bbffce9c899793579b…
You're receiving this email because of your account on gitlab.com.
1
0
25 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
0d7934bb by Tony Chemit at 2021-01-25T10:08:56+01:00
augments reference in dto model
- - - - -
10 changed files:
- models/dto-definition/src/main/models/Observe-01-referential-common.model
- models/dto-definition/src/main/models/Observe-02-referential-ps-common.model
- models/dto-definition/src/main/models/Observe-03-referential-ps-observation.model
- models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
- models/dto-definition/src/main/models/Observe-25-data-ps.model
- models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
- models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model
- models/dto-definition/src/main/models/Observe-32-data-ll-landing.model
- models/dto-definition/src/main/models/Observe-35-data-ll.model
- toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
Changes:
=====================================
models/dto-definition/src/main/models/Observe-01-referential-common.model
=====================================
@@ -28,9 +28,9 @@ startDate + {*:1} Date | mayNotNull
endDate + {*:1} Date | mayNotNull
coefficients + {*:1} String | notNull
source + {*:1} String
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-ocean {*:0..1} fr.ird.observe.dto.referential.common.OceanReference | notNull
-sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
+ocean {*:0..1} referential.common.OceanReference | notNull
+sex {*:1} referential.common.SexReference | notNull
referential.common.Country > referential.I18nReferential | references=code,label,uri,iso2Code,iso3Code
iso2Code + {*:1} String | notNull unique
@@ -43,11 +43,11 @@ startDate + {*:1} Date | mayNotNull
endDate + {*:1} Date | mayNotNull
referential.common.Gear > referential.I18nReferential
-gearCharacteristic {*:*} fr.ird.observe.dto.referential.common.GearCharacteristicReference | ordered
+gearCharacteristic {*:*} referential.common.GearCharacteristicReference | ordered
referential.common.GearCharacteristic > referential.I18nReferential | references=code,label,uri,gearCharacteristicType,unit
unit + {*:1} String
-gearCharacteristicType {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicTypeReference
+gearCharacteristicType {*:1} referential.common.GearCharacteristicTypeReference
referential.common.GearCharacteristicType > referential.I18nReferential >> referential.common.GearCharacteristicTypeAware
@@ -56,15 +56,15 @@ locode + {*:1} String | mayNotNull
latitude + {*:1} Float | mayNotNull
longitude + {*:1} Float | mayNotNull
quadrant + {*:1} Integer | mayNotNull
-country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull
+country {*:0..1} referential.common.CountryReference | notNull
referential.common.LengthLengthParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula
inputOutputFormula + {*:1} String | notNull
inputOutputFormulaValid + {*:1} boolean
outputInputFormula + {*:1} String | notNull
outputInputFormulaValid + {*:1} boolean
-inputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull
-outputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull
+inputSizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull
+outputSizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull
referential.common.LengthWeightParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType
lengthWeightFormula + {*:1} String | notNull
@@ -73,7 +73,7 @@ meanLength + {*:1} Float | strictlyPositiveNumber
meanWeight + {*:1} Float | strictlyPositiveNumber
lengthWeightFormulaValid + {*:1} boolean
weightLengthFormulaValid + {*:1} boolean
-sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull
+sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference | notNull
referential.common.Ocean > referential.I18nReferential
@@ -83,7 +83,7 @@ referential.common.WeightMeasureMethod > referential.I18nReferential
referential.common.Organism > referential.I18nReferential
description + {*:1} String | mayNotNull
-country {*:1} fr.ird.observe.dto.referential.common.CountryReference | notNull
+country {*:1} referential.common.CountryReference | notNull
referential.common.Person > referential.Referential >> reference.ReferentialDtoReferenceWithNoCodeAware | references=firstName,lastName,uri,captain,observer,dataEntryOperator,dataSource
lastName + {*:1} String | notNull
@@ -92,7 +92,7 @@ observer + {*:1} boolean
captain + {*:1} boolean
dataEntryOperator + {*:1} boolean
dataSource + {*:1} boolean
-country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull
+country {*:0..1} referential.common.CountryReference | notNull
referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate NavigationEntryPoint
nonTargetObservation + {*:1} int
@@ -108,7 +108,7 @@ endDate + {*:1} Date | mayNotNull
comment + {*:1} String
tripCount + {*:1} int
gearType {*:1} !fr.ird.observe.dto.referential.common.GearType | notNull
-organism {*:1} fr.ird.observe.dto.referential.common.OrganismReference | notNull
+organism {*:1} referential.common.OrganismReference | notNull
gearTypePrefix + {*:1} String
referential.common.Sex > referential.I18nReferential
@@ -117,7 +117,7 @@ referential.common.ShipOwner > referential.Referential >> WithStartEndDate | ref
label + {*:1} String | notNull
startDate + {*:1} Date | mayNotNull
endDate + {*:1} Date | mayNotNull
-country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference
+country {*:0..1} referential.common.CountryReference
referential.common.SizeMeasureType > referential.I18nReferential
@@ -129,18 +129,18 @@ minLength + {*:1} Float | positiveNumber
maxLength + {*:1} Float | strictlyPositiveNumber
minWeight + {*:1} Float | positiveNumber
maxWeight + {*:1} Float | strictlyPositiveNumber
-ocean {*:*} fr.ird.observe.dto.referential.common.OceanReference | ordered mayNotNull
-speciesGroup {*:1} fr.ird.observe.dto.referential.common.SpeciesGroupReference | notNull
-sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference
-weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference
+ocean {*:*} referential.common.OceanReference | ordered mayNotNull
+speciesGroup {*:1} referential.common.SpeciesGroupReference | notNull
+sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference
+weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference
referential.common.SpeciesGroup > referential.I18nReferential
-speciesGroupReleaseMode {*:*} fr.ird.observe.dto.referential.common.SpeciesGroupReleaseModeReference | ordered
+speciesGroupReleaseMode {*:*} referential.common.SpeciesGroupReleaseModeReference | ordered
referential.common.SpeciesGroupReleaseMode > referential.I18nReferential
referential.common.SpeciesList > referential.I18nReferential
-species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | ordered mayNotNull
+species {*:*} referential.common.SpeciesReference | ordered mayNotNull
referential.common.Vessel > referential.I18nReferential | references=code,label,uri,vesselTypeId
keelCode + {*:1} Integer | strictlyPositiveNumber
@@ -159,11 +159,11 @@ tuviId + {*:1} String
imoId + {*:1} String
radioCallSignId + {*:1} String
lloydId + {*:1} String
-fleetCountry {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull
-flagCountry {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull
-vesselType {*:0..1} fr.ird.observe.dto.referential.common.VesselTypeReference | notNull
-vesselSizeCategory {*:0..1} fr.ird.observe.dto.referential.common.VesselSizeCategoryReference | notNull
-shipOwner {*:0..1} fr.ird.observe.dto.referential.common.ShipOwnerReference
+fleetCountry {*:0..1} referential.common.CountryReference | notNull
+flagCountry {*:0..1} referential.common.CountryReference | notNull
+vesselType {*:0..1} referential.common.VesselTypeReference | notNull
+vesselSizeCategory {*:0..1} referential.common.VesselSizeCategoryReference | notNull
+shipOwner {*:0..1} referential.common.ShipOwnerReference
referential.common.VesselSizeCategory > referential.Referential | references=code,uri,gaugeLabel,capacityLabel
capacityLabel + {*:1} String | notNull
=====================================
models/dto-definition/src/main/models/Observe-02-referential-ps-common.model
=====================================
@@ -9,8 +9,8 @@ biodegradable + {*:1} Boolean
nonEntangling + {*:1} Boolean
childrenMultiSelectable + {*:1} boolean
childSelectionMandatory + {*:1} boolean
-parent {*:0..1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialReference | mayNotNull
-objectMaterialType {*:1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialTypeReference | mayNotNull
+parent {*:0..1} referential.ps.common.ObjectMaterialReference | mayNotNull
+objectMaterialType {*:1} referential.ps.common.ObjectMaterialTypeReference | mayNotNull
validation + {*:1} String
validationValid + {*:1} boolean
=====================================
models/dto-definition/src/main/models/Observe-03-referential-ps-observation.model
=====================================
@@ -9,7 +9,7 @@ referential.ps.observation.NonTargetCatchReleaseStatus > referential.I18nReferen
referential.ps.observation.NonTargetCatchReleasingTime > referential.I18nReferential
referential.ps.observation.ObservedSystem > referential.I18nReferential
-schoolType + {*:1} fr.ird.observe.dto.referential.ps.common.SchoolTypeReference
+schoolType + {*:1} referential.ps.common.SchoolTypeReference
referential.ps.observation.ReasonForDiscard > referential.I18nReferential
@@ -22,4 +22,4 @@ referential.ps.observation.SpeciesStatus > referential.I18nReferential
referential.ps.observation.SurroundingActivity > referential.I18nReferential
referential.ps.observation.WeightCategory > referential.I18nReferential >> reference.ReferentialDtoReferenceWithNoCodeAware | references=code,label,uri,speciesId
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
=====================================
models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
=====================================
@@ -13,18 +13,18 @@ ersId + {*:1} String
floatingObjectEmpty + {*:1} boolean
observedSystemDistance + {*:1} Float | mayNotNull positiveNumber
quadrant + {*:1} Integer | notNull
-vesselActivity {*:1} fr.ird.observe.dto.referential.ps.common.VesselActivityReference | notNull
-surroundingActivity {*:0..1} fr.ird.observe.dto.referential.ps.observation.SurroundingActivityReference | mayNotNull
-wind {*:0..1} fr.ird.observe.dto.referential.common.WindReference | mayNotNull
-detectionMode {*:0..1} fr.ird.observe.dto.referential.ps.observation.DetectionModeReference
-reasonForNoFishing {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForNoFishingReference
-previousFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference
-currentFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference
-nextFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference
-dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
-set {*:0..1} fr.ird.observe.dto.data.ps.observation.SetReference
-observedSystem {*:*} fr.ird.observe.dto.referential.ps.observation.ObservedSystemReference | notNull
-nonTargetCatchSpecies {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | unique
+vesselActivity {*:1} referential.ps.common.VesselActivityReference | notNull
+surroundingActivity {*:0..1} referential.ps.observation.SurroundingActivityReference | mayNotNull
+wind {*:0..1} referential.common.WindReference | mayNotNull
+detectionMode {*:0..1} referential.ps.observation.DetectionModeReference
+reasonForNoFishing {*:0..1} referential.ps.observation.ReasonForNoFishingReference
+previousFpaZone {*:0..1} referential.common.FpaZoneReference
+currentFpaZone {*:0..1} referential.common.FpaZoneReference
+nextFpaZone {*:0..1} referential.common.FpaZoneReference
+dataQuality {*:0..1} referential.common.DataQualityReference
+set {*:0..1} data.ps.observation.SetReference
+observedSystem {*:*} referential.ps.observation.ObservedSystemReference | notNull
+nonTargetCatchSpecies {*:*} referential.common.SpeciesReference | unique
data.ps.observation.ActivityStub > data.Data | mainDto=Activity
time + {*:1} Date
@@ -34,7 +34,7 @@ seaSurfaceTemperature + {*:1} Float
activityEndOfSearching + {*:1} boolean
data.ps.observation.FloatingObject > data.Editable | references=objectOperationLabel navigationParent=data.ps.observation.Activity
-objectOperation {*:1} fr.ird.observe.dto.referential.ps.common.ObjectOperationReference | notNull
+objectOperation {*:1} referential.ps.common.ObjectOperationReference | notNull
supportVesselName + {*:1} String
computedWhenArrivingBiodegradable + {*:1} !fr.ird.observe.dto.data.ps.DcpComputedValue
computedWhenArrivingNonEntangling + {*:1} !fr.ird.observe.dto.data.ps.DcpComputedValue
@@ -52,7 +52,7 @@ objectObservedSpecies {*} data.ps.observation.ObjectObservedSpecies
data.ps.observation.FloatingObjectPart > data.Data | references=objectMaterialId,objectMaterialLabel,whenArriving,whenLeaving
whenArriving + {*:1} String
whenLeaving + {*:1} String
-objectMaterial {*:1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialReference
+objectMaterial {*:1} referential.ps.common.ObjectMaterialReference
data.ps.observation.FloatingObjectObjectSchoolEstimate > data.Container
objectSchoolEstimate {*} data.ps.observation.ObjectSchoolEstimate
@@ -70,24 +70,24 @@ totalCountComputedSource + {*:1} !fr.ird.observe.dto.data.ps.NonTargetCatchCompu
hasSample + {*:1} boolean
well + {*:1} String
hasRelease + {*:1} boolean
-reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardReference
-speciesFate {*:0..1} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference | notNull
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
+reasonForDiscard {*:0..1} referential.ps.observation.ReasonForDiscardReference
+speciesFate {*:0..1} referential.ps.common.SpeciesFateReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
data.ps.observation.NonTargetCatchRelease > data.ContainerChild | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length
comment + {*:1} String
length + {*:1} Float | positiveNumber
count + {*:1} Integer | notNull strictlyPositiveNumber
acquisitionMode + {*:1} int
-status {*:1} !fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatusReference | notNull
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull
-speciesGroupReleaseMode {*:1} fr.ird.observe.dto.referential.common.SpeciesGroupReleaseModeReference | notNull
-conformity {*:1} fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseConformityReference
-releasingTime {*:1} fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleasingTimeReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
+status {*:1} referential.ps.observation.NonTargetCatchReleaseStatusReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
+sex {*:1} referential.common.SexReference | notNull
+speciesGroupReleaseMode {*:1} referential.common.SpeciesGroupReleaseModeReference | notNull
+conformity {*:1} referential.ps.observation.NonTargetCatchReleaseConformityReference
+releasingTime {*:1} referential.ps.observation.NonTargetCatchReleasingTimeReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
data.ps.observation.NonTargetLength > data.ContainerChild | references=speciesLabel,length,sexLabel
length + {*:1} Float | positiveNumber
@@ -98,13 +98,13 @@ isWeightComputed + {*:1} boolean
count + {*:1} Integer | notNull positiveNumber
acquisitionMode + {*:1} int
tagNumber + {*:1} String
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull
-speciesFate {*:0..1} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference | mayNotNull
-sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull
-weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
+species {*:1} referential.common.SpeciesReference | notNull
+sex {*:1} referential.common.SexReference | notNull
+speciesFate {*:0..1} referential.ps.common.SpeciesFateReference | mayNotNull
+sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference | notNull
+weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
data.ps.observation.NonTargetSample > data.Container | form=NonTargetLength references=homeId
nonTargetLength + {*} data.ps.observation.NonTargetLength | ordered
@@ -113,13 +113,13 @@ availableSpeciesFateIds + {*} String | unique
data.ps.observation.ObjectObservedSpecies > data.ContainerChild | references=speciesLabel,speciesStatusLabel,count
count + {*:1} Integer | notNull positiveNumber
-speciesStatus {*:1} fr.ird.observe.dto.referential.ps.observation.SpeciesStatusReference | notNull
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
+speciesStatus {*:1} referential.ps.observation.SpeciesStatusReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
data.ps.observation.ObjectSchoolEstimate > data.ContainerChild | references=speciesLabel,totalWeight
totalWeight + {*:1} Integer | notNull positiveNumber
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+species {*:1} referential.common.SpeciesReference | notNull
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ps.observation.Route > data.Openable | references=date,comment,activitySize comparator=date navigationParent=data.ps.common.Trip
comment + {*:1} String
@@ -137,8 +137,8 @@ endLogValue + {*:1} Float
data.ps.observation.SchoolEstimate > data.ContainerChild | references=speciesLabel,meanWeight,totalWeight
totalWeight + {*:1} Integer | positiveNumber
meanWeight + {*:1} Integer | positiveNumber
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+species {*:1} referential.common.SpeciesReference | notNull
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ps.observation.Set > data.Editable | references=comment,discardedTargetSampleEnabled,keptTargetSampleEnabled,nonTargetSampleEnabled,setNonTargetCatchReleaseEnabled constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime navigationParent=data.ps.observation.Activity
startTime + {*:1} Date
@@ -152,10 +152,10 @@ schoolMeanDepth + {*:1} Integer | positiveNumber
schoolThickness + {*:1} Integer | positiveNumber
supportVesselName + {*:1} String
currentMeasureDepth + {*:1} Integer | positiveNumber
-schoolType + {*:1} fr.ird.observe.dto.referential.ps.common.SchoolTypeReference
+schoolType + {*:1} referential.ps.common.SchoolTypeReference
targetCatchCompositionEstimatedByObserver + {*:1} boolean
targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean
-reasonForNullSet {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForNullSetReference
+reasonForNullSet {*:0..1} referential.ps.observation.ReasonForNullSetReference
discardedTargetSampleEnabled + boolean
keptTargetSampleEnabled + boolean
nonTargetSampleEnabled + boolean
@@ -189,19 +189,19 @@ comment + {*:1} String
catchWeight + {*:1} Float | notNull positiveNumber
hasSample + {*:1} boolean
well + {*:1} String
-weightCategory {*:1} fr.ird.observe.dto.referential.ps.observation.WeightCategoryReference | notNull
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+weightCategory {*:1} referential.ps.observation.WeightCategoryReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ps.observation.DiscardedTargetCatch > data.ContainerChild | references=speciesLabel,catchWeight mainDto=TargetCatch
comment + {*:1} String
catchWeight + {*:1} Float | notNull positiveNumber
hasSample + {*:1} boolean
broughtOnDeck + {*:1} Boolean
-weightCategory {*:1} fr.ird.observe.dto.referential.ps.observation.WeightCategoryReference | notNull
-reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardReference
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+weightCategory {*:1} referential.ps.observation.WeightCategoryReference | notNull
+reasonForDiscard {*:0..1} referential.ps.observation.ReasonForDiscardReference
+species {*:1} referential.common.SpeciesReference | notNull
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ps.observation.TargetLength > data.ContainerChild | references=speciesLabel,length,count constants=totalWeight
length + {*:1} Float | positiveNumber
@@ -211,12 +211,12 @@ weight + {*:1} Float | positiveNumber
isWeightComputed + {*:1} boolean
acquisitionMode + {*:1} int
tagNumber + {*:1} String
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-sizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull
-weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference
-sex {*:0..1} fr.ird.observe.dto.referential.common.SexReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
+species {*:1} referential.common.SpeciesReference | notNull
+sizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull
+weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference
+sex {*:0..1} referential.common.SexReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
data.ps.observation.TargetSample > data.Container | form=TargetLength references=homeId,nature,discarded
targetLength + {*} data.ps.observation.TargetLength | ordered
@@ -239,8 +239,8 @@ availableSpeciesIds + {*} String | unique
data.ps.observation.TransmittingBuoy > data.Data | references=code,comment,transmittingBuoyTypeLabel,transmittingBuoyOperationLabel
comment + {*:1} String
code + {*:1} String | mayNotNull
-transmittingBuoyOwnership + {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOwnershipReference
-transmittingBuoyType {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyTypeReference | notNull
-transmittingBuoyOperation {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOperationReference | notNull
-country {*:1} fr.ird.observe.dto.referential.common.CountryReference
-vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference
\ No newline at end of file
+transmittingBuoyOwnership + {*:1} referential.ps.common.TransmittingBuoyOwnershipReference
+transmittingBuoyType {*:1} referential.ps.common.TransmittingBuoyTypeReference | notNull
+transmittingBuoyOperation {*:1} referential.ps.common.TransmittingBuoyOperationReference | notNull
+country {*:1} referential.common.CountryReference
+vessel {*:1} referential.common.VesselReference
\ No newline at end of file
=====================================
models/dto-definition/src/main/models/Observe-25-data-ps.model
=====================================
@@ -5,11 +5,11 @@ comment + {*:1} String
number + {*:1} Integer | notNull positiveNumber
usedInTrip + {*:1} Boolean
gearUseFeaturesMeasurement + {*} data.ps.common.GearUseFeaturesMeasurement | ordered
-gear {*:1} fr.ird.observe.dto.referential.common.GearReference | notNull
+gear {*:1} referential.common.GearReference | notNull
data.ps.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCharacteristicLabel
measurementValue + {*:1} String
-gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference
+gearCharacteristic {*:1} referential.common.GearCharacteristicReference
data.ps.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,routeSize,vessel,observerLabel comparator=startDate navigationParent=referential.common.Program
comment + {*:1} String
@@ -20,16 +20,16 @@ formsUrl + {*:1} String
reportsUrl + {*:1} String
historicalData + {*:1} boolean
ersId + {*:1} String
-observer {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | notNull
-captain {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull
-dataEntryOperator {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull
-vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference | notNull
-ocean {*:0..1} fr.ird.observe.dto.referential.common.OceanReference | notNull
-departureHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | notNull
-landingHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull
-dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
+observer {*:0..1} referential.common.PersonReference | notNull
+captain {*:0..1} referential.common.PersonReference | mayNotNull
+dataEntryOperator {*:0..1} referential.common.PersonReference | mayNotNull
+vessel {*:1} referential.common.VesselReference | notNull
+ocean {*:0..1} referential.common.OceanReference | notNull
+departureHarbour {*:0..1} referential.common.HarbourReference | notNull
+landingHarbour {*:0..1} referential.common.HarbourReference | mayNotNull
+dataQuality {*:0..1} referential.common.DataQualityReference
route {*} data.ps.observation.RouteStub | ordered unique
-program {*:1} fr.ird.observe.dto.referential.common.ProgramReference
+program {*:1} referential.common.ProgramReference
data.ps.common.TripGearUseFeatures > data.Container
gearUseFeatures + {*} data.ps.common.GearUseFeatures | ordered mayNotNull
=====================================
models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
=====================================
@@ -13,9 +13,9 @@ latitude + {*:1} Float | notNull
longitude + {*:1} Float | notNull
seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber
quadrant + {*:1} Integer | notNull
-fpaZone {*:1} fr.ird.observe.dto.referential.common.FpaZoneReference | mayNotNull
-vesselActivity {*:1} fr.ird.observe.dto.referential.ll.common.VesselActivityReference | notNull
-dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
+fpaZone {*:1} referential.common.FpaZoneReference | mayNotNull
+vesselActivity {*:1} referential.ll.common.VesselActivityReference | notNull
+dataQuality {*:0..1} referential.common.DataQualityReference
set {*:0..1} fr.ird.observe.dto.data.ll.observation.SetReference
data.ll.observation.ActivityEncounter > data.Container
@@ -32,8 +32,8 @@ hasSet + {*:1} Boolean
data.ll.observation.BaitsComposition > data.ContainerChildWithProportion | references=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight
individualSize + {*:1} Integer | positiveNumber
individualWeight + {*:1} Float | positiveNumber
-baitSettingStatus {*:1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference
-baitType {*:1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference | notNull
+baitSettingStatus {*:1} referential.ll.common.BaitSettingStatusReference
+baitType {*:1} referential.ll.common.BaitTypeReference | notNull
data.ll.observation.Basket > data.Data >> data.ll.observation.LonglineElementAware | references=settingIdentifier,haulingIdentifier,parentId
settingIdentifier + {*:1} Integer | notNull positiveNumber
@@ -60,27 +60,27 @@ snapWeight + {*:1} Float | positiveNumber
tracelineLength + {*:1} Float | positiveNumber
hookLost + {*:1} Boolean
traceCutOff + {*:1} Boolean
-baitSettingStatus {*:0..1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference
-hookSize {*:0..1} fr.ird.observe.dto.referential.ll.common.HookSizeReference
-baitHaulingStatus {*:0..1} fr.ird.observe.dto.referential.ll.observation.BaitHaulingStatusReference
-hookType {*:0..1} fr.ird.observe.dto.referential.ll.common.HookTypeReference
-tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | mayNotNull
-topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | mayNotNull
-baitType {*:0..1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference
+baitSettingStatus {*:0..1} referential.ll.common.BaitSettingStatusReference
+hookSize {*:0..1} referential.ll.common.HookSizeReference
+baitHaulingStatus {*:0..1} referential.ll.observation.BaitHaulingStatusReference
+hookType {*:0..1} referential.ll.common.HookTypeReference
+tracelineType {*:0..1} referential.ll.common.LineTypeReference | mayNotNull
+topType {*:0..1} referential.ll.common.LineTypeReference | mayNotNull
+baitType {*:0..1} referential.ll.common.BaitTypeReference
parentId + {*:1} String
notUsed + {*:1} boolean
data.ll.observation.BranchlinesComposition > data.ContainerChildWithProportion | references=proportion,topTypeLabel,tracelineTypeLabel,length
length + {*:1} Float | notNull positiveNumber
tracelineLength + {*:1} Float | positiveNumber
-topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
-tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
+topType {*:0..1} referential.ll.common.LineTypeReference | notNull
+tracelineType {*:0..1} referential.ll.common.LineTypeReference | notNull
data.ll.observation.Catch > data.ContainerChild >> data.ll.observation.LonglinePositionAware | references=homeId
comment + {*:1} String
-section {*:0..1} fr.ird.observe.dto.data.ll.observation.SectionReference
-basket {*:0..1} fr.ird.observe.dto.data.ll.observation.BasketReference
-branchline {*:0..1} fr.ird.observe.dto.data.ll.observation.BranchlineReference
+section {*:0..1} data.ll.observation.SectionReference
+basket {*:0..1} data.ll.observation.BasketReference
+branchline {*:0..1} data.ll.observation.BranchlineReference
count + {*:1} Integer | positiveNumber
totalWeight + {*:1} Float | positiveNumber
hookWhenDiscarded + {*:1} Boolean
@@ -91,33 +91,33 @@ photoReferences + {*:1} String
number + {*:1} Integer
acquisitionMode + {*:1} int
tagNumber + {*:1} String
-catchFate {*:1} fr.ird.observe.dto.referential.ll.common.CatchFateReference | notNull
-discardHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference
+catchFate {*:1} referential.ll.common.CatchFateReference | notNull
+discardHealthStatus {*:1} referential.ll.common.HealthStatusReference
sizeMeasure + {*} data.ll.observation.SizeMeasure
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-predator {*:*} fr.ird.observe.dto.referential.common.SpeciesReference
-maturityStatus {*:0..1} fr.ird.observe.dto.referential.ll.observation.MaturityStatusReference
-stomachFullness {*:0..1} fr.ird.observe.dto.referential.ll.observation.StomachFullnessReference
-hookPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.HookPositionReference
+species {*:1} referential.common.SpeciesReference | notNull
+predator {*:*} referential.common.SpeciesReference
+maturityStatus {*:0..1} referential.ll.observation.MaturityStatusReference
+stomachFullness {*:0..1} referential.ll.observation.StomachFullnessReference
+hookPosition {*:0..1} referential.ll.observation.HookPositionReference
weightMeasure + {*} data.ll.observation.WeightMeasure
-catchHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference
-sex {*:0..1} fr.ird.observe.dto.referential.common.SexReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+catchHealthStatus {*:1} referential.ll.common.HealthStatusReference
+sex {*:0..1} referential.common.SexReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ll.observation.Encounter > data.ContainerChild | references=encounterTypeLabel,speciesLabel
distance + {*:1} Float | mayNotNull positiveNumber
count + {*:1} Integer | mayNotNull positiveNumber
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | mayNotNull
-encounterType {*:1} fr.ird.observe.dto.referential.ll.observation.EncounterTypeReference | notNull
+species {*:1} referential.common.SpeciesReference | mayNotNull
+encounterType {*:1} referential.ll.observation.EncounterTypeReference | notNull
data.ll.observation.FloatlinesComposition > data.ContainerChildWithProportion | references=proportion,lineTypeLabel,length
length + {*:1} Float | notNull positiveNumber
-lineType {*:1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
+lineType {*:1} referential.ll.common.LineTypeReference | notNull
data.ll.observation.HooksComposition > data.ContainerChildWithProportion | references=proportion,hookTypeLabel,hookSizeLabel,hookOffset
hookOffset + {*:1} Integer | positiveNumber
-hookType {*:1} fr.ird.observe.dto.referential.ll.common.HookTypeReference | notNull
-hookSize {*:1} fr.ird.observe.dto.referential.ll.common.HookSizeReference
+hookType {*:1} referential.ll.common.HookTypeReference | notNull
+hookSize {*:1} referential.ll.common.HookSizeReference
data.ll.observation.Section > data.Data >> data.ll.observation.LonglineElementAware | references=settingIdentifier,haulingIdentifier,parentId
settingIdentifier + {*:1} Integer | notNull positiveNumber
@@ -128,9 +128,9 @@ notUsed + {*:1} boolean
data.ll.observation.SensorUsed > data.ContainerChildWithDataFile | references=sensorTypeLabel
sensorSerialNo + {*:1} String | mayNotNull
-sensorDataFormat {*:0..1} fr.ird.observe.dto.referential.ll.observation.SensorDataFormatReference
-sensorType {*:1} fr.ird.observe.dto.referential.ll.observation.SensorTypeReference | notNull
-sensorBrand {*:1} fr.ird.observe.dto.referential.ll.observation.SensorBrandReference
+sensorDataFormat {*:0..1} referential.ll.observation.SensorDataFormatReference
+sensorType {*:1} referential.ll.observation.SensorTypeReference | notNull
+sensorBrand {*:1} referential.ll.observation.SensorBrandReference
data.ll.observation.Set > data.Editable | references=homeId navigationParent=data.ll.observation.Activity
number + {*:1} Integer | positiveNumber
@@ -168,17 +168,17 @@ haulingStartQuadrant + {*:1} Integer | notNull
haulingEndQuadrant + {*:1} Integer | notNull
settingStartQuadrant + {*:1} Integer | notNull
settingEndQuadrant + {*:1} Integer | notNull
-settingShape {*:1} fr.ird.observe.dto.referential.ll.common.SettingShapeReference
-lineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference
-lightsticksType {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksTypeReference
-lightsticksColor {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksColorReference
+settingShape {*:1} referential.ll.common.SettingShapeReference
+lineType {*:0..1} referential.ll.common.LineTypeReference
+lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference
+lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference
otherSets {*} data.ll.observation.SetStub | mainDto=skip
data.ll.observation.SetCatch > data.Container >> data.ll.observation.LonglinePositionContainerAware
catches {*} data.ll.observation.Catch | ordered
-sections {*:*} fr.ird.observe.dto.data.ll.observation.SectionReference
-baskets {*:*} fr.ird.observe.dto.data.ll.observation.BasketReference
-branchlines {*:*} fr.ird.observe.dto.data.ll.observation.BranchlineReference
+sections {*:*} data.ll.observation.SectionReference
+baskets {*:*} data.ll.observation.BasketReference
+branchlines {*:*} data.ll.observation.BranchlineReference
haulingStartTimeStamp + {*:1} Date
data.ll.observation.SetDetailComposition > data.Simple | mainDto=Set
@@ -195,7 +195,7 @@ data.ll.observation.SetGlobalComposition > data.Simple | mainDto=Set
baitsComposition + {*} data.ll.observation.BaitsComposition
floatlinesComposition + {*} data.ll.observation.FloatlinesComposition
hooksComposition + {*} data.ll.observation.HooksComposition
-mitigationType:set + {*:*} fr.ird.observe.dto.referential.ll.common.MitigationTypeReference
+mitigationType:set + {*:*} referential.ll.common.MitigationTypeReference
branchlinesComposition + {*} data.ll.observation.BranchlinesComposition
data.ll.observation.SetStub > data.Data | mainDto=Set
@@ -204,21 +204,21 @@ activity {*:1} fr.ird.observe.dto.data.ll.observation.ActivityReference | unique
data.ll.observation.SetTdr > data.Container >> data.ll.observation.LonglinePositionContainerAware
tdr {*} data.ll.observation.Tdr
-sections {*:*} fr.ird.observe.dto.data.ll.observation.SectionReference
-baskets {*:*} fr.ird.observe.dto.data.ll.observation.BasketReference
-branchlines {*:*} fr.ird.observe.dto.data.ll.observation.BranchlineReference
+sections {*:*} data.ll.observation.SectionReference
+baskets {*:*} data.ll.observation.BasketReference
+branchlines {*:*} data.ll.observation.BranchlineReference
settingStartTimeStamp + {*:1} Date
data.ll.observation.SizeMeasure > data.Data | references=sizeMeasureTypeLabel,size
size + {*:1} Float | positiveNumber
-sizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
+sizeMeasureType {*:1} referential.common.SizeMeasureTypeReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
data.ll.observation.Tdr > data.ContainerChildWithDataFile >> data.ll.observation.LonglinePositionAware | references=homeId
comment + {*:1} String
-section {*:0..1} fr.ird.observe.dto.data.ll.observation.SectionReference
-basket {*:0..1} fr.ird.observe.dto.data.ll.observation.BasketReference
-branchline {*:0..1} fr.ird.observe.dto.data.ll.observation.BranchlineReference
+section {*:0..1} data.ll.observation.SectionReference
+basket {*:0..1} data.ll.observation.BasketReference
+branchline {*:0..1} data.ll.observation.BranchlineReference
floatline1Length + {*:1} Float | positiveNumber
floatline2Length + {*:1} Float | positiveNumber
serialNo + {*:1} String
@@ -234,15 +234,15 @@ minFishingDepth + {*:1} Float | positiveNumber
maxFishingDepth + {*:1} Float | positiveNumber
meanFishingDepth + {*:1} Float | positiveNumber
medianFishingDepth + {*:1} Float | positiveNumber
-sensorBrand {*:0..1} fr.ird.observe.dto.referential.ll.observation.SensorBrandReference
-species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference
-itemHorizontalPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.ItemHorizontalPositionReference
-itemVerticalPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.ItemVerticalPositionReference
+sensorBrand {*:0..1} referential.ll.observation.SensorBrandReference
+species {*:*} referential.common.SpeciesReference
+itemHorizontalPosition {*:0..1} referential.ll.observation.ItemHorizontalPositionReference
+itemVerticalPosition {*:0..1} referential.ll.observation.ItemVerticalPositionReference
data.ll.observation.TripActivityStub > data.Data | mainDto=Activity
timeStamp + {*:1} Date
data.ll.observation.WeightMeasure > data.Data | references=weightMeasureTypeLabel,weight
weight + {*:1} Float | positiveNumber
-weightMeasureType {*:1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+weightMeasureType {*:1} referential.common.WeightMeasureTypeReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
=====================================
models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model
=====================================
@@ -6,12 +6,12 @@ weight + {*:1} Float | positiveNumber
count + {*:1} Integer | notNull positiveNumber
acquisitionMode + {*:1} int
tagNumber + {*:1} String
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-sex {*:1} fr.ird.observe.dto.referential.common.SexReference
-sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference
-lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference
-weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
+species {*:1} referential.common.SpeciesReference | notNull
+sex {*:1} referential.common.SexReference
+sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference
+lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference
+weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
data.ll.logbook.Sample > data.Openable | references=timeStamp,latitude,longitude comparator=timeStamp navigationParent=data.ll.common.Trip
comment + {*:1} String
@@ -37,16 +37,16 @@ latitude + {*:1} Float | mayNotNull
longitude + {*:1} Float | mayNotNull
seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber
quadrant + {*:1} Integer | mayNotNull
-fpaZone {*:1} fr.ird.observe.dto.referential.common.FpaZoneReference | mayNotNull
-wind {*:1} fr.ird.observe.dto.referential.common.WindReference
+fpaZone {*:1} referential.common.FpaZoneReference | mayNotNull
+wind {*:1} referential.common.WindReference
windDirection + {*:1} Integer | positiveNumber
currentSpeed + {*:1} Float | positiveNumber
currentDirection + {*:1} Integer | positiveNumber
-vesselActivity {*:1} fr.ird.observe.dto.referential.ll.common.VesselActivityReference | notNull
-dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
+vesselActivity {*:1} referential.ll.common.VesselActivityReference | notNull
+dataQuality {*:0..1} referential.common.DataQualityReference
set {*:0..1} fr.ird.observe.dto.data.ll.logbook.SetReference
-activitySample {*:0..1} fr.ird.observe.dto.data.ll.logbook.ActivitySampleReference
-relatedObservedActivity + {0..1} fr.ird.observe.dto.data.ll.observation.ActivityReference | mayNotNull
+activitySample {*:0..1} data.ll.logbook.ActivitySampleReference
+relatedObservedActivity + {0..1} data.ll.observation.ActivityReference | mayNotNull
catchSpeciesIds + {*} String | unique
data.ll.logbook.ActivityStub > data.Data | mainDto=Activity
@@ -94,11 +94,11 @@ haulingStartQuadrant + {*:1} Integer
haulingEndQuadrant + {*:1} Integer
settingStartQuadrant + {*:1} Integer | notNull
settingEndQuadrant + {*:1} Integer
-settingShape {*:1} fr.ird.observe.dto.referential.ll.common.SettingShapeReference
-lineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference
+settingShape {*:1} referential.ll.common.SettingShapeReference
+lineType {*:0..1} referential.ll.common.LineTypeReference
lightsticksUsed + {*:1} Boolean
-lightsticksType {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksTypeReference
-lightsticksColor {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksColorReference
+lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference
+lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference
otherSets {*} data.ll.logbook.SetStub
data.ll.logbook.SetCatch > data.Container
@@ -113,29 +113,29 @@ data.ll.logbook.SetGlobalComposition > data.Simple | mainDto=Set
baitsComposition + {*} data.ll.logbook.BaitsComposition
floatlinesComposition + {*} data.ll.logbook.FloatlinesComposition
hooksComposition + {*} data.ll.logbook.HooksComposition
-mitigationType:set + {*:*} fr.ird.observe.dto.referential.ll.common.MitigationTypeReference
+mitigationType:set + {*:*} referential.ll.common.MitigationTypeReference
branchlinesComposition + {*} data.ll.logbook.BranchlinesComposition
data.ll.logbook.BaitsComposition > data.ContainerChildWithProportion | references=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight
individualSize + {*:1} Integer | positiveNumber
individualWeight + {*:1} Float | positiveNumber
-baitSettingStatus {*:1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference
-baitType {*:1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference | notNull
+baitSettingStatus {*:1} referential.ll.common.BaitSettingStatusReference
+baitType {*:1} referential.ll.common.BaitTypeReference | notNull
data.ll.logbook.BranchlinesComposition > data.ContainerChildWithProportion | references=proportion,topTypeLabel,tracelineTypeLabel,length
length + {*:1} Float | notNull positiveNumber
tracelineLength + {*:1} Float | positiveNumber
-topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
-tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
+topType {*:0..1} referential.ll.common.LineTypeReference | notNull
+tracelineType {*:0..1} referential.ll.common.LineTypeReference | notNull
data.ll.logbook.FloatlinesComposition > data.ContainerChildWithProportion | references=proportion,lineTypeLabel,length
length + {*:1} Float | notNull positiveNumber
-lineType {*:1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull
+lineType {*:1} referential.ll.common.LineTypeReference | notNull
data.ll.logbook.HooksComposition > data.ContainerChildWithProportion | references=proportion,hookTypeLabel,hookSizeLabel,hookOffset
hookOffset + {*:1} Integer | positiveNumber
-hookType {*:1} fr.ird.observe.dto.referential.ll.common.HookTypeReference | notNull
-hookSize {*:1} fr.ird.observe.dto.referential.ll.common.HookSizeReference
+hookType {*:1} referential.ll.common.HookTypeReference | notNull
+hookSize {*:1} referential.ll.common.HookSizeReference
data.ll.logbook.Catch > data.ContainerChild | references=homeId
comment + {*:1} String
@@ -150,10 +150,10 @@ acquisitionMode + {*:1} int
countDepredated + {*:1} Integer | positiveNumber
depredatedProportion + {*:1} Integer | strictlyPositiveNumber
tagNumber + {*:1} String
-catchFate {*:1} fr.ird.observe.dto.referential.ll.common.CatchFateReference | notNull
-discardHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
-predator {*:*} fr.ird.observe.dto.referential.common.SpeciesReference
-catchHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-onBoardProcessing {*:1} fr.ird.observe.dto.referential.ll.common.OnBoardProcessingReference
+catchFate {*:1} referential.ll.common.CatchFateReference | notNull
+discardHealthStatus {*:1} referential.ll.common.HealthStatusReference
+species {*:1} referential.common.SpeciesReference | notNull
+predator {*:*} referential.common.SpeciesReference
+catchHealthStatus {*:1} referential.ll.common.HealthStatusReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
+onBoardProcessing {*:1} referential.ll.common.OnBoardProcessingReference
=====================================
models/dto-definition/src/main/models/Observe-32-data-ll-landing.model
=====================================
@@ -1,25 +1,25 @@
package fr.ird.observe.dto.data.ll.landing | form=self packagePriority=32
data.ll.landing.LandingPart > data.ContainerChild | references=speciesLabel,categoryMin,categoryMax,weight
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
+species {*:1} referential.common.SpeciesReference | notNull
categoryMin + {*:1} Float
categoryMax + {*:1} Float
-onBoardProcessing {*:1} fr.ird.observe.dto.referential.ll.common.OnBoardProcessingReference
-conservation {*:1} fr.ird.observe.dto.referential.ll.landing.ConservationReference
+onBoardProcessing {*:1} referential.ll.common.OnBoardProcessingReference
+conservation {*:1} referential.ll.landing.ConservationReference
count + {*:1} Integer
weight + {*:1} Float | notNull
-weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
+weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference
+dataQuality {*:0..1} referential.common.DataQualityReference
data.ll.landing.Landing > data.Openable | references=startDate,harbourLabel,vesselLabel comparator=startDate navigationParent=data.ll.common.Trip
comment + {*:1} String
startDate + {*:1} Date
endDate + {*:1} Date
-dataSource {*:1} fr.ird.observe.dto.referential.ll.landing.DataSourceReference
-processingCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference | mayNotNull
-shippingCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference
-brokerageCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference
-person {*:1} fr.ird.observe.dto.referential.common.PersonReference
-harbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | notNull
-vessel {*:0..1} fr.ird.observe.dto.referential.common.VesselReference
+dataSource {*:1} referential.ll.landing.DataSourceReference
+processingCompany {*:1} referential.ll.landing.CompanyReference | mayNotNull
+shippingCompany {*:1} referential.ll.landing.CompanyReference
+brokerageCompany {*:1} referential.ll.landing.CompanyReference
+person {*:1} referential.common.PersonReference
+harbour {*:0..1} referential.common.HarbourReference | notNull
+vessel {*:0..1} referential.common.VesselReference
landingPart + {*} data.ll.landing.LandingPart
=====================================
models/dto-definition/src/main/models/Observe-35-data-ll.model
=====================================
@@ -5,11 +5,11 @@ comment + {*:1} String
number + {*:1} Integer | notNull positiveNumber
usedInTrip + {*:1} Boolean
gearUseFeaturesMeasurement + {*} data.ll.common.GearUseFeaturesMeasurement | ordered
-gear {*:1} fr.ird.observe.dto.referential.common.GearReference | notNull
+gear {*:1} referential.common.GearReference | notNull
data.ll.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCharacteristicLabel
measurementValue + {*:1} String
-gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference
+gearCharacteristic {*:1} referential.common.GearCharacteristicReference
data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program
startDate + {*:1} Date | notNull
@@ -30,21 +30,21 @@ noOfCrewMembers + {*:1} Integer
noOfDays + {*:1} Integer
observationsAvailability + {*:1} boolean
logbookAvailability + {*:1} boolean
-tripType {*:1} fr.ird.observe.dto.referential.ll.common.TripTypeReference | notNull
-observationMethod {*:1} fr.ird.observe.dto.referential.ll.common.ObservationMethodReference
-observer {*:1} fr.ird.observe.dto.referential.common.PersonReference
-vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference | notNull
-captain {*:1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull
-observationsDataEntryOperator {*:1} fr.ird.observe.dto.referential.common.PersonReference
-logbookDataEntryOperator {*:1} fr.ird.observe.dto.referential.common.PersonReference
-program {*:1} fr.ird.observe.dto.referential.common.ProgramReference
-ocean {*:1} fr.ird.observe.dto.referential.common.OceanReference | notNull
-departureHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull
-landingHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull
-observationsDataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
-logbookDataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference
+tripType {*:1} referential.ll.common.TripTypeReference | notNull
+observationMethod {*:1} referential.ll.common.ObservationMethodReference
+observer {*:1} referential.common.PersonReference
+vessel {*:1} referential.common.VesselReference | notNull
+captain {*:1} referential.common.PersonReference | mayNotNull
+observationsDataEntryOperator {*:1} referential.common.PersonReference
+logbookDataEntryOperator {*:1} referential.common.PersonReference
+program {*:1} referential.common.ProgramReference
+ocean {*:1} referential.common.OceanReference | notNull
+departureHarbour {*:0..1} referential.common.HarbourReference | mayNotNull
+landingHarbour {*:0..1} referential.common.HarbourReference | mayNotNull
+observationsDataQuality {*:0..1} referential.common.DataQualityReference
+logbookDataQuality {*:0..1} referential.common.DataQualityReference
activityObs + {*} data.ll.observation.TripActivityStub | ordered unique
-species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | mayNotNull
+species {*:*} referential.common.SpeciesReference | mayNotNull
data.ll.common.TripGearUseFeatures > data.Container
gearUseFeatures + {*} data.ll.common.GearUseFeatures | ordered mayNotNull
=====================================
toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java
=====================================
@@ -32,8 +32,10 @@ import org.nuiton.eugene.java.BeanTransformerContext;
import org.nuiton.eugene.java.BeanTransformerTagValues;
import org.nuiton.eugene.java.EugeneJavaTagValues;
import org.nuiton.eugene.models.object.ObjectModel;
+import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelPackage;
+import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl;
import java.io.File;
import java.io.IOException;
@@ -63,7 +65,10 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
// Get all non abstract beans
BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog());
+ BeanTransformerContext allWithAbstract = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), true, false, t -> true, getLog());
ObserveTagValues observeTagValues = new ObserveTagValues();
+ String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE);
+ augmentsReferences(allWithAbstract, packageName);
augmentsTagValues(model, all, observeTagValues);
consolidateModel(model, all, observeTagValues, getLog());
augmentsTagValuesFinal(model, all, observeTagValues);
@@ -87,6 +92,20 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM
}
}
}
+ protected void augmentsReferences(BeanTransformerContext all, String packageName) {
+ for (ObjectModelClass aClass : all.selectedClasses) {
+ for (ObjectModelAttribute attribute : aClass.getAttributes()) {
+ String attributeType = attribute.getType();
+ if (!attributeType.startsWith(packageName) && attributeType.endsWith("Reference")) {
+ // add full package
+ String newValue = packageName + "." + attributeType;
+ getLog().info(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(),attribute.getName(), newValue));
+ ((ObjectModelAttributeImpl)attribute).setType(newValue);
+
+ }
+ }
+ }
+ }
protected void augmentsTagValuesFinal(ObjectModel model, BeanTransformerContext all, ObserveTagValues observeTagValues) {
for (ObjectModelClass aClass : all.selectedClasses) {
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0d7934bbffce9c899793579bd…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0d7934bbffce9c899793579bd…
You're receiving this email because of your account on gitlab.com.
1
0