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
January 2021
- 1 participants
- 117 discussions
05 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
9110ae3d by Tony Chemit at 2021-01-05T12:13:20+01:00
Add toIds method
- - - - -
c99808ed by Tony Chemit at 2021-01-05T12:14:39+01:00
Introduce LazyDataDtoReferenceSet, at last, works perfectly.
- - - - -
a41f5bd6 by Tony Chemit at 2021-01-05T12:15:59+01:00
Extends referenceService to get a set of reference at a time
- - - - -
45fb171a by Tony Chemit at 2021-01-05T12:17:03+01:00
Améliorer les performances lors du changement de l'arbre de navigation - See #1709
Use specialized dao methods to get navigation result
- - - - -
e7bf5f3c by Tony Chemit at 2021-01-05T12:20:52+01:00
Améliorer les performances lors du changement de l'arbre de navigation - See #1709
Simplify dto model and make it compliant with next ui generation
- - - - -
a6d677f0 by Tony Chemit at 2021-01-05T12:21:39+01:00
Améliorer les performances lors du changement de l'arbre de navigation - See #1709
Review Service API (now getting only trip ids), let the navigation tree load what it needs from this to avoid loading all trip nodes...
- - - - -
5cc43cee by Tony Chemit at 2021-01-05T13:01:54+01:00
Améliorer les performances lors du changement de l'arbre de navigation - See #1709
Adapt ui to use auto-loading data sets.
- - - - -
30 changed files:
- client/core/src/main/java/fr/ird/observe/client/datasource/api/DataSourceReferenceProvider.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationContext.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationInitializer.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationNode.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/RootSelectionTreeNodeProvider.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/SelectionTreeModel.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/selection/nodes/RootSelectionTreeNode.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeModel.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoDown.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/NavigationContext.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/NavigationHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/NavigationScope.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationCapability.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationInitializer.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationNode.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationTreeNodeProvider.java
- client/datasource/editor/common/pom.xml
- client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/CommonRootSelectionTreeNodeProvider.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootNavigationTreeNodeProvider.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootSelectionTreeNodeProvider.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootNavigationTreeNodeProvider.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootSelectionTreeNodeProvider.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/CapabilityDescriptor.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/edit/GenerateContentEditUINavigationNode.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/list/GenerateContentListUINavigationNode.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/openable/GenerateContentOpenableUINavigationNode.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/simple/GenerateContentSimpleUINavigationNode.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/table/GenerateContentTableUINavigationNode.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/helper/ContentUINavigationContextHelper.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/89d60b7757d97c18e4817fd0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/89d60b7757d97c18e4817fd0…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Erreur sur création de marée LL - Closes #1728
by Tony CHEMIT 04 Jan '21
by Tony CHEMIT 04 Jan '21
04 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
89d60b77 by Tony Chemit at 2021-01-04T13:35:04+01:00
Erreur sur création de marée LL - Closes #1728
- - - - -
1 changed file:
- models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java
Changes:
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java
=====================================
@@ -52,20 +52,24 @@ public class TripImpl extends TripAbstract {
int logbookFishingOperationCount = 0;
int associatedActivityCount = 0;
int associatedFishingOperationCount = 0;
- for (fr.ird.observe.entities.data.ll.observation.Activity a : getActivityObs()) {
- if (a.isSetOperation()) {
- observationsFishingOperationCount++;
+ if (isActivityObsNotEmpty()) {
+ for (fr.ird.observe.entities.data.ll.observation.Activity a : getActivityObs()) {
+ if (a.isSetOperation()) {
+ observationsFishingOperationCount++;
+ }
}
}
- for (fr.ird.observe.entities.data.ll.logbook.Activity a : getActivityLogbook()) {
- boolean withRelated = a.getRelatedObservedActivity() != null;
- if (withRelated) {
- associatedActivityCount++;
- }
- if (a.isSetOperation()) {
- logbookFishingOperationCount++;
+ if (isActivityLogbookNotEmpty()) {
+ for (fr.ird.observe.entities.data.ll.logbook.Activity a : getActivityLogbook()) {
+ boolean withRelated = a.getRelatedObservedActivity() != null;
if (withRelated) {
- associatedFishingOperationCount++;
+ associatedActivityCount++;
+ }
+ if (a.isSetOperation()) {
+ logbookFishingOperationCount++;
+ if (withRelated) {
+ associatedFishingOperationCount++;
+ }
}
}
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/89d60b7757d97c18e4817fd09…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/89d60b7757d97c18e4817fd09…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] LL Logbook capture : validation formulaire - Closes #1727
by Tony CHEMIT 04 Jan '21
by Tony CHEMIT 04 Jan '21
04 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
2aecae7e by Tony Chemit at 2021-01-04T12:14:57+01:00
LL Logbook capture : validation formulaire - Closes #1727
- - - - -
7 changed files:
- services/i18n/src/main/i18n/translations/services_en_GB.properties
- services/i18n/src/main/i18n/translations/services_es_ES.properties
- services/i18n/src/main/i18n/translations/services_fr_FR.properties
- services/validation/src/main/i18n/getters/validation-messages.getter
- services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/CatchDto-update-error-validation.xml
- + services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/CatchDto-update-warning-validation.xml
- services/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.xml
Changes:
=====================================
services/i18n/src/main/i18n/translations/services_en_GB.properties
=====================================
@@ -158,7 +158,6 @@ observe.data.ll.Activity.validation.endDate.before.currentTrip.endDate=End date
observe.data.ll.Activity.validation.endTime.after.startTime=End time must be after start time
observe.data.ll.Activity.validation.startDate.after.currentTrip.startDate=Start date must be after current trip start date
observe.data.ll.Activity.validation.startDate.before.currentTrip.endDate=Start date must be before current trip end date
-observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped=Count must be filled in group mode.
observe.data.ll.Set.validation.baitsComposition.uniqueKey=Tuple (type/status/size/weight) must be unique.
observe.data.ll.Set.validation.branchlinesComposition.uniqueKey=Tuple (topType/type/size) must be unique.
observe.data.ll.Set.validation.duplicated.homeId=Home id is already used in another fishing operation (%1$s).
@@ -241,6 +240,7 @@ observe.data.ll.logbook.Catch.predator=TODO
observe.data.ll.logbook.Catch.speciesCatch=Species
observe.data.ll.logbook.Catch.totalWeight=Total weight (kg)
observe.data.ll.logbook.Catch.type=Catch
+observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped=Count or total weight must be filled in group mode.
observe.data.ll.logbook.FloatlinesComposition.length=Length
observe.data.ll.logbook.FloatlinesComposition.lineType=Line type
observe.data.ll.logbook.FloatlinesComposition.proportion=Proportion
@@ -360,6 +360,7 @@ observe.data.ll.observation.Catch.speciesCatch=Species
observe.data.ll.observation.Catch.stomachFullness=Stomac fullness
observe.data.ll.observation.Catch.totalWeight=Total weight (kg)
observe.data.ll.observation.Catch.type=Catch
+observe.data.ll.observation.Catch.validation.required.count.when.acquisitionModeIsGrouped=Count must be filled in group mode.
observe.data.ll.observation.Encounter.count=Count
observe.data.ll.observation.Encounter.distance=Distance (m)
observe.data.ll.observation.Encounter.encounterType=Type
=====================================
services/i18n/src/main/i18n/translations/services_es_ES.properties
=====================================
@@ -158,7 +158,6 @@ observe.data.ll.Activity.validation.endDate.before.currentTrip.endDate=End date
observe.data.ll.Activity.validation.endTime.after.startTime=End time must be after start time \#TODO
observe.data.ll.Activity.validation.startDate.after.currentTrip.startDate=Start date must be after current trip start date \#TODO
observe.data.ll.Activity.validation.startDate.before.currentTrip.endDate=Start date must be before current trip end date \#TODO
-observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped=El número es mandatorio en modo grupado.
observe.data.ll.Set.validation.baitsComposition.uniqueKey=La tupla (type/estado/tamaño/peso) debe ser única, la tupa ya está utilizada.
observe.data.ll.Set.validation.branchlinesComposition.uniqueKey=La tupla (tipo alto/tipo bajo/tamaño) debe ser única, la tupa ya está utilizada.
observe.data.ll.Set.validation.duplicated.homeId=El Id de negocio ya está utilizado por una otra operación de pesca (%s)
@@ -241,6 +240,7 @@ observe.data.ll.logbook.Catch.predator=TODO
observe.data.ll.logbook.Catch.speciesCatch=Especie
observe.data.ll.logbook.Catch.totalWeight=Peso total (kg)
observe.data.ll.logbook.Catch.type=Captura
+observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped=El número or total weight es mandatorio en modo grupado. \#TODO
observe.data.ll.logbook.FloatlinesComposition.length=Longitud (m)
observe.data.ll.logbook.FloatlinesComposition.lineType=Tipo
observe.data.ll.logbook.FloatlinesComposition.proportion=Proporción (%)
@@ -360,6 +360,7 @@ observe.data.ll.observation.Catch.speciesCatch=Especie
observe.data.ll.observation.Catch.stomachFullness=Estatuto del estomago
observe.data.ll.observation.Catch.totalWeight=Peso total (kg)
observe.data.ll.observation.Catch.type=Captura
+observe.data.ll.observation.Catch.validation.required.count.when.acquisitionModeIsGrouped=El número es mandatorio en modo grupado.
observe.data.ll.observation.Encounter.count=Numéro
observe.data.ll.observation.Encounter.distance=Distancia (m)
observe.data.ll.observation.Encounter.encounterType=Tipo del encuentro
=====================================
services/i18n/src/main/i18n/translations/services_fr_FR.properties
=====================================
@@ -158,7 +158,6 @@ observe.data.ll.Activity.validation.endDate.before.currentTrip.endDate=La date d
observe.data.ll.Activity.validation.endTime.after.startTime=L'heure de fin doit être supérieure ou égale à l'heure de début de l'activité
observe.data.ll.Activity.validation.startDate.after.currentTrip.startDate=La date doit être supérieure ou égale à la date de début de marée
observe.data.ll.Activity.validation.startDate.before.currentTrip.endDate=La date doit être inférieure ou égale à la date de fin de marée
-observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped=Le nombre est obligatoire en mode groupé.
observe.data.ll.Set.validation.baitsComposition.uniqueKey=Le tuple (type/état/taille/poids) doit être unique, le tuple est déjà utilisé.
observe.data.ll.Set.validation.branchlinesComposition.uniqueKey=Le tuple (type haut/type bas/taille) doit être unique
observe.data.ll.Set.validation.duplicated.homeId=L'Id métier est déjà utilisé par une autre opération de pêche (%s)
@@ -241,6 +240,7 @@ observe.data.ll.logbook.Catch.predator=TODO
observe.data.ll.logbook.Catch.speciesCatch=Espèce
observe.data.ll.logbook.Catch.totalWeight=Poids total (kg)
observe.data.ll.logbook.Catch.type=Capture
+observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped=Le nombre ou le poids total est obligatoire en mode groupé.
observe.data.ll.logbook.FloatlinesComposition.length=Longueur (m)
observe.data.ll.logbook.FloatlinesComposition.lineType=Type
observe.data.ll.logbook.FloatlinesComposition.proportion=Proportion (%)
@@ -360,6 +360,7 @@ observe.data.ll.observation.Catch.speciesCatch=Espèce
observe.data.ll.observation.Catch.stomachFullness=État de l'estomac
observe.data.ll.observation.Catch.totalWeight=Poids total (kg)
observe.data.ll.observation.Catch.type=Capture
+observe.data.ll.observation.Catch.validation.required.count.when.acquisitionModeIsGrouped=Le nombre est obligatoire en mode groupé.
observe.data.ll.observation.Encounter.count=Nombre
observe.data.ll.observation.Encounter.distance=Distance (m)
observe.data.ll.observation.Encounter.encounterType=Type de la rencontre
=====================================
services/validation/src/main/i18n/getters/validation-messages.getter
=====================================
@@ -29,7 +29,6 @@ observe.data.ll.Activity.validation.endDate.before.currentTrip.endDate
observe.data.ll.Activity.validation.endTime.after.startTime
observe.data.ll.Activity.validation.startDate.after.currentTrip.startDate
observe.data.ll.Activity.validation.startDate.before.currentTrip.endDate
-observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped
observe.data.ll.Set.validation.baitsComposition.uniqueKey
observe.data.ll.Set.validation.branchlinesComposition.uniqueKey
observe.data.ll.Set.validation.duplicated.homeId
@@ -42,6 +41,7 @@ observe.data.ll.Set.validation.settingStartTimeStamp.before.settingEndTimeStamp
observe.data.ll.landing.Landing.validation.endDate.after.startDate
observe.data.ll.landing.LandingPart.validation.bound.categoryWeight
observe.data.ll.landing.LandingPart.validation.required.weightMeasureMethod
+observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped
observe.data.ll.logbook.SamplePart.validation.required.sizeMeasureType.for.length
observe.data.ll.logbook.SamplePart.validation.required.weightMeasureType.for.weight
observe.data.ll.logbook.Set.validation.required.haulingEndLatitude
@@ -50,6 +50,7 @@ observe.data.ll.logbook.Set.validation.required.haulingStartLatitude
observe.data.ll.logbook.Set.validation.required.haulingStartLongitude
observe.data.ll.logbook.Set.validation.required.settingEndLatitude
observe.data.ll.logbook.Set.validation.required.settingEndLongitude
+observe.data.ll.observation.Catch.validation.required.count.when.acquisitionModeIsGrouped
observe.data.ll.observation.LonglinePositionAware.validation.required.position
observe.data.ll.observation.SetDetailComposition.validation.invalid.templates
observe.data.ll.observation.Tdr.validation.deploymentStart.before.fishingStart
=====================================
services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/CatchDto-update-error-validation.xml
=====================================
@@ -24,12 +24,17 @@
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="count">
- <!-- count obligatoire si mode = groupe -->
- <field-validator type="fieldexpression" short-circuit="true">
- <param name="expression">
- <![CDATA[ acquisitionMode == 0 || count != null ]]>
- </param>
- <message>observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped</message>
+ <!-- count ou totalWeight obligatoire si mode = groupe -->
+ <field-validator type="mandatory" short-circuit="true">
+ <param name="skip">acquisitionMode == 0 || totalWeight != null</param>
+ <message>observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped</message>
+ </field-validator>
+ </field>
+ <field name="totalWeight">
+ <!-- count ou totalWeight obligatoire si mode = groupe -->
+ <field-validator type="mandatory" short-circuit="true">
+ <param name="skip">acquisitionMode == 0 || count != null</param>
+ <message>observe.data.ll.logbook.Catch.validation.required.countOrTotalWeight.when.acquisitionModeIsGrouped</message>
</field-validator>
</field>
<field name="depredatedProportion">
=====================================
services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/CatchDto-update-warning-validation.xml
=====================================
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #%L
+ ObServe Services :: Validation
+ %%
+ Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
+ -->
+
+<!DOCTYPE validators PUBLIC
+ "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+ <field name="count">
+ <field-validator type="notFilled" short-circuit="true">
+ <param name="skip">acquisitionMode == 0 || totalWeight == null</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="totalWeight">
+ <field-validator type="notFilled" short-circuit="true">
+ <param name="skip">acquisitionMode == 0 || count == null</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="depredatedProportion">
+ <field-validator type="boundNumber" short-circuit="true">
+ <param name="min">1.0</param>
+ <param name="max">100.0</param>
+ <message/>
+ </field-validator>
+ </field>
+</validators>
=====================================
services/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/CatchDto-update-error-validation.xml
=====================================
@@ -25,11 +25,9 @@
<validators>
<field name="count">
<!-- count obligatoire si mode = groupe -->
- <field-validator type="fieldexpression" short-circuit="true">
- <param name="expression">
- <![CDATA[ acquisitionMode == 0 || count != null ]]>
- </param>
- <message>observe.data.ll.Catch.validation.required.count.when.acquisitionModeIsGrouped</message>
+ <field-validator type="mandatory" short-circuit="true">
+ <param name="skip">acquisitionMode == 0</param>
+ <message>observe.data.ll.observation.Catch.validation.required.count.when.acquisitionModeIsGrouped</message>
</field-validator>
</field>
<field name="gonadeWeight">
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2aecae7e8f2ae7dde1718be1e…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2aecae7e8f2ae7dde1718be1e…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Détail ergonomique sur l'arbre - Closes #1723
by Tony CHEMIT 04 Jan '21
by Tony CHEMIT 04 Jan '21
04 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
342a2670 by Tony Chemit at 2021-01-04T11:21:21+01:00
Détail ergonomique sur l'arbre - Closes #1723
- - - - -
18699c34 by Tony Chemit at 2021-01-04T11:21:21+01:00
Les marées sont mal classées dans la fenêtre de droite - Closes #1726
- - - - -
10 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTree.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ps/common/TripDto.java
- models/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
- toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java
- toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/decorators/DataReferenceDecorator.java
- toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/decorators/ObserveDecorator.java
Changes:
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTree.java
=====================================
@@ -32,6 +32,7 @@ import org.jdesktop.swingx.JXTree;
import javax.swing.SwingUtilities;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
+import java.util.Arrays;
/**
* Created on 14/11/16.
@@ -77,7 +78,7 @@ public class NavigationTree extends JXTree {
* @param node the node to select
*/
public void selectSafeNode(TreeNode node) {
- log.info("try to select node [" + node + "]");
+ log.info(String.format("try to select safe node [%s]", node));
TreePath path = new TreePath(getModel().getPathToRoot(node));
getSelectionModel().setSkipCheckPreviousContent(true);
try {
@@ -89,7 +90,7 @@ public class NavigationTree extends JXTree {
}
public void reSelectSafeNode(TreeNode node) {
- log.info("try to select node [" + node + "]");
+ log.info(String.format("try to reselect safe node [%s]", node));
TreePath path = new TreePath(getModel().getPathToRoot(node));
getSelectionModel().clearSelection();
getSelectionModel().setSkipCheckPreviousContent(true);
@@ -101,6 +102,14 @@ public class NavigationTree extends JXTree {
SwingUtilities.invokeLater(() -> scrollPathToVisible(path));
}
+ public boolean isRowSelected(int requiredRow) {
+ int[] selectedRows = getSelectionRows();
+ if (selectedRows != null) {
+ return Arrays.stream(selectedRows).anyMatch(selectedRow -> requiredRow == selectedRow);
+ }
+ return false;
+ }
+
/**
* Selects the given {@code node} in the registered tree.
*
@@ -111,7 +120,7 @@ public class NavigationTree extends JXTree {
log.error("Can't load null node.", new NullPointerException());
return;
}
- log.info("try to select node [" + node + "]");
+ log.info(String.format("try to select node [%s]", node));
TreePath path = new TreePath(getModel().getPathToRoot(node));
setSelectionPath(path);
SwingUtilities.invokeLater(() -> scrollPathToVisible(path));
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java
=====================================
@@ -34,16 +34,21 @@ import fr.ird.observe.dto.ObserveUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import javax.swing.SwingUtilities;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.ExpandVetoException;
import javax.swing.tree.TreePath;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
import java.util.Objects;
import static io.ultreia.java4all.i18n.I18n.t;
-class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datasource.editor.api.navigation.event.NavigationTreeSelectionListener, TreeSelectionListener {
+class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datasource.editor.api.navigation.event.NavigationTreeSelectionListener, TreeSelectionListener, MouseListener {
private static final Logger log = LogManager.getLogger(NavigationTreeSelectionListenerImpl.class);
private final ClientUIContext clientUIContext;
@@ -51,6 +56,7 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas
private final NavigationUI ui;
private final DataSourceEditorModel dataSourceEditorModel;
private final NavigationTree tree;
+ private int rowToSelect;
NavigationTreeSelectionListenerImpl(DataSourceEditorModel dataSourceEditorModel, ContentUIManager contentUIManager, NavigationUI ui, NavigationTree tree) {
this.dataSourceEditorModel = Objects.requireNonNull(dataSourceEditorModel);
@@ -160,4 +166,108 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas
ObserveUtil.cleanMemory();
}
+
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ if (!tree.isEnabled()) {
+ return;
+ }
+ if (e.isConsumed()) {
+ return;
+ }
+ boolean rightClick = SwingUtilities.isRightMouseButton(e);
+
+ boolean doubleClick = e.getClickCount() == 2;
+ // get the coordinates of the mouse click
+ Point p = e.getPoint();
+
+ int closestRowForLocation = tree.getClosestRowForLocation(e.getX(), e.getY());
+
+ log.info(String.format("Click on navigation tree: (rightClick? %b, doubleClick? %b) - at row %s (point %s)", rightClick, doubleClick, closestRowForLocation, p));
+
+ if (e.getClickCount() == 1) {
+ // need to compute row to select
+ rowToSelect = -1;
+ if (tree.isRowSelected(closestRowForLocation)) {
+ rowToSelect = closestRowForLocation;
+ } else {
+
+ // try to change selection
+
+ TreePath pathForRow = tree.getPathForRow(closestRowForLocation);
+ if (pathForRow == null) {
+ e.consume();
+ return;
+ }
+ Rectangle pathBounds = tree.getPathBounds(pathForRow);
+ if (pathBounds != null && pathBounds.getX() > p.getX()) {
+ // we never acts when point is before the rectangle, because the arrow button may be used for this...
+ log.info("Cancel click on tree navigation (before path rectangle (probably on arrow button)");
+ e.consume();
+ return;
+ }
+ log.info(String.format("Do select row: %d", closestRowForLocation));
+ tree.setSelectionPath(pathForRow);
+
+ if (tree.isRowSelected(closestRowForLocation)) {
+ rowToSelect = closestRowForLocation;
+ }
+ }
+ } else {
+
+ // re-use previous rowToSelect
+ if (rowToSelect == -1) {
+ log.info("Cancel double-click, no previous rowToSelect");
+ e.consume();
+ return;
+ }
+ }
+
+ if (rowToSelect == -1) {
+ e.consume();
+ return;
+ }
+
+ // Never apply double click, go instable behaviour with existing code
+// if (doubleClick) {
+// TreePath pathForRow = tree.getPathForRow(rowToSelect);
+// Rectangle pathBounds = tree.getPathBounds(pathForRow);
+// if (pathBounds != null && pathBounds.getX() < p.getX() && !pathBounds.contains(p)) {
+// // when after the rectangle of the path, then do the collapse/expand action (tree does not manage this cas)
+// // we never acts when point is before the rectangle, because the arrow button may be used for this...
+// boolean expanded = tree.isExpanded(pathForRow);
+// SwingUtilities.invokeLater(() -> {
+// if (expanded) {
+// log.info(String.format("do collapse row: %s", pathBounds));
+// tree.collapsePath(pathForRow);
+// } else {
+// log.info(String.format("do expand row: %s", pathBounds));
+// tree.expandPath(pathForRow);
+// }
+// });
+// e.consume();
+// }
+// }
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ // do nothing
+ }
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java
=====================================
@@ -33,7 +33,6 @@ import javax.swing.AbstractButton;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
-import javax.swing.tree.TreePath;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
@@ -68,11 +67,11 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene
private void showPopup(int row, Point p) {
- log.info("Will show popup from row: " + row);
+ log.info(String.format("Will show popup from row: %d", row));
NavigationNode selectedNode = tree.getNodeForRow(row);
- log.info("Found selected node: " + selectedNode);
+ log.info(String.format("Found selected node: %s", selectedNode));
SwingUtilities.invokeLater(() -> {
beforeOpenPopup(selectedNode);
@@ -97,7 +96,6 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene
Arrays.stream(selectedContentUI.getInsertPopup().getSubElements()).forEach(a -> new ContentUIMenuAction(popup, (AbstractButton) a).init());
if (popup.getSubElements().length > length) {
popup.addSeparator();
-// length = popup.getSubElements().length;
}
Arrays.stream(selectedContentUI.getConfigurePopup().getSubElements()).forEach(a -> new ContentUIMenuAction(popup, (AbstractButton) a).init());
length = popup.getSubElements().length;
@@ -106,22 +104,6 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene
}
}
- private boolean isRowSelected(int requiredRow) {
- boolean result = false;
- int[] selectedRows = tree.getSelectionRows();
- if (selectedRows != null) {
- for (int selectedRow : selectedRows) {
- if (requiredRow == selectedRow) {
-
- // match
- result = true;
- break;
- }
- }
- }
- return result;
- }
-
private int getLowestSelectedRowCount() {
if (tree.isSelectionEmpty()) {
throw new IllegalStateException("Can't have empty selection");
@@ -141,24 +123,18 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene
if (!tree.isEnabled()) {
return;
}
-
+ if (e.isConsumed()) {
+ return;
+ }
if (e.getKeyCode() == KeyEvent.VK_CONTEXT_MENU && !tree.isSelectionEmpty()) {
-
// get the lowest selected row
int lowestRow = getLowestSelectedRowCount();
-
// get the selected column
Rectangle r = tree.getRowBounds(lowestRow);
-
// get the point in the middle lower of the cell
Point p = new Point(r.x + r.width / 2, r.y + r.height);
-
- if (log.isDebugEnabled()) {
- log.debug("Row " + lowestRow + " found t point [" + p + "]");
- }
-
+ log.debug(String.format("Row %d found t point [%s]", lowestRow, p));
showPopup(lowestRow, p);
-
}
}
@@ -167,60 +143,33 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene
if (!tree.isEnabled()) {
return;
}
-
+ if (e.isConsumed()) {
+ return;
+ }
boolean rightClick = SwingUtilities.isRightMouseButton(e);
-
+ if (!rightClick) {
+ return;
+ }
+ boolean doubleClick = e.getClickCount() == 2;
+ if (doubleClick) {
+ return;
+ }
// get the coordinates of the mouse click
Point p = e.getPoint();
-
int closestRowForLocation = tree.getClosestRowForLocation(e.getX(), e.getY());
+ log.info(String.format("Point of click: (rightClick? %b, doubleClick? %b) - at row %s (point %s)", true, false, closestRowForLocation, p));
int rowToSelect = -1;
- if (isRowSelected(closestRowForLocation)) {
-
+ if (tree.isRowSelected(closestRowForLocation)) {
rowToSelect = closestRowForLocation;
}
- if (rowToSelect == -1) {
-
- // try to change selection
-
- TreePath pathForRow = tree.getPathForRow(closestRowForLocation);
- if (pathForRow == null) {
- e.consume();
- return;
- }
- tree.setSelectionPath(pathForRow);
-
- if (isRowSelected(closestRowForLocation)) {
- rowToSelect = closestRowForLocation;
- }
-
- } else {
- TreePath pathForRow = tree.getPathForRow(rowToSelect);
-
- Rectangle pathBounds = tree.getPathBounds(pathForRow);
- if (e.getClickCount() == 2 && pathBounds != null && !pathBounds.contains(e.getPoint())) {
- SwingUtilities.invokeLater(() -> {
- if (tree.isExpanded(pathForRow)) {
- tree.collapsePath(pathForRow);
- } else {
- tree.expandPath(pathForRow);
- }
- });
- e.consume();
- return;
- }
-
- }
if (rowToSelect == -1) {
return;
}
-
- if (rightClick) {
- showPopup(rowToSelect, p);
- }
+ showPopup(rowToSelect, p);
+ e.consume();
}
@Override
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java
=====================================
@@ -123,5 +123,6 @@ class NavigationUIInitializer extends UIInitializerSupport<NavigationUI, UIIniti
editor.addNavigationTreeSelectionListener(selectionListener);
editor.addTreeWillExpandListener(selectionListener);
editor.addTreeSelectionListener(selectionListener);
+ editor.addMouseListener(selectionListener);
}
}
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
=====================================
@@ -22,7 +22,6 @@ package fr.ird.observe.dto.data.ll.common;
* #L%
*/
-import fr.ird.observe.dto.decoration.I18nDecoratorHelper;
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
import org.nuiton.util.DateUtil;
@@ -47,11 +46,6 @@ public class TripDto extends GeneratedTripDto {
setNoOfDays(TripDto.createNoOfDay(startDate, endDate));
}
- @Override
- public String getStartEndDateLabel() {
- return I18nDecoratorHelper.getStartEndDateLabel(getStartDate(), getEndDate());
- }
-
@Override
public void setStartDate(Date startDate) {
super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate));
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/ps/common/TripDto.java
=====================================
@@ -55,6 +55,6 @@ public class TripDto extends GeneratedTripDto {
boolean oldValue = isRouteEmpty();
super.setRoute(route);
//FIXME:Dto should be generated by dto template
- firePropertyChange("routeEmpty",oldValue, isRouteEmpty());
+ firePropertyChange("routeEmpty", oldValue, isRouteEmpty());
}
}
=====================================
models/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
=====================================
@@ -147,6 +147,15 @@ public class ObserveI18nLabelsBuilder extends BeanPropertyI18nKeyProducerSupport
.build();
}
+ @Override
+ public String getI18nPropertyKey(Class type, String property) {
+ int i = property.indexOf("::");
+ if (i>-1) {
+ property = property.substring(0, i);
+ }
+ return super.getI18nPropertyKey(type, property);
+ }
+
@Override
protected Map<String, String> createMapping() {
String idDtoPrefix = "Id.";
=====================================
toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/I18nDecoratorHelper.java
=====================================
@@ -25,6 +25,8 @@ package fr.ird.observe.dto.decoration;
import io.ultreia.java4all.i18n.I18n;
import io.ultreia.java4all.i18n.spi.bean.BeanPropertyI18nKeyProducerProvider;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -100,6 +102,13 @@ public abstract class I18nDecoratorHelper extends BeanPropertyI18nKeyProducerPro
public static String getDateLabel(Date date) {
return String.format("%1$td/%1$tm/%1$tY", date);
}
+ public static Date getDate(String date) {
+ try {
+ return new SimpleDateFormat("dd/MM:yy").parse( date);
+ } catch (ParseException e) {
+ return null;
+ }
+ }
public static String getTimestampLabel(Date date) {
return String.format("%1$td/%1$tm/%1$tY %1$tH:%1$tM", date);
=====================================
toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/decorators/DataReferenceDecorator.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.dto.decoration.decorators;
*/
-import fr.ird.observe.dto.WithStartEndDate;
import fr.ird.observe.dto.decoration.I18nDecoratorHelper;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.reference.DtoReference;
@@ -51,13 +50,15 @@ public class DataReferenceDecorator<R extends DataDtoReference> extends ObserveD
return (Comparable) I18nDecoratorHelper.getDateLabel((Date) value2);
}
return value2;
- }if (token.endsWith(FORMATTER_TIME)) {
+ }
+ if (token.endsWith(FORMATTER_TIME)) {
Comparable value2 = getTokenValue(jxcontext, token.substring(0, token.length() - FORMATTER_TIME.length()));
if (value2 != null && Date.class.isAssignableFrom(value2.getClass())) {
return (Comparable) I18nDecoratorHelper.getTimeLabel((Date) value2);
}
return value2;
- }if (token.endsWith(FORMATTER_TIMESTAMP)) {
+ }
+ if (token.endsWith(FORMATTER_TIMESTAMP)) {
Comparable value2 = getTokenValue(jxcontext, token.substring(0, token.length() - FORMATTER_TIMESTAMP.length()));
if (value2 != null && Date.class.isAssignableFrom(value2.getClass())) {
return (Comparable) I18nDecoratorHelper.getTimestampLabel((Date) value2);
@@ -66,27 +67,17 @@ public class DataReferenceDecorator<R extends DataDtoReference> extends ObserveD
}
// assume all values are comparable
Comparable<Comparable<?>> value;
-
Object contextBean = jxcontext.getContextBean();
-
if (contextBean instanceof DtoReference) {
-
String[] tokens = token.split("/");
-
value = getValueFromReference(tokens, (DtoReference) contextBean, 0);
-
if (value == null) {
value = (Comparable<Comparable<?>>) getDefaultNullValue(tokens[0]);
}
-
} else {
value = super.getTokenValue(jxcontext, token);
}
- if (token.equals(WithStartEndDate.PROPERTY_START_END_DATE_LABEL)) {
- value = super.getTokenValue(jxcontext, token);
- }
return value;
-
}
@Override
@@ -94,4 +85,4 @@ public class DataReferenceDecorator<R extends DataDtoReference> extends ObserveD
String result = super.toString(bean);
return result == null ? null : result.trim();
}
-}
+}
\ No newline at end of file
=====================================
toolkit/dto/src/main/java/fr/ird/observe/dto/decoration/decorators/ObserveDecorator.java
=====================================
@@ -52,11 +52,46 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon
private static final Logger log = LogManager.getLogger(ObserveDecorator.class);
public ObserveDecorator(Class<E> internalClass, String expression) {
- super(internalClass, expression, DEFAULT_SEPARATOR, DEFAULT_SEPARATOR_REPLACEMENT);
+ this(internalClass, expression, DEFAULT_SEPARATOR_REPLACEMENT);
}
public ObserveDecorator(Class<E> internalClass, String expression, String separator) {
super(internalClass, expression, DEFAULT_SEPARATOR, separator);
+ if (getNbToken() == 0) {
+ return;
+ }
+ int nbContext = getNbContext();
+ for (int i = 0; i < nbContext; i++) {
+ Context<E> context = contexts[i];
+ String token = context.getFirstProperty();
+ if (token.endsWith("::date") || token.endsWith("::time")) {
+ context.setComparator((o1, o2) -> {
+ if (o1 == null && o2 == null) {
+ return 0;
+ }
+ if (o1 == null) {
+ return -1;
+ }
+ if (o2 == null) {
+ return 1;
+ }
+ String s1 = o1.toString();
+ String s2 = o2.toString();
+ Date d1 = I18nDecoratorHelper.getDate(s1);
+ Date d2 = I18nDecoratorHelper.getDate(s2);
+ if (d1 == null && d2 == null) {
+ return 0;
+ }
+ if (d1 == null) {
+ return -1;
+ }
+ if (d2 == null) {
+ return 1;
+ }
+ return d1.compareTo(d2);
+ });
+ }
+ }
}
@Override
@@ -73,13 +108,15 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon
return (Comparable) I18nDecoratorHelper.getDateLabel((Date) value2);
}
return value2;
- }if (token.endsWith(FORMATTER_TIME)) {
+ }
+ if (token.endsWith(FORMATTER_TIME)) {
Comparable value2 = getTokenValue(jxcontext, token.substring(0, token.length() - FORMATTER_TIME.length()));
if (value2 != null && Date.class.isAssignableFrom(value2.getClass())) {
return (Comparable) I18nDecoratorHelper.getTimeLabel((Date) value2);
}
return value2;
- }if (token.endsWith(FORMATTER_TIMESTAMP)) {
+ }
+ if (token.endsWith(FORMATTER_TIMESTAMP)) {
Comparable value2 = getTokenValue(jxcontext, token.substring(0, token.length() - FORMATTER_TIMESTAMP.length()));
if (value2 != null && Date.class.isAssignableFrom(value2.getClass())) {
return (Comparable) I18nDecoratorHelper.getTimestampLabel((Date) value2);
@@ -89,58 +126,39 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon
// assume all values are comparable
Comparable<Comparable<?>> value;
try {
-
String[] tokens = token.split("/");
-
Object value0 = jxcontext.getValue(tokens[0]);
-
if (value0 instanceof DtoReference) {
-
value = getValueFromReference(tokens, (DtoReference) value0, 1);
-
} else {
-
value = (Comparable<Comparable<?>>) jxcontext.getValue(token);
}
-
if (value == null) {
value = (Comparable<Comparable<?>>) getDefaultNullValue(token);
}
-
} catch (Exception e) {
value = (Comparable<Comparable<?>>) getDefaultUndefinedValue(token);
}
-
return value;
}
protected Comparable<Comparable<?>> getValueFromReference(String[] tokens, DtoReference referenceBean, int startIndex) {
-
for (int i = startIndex, max = tokens.length - 1; i < max; i++) {
-
if (referenceBean.getPropertyNames().contains(tokens[i])) {
-
Serializable propertyValue = referenceBean.getPropertyValue(tokens[i]);
-
if (!(propertyValue instanceof DtoReference)) {
-
return (Comparable<Comparable<?>>) getDefaultUndefinedValue(StringUtils.join(tokens, "/"));
-
}
-
referenceBean = (DtoReference) propertyValue;
}
}
-
- Comparable<Comparable<?>> value = null;
-
+ Comparable<Comparable<?>> value;
String lastToken = tokens[tokens.length - 1];
if (referenceBean.getPropertyNames().contains(lastToken)) {
value = referenceBean.getPropertyValue(lastToken);
} else {
value = referenceBean.get(lastToken);
}
-
return value;
}
@@ -157,6 +175,4 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon
}
return t("observe.common.none");
}
-
-
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/964a7953db1d31bda68fe9d8…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/964a7953db1d31bda68fe9d8…
You're receiving this email because of your account on gitlab.com.
1
0
04 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
b9fda780 by Tony Chemit at 2021-01-03T22:58:13+01:00
remove unused methods
- - - - -
bb74c8a1 by Tony Chemit at 2021-01-03T22:58:40+01:00
Introduce new strong dto types
- - - - -
fb9261c4 by Tony Chemit at 2021-01-03T22:59:17+01:00
Fix how to get references from spi (always use reference type of it instead of the one of the entity)
- - - - -
a6d69783 by Tony Chemit at 2021-01-03T22:59:45+01:00
Update pom (last topia-extension stable)
- - - - -
bd980cc8 by Tony Chemit at 2021-01-03T23:00:18+01:00
be able to generate generated dto classes if object marked as skip
- - - - -
a37a0393 by Tony Chemit at 2021-01-03T23:00:50+01:00
Do not set back data reference collections to entity
- - - - -
14fe62cc by Tony Chemit at 2021-01-03T23:05:16+01:00
LL Fix not-null constraint Sample.trip (can be null if sample is attached to activity)
- - - - -
e77aed08 by Tony Chemit at 2021-01-03T23:12:22+01:00
Introduce ActivitySampleDto and then remove all hacks around it.
- - - - -
d0271c59 by Tony Chemit at 2021-01-03T23:14:17+01:00
Remove bean from constructo in cotentTableUIModel
- - - - -
feda57f7 by Tony Chemit at 2021-01-03T23:16:24+01:00
Introduce models-dto-definition maven module with the dto model.
- - - - -
76ca4c4f by Tony Chemit at 2021-01-03T23:17:19+01:00
Little improvements of LL dto
- - - - -
bbc06fb1 by Tony Chemit at 2021-01-03T23:17:41+01:00
remove unused method
- - - - -
a56089d6 by Tony Chemit at 2021-01-03T23:18:14+01:00
Make EditableDataServiceLocalSupport works with more than one dto from same entity ^^
- - - - -
398bd122 by Tony Chemit at 2021-01-03T23:18:47+01:00
Fix how to get references from spi (always use reference type of it instead of the one of the entity)
- - - - -
964a7953 by Tony Chemit at 2021-01-04T10:27:18+01:00
Détail ergonomique sur l'arbre - Closes #1723
- - - - -
30 changed files:
- + client/core/.mvn/models-dto
- client/core/pom.xml
- 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/navigation/NavigationTree.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java
- client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ll/src/main/i18n/getters/navigation.getter
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingPartUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUI.jcss
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jcss
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SamplePartUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUI.jcss
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetBaitsCompositionUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetBranchlinesCompositionUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetFloatlinesCompositionUIModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetHooksCompositionUIModel.java
- client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUINavigationNode.scope
- client/datasource/editor/ll/src/test/java/fr/ird/observe/client/datasource/editor/ll/LlNavigationModelNodeTest.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/CapacityNodeType.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/ContentNodeType.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/NavigationScopeBuilder.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/edit/GenerateContentEditUINavigationScope.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/edit/GenerateContentEditUISupport.java
- client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/table/GenerateContentTableUIModel.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fcd9cf26ae5bc3bb7168e4d6…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fcd9cf26ae5bc3bb7168e4d6…
You're receiving this email because of your account on gitlab.com.
1
0
02 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
fcd9cf26 by Tony Chemit at 2021-01-02T12:18:40+01:00
Clean reset action - See #1665
- - - - -
30 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/EditableContentUI.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/open/ContentOpen.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/reset/DefaultResetAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ResetForm.java → client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/reset/ResetAction.java
- − client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/reset/ResetExecutor.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jcss
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/actions/SaveContentSimpleUIAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/actions/SaveContentTableUIAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUI.jaxx
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/actions/ReferentialResetAdapter.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUITableModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/BranchlineUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUITableModel.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fcd9cf26ae5bc3bb7168e4d62…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fcd9cf26ae5bc3bb7168e4d62…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Validateur needcomment récalcitrant - Closes #1714
by Tony CHEMIT 01 Jan '21
by Tony CHEMIT 01 Jan '21
01 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
dc340121 by Tony Chemit at 2021-01-01T11:14:06+01:00
Validateur needcomment récalcitrant - Closes #1714
- - - - -
18 changed files:
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto/src/main/models/Observe-00-common.model
- models/dto/src/main/models/Observe-01-referential-common.model
- models/dto/src/main/models/Observe-20-data-ps-observation.model
- models/dto/src/main/models/Observe-25-data-ps.model
- models/dto/src/main/models/Observe-30-data-ll-observation.model
- models/dto/src/main/models/Observe-31-data-ll-logbook.model
- models/dto/src/main/models/Observe-32-data-ll-landing.model
- models/dto/src/main/models/Observe-35-data-ll.model
- services/i18n/src/main/i18n/translations/services_en_GB.properties
- services/i18n/src/main/i18n/translations/services_es_ES.properties
- services/i18n/src/main/i18n/translations/services_fr_FR.properties
- services/validation/src/main/i18n/getters/validation-fields.getter
- services/validation/src/main/resources/fr/ird/observe/dto/data/ll/common/TripDto-create-error-validation.xml
- services/validation/src/main/resources/fr/ird/observe/dto/data/ll/common/TripDto-update-error-validation.xml
- − toolkit/dto/src/main/java/fr/ird/observe/dto/WithComment.java
Changes:
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -374,14 +374,12 @@ observe.data.ll.common.Trip.associatedActivityCount=Number of activities matched
observe.data.ll.common.Trip.associatedFishingOperationCount=Number of fishing operations matched
observe.data.ll.common.Trip.availableData=Available data
observe.data.ll.common.Trip.ersId=Id ERS
-observe.data.ll.common.Trip.generalComment=Comment
observe.data.ll.common.Trip.generalTab=Common characteristics
observe.data.ll.common.Trip.list.message.none=No trip for current program
observe.data.ll.common.Trip.list.navigation.node=Trip
observe.data.ll.common.Trip.list.title=List of trips
observe.data.ll.common.Trip.logbookActivityCount=Number of activities
observe.data.ll.common.Trip.logbookAvailability=Logbook and associated data
-observe.data.ll.common.Trip.logbookComment=Comment
observe.data.ll.common.Trip.logbookFishingOperationCount=Number of fishing operations
observe.data.ll.common.Trip.logbookTab=Logbook and associated data
observe.data.ll.common.Trip.mapTab=Map
@@ -391,7 +389,6 @@ observe.data.ll.common.Trip.noOfCrewMembers=Number of crew
observe.data.ll.common.Trip.noOfDays=Duration (days)
observe.data.ll.common.Trip.observationsActivityCount=Number of activities
observe.data.ll.common.Trip.observationsAvailability=Observations
-observe.data.ll.common.Trip.observationsComment=Comment
observe.data.ll.common.Trip.observationsFishingOperationCount=Number of fishing operations
observe.data.ll.common.Trip.observationsTab=Observations
observe.data.ll.common.Trip.species=Target species
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -374,14 +374,12 @@ observe.data.ll.common.Trip.associatedActivityCount=Número de actividades coinc
observe.data.ll.common.Trip.associatedFishingOperationCount=Número de operaciones de pesca coincidentes
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
-observe.data.ll.common.Trip.generalComment=Comentarios
observe.data.ll.common.Trip.generalTab=General características
observe.data.ll.common.Trip.list.message.none=Ninguna marea para el programa actual
observe.data.ll.common.Trip.list.navigation.node=Marea
observe.data.ll.common.Trip.list.title=List of trips
observe.data.ll.common.Trip.logbookActivityCount=Número de actividades
observe.data.ll.common.Trip.logbookAvailability=Diario de pesca y datos asociados
-observe.data.ll.common.Trip.logbookComment=Comentarios
observe.data.ll.common.Trip.logbookFishingOperationCount=Número de operaciones de pesca
observe.data.ll.common.Trip.logbookTab=Diario de pesca y datos asociados
observe.data.ll.common.Trip.mapTab=Mapa
@@ -391,7 +389,6 @@ observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Duración (días)
observe.data.ll.common.Trip.observationsActivityCount=Número de actividades
observe.data.ll.common.Trip.observationsAvailability=Observaciones
-observe.data.ll.common.Trip.observationsComment=Comentarios
observe.data.ll.common.Trip.observationsFishingOperationCount=Número de operaciones de pesca
observe.data.ll.common.Trip.observationsTab=Observaciones
observe.data.ll.common.Trip.species=Especie objetivo
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -374,14 +374,12 @@ observe.data.ll.common.Trip.associatedActivityCount=Nombres d'activités associ
observe.data.ll.common.Trip.associatedFishingOperationCount=Nombre d'opérations de pêche associées
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
-observe.data.ll.common.Trip.generalComment=Commentaire
observe.data.ll.common.Trip.generalTab=Caractéristiques communes
observe.data.ll.common.Trip.list.message.none=Aucune marée pour le programme courant
observe.data.ll.common.Trip.list.navigation.node=Marée
observe.data.ll.common.Trip.list.title=Liste de marées
observe.data.ll.common.Trip.logbookActivityCount=Nombres d'activités
observe.data.ll.common.Trip.logbookAvailability=Livre de bord et données associées
-observe.data.ll.common.Trip.logbookComment=Commentaire
observe.data.ll.common.Trip.logbookFishingOperationCount=Nombre d'opérations de pêche
observe.data.ll.common.Trip.logbookTab=Livre de bord et données associées
observe.data.ll.common.Trip.mapTab=Carte
@@ -391,7 +389,6 @@ observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Durée (jours)
observe.data.ll.common.Trip.observationsActivityCount=Nombres d'activités
observe.data.ll.common.Trip.observationsAvailability=Données d'observation
-observe.data.ll.common.Trip.observationsComment=Commentaire
observe.data.ll.common.Trip.observationsFishingOperationCount=Nombre d'opérations de pêche
observe.data.ll.common.Trip.observationsTab=Données d'observation
observe.data.ll.common.Trip.species=Espèces ciblées
=====================================
models/dto/src/main/models/Observe-00-common.model
=====================================
@@ -25,10 +25,6 @@ interface data.ActivityAware > DtoAndReferenceAware
interface DtoParentAware > DtoAndReferenceAware
-interface WithComment
-getComment() String
-setComment(comment String)
-
interface reference.DataReference > fr.ird.observe.dto.ObserveDto
interface reference.ReferentialReference > fr.ird.observe.dto.ObserveDto
@@ -40,14 +36,13 @@ lastUpdateDate + {*:1} Date
abstract data.Data > Id | skip
homeId + {*:1} String
-abstract data.Commentable > data.Data >> WithComment
-comment + {*:1} String
-
-abstract data.Openable > data.Commentable
+abstract data.Openable > data.Data
-abstract data.Editable > data.Commentable
+abstract data.Editable > data.Data
+comment + {*:1} String
-abstract data.Simple > data.Commentable
+abstract data.Simple > data.Data
+comment + {*:1} String
data.DataFile >> ObserveDto | skip
content + {*:1} !byte[]
=====================================
models/dto/src/main/models/Observe-01-referential-common.model
=====================================
@@ -94,7 +94,7 @@ dataEntryOperator + {*:1} boolean
dataSource + {*:1} boolean
country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull
-referential.common.Program > referential.I18nReferential >> WithComment 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/src/main/models/Observe-20-data-ps-observation.model
=====================================
@@ -3,6 +3,7 @@ package fr.ird.observe.dto.data.ps.observation | form=self packagePriority=20
interface data.ps.observation.TargetSampleAware
data.ps.observation.Activity > data.Openable >> data.ActivityAware | references=time,latitude,longitude,vesselActivity,set comparator=time navigationParent=data.ps.observation.Route
+comment + {*:1} String
time + {*:1} Date | notNull
latitude + {*:1} Float | notNull
longitude + {*:1} Float | notNull
@@ -56,7 +57,8 @@ objectMaterial {*:1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialRefe
data.ps.observation.FloatingObjectSchoolEstimate > data.Simple | form=data.ps.observation.ObjectSchoolEstimate mainDto=data.ps.observation.FloatingObject
objectSchoolEstimate {*} data.ps.observation.ObjectSchoolEstimate
-data.ps.observation.NonTargetCatch > data.Commentable | references=speciesLabel,speciesFateLabel
+data.ps.observation.NonTargetCatch > data.Data | references=speciesLabel,speciesFateLabel
+comment + {*:1} String
catchWeight + {*:1} Float | positiveNumber
catchWeightComputedSource + {*:1} !fr.ird.observe.dto.data.ps.NonTargetCatchComputedValueSource
meanWeight + {*:1} Float | positiveNumber
@@ -74,7 +76,8 @@ 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
-data.ps.observation.NonTargetCatchRelease > data.Commentable | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length
+data.ps.observation.NonTargetCatchRelease > data.Data | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length
+comment + {*:1} String
length + {*:1} Float | positiveNumber
count + {*:1} Integer | notNull strictlyPositiveNumber
acquisitionMode + {*:1} int
@@ -119,6 +122,7 @@ species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
data.ps.observation.Route > data.Openable | references=date,comment comparator=date navigationParent=data.ps.common.Trip
+comment + {*:1} String
date + {*:1} Date | notNull
startLogValue + {*:1} Float | positiveNumber
endLogValue + {*:1} Float | positiveNumber
@@ -176,10 +180,12 @@ data.ps.observation.SetDiscardedTargetCatch > data.Simple | form=data.ps.observa
targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean
targetCatch {*} data.ps.observation.DiscardedTargetCatch | ordered
-data.ps.observation.TargetCatch > data.Commentable | references=well
+data.ps.observation.TargetCatch > data.Data | references=well
+comment + {*:1} String
well + {*:1} String
-data.ps.observation.KeptTargetCatch > data.Commentable | references=speciesLabel,well,catchWeight mainDto=data.ps.observation.TargetCatch
+data.ps.observation.KeptTargetCatch > data.Data | references=speciesLabel,well,catchWeight mainDto=data.ps.observation.TargetCatch
+comment + {*:1} String
catchWeight + {*:1} Float | notNull positiveNumber
hasSample + {*:1} boolean
well + {*:1} String
@@ -187,7 +193,8 @@ weightCategory {*:1} fr.ird.observe.dto.referential.ps.observation.WeightCategor
species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
-data.ps.observation.DiscardedTargetCatch > data.Commentable | references=speciesLabel,catchWeight mainDto=data.ps.observation.TargetCatch
+data.ps.observation.DiscardedTargetCatch > data.Data | references=speciesLabel,catchWeight mainDto=data.ps.observation.TargetCatch
+comment + {*:1} String
catchWeight + {*:1} Float | notNull positiveNumber
hasSample + {*:1} boolean
broughtOnDeck + {*:1} Boolean
@@ -229,7 +236,8 @@ discarded + {*:1} Boolean
targetLength + {*} data.ps.observation.TargetLength | ordered
availableSpeciesIds + {*} String | unique
-data.ps.observation.TransmittingBuoy > data.Commentable | references=code,comment,transmittingBuoyTypeLabel,transmittingBuoyOperationLabel
+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
=====================================
models/dto/src/main/models/Observe-25-data-ps.model
=====================================
@@ -1,6 +1,7 @@
package fr.ird.observe.dto.data.ps.common | form=self packagePriority=25
-data.ps.common.GearUseFeatures > data.Commentable | references=gearLabel,number,usedInTrip
+data.ps.common.GearUseFeatures > data.Data | references=gearLabel,number,usedInTrip
+comment + {*:1} String
number + {*:1} Integer | notNull positiveNumber
usedInTrip + {*:1} Boolean
gearUseFeaturesMeasurement + {*} data.ps.common.GearUseFeaturesMeasurement | ordered
@@ -11,6 +12,7 @@ measurementValue + {*:1} String
gearCharacteristic {*:1} fr.ird.observe.dto.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
startDate + {*:1} Date | notNull
endDate + {*:1} Date | notNull
checkLevel + {*:1} int
=====================================
models/dto/src/main/models/Observe-30-data-ll-observation.model
=====================================
@@ -4,7 +4,8 @@ interface data.ll.observation.LonglineElementAware > DtoParentAware
interface data.ll.observation.LonglinePositionAware
-abstract data.ll.observation.LonglinePosition > data.Commentable >> data.ll.observation.LonglinePositionAware
+abstract data.ll.observation.LonglinePosition > data.Data >> data.ll.observation.LonglinePositionAware
+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
@@ -17,6 +18,7 @@ baskets {*:*} fr.ird.observe.dto.data.ll.observation.BasketReference
branchlines {*:*} fr.ird.observe.dto.data.ll.observation.BranchlineReference
data.ll.observation.Activity > data.Openable >> data.ActivityAware | references=timeStamp,latitude,longitude,vesselActivity,set comparator=timeStamp navigationParent=data.ll.common.Trip
+comment + {*:1} String
timeStamp + {*:1} Date
latitude + {*:1} Float | notNull
longitude + {*:1} Float | notNull
=====================================
models/dto/src/main/models/Observe-31-data-ll-logbook.model
=====================================
@@ -14,6 +14,7 @@ weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTy
weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference
data.ll.logbook.Sample > data.Openable | references=timeStamp,latitude,longitude comparator=timeStamp EditableService=ActivitySampleService navigationParent=data.ll.common.Trip navigationExtraParent=data.ll.logbook.Activity
+comment + {*:1} String
timeStamp + {*:1} Date | notNull
latitude + {*:1} Float
longitude + {*:1} Float
@@ -21,6 +22,7 @@ quadrant + {*:1} Integer
samplePart + {*} fr.ird.observe.dto.data.ll.logbook.SamplePartDto | ordered
data.ll.logbook.Activity > data.Openable >> data.ActivityAware | references=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivity,set,sample,relatedObservedActivity comparator=startTimeStamp navigationParent=data.ll.common.Trip
+comment + {*:1} String
startTimeStamp + {*:1} Date | notNull
endTimeStamp + {*:1} Date | mayNotNull
latitude + {*:1} Float | mayNotNull
@@ -128,7 +130,8 @@ 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
-data.ll.logbook.Catch > data.Commentable | references=homeId
+data.ll.logbook.Catch > data.Data | references=homeId
+comment + {*:1} String
count + {*:1} Integer | positiveNumber
totalWeight + {*:1} Float | positiveNumber
hookWhenDiscarded + {*:1} Boolean
=====================================
models/dto/src/main/models/Observe-32-data-ll-landing.model
=====================================
@@ -12,6 +12,7 @@ weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasure
dataQuality {*:0..1} fr.ird.observe.dto.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
=====================================
models/dto/src/main/models/Observe-35-data-ll.model
=====================================
@@ -1,6 +1,7 @@
package fr.ird.observe.dto.data.ll.common | form=self packagePriority=35
-data.ll.common.GearUseFeatures > data.Commentable | references=gearLabel,number,usedInTrip
+data.ll.common.GearUseFeatures > data.Data | references=gearLabel,number,usedInTrip
+comment + {*:1} String
number + {*:1} Integer | notNull positiveNumber
usedInTrip + {*:1} Boolean
gearUseFeaturesMeasurement + {*} data.ll.common.GearUseFeaturesMeasurement | ordered
=====================================
services/i18n/src/main/i18n/translations/services_en_GB.properties
=====================================
@@ -174,9 +174,12 @@ observe.data.ll.common.GearUseFeatures.type=Gear uses features
observe.data.ll.common.GearUseFeaturesMeasurement.gearCharacteristic=Gear caracteristic
observe.data.ll.common.GearUseFeaturesMeasurement.type=Measurement type
observe.data.ll.common.Trip.activityObs=Activity
+observe.data.ll.common.Trip.generalComment=General comment
+observe.data.ll.common.Trip.logbookComment=Logbook comment
observe.data.ll.common.Trip.logbookDataEntryOperator=Data entry operator
observe.data.ll.common.Trip.logbookDataQuality=Data quality
observe.data.ll.common.Trip.observationMethod=Observations method
+observe.data.ll.common.Trip.observationsComment=Observations comment
observe.data.ll.common.Trip.observationsDataEntryOperator=Data entry operator
observe.data.ll.common.Trip.observationsDataQuality=Data quality
observe.data.ll.common.Trip.tripType=Trip type
=====================================
services/i18n/src/main/i18n/translations/services_es_ES.properties
=====================================
@@ -174,9 +174,12 @@ observe.data.ll.common.GearUseFeatures.type=Equipamiento
observe.data.ll.common.GearUseFeaturesMeasurement.gearCharacteristic=Característica
observe.data.ll.common.GearUseFeaturesMeasurement.type=Tipo
observe.data.ll.common.Trip.activityObs=Actividad
+observe.data.ll.common.Trip.generalComment=General Comentarios
+observe.data.ll.common.Trip.logbookComment=Logbook Comentarios
observe.data.ll.common.Trip.logbookDataEntryOperator=Operador de captación de datos
observe.data.ll.common.Trip.logbookDataQuality=Qualité de donnée \#TODO
observe.data.ll.common.Trip.observationMethod=Observations method \#TODO
+observe.data.ll.common.Trip.observationsComment=Observations Comentarios
observe.data.ll.common.Trip.observationsDataEntryOperator=Operador de captación de datos
observe.data.ll.common.Trip.observationsDataQuality=Qualité de donnée \#TODO
observe.data.ll.common.Trip.tripType=Tipo de marea
=====================================
services/i18n/src/main/i18n/translations/services_fr_FR.properties
=====================================
@@ -174,9 +174,12 @@ observe.data.ll.common.GearUseFeatures.type=Équipement
observe.data.ll.common.GearUseFeaturesMeasurement.gearCharacteristic=Caractéristique
observe.data.ll.common.GearUseFeaturesMeasurement.type=Type de mesure
observe.data.ll.common.Trip.activityObs=Activité
+observe.data.ll.common.Trip.generalComment=Commentaire générale
+observe.data.ll.common.Trip.logbookComment=Commentaire Livre de bord
observe.data.ll.common.Trip.logbookDataEntryOperator=Opérateur de saisie
observe.data.ll.common.Trip.logbookDataQuality=Qualité de donnée
observe.data.ll.common.Trip.observationMethod=Méthode d'observations
+observe.data.ll.common.Trip.observationsComment=Commentaire Observations
observe.data.ll.common.Trip.observationsDataEntryOperator=Opérateur de saisie
observe.data.ll.common.Trip.observationsDataQuality=Qualité de donnée
observe.data.ll.common.Trip.tripType=Type de marée
=====================================
services/validation/src/main/i18n/getters/validation-fields.getter
=====================================
@@ -30,9 +30,12 @@ observe.data.ll.common.GearUseFeatures.gear
observe.data.ll.common.GearUseFeatures.number
observe.data.ll.common.GearUseFeaturesMeasurement.gearCharacteristic
observe.data.ll.common.Trip.activityObs
+observe.data.ll.common.Trip.generalComment
+observe.data.ll.common.Trip.logbookComment
observe.data.ll.common.Trip.logbookDataEntryOperator
observe.data.ll.common.Trip.logbookDataQuality
observe.data.ll.common.Trip.observationMethod
+observe.data.ll.common.Trip.observationsComment
observe.data.ll.common.Trip.observationsDataEntryOperator
observe.data.ll.common.Trip.observationsDataQuality
observe.data.ll.common.Trip.tripType
=====================================
services/validation/src/main/resources/fr/ird/observe/dto/data/ll/common/TripDto-create-error-validation.xml
=====================================
@@ -67,4 +67,37 @@
<message/>
</field-validator>
</field>
+ <field name="generalComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">captain,departureHarbour,landingHarbour,ocean,program,species,tripType,vessel</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="observationsComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">observationMethod,observationsDataEntryOperator,observationsDataQuality,observer</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="logbookComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">logbookDataEntryOperator,logbookDataQuality</param>
+ <message/>
+ </field-validator>
+ </field>
</validators>
=====================================
services/validation/src/main/resources/fr/ird/observe/dto/data/ll/common/TripDto-update-error-validation.xml
=====================================
@@ -105,4 +105,37 @@
<message/>
</field-validator>
</field>
+ <field name="generalComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">captain,departureHarbour,landingHarbour,ocean,program,species,tripType,vessel</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="observationsComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">observationMethod,observationsDataEntryOperator,observationsDataQuality,observer</param>
+ <message/>
+ </field-validator>
+ </field>
+ <field name="logbookComment">
+ <!-- comment length -->
+ <field-validator type="commentLengthFieldDto">
+ <message/>
+ </field-validator>
+ <!-- comment needed from one of the selected referential -->
+ <field-validator type="commentNeeded" short-circuit="true">
+ <param name="propertyNames">logbookDataEntryOperator,logbookDataQuality</param>
+ <message/>
+ </field-validator>
+ </field>
</validators>
=====================================
toolkit/dto/src/main/java/fr/ird/observe/dto/WithComment.java deleted
=====================================
@@ -1,49 +0,0 @@
-package fr.ird.observe.dto;
-
-/*-
- * #%L
- * ObServe Toolkit :: Dto
- * %%
- * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import java.beans.PropertyChangeListener;
-
-/**
- * Created on 21/12/16.
- *
- * @author Tony Chemit - dev(a)tchemit.fr
- * @since 6.0
- */
-public interface WithComment {
-
- String PROPERTY_COMMENT = "comment";
-
- String getComment();
-
- void setComment(String comment);
-
- void addPropertyChangeListener(PropertyChangeListener listener);
-
- void removePropertyChangeListener(PropertyChangeListener listener);
-
- void addPropertyChangeListener(String propertyName, PropertyChangeListener listener);
-
- void removePropertyChangeListener(String propertyName, PropertyChangeListener listener);
-
-}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dc3401215eabecfe1d3e4b9ea…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dc3401215eabecfe1d3e4b9ea…
You're receiving this email because of your account on gitlab.com.
1
0