Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
September 2020
- 1 participants
- 45 discussions
[Git][ultreiaio/ird-observe][develop] 47 commits: [V9] Sur le formulaire PS/Observations/Captures faune associée, champ...
by Tony CHEMIT 18 Sep '20
by Tony CHEMIT 18 Sep '20
18 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5c061900 by Tony Chemit at 2020-09-15T13:14:52+02:00
[V9] Sur le formulaire PS/Observations/Captures faune associée, champ "Origine de l'information" - See #119 (Ajout de la propriété dans l'ui)
Réorganisation des données d’observation PS - Réorganisation des captures et échantillons de cible et bycatch observés - See #1254 (Revue de la migration)
- - - - -
71d82de0 by Tony Chemit at 2020-09-15T13:15:36+02:00
[V9] Sur le formulaire PS/Observations/Captures faune associée, champ "Origine de l'information" - See #119 (Ajout de la propriété dans l'ui)
Réorganisation des données d’observation PS - Réorganisation des captures et échantillons de cible et bycatch observés - See #1254 (Revue de la migration)
- - - - -
39a0e052 by Tony Chemit at 2020-09-15T13:49:54+02:00
Ajout de EntityPathsSelectorGenerator (A finir)
- - - - -
ccbf22b8 by Tony Chemit at 2020-09-15T14:59:03+02:00
Ps logbook Set rendre éditable le type de banc
- - - - -
fbfe5720 by Tony Chemit at 2020-09-15T16:34:03+02:00
Renommage de la nouvelle speciesList
- - - - -
b1b30519 by Tony Chemit at 2020-09-16T13:21:35+02:00
Correction de la recherche d'un nœud éditable (si on a un double rebond sur le parent)
- - - - -
22a1a595 by Tony Chemit at 2020-09-16T13:47:08+02:00
LocalMarket fix Sample comparator
- - - - -
36ad7705 by Tony Chemit at 2020-09-16T13:48:40+02:00
LocalMarket make top node a trip type one to make possible
- - - - -
723ee0f9 by Tony Chemit at 2020-09-16T13:48:57+02:00
LocalMarket fix some i18n
- - - - -
388754e2 by Tony Chemit at 2020-09-16T13:52:18+02:00
LocalMarket fix (but not good at all) migration script for relation nm on String (table is on public schema)
- - - - -
9e231e05 by Tony Chemit at 2020-09-16T14:22:28+02:00
LocalMarket fix Packaging filter on harbour
- - - - -
e358bfe2 by Tony Chemit at 2020-09-16T14:22:36+02:00
LocalMarket fix migration
- - - - -
d83778d0 by Tony Chemit at 2020-09-16T14:40:10+02:00
LocalMarket fix species list id to use
- - - - -
6b530c3b by Tony Chemit at 2020-09-16T14:41:39+02:00
LocalMarket fix referential i18n
- - - - -
7217bab4 by Tony Chemit at 2020-09-16T16:48:43+02:00
LocalMarket fix migration
- - - - -
2722a48a by Tony Chemit at 2020-09-16T16:49:10+02:00
LocalMarket fix default number on Survey and Sample
- - - - -
ee6198e7 by Tony Chemit at 2020-09-16T17:09:02+02:00
LocalMarket fix label and do not edit if no packaging found on landing harbour
- - - - -
800d8d5c by Tony Chemit at 2020-09-16T17:09:29+02:00
fix computation of showData on ContentTableUIModel
- - - - -
f69ec690 by Tony Chemit at 2020-09-17T13:46:13+02:00
Localmarket delete unused speciesList
- - - - -
bc5ff3d5 by Tony Chemit at 2020-09-17T14:38:30+02:00
Localmarket, Landing, WellPlan, Logbook review SpeciesList to use with proper configuration
- - - - -
67a13f8e by Tony Chemit at 2020-09-17T14:38:30+02:00
Localmarket Do not disabled data tabs on create mode
- - - - -
aa17b13d by Tony Chemit at 2020-09-17T14:38:30+02:00
Sample Delete Sample.subSampleNumber (not needed here!)
- - - - -
1a7af754 by Tony Chemit at 2020-09-17T14:38:30+02:00
Localmarket review some validations and input in ui
- - - - -
6206b331 by Tony Chemit at 2020-09-17T14:38:30+02:00
Logbook review some validations and input in ui
- - - - -
d986304b by Tony Chemit at 2020-09-17T14:38:30+02:00
Landing review some validations
- - - - -
406b2a27 by Tony Chemit at 2020-09-17T14:38:30+02:00
Wellplan review some validations
- - - - -
b98f7038 by Tony Chemit at 2020-09-17T14:38:30+02:00
Localmarket review some validations
- - - - -
435fab4d by Tony Chemit at 2020-09-17T14:38:30+02:00
Localmarket use a configuration to get default sizeMeasureType
Logbook use a configuration to get default sizeMeasureType
- - - - -
76e6d66d by Tony Chemit at 2020-09-17T14:38:30+02:00
Landing Use only species used in a weight category
- - - - -
c5cac20c by Tony Chemit at 2020-09-17T14:38:30+02:00
Landing Use only species used in a weight category
- - - - -
0e7c9a7c by Tony Chemit at 2020-09-17T14:38:30+02:00
Logbook Delete Activity.observedSystemDistance + optimize i18n
- - - - -
2290d07a by Tony Chemit at 2020-09-17T14:38:30+02:00
Landing Rendre ordonnable Trip.landing
- - - - -
663b91da by Tony Chemit at 2020-09-17T14:38:30+02:00
Wellplan Rendre ordonnable Trip.wellplan
- - - - -
39acc31b by Tony Chemit at 2020-09-17T16:26:00+02:00
Sample optimize service api to get set activities of the trip
Wellplan optimize service api to get set activities of the trip
- - - - -
4421b362 by Tony Chemit at 2020-09-17T16:26:00+02:00
Wellplan suppression du schéma ps_wellplan et déplacement dans ps_logbook
- - - - -
b9b5aeae by Tony Chemit at 2020-09-17T16:26:00+02:00
Localmarket Ajout SamplePart.sizeClass, renommage Packaging.weight en meanWeight
- - - - -
0e7e04ea by Tony Chemit at 2020-09-17T17:04:15+02:00
Logbook Sample review subSampleNumber at save time
- - - - -
1489a141 by Tony Chemit at 2020-09-18T09:04:42+02:00
template better generate on none main dto
- - - - -
b8ade736 by Tony Chemit at 2020-09-18T09:56:01+02:00
Localmarket let's display edit batches for survey (on survey form)
- - - - -
2014263c by Tony Chemit at 2020-09-18T09:57:57+02:00
Localmarket improve Batch.origin layout on form
- - - - -
63096934 by Tony Chemit at 2020-09-18T10:28:28+02:00
change one maven module order
- - - - -
f0e29326 by Tony Chemit at 2020-09-18T11:45:34+02:00
avoid nasty swing NPE
- - - - -
0deb9245 by Tony Chemit at 2020-09-18T12:31:57+02:00
Localmarket Survey make validation works as a charm
- - - - -
a63e5c3e by Tony Chemit at 2020-09-18T13:50:31+02:00
Localmarket Sample make validation works as a charm
- - - - -
8cc918b9 by Tony Chemit at 2020-09-18T15:47:17+02:00
Localmarket Sample review well (just a simple String in database separated by comma)
- - - - -
df820fbf by Tony Chemit at 2020-09-18T15:57:20+02:00
Ajouter un nouveau bouton sur le formulaire d'une ligne sélectionnée dans un écran de type table créer/enregister ET nouveau - Closes #1613
- - - - -
6c1d81a3 by Tony Chemit at 2020-09-18T21:55:17+02:00
Stash on ListCreate action
- - - - -
30 changed files:
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/i18n/getters/config.getter
- client-core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/list/actions/Create.java → client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/list/actions/CreateSupport.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/actions/SaveActionSupport.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUI.jaxx
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUI.jcss
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUIHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUIModel.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/actions/SaveAndNewEntry.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectLonglineLandingAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSampleAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/NavigationTreeCellRenderer.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/NavigationTreeNodeSupport.java
- client-datasource-editor-common/src/main/i18n/getters/java.getter
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripActionHelper.java
- client-datasource-editor-ll/src/main/i18n/getters/java.getter
- client-datasource-editor-ll/src/main/i18n/getters/jaxx.getter
- dto/src/main/java/fr/ird/observe/dto/decoration/init/DataPsWellplanModelDecoratorInitializer.java → client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/CreateSupport.java
- + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/LlTripActionHelper.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripListUI.jcss
- + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/actions/TripListCreate.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/LandingListUI.jcss
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/LandingUI.jcss
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/actions/LandingListUICreate.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/actions/LandingListUIMove.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/actions/LandingUIMove.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/landing/actions/LandingUISelectTransshipment.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/460db38ae21a16bab3e402fd…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/460db38ae21a16bab3e402fd…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Use the natural order of attributes declaration to generate the form...
by Tony CHEMIT 13 Sep '20
by Tony CHEMIT 13 Sep '20
13 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
d39db83e by Tony Chemit at 2020-09-12T16:46:32+02:00
Use the natural order of attributes declaration to generate the form definition, in ordre to have a deterministic order (some filters may need other ones)
- - - - -
28a14073 by Tony Chemit at 2020-09-12T17:11:53+02:00
Insertion du plan de cuves - See #1260
Meilleur filtrage des catégories de poids et espèces
- - - - -
460db38a by Tony Chemit at 2020-09-13T21:43:17+02:00
Begin of usage of TopiaMetadataModelPaths
- - - - -
28 changed files:
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUI.jcss
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIHandler.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIModel.java
- dto/src/main/models/Observe-23-data-ps-wellplan.model
- persistence/pom.xml
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
- persistence/src/main/models/Observe-21-data-ps-logbook.model
- persistence/src/main/models/Observe-23-data-ps-wellplan.model
- persistence/src/main/models/Observe-24-data-ps-localmarket.model
- persistence/src/main/models/Observe-30-data-ll-observation.model
- persistence/src/main/models/Observe-31-data-ll-logbook.model
- − persistence/src/test/java/fr/ird/observe/entities/ObserveTopiaMetadataModelSupportTest.java
- + persistence/src/test/java/fr/ird/observe/entities/TopiaMetadataModelPathsTest.java
- pom.xml
- server-core/src/main/filtered-resources/mapping
- services-api/src/main/java/fr/ird/observe/services/service/data/ps/common/TripService.java
- services-local/src/main/java/fr/ird/observe/services/local/service/data/ps/common/TripServiceLocal.java
- services-local/src/test/java/fr/ird/observe/services/local/service/data/TripManagementServiceLocalTest.java
- templates/pom.xml
- templates/src/main/java/fr/ird/observe/toolkit/templates/GeneratePersistence.java
- templates/src/main/java/fr/ird/observe/toolkit/templates/dto/DtoTransformer.java
- toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateEntityUpdateSqlFilesMojo.java → templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityLastUpdateDateFieldSqlScriptGenerator.java
- + templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityLastUpdateDateTableSqlScriptGenerator.java
- persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaMetadataModelSupport.java → templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityPathsGenerator.java
- test/src/main/java/fr/ird/observe/test/ObserveFixtures.java
- + test/src/main/resources/fixtures/entity-paths.properties
- test/src/main/resources/fixtures/global.properties
- toolbox-maven-plugin/pom.xml
Changes:
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUI.jcss
=====================================
@@ -18,8 +18,4 @@
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
- */
-#activity {
- _listNoLoad:true;
- data:{model.getActivities()};
-}
+ */
\ No newline at end of file
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIHandler.java
=====================================
@@ -25,10 +25,13 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.wellplan;
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUIHandler;
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy;
import fr.ird.observe.client.datasource.editor.content.spi.ContentUIReferenceCache;
+import fr.ird.observe.client.datasource.editor.content.spi.ReferentialReferencesFilter;
import fr.ird.observe.dto.data.ps.wellplan.TripWellPlanDto;
import fr.ird.observe.dto.data.ps.wellplan.WellPlanDto;
import fr.ird.observe.dto.form.Form;
+import fr.ird.observe.dto.referential.common.SpeciesDto;
import fr.ird.observe.dto.referential.common.SpeciesReference;
+import fr.ird.observe.dto.referential.ps.logbook.WeightCategoryDto;
import fr.ird.observe.dto.referential.ps.logbook.WeightCategoryReference;
import fr.ird.observe.dto.result.SaveResultDto;
import org.nuiton.jaxx.runtime.spi.UIHandler;
@@ -37,6 +40,7 @@ import java.awt.Component;
import java.beans.PropertyChangeListener;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -73,7 +77,8 @@ public class WellPlanUIHandler extends ContentTableUIHandler<TripWellPlanDto, We
@Override
protected void onAfterInitAddReferentialFilters(ContentUIReferenceCache referenceCache) {
- referenceCache.addReferentialFilter(WellPlanDto.PROPERTY_SPECIES, newPsSpeciesList(getClientConfig().getSpeciesListSeineLogbookCatchId()));
+ referenceCache.addReferentialFilter(WellPlanDto.PROPERTY_WEIGHT_CATEGORY, newPsLogbookWeightCategoryList(getClientConfig().getSpeciesListSeineLogbookCatchId()));
+ referenceCache.addReferentialFilter(WellPlanDto.PROPERTY_SPECIES, newPsSpeciesList());
}
@Override
@@ -109,7 +114,7 @@ public class WellPlanUIHandler extends ContentTableUIHandler<TripWellPlanDto, We
newCategories = Collections.emptyList();
} else {
List<WeightCategoryReference> referentialReferences = getModel().getReferenceCache().getReferentialReferences(WellPlanDto.PROPERTY_WEIGHT_CATEGORY);
- newCategories = referentialReferences.stream().filter(r -> r.getSpecies().equals(species)).collect(Collectors.toList());
+ newCategories = referentialReferences.stream().filter(r -> Objects.equals(r.getSpecies(), species)).collect(Collectors.toList());
WeightCategoryReference weightCategory = getModel().getTableEditBean().getWeightCategory();
if (weightCategory != null && newCategories.contains(weightCategory)) {
newCategory = weightCategory;
@@ -119,4 +124,17 @@ public class WellPlanUIHandler extends ContentTableUIHandler<TripWellPlanDto, We
ui.getWeightCategory().setSelectedItem(newCategory);
}
+ protected ReferentialReferencesFilter<SpeciesDto, SpeciesReference> newPsSpeciesList() {
+ return incomingReferences -> {
+ List<WeightCategoryReference> weightCategories = getModel().getReferenceCache().getReferentialReferences(WellPlanDto.PROPERTY_WEIGHT_CATEGORY);
+ return weightCategories.stream().map(WeightCategoryReference::getSpecies).collect(Collectors.toList());
+ };
+ }
+
+ protected ReferentialReferencesFilter<WeightCategoryDto, WeightCategoryReference> newPsLogbookWeightCategoryList(String speciesListId) {
+ return incomingReferences -> {
+ String tripId = getClientUIContext().getObserveSelectModel().getSeine().getTrip().getId();
+ return getPsCommonTripService().getLogbookWeightCategoryByListAndTrip(tripId, speciesListId).toList();
+ };
+ }
}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIModel.java
=====================================
@@ -29,7 +29,6 @@ import fr.ird.observe.dto.data.ps.wellplan.WellPlanDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DataDtoReferenceSet;
-import java.util.List;
import java.util.stream.Collectors;
/**
@@ -40,26 +39,15 @@ import java.util.stream.Collectors;
*/
public class WellPlanUIModel extends ContentTableUIModel<TripWellPlanDto, WellPlanDto> {
- private List<ActivityReference> activities;
-
public WellPlanUIModel() {
super(TripWellPlanDto.class, WellPlanDto.class, TripWellPlanDto.PROPERTY_WELL_PLAN);
}
@Override
public void openForm(Form<TripWellPlanDto> form) {
- super.openForm(form);
- String tripId = getBean().getId();
+ String tripId = form.getObject().getId();
DataDtoReferenceSet<ActivityReference> activities = getObserveDataSourcesManager().getMainDataSource().getPsLogbookActivityService().getActivitySeineByTrip(tripId);
- setActivities(activities.stream().filter(ActivityReference::isSetOperation).collect(Collectors.toList()));
- }
-
- public List<ActivityReference> getActivities() {
- return activities;
- }
-
- public void setActivities(List<ActivityReference> activities) {
- this.activities = activities;
- firePropertyChange("activities", activities);
+ getReferenceCache().setDataReferenceSet(WellPlanDto.PROPERTY_ACTIVITY, DataDtoReferenceSet.of(ActivityReference.class, activities.stream().filter(ActivityReference::isSetOperation).collect(Collectors.toList())));
+ super.openForm(form);
}
}
=====================================
dto/src/main/models/Observe-23-data-ps-wellplan.model
=====================================
@@ -3,8 +3,8 @@ package fr.ird.observe.dto.data.ps.wellplan | form=self packagePriority=23
data.ps.wellplan.WellPlan > data.Data >> data.WellIdAware | references=species,well,weight,weightCategoryLabel
activity {*:1} fr.ird.observe.dto.data.ps.logbook.ActivityReference | notNull
well + {*:1} String | notNull
-species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
weightCategory {*:1} fr.ird.observe.dto.referential.ps.logbook.WeightCategoryReference | notNull
+species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
weight + {*:1} Float | notNull
data.ps.wellplan.TripWellPlan > data.Commentable | form=data.ps.wellplan.WellPlan mainDto=data.ps.common.Trip
=====================================
persistence/pom.xml
=====================================
@@ -391,38 +391,6 @@
</executions>
</plugin>
-
- <plugin>
- <groupId>fr.ird.observe.toolkit</groupId>
- <artifactId>toolbox-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <id>generate-entity-update-sql-files</id>
- <goals>
- <goal>generate-entity-update-sql-files</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>dto</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>fr.ird.observe.toolkit</groupId>
- <artifactId>common-persistence</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>${lib.version.javassist}</version>
- </dependency>
- </dependencies>
- </plugin>
-
</plugins>
</build>
</project>
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.entities;
*/
import com.google.common.collect.ImmutableSet;
-import fr.ird.observe.entities.data.DataEntity;
import fr.ird.observe.entities.referential.ReferentialEntity;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -33,13 +32,14 @@ import org.hibernate.tool.schema.TargetType;
import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.jdbc.JdbcHelper;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPathsBuilder;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataModelPaths;
import org.nuiton.topia.persistence.script.SqlScriptReader;
import org.nuiton.topia.persistence.script.TopiaSqlScript;
import org.nuiton.topia.persistence.support.TopiaMetadataModelSupport;
import org.nuiton.topia.service.migration.TopiaMigrationService;
import org.nuiton.topia.service.script.TopiaSqlScriptGeneratorService;
+import org.nuiton.topia.service.script.table.DefaultTopiaSqlTablesPredicate;
import org.nuiton.topia.service.script.table.TopiaSqlTable;
import org.nuiton.topia.service.script.table.TopiaSqlTables;
import org.nuiton.topia.service.script.table.TopiaSqlTablesFactory;
@@ -50,20 +50,19 @@ import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
-import java.util.function.Predicate;
import java.util.stream.Collectors;
public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext implements TopiaMetadataModelSupport {
static final String MIGRATION_SERVICE_NAME = "migration";
static final String SQL_SCRIPT_GENERATOR_BATCH_SERVICE_NAME = "sqlScriptGenerator";
- private static final Set<String> SECTIONS = ImmutableSet.of(
- ObserveEntityEnum.ll_observation_Branchline.name(),
- ObserveEntityEnum.ll_observation_Basket.name(),
- ObserveEntityEnum.ll_observation_Section.name());
- private static final Set<String> SECTIONS_HOLDERS = ImmutableSet.of(
- ObserveEntityEnum.ll_observation_Catch.name(),
- ObserveEntityEnum.ll_observation_Tdr.name());
+ // private static final Set<String> SECTIONS = ImmutableSet.of(
+// ObserveEntityEnum.ll_observation_Branchline.name(),
+// ObserveEntityEnum.ll_observation_Basket.name(),
+// ObserveEntityEnum.ll_observation_Section.name());
+// private static final Set<String> SECTIONS_HOLDERS = ImmutableSet.of(
+// ObserveEntityEnum.ll_observation_Catch.name(),
+// ObserveEntityEnum.ll_observation_Tdr.name());
private static final Logger log = LogManager.getLogger(ObserveTopiaApplicationContext.class);
@SuppressWarnings("SpellCheckingInspection")
private static final String INSERT_LAST_UPDATE_PATTERN = "INSERT INTO COMMON.LASTUPDATEDATE (TOPIAID, TOPIAVERSION, TOPIACREATEDATE, TYPE, LASTUPDATEDATE) VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.%03d', 0, CURRENT_TIMESTAMP, '%s', CURRENT_TIMESTAMP);";
@@ -90,20 +89,6 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return new ObserveTopiaMetadataModelSupport();
}
- protected static boolean rejectAssociationType0(TopiaMetadataEntity metadataEntity, TopiaMetadataEntity propertyType) {
- return (SECTIONS_HOLDERS.contains(propertyType.getType()) && SECTIONS.contains(metadataEntity.getType()))
- || (ObserveEntityEnum.ps_logbook_Activity.name().equals(propertyType.getType()) && ObserveEntityEnum.ps_logbook_Sample.name().equals(metadataEntity.getType()))
- || (ObserveEntityEnum.ps_localmarket_Survey.name().equals(propertyType.getType()) && ObserveEntityEnum.ps_localmarket_Batch.name().equals(metadataEntity.getType()))
- ;
- }
-
- protected static boolean rejectReversedAssociationType0(TopiaMetadataEntity metadataEntity, TopiaMetadataEntity propertyType) {
- return (ObserveEntityEnum.ll_observation_Activity.name().equals(propertyType.getType()) && ObserveEntityEnum.ll_logbook_Activity.name().equals(metadataEntity.getType()))
- || (ObserveEntityEnum.ps_observation_Activity.name().equals(propertyType.getType()) && ObserveEntityEnum.ps_logbook_Activity.name().equals(metadataEntity.getType()))
- || (ObserveEntityEnum.ll_logbook_Sample.name().equals(propertyType.getType()) && ObserveEntityEnum.ll_logbook_Activity.name().equals(metadataEntity.getType()))
- ;
- }
-
@Override
public ObserveTopiaPersistenceContext newPersistenceContext() {
ObserveTopiaPersistenceContext persistenceContext = new ObserveTopiaPersistenceContext(
@@ -207,6 +192,11 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
return getTopiaMetadataModelSupport().getMetadataModel();
}
+ @Override
+ public TopiaMetadataModelPaths getMetadataModelPaths() {
+ return getTopiaMetadataModelSupport().getMetadataModelPaths();
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -243,7 +233,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
if (tripSeineTables == null) {
log.debug("Loading tripSeineTables.");
- tripSeineTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), ObserveEntityEnum.ps_common_Trip);
+ tripSeineTables = topiaSqlTablesFactory.newReplicateEntityTables(new DefaultTopiaSqlTablesPredicate(), ObserveEntityEnum.ps_common_Trip);
log.info(String.format("For Trip, found %d tables to use.", tripSeineTables.size()));
}
return tripSeineTables;
@@ -253,7 +243,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
if (tripLonglineTables == null) {
log.debug("Loading tripLonglineTables.");
- tripLonglineTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), ObserveEntityEnum.ll_common_Trip);
+ tripLonglineTables = topiaSqlTablesFactory.newReplicateEntityTables(new DefaultTopiaSqlTablesPredicate(), ObserveEntityEnum.ll_common_Trip);
log.info(String.format("For Trip, found %d tables to use.", tripLonglineTables.size()));
TopiaSqlTable basketTable = tripLonglineTables.getTable(ObserveEntityEnum.ll_observation_Basket);
@@ -292,11 +282,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
}
public TopiaSqlTables getReferentialTables() {
-
if (referentialTables == null) {
log.debug("Loading referentialTables.");
referentialTables = topiaSqlTablesFactory.newReplicateEntityTables(
- new TripReplicateTablesPredicate(),
+ new DefaultTopiaSqlTablesPredicate(),
Entities.REFERENCE_ENTITIES);
}
log.info(String.format("For Referential, found %d tables to use.", referentialTables.size()));
@@ -305,112 +294,26 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat
public <E extends ReferentialEntity<?, ?>> TopiaSqlTables getReferentialTable(Class<E> entityType) {
ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entityType);
- return referentialTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), entityEnum);
- }
-
- private TopiaMetadataModelSupport getTopiaMetadataModelSupport() {
- return topiaMetadataModelSupport == null ? topiaMetadataModelSupport = newModelSupport() : topiaMetadataModelSupport;
+ return referentialTables = topiaSqlTablesFactory.newReplicateEntityTables(new DefaultTopiaSqlTablesPredicate(), entityEnum);
}
public ObserveTopiaUsageModel getTopiaUsageModel() {
return topiaUsageModel == null ? topiaUsageModel = new ObserveTopiaUsageModel() : topiaUsageModel;
}
- private void executeSqlStatements0(TopiaSqlScript content) {
-
- SqlScriptReader scriptLocation = content.getLocation();
-// if (getConfiguration().isH2Configuration()) {
-//
-// String protocol = scriptLocation.getProtocol();
-// boolean local = LOCAL_PROTOCOLS.contains(protocol.toLowerCase());
-//
-// Path tempFile = null;
-// try {
-// if (local) {
-// tempFile = Paths.get(scriptLocation.toURI());
-// } else {
-// tempFile = Files.createTempFile("observeRestoreH2", ".sql");
-// Files.copy(scriptLocation.openStream(), tempFile);
-// }
-//// log.info(String.format("Restore script size: %s to h2 from file : %s", StringUtil.convertMemory(Files.size(tempFile)), tempFile.toString()));
-// JdbcH2Helper2 jdbcH2Helper = new JdbcH2Helper2(configuration);
-//
-// jdbcH2Helper.restore(tempFile.toFile());
-// } finally {
-// if (!local && tempFile != null) {
-// Files.delete(tempFile);
-// }
-// }
-//
-// } else {
-
-// log.info(String.format("Load script (size: %s)", StringUtil.convertMemory(content.length)));
-
- try (ObserveTopiaPersistenceContext persistenceContext = newPersistenceContext()) {
- persistenceContext.executeSqlScript(scriptLocation);
- persistenceContext.commit();
- }
-// }
-
- }
-
public BlobIdsIterator newBlobIdsIterator(Path blobIdsPath) {
return new BlobIdsIterator(getMetadataModel(), blobIdsPath, this);
}
- private static class TripReplicateTablesPredicate implements TopiaSqlTablesFactory.TopiaSqlTablesPredicate {
-
- private final Set<TopiaMetadataEntity> done = new LinkedHashSet<>();
-
- @Override
- public boolean acceptEntity(TopiaMetadataEntity metadataEntity) {
- return done.add(metadataEntity);
- }
-
- @Override
- public boolean acceptAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) {
- return !rejectAssociationType0(metadataEntity, propertyType);
- }
-
- @Override
- public boolean acceptReversedAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) {
- return !rejectReversedAssociationType0(metadataEntity, propertyType);
-
- }
-
- @Override
- public boolean acceptNmAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) {
- return !rejectAssociationType0(metadataEntity, propertyType);
- }
-
+ private TopiaMetadataModelSupport getTopiaMetadataModelSupport() {
+ return topiaMetadataModelSupport == null ? topiaMetadataModelSupport = newModelSupport() : topiaMetadataModelSupport;
}
- public static class ObserveDataEntityPathsBuilder extends TopiaMetadataEntityPathsBuilder {
-
- public ObserveDataEntityPathsBuilder() {
- super(e -> DataEntity.class.isAssignableFrom(ObserveEntityEnum.valueOf(e.getType()).getContract()));
- }
-
- @Override
- protected Visitor createVisitor(Predicate<TopiaMetadataEntity> acceptType) {
- return new ObServeVisitor(acceptType);
- }
-
- private static class ObServeVisitor extends Visitor {
-
- public ObServeVisitor(Predicate<TopiaMetadataEntity> acceptType) {
- super(acceptType);
- }
-
- @Override
- protected boolean rejectReversedAssociationType(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) {
- return rejectReversedAssociationType0(metadataEntity, propertyType) || super.rejectReversedAssociationType(metadataEntity, propertyName, propertyType);
- }
-
- @Override
- protected boolean rejectAssociationType(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) {
- return rejectAssociationType0(metadataEntity, propertyType) || super.rejectAssociationType(metadataEntity, propertyName, propertyType);
- }
+ private void executeSqlStatements0(TopiaSqlScript content) {
+ SqlScriptReader scriptLocation = content.getLocation();
+ try (ObserveTopiaPersistenceContext persistenceContext = newPersistenceContext()) {
+ persistenceContext.executeSqlScript(scriptLocation);
+ persistenceContext.commit();
}
}
=====================================
persistence/src/main/models/Observe-21-data-ps-logbook.model
=====================================
@@ -14,7 +14,7 @@ seaSurfaceTemperature + {*:1} Float | sqlType=numeric
windDirection + {*:1} Integer
vesselActivity {*:1} referential.ps.common.VesselActivity
wind {*:0..1} referential.common.Wind
-relatedObservedActivity + {0..1} data.ps.observation.Activity
+relatedObservedActivity + {0..1} data.ps.observation.Activity | skipModelNavigation
floatingObject + {*} data.ps.logbook.FloatingObject | unique
observedSystem {*:*} referential.ps.logbook.ObservedSystem | unique
set + {0..1} data.ps.logbook.Set
@@ -91,7 +91,7 @@ bigsWeight + {*:1} Float | sqlType=numeric
totalWeight + {*:1} Float | sqlType=numeric
weightedWeight + {*:1} Float | sqlType=numeric
subSampleNumber + {*:1} Integer
-activity {*:*} data.ps.logbook.Activity
+activity {*:*} data.ps.logbook.Activity | skipModelNavigation
sampleSpecies + {*} data.ps.logbook.SampleSpecies | ordered
data.ps.logbook.SampleSpecies > data.DataEntity | entity
=====================================
persistence/src/main/models/Observe-23-data-ps-wellplan.model
=====================================
@@ -1,7 +1,7 @@
package fr.ird.observe.entities.data.ps.wellplan | dbSchema=ps_wellplan
data.ps.wellplan.WellPlan > data.DataEntity | entity
-activity {*:1} data.ps.logbook.Activity
+activity {*:1} data.ps.logbook.Activity | skipModelNavigation
well + {*:1} String
species {*:1} referential.common.Species
weightCategory {*:1} referential.ps.logbook.WeightCategory
=====================================
persistence/src/main/models/Observe-24-data-ps-localmarket.model
=====================================
@@ -5,7 +5,7 @@ species {*:1} referential.common.Species | notNull
packaging {*:1} referential.ps.localmarket.Packaging | notNull
count + {*:1} Integer
weight + {*:1} Float | sqlType=numeric
-survey {*:0..1} data.ps.localmarket.Survey
+survey {*:0..1} data.ps.localmarket.Survey | skipModelNavigation
origin + {*:1} String | hibernateAttributeType=text
comment + {*:1} String | hibernateAttributeType=text
=====================================
persistence/src/main/models/Observe-30-data-ll-observation.model
=====================================
@@ -44,9 +44,9 @@ haulingIdentifier + {*:1} Integer
floatline1Length + {*:1} Float
floatline2Length + {*:1} Float
branchline + {*} data.ll.observation.Branchline | unique orderBy=settingIdentifier
-catches {*} data.ll.observation.Catch
-tdr {*} data.ll.observation.Tdr
-set {*:1} data.ll.observation.Set
+catches {*} data.ll.observation.Catch | skipModelNavigation
+tdr {*} data.ll.observation.Tdr | skipModelNavigation
+set {*:1} data.ll.observation.Set | skipModelNavigation
getSection() data.ll.observation.Section
setSection(section data.ll.observation.Section)
@@ -68,8 +68,8 @@ tracelineLength + {*:1} Float | sqlType=numeric
hookLost + {*:1} Boolean
traceCutOff + {*:1} Boolean
hookType {*:0..1} referential.ll.common.HookType
-tdr {*} data.ll.observation.Tdr
-catches {*} data.ll.observation.Catch
+tdr {*} data.ll.observation.Tdr | skipModelNavigation
+catches {*} data.ll.observation.Catch | skipModelNavigation
baitType {*:0..1} referential.ll.common.BaitType
topType {*:0..1} referential.ll.common.LineType
tracelineType {*:0..1} referential.ll.common.LineType
@@ -102,14 +102,14 @@ photoReferences + {*:1} String
number + {*:1} Integer
acquisitionMode + {*:1} int
tagNumber + {*:1} String
-basket {*:0..1} data.ll.observation.Basket
-branchline {*:0..1} data.ll.observation.Branchline
+basket {*:0..1} data.ll.observation.Basket | skipModelNavigation
+branchline {*:0..1} data.ll.observation.Branchline | skipModelNavigation
catchFate {*:1} referential.ll.common.CatchFate
discardHealthStatus {*:1} referential.ll.common.HealthStatus
sizeMeasure + {*} data.ll.observation.SizeMeasure | orderBy=topiaCreateDate
speciesCatch {*:1} referential.common.Species
predator {*:*} referential.common.Species
-section {*:0..1} data.ll.observation.Section
+section {*:0..1} data.ll.observation.Section | skipModelNavigation
maturityStatus {*:0..1} referential.ll.observation.MaturityStatus
stomachFullness {*:0..1} referential.ll.observation.StomachFullness
hookPosition {*:0..1} referential.ll.observation.HookPosition
@@ -138,10 +138,10 @@ hookSize {*:1} referential.ll.common.HookSize
data.ll.observation.Section > data.DataEntity >> data.ll.observation.LonglineCompositionAware | entity
settingIdentifier + {*:1} Integer | notNull
haulingIdentifier + {*:1} Integer
-set {*:1} data.ll.observation.Set
-basket + {*} data.ll.observation.Basket | unique orderBy=settingIdentifier
-tdr {*} data.ll.observation.Tdr
-catches {*} data.ll.observation.Catch
+set {*:1} data.ll.observation.Set | skipModelNavigation
+basket + {*} data.ll.observation.Basket | unique orderBy=settingIdentifier
+tdr {*} data.ll.observation.Tdr | skipModelNavigation
+catches {*} data.ll.observation.Catch | skipModelNavigation
data.ll.observation.SensorUsed > data.DataEntity | entity
data + {*:1} !java.sql.Blob
@@ -254,11 +254,11 @@ minFishingDepth + {*:1} Float
maxFishingDepth + {*:1} Float
meanFishingDepth + {*:1} Float
medianFishingDepth + {*:1} Float
-branchline {*:0..1} data.ll.observation.Branchline
+branchline {*:0..1} data.ll.observation.Branchline | skipModelNavigation
sensorBrand {*:0..1} referential.ll.observation.SensorBrand
species {*:*} referential.common.Species
-section {*:0..1} data.ll.observation.Section
-basket {*:0..1} data.ll.observation.Basket
+section {*:0..1} data.ll.observation.Section | skipModelNavigation
+basket {*:0..1} data.ll.observation.Basket | skipModelNavigation
itemHorizontalPosition {*:0..1} referential.ll.observation.ItemHorizontalPosition
itemVerticalPosition {*:0..1} referential.ll.observation.ItemVerticalPosition
getDeploymentStartDate() Date
=====================================
persistence/src/main/models/Observe-31-data-ll-logbook.model
=====================================
@@ -14,7 +14,7 @@ currentDirection + {*:1} Integer
vesselActivity {*:1} referential.ll.common.VesselActivity | lazy=false
dataQuality {*:0..1} referential.common.DataQuality
fpaZone {*:1} referential.common.FpaZone
-relatedObservedActivity + {0..1} data.ll.observation.Activity
+relatedObservedActivity + {0..1} data.ll.observation.Activity | skipModelNavigation
set + {0..1} data.ll.logbook.Set
sample + {0..1} data.ll.logbook.Sample
getStartDate() Date
=====================================
persistence/src/test/java/fr/ird/observe/entities/ObserveTopiaMetadataModelSupportTest.java deleted
=====================================
@@ -1,68 +0,0 @@
-package fr.ird.observe.entities;
-
-/*-
- * #%L
- * ObServe :: Persistence
- * %%
- * 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 com.google.common.collect.ImmutableMap;
-import fr.ird.observe.test.ObserveFixtures;
-import org.junit.Assert;
-import org.junit.Test;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPath;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPathsBuilder;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
-
-public class ObserveTopiaMetadataModelSupportTest {
-
- @Test
- public void testEntityPathsBuilder() {
-
- TopiaMetadataModel model = ObserveTopiaApplicationContext.newModelSupport().getMetadataModel();
-
- TopiaMetadataEntityPathsBuilder entityPathsBuilder = new ObserveTopiaApplicationContext.ObserveDataEntityPathsBuilder();
-
- TopiaMetadataEntity tripPs = model.getEntity(ObserveEntityEnum.ps_common_Trip.name());
- ImmutableMap<TopiaMetadataEntity, TopiaMetadataEntityPath> pathsPs = entityPathsBuilder.build(model, tripPs);
- Assert.assertNotNull(pathsPs);
- Assert.assertEquals(ObserveFixtures.PERSISTENCE_PS_DATA_PATH, pathsPs.size());
-
- TopiaMetadataEntity tripLl = model.getEntity(ObserveEntityEnum.ll_common_Trip.name());
- ImmutableMap<TopiaMetadataEntity, TopiaMetadataEntityPath> pathsLl = entityPathsBuilder.build(model, tripLl);
- Assert.assertNotNull(pathsLl);
- Assert.assertEquals(ObserveFixtures.PERSISTENCE_LL_DATA_PATH, pathsLl.size());
- }
-
- @Test
- public void getDataEntityPaths() {
-
- TopiaMetadataModel model = ObserveTopiaApplicationContext.newModelSupport().getMetadataModel();
- ImmutableMap<TopiaMetadataEntity, TopiaMetadataEntityPath> dataEntityPaths = model.getDataEntityPaths();
- Assert.assertNotNull(dataEntityPaths);
- Assert.assertEquals(ObserveFixtures.PERSISTENCE_DATA_PATH, dataEntityPaths.size());
- Assert.assertFalse(model.getDataEntityPath(fr.ird.observe.entities.data.ps.common.Trip.class).isPresent());
- Assert.assertTrue(model.getDataEntityPath(fr.ird.observe.entities.data.ps.common.GearUseFeatures.class).isPresent());
- Assert.assertTrue(model.getDataEntityPath(fr.ird.observe.entities.data.ps.common.GearUseFeaturesMeasurement.class).isPresent());
- Assert.assertFalse(model.getDataEntityPath(fr.ird.observe.entities.data.ll.common.Trip.class).isPresent());
- Assert.assertTrue(model.getDataEntityPath(fr.ird.observe.entities.data.ll.common.GearUseFeatures.class).isPresent());
- Assert.assertTrue(model.getDataEntityPath(fr.ird.observe.entities.data.ll.common.GearUseFeaturesMeasurement.class).isPresent());
- }
-}
=====================================
persistence/src/test/java/fr/ird/observe/entities/TopiaMetadataModelPathsTest.java
=====================================
@@ -0,0 +1,101 @@
+package fr.ird.observe.entities;
+
+/*-
+ * #%L
+ * ObServe :: Persistence
+ * %%
+ * 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 com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Multimap;
+import fr.ird.observe.test.ObserveFixtures;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPath;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataModelPaths;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * Created on 13/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+public class TopiaMetadataModelPathsTest {
+
+
+ @Test
+ public void getEntityPaths() {
+
+ TopiaMetadataModel model = ObserveTopiaApplicationContext.newModelSupport().getMetadataModel();
+ TopiaMetadataModelPaths paths = TopiaMetadataModelPaths.load(model);
+ Multimap<TopiaMetadataEntity, TopiaMetadataEntityPath> dataEntityPaths = paths.getEntityPaths();
+ Assert.assertNotNull(dataEntityPaths);
+ Assert.assertEquals(ObserveFixtures.PERSISTENCE_DATA_PATH, dataEntityPaths.asMap().size());
+ Assert.assertFalse(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ps.common.Trip.class)).isPresent());
+ Assert.assertTrue(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ps.common.GearUseFeatures.class)).isPresent());
+ Assert.assertTrue(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ps.common.GearUseFeaturesMeasurement.class)).isPresent());
+ Assert.assertFalse(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ll.common.Trip.class)).isPresent());
+ Assert.assertTrue(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ll.common.GearUseFeatures.class)).isPresent());
+ Assert.assertTrue(paths.getEntityPathsForEntryPoint(model.getMetadataEntity(fr.ird.observe.entities.data.ll.common.GearUseFeaturesMeasurement.class)).isPresent());
+ }
+
+ @Test
+ public void getEntityPathsCount() {
+ ImmutableMap<String, Long> excepted = ObserveFixtures.PERSISTENCE_ENTITY_PATHS;
+ TopiaMetadataModel model = ObserveTopiaApplicationContext.newModelSupport().getMetadataModel();
+
+ TopiaMetadataModelPaths paths = TopiaMetadataModelPaths.load(model);
+ Multimap<TopiaMetadataEntity, TopiaMetadataEntityPath> dataEntityPaths = paths.getEntityPaths();
+
+ Assert.assertNotNull(paths);
+ for (Map.Entry<TopiaMetadataEntity, Collection<TopiaMetadataEntityPath>> entry : paths.asMap().entrySet()) {
+ int actualPathsCount = entry.getValue().stream().map(TopiaMetadataEntityPath::getLinks).mapToInt(List::size).sum();
+ System.out.printf("%s=%d%n", ObserveEntityEnum.valueOf(entry.getKey().getType()), actualPathsCount);
+ }
+ for (Map.Entry<String, Long> entry : excepted.entrySet()) {
+ String type = entry.getKey();
+ Optional<TopiaMetadataEntity> optionalTopiaMetadataEntity = paths.keySet().stream().filter(k -> k.getType().equals(type)).findFirst();
+ Assert.assertTrue("Could not find expected type in result: " + type, optionalTopiaMetadataEntity.isPresent());
+ TopiaMetadataEntity topiaMetadataEntity = optionalTopiaMetadataEntity.get();
+ Collection<TopiaMetadataEntityPath> topiaMetadataLinks = paths.get(topiaMetadataEntity);
+ int expectedPathsCount = Math.toIntExact(entry.getValue());
+ int actualPathsCount = topiaMetadataLinks.stream().map(TopiaMetadataEntityPath::getLinks).mapToInt(List::size).sum();
+ Assert.assertEquals(String.format("for type %s, expected links size: %d but was %d", type, expectedPathsCount, actualPathsCount), expectedPathsCount, actualPathsCount);
+ }
+ ImmutableSet<String> keys = excepted.keySet();
+ for (Map.Entry<TopiaMetadataEntity, Collection<TopiaMetadataEntityPath>> entry : paths.asMap().entrySet()) {
+ if (!keys.contains(entry.getKey().getType())) {
+
+ int actualPathsCount = entry.getValue().stream().map(TopiaMetadataEntityPath::getLinks).mapToInt(List::size).sum();
+ System.err.printf("%s=%d%n", ObserveEntityEnum.valueOf(entry.getKey().getType()), actualPathsCount);
+ }
+ }
+ Assert.assertEquals(excepted.size(), paths.asMap().size());
+ // at the moment only two entities with two paths (ll_logbook_Sample and ll_logbook_SamplePart)
+ Assert.assertEquals(excepted.size() + 2, paths.size());
+ }
+}
=====================================
pom.xml
=====================================
@@ -174,7 +174,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.26-SNAPSHOT</lib.version.java4all.topia>-->
+ <lib.version.java4all.topia>1.27-SNAPSHOT</lib.version.java4all.topia>
<!-- <lib.version.java4all.eugene>3.0-alpha-34-SNAPSHOT</lib.version.java4all.eugene>-->
<!-- <lib.version.java4all.jaxx>3.0-alpha-79-SNAPSHOT</lib.version.java4all.jaxx>-->
<!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>-->
=====================================
server-core/src/main/filtered-resources/mapping
=====================================
@@ -192,6 +192,7 @@ POST /api/v1/data/ps/common/TripGearUseFeaturesService/save
DELETE /api/v1/data/ps/common/TripService/delete v1.data.ps.common.TripServiceRestApi.delete
GET /api/v1/data/ps/common/TripService/exists v1.data.ps.common.TripServiceRestApi.exists
GET /api/v1/data/ps/common/TripService/getAllTrip v1.data.ps.common.TripServiceRestApi.getAllTrip
+GET /api/v1/data/ps/common/TripService/getLogbookWeightCategoryByListAndTrip v1.data.ps.common.TripServiceRestApi.getLogbookWeightCategoryByListAndTrip
GET /api/v1/data/ps/common/TripService/getMatchingTripsVesselWithinDateRange v1.data.ps.common.TripServiceRestApi.getMatchingTripsVesselWithinDateRange
GET /api/v1/data/ps/common/TripService/getSpeciesByListAndTrip v1.data.ps.common.TripServiceRestApi.getSpeciesByListAndTrip
GET /api/v1/data/ps/common/TripService/getTripMap v1.data.ps.common.TripServiceRestApi.getTripMap
=====================================
services-api/src/main/java/fr/ird/observe/services/service/data/ps/common/TripService.java
=====================================
@@ -24,10 +24,19 @@ package fr.ird.observe.services.service.data.ps.common;
import fr.ird.observe.dto.data.ps.common.TripDto;
import fr.ird.observe.dto.data.ps.common.TripReference;
+import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
+import fr.ird.observe.dto.referential.ps.logbook.WeightCategoryReference;
+import fr.ird.observe.services.spi.ReadDataPermission;
+import io.ultreia.java4all.http.spi.Get;
+import io.ultreia.java4all.http.spi.Nullable;
/**
* @author Tony Chemit - dev(a)tchemit.fr
*/
public interface TripService extends fr.ird.observe.services.service.data.TripService<TripDto, TripReference> {
+ @Get
+ @ReadDataPermission
+ ReferentialDtoReferenceSet<WeightCategoryReference> getLogbookWeightCategoryByListAndTrip(@Nullable String tripId, String speciesListId);
+
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/data/ps/common/TripServiceLocal.java
=====================================
@@ -23,6 +23,7 @@ package fr.ird.observe.services.local.service.data.ps.common;
*/
import com.google.common.collect.ImmutableSet;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.TripAware;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapDto;
@@ -33,10 +34,13 @@ import fr.ird.observe.dto.form.Form;
import fr.ird.observe.dto.reference.DataDtoReferenceSet;
import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
import fr.ird.observe.dto.referential.common.SpeciesReference;
+import fr.ird.observe.dto.referential.ps.logbook.WeightCategoryReference;
import fr.ird.observe.dto.result.SaveResultDto;
import fr.ird.observe.entities.data.ps.common.Trip;
import fr.ird.observe.entities.referential.common.Ocean;
import fr.ird.observe.entities.referential.common.Program;
+import fr.ird.observe.entities.referential.ps.logbook.WeightCategory;
+import fr.ird.observe.entities.referential.ps.logbook.WeightCategoryTopiaDao;
import fr.ird.observe.services.local.ObserveServiceContextLocal;
import fr.ird.observe.services.local.service.ObserveServiceLocal;
import fr.ird.observe.services.service.data.ps.common.TripService;
@@ -50,6 +54,7 @@ import java.util.Comparator;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author Tony Chemit - dev(a)tchemit.fr
@@ -121,6 +126,18 @@ public class TripServiceLocal extends ObserveServiceLocal implements TripService
return getSpeciesByListAndOcean(speciesListId, ocean);
}
+ @Override
+ public ReferentialDtoReferenceSet<WeightCategoryReference> getLogbookWeightCategoryByListAndTrip(String tripId, String speciesListId) {
+ Ocean ocean = null;
+ if (tripId != null) {
+ Trip trip = Trip.loadEntity(getApplicationLocale(), getTopiaPersistenceContext(), tripId);
+ ocean = trip.getOcean();
+ }
+ List<String> speciesByListAndOcean = getSpeciesByListAndOcean(speciesListId, ocean).stream().map(IdDto::getId).collect(Collectors.toList());
+ WeightCategoryTopiaDao weightCategoryList = WeightCategory.getDao(getTopiaPersistenceContext());
+ return WeightCategory.toReferenceSet(getReferentialLocale(), weightCategoryList.streamAll().filter(c -> c.getSpecies() == null || speciesByListAndOcean.contains(c.getSpecies().getTopiaId())), now());
+ }
+
@Override
public Form<TripDto> preCreate(String programId) {
Trip trip = Trip.newEntity(now());
=====================================
services-local/src/test/java/fr/ird/observe/services/local/service/data/TripManagementServiceLocalTest.java
=====================================
@@ -96,7 +96,7 @@ public class TripManagementServiceLocalTest extends ServiceLocalTestSupport {
Assert.assertNotNull(result);
DataDtoReferenceSet<TripReference> allTripSeineAfter = tripService.getAllTrip();
- Assert.assertTrue(allTripSeineBefore.size() == allTripSeineAfter.size() + 1);
+ Assert.assertEquals(allTripSeineBefore.size(), allTripSeineAfter.size() + 1);
}
@Test
=====================================
templates/pom.xml
=====================================
@@ -63,7 +63,10 @@
<groupId>org.nuiton</groupId>
<artifactId>nuiton-decorator</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>io.ultreia.java4all.topia</groupId>
+ <artifactId>persistence</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
=====================================
templates/src/main/java/fr/ird/observe/toolkit/templates/GeneratePersistence.java
=====================================
@@ -22,6 +22,9 @@ package fr.ird.observe.toolkit.templates;
* #L%
*/
+import fr.ird.observe.toolkit.templates.entity.EntityLastUpdateDateFieldSqlScriptGenerator;
+import fr.ird.observe.toolkit.templates.entity.EntityLastUpdateDateTableSqlScriptGenerator;
+import fr.ird.observe.toolkit.templates.entity.EntityPathsGenerator;
import fr.ird.observe.toolkit.templates.entity.EntityTransformer;
import org.codehaus.plexus.component.annotations.Component;
import org.nuiton.eugene.Template;
@@ -31,6 +34,7 @@ import org.nuiton.topia.templates.EntityHibernateMappingTransformer;
import org.nuiton.topia.templates.TopiaEntityDaoTransformer;
import org.nuiton.topia.templates.TopiaEntityEnumTransformer;
import org.nuiton.topia.templates.TopiaGenerator;
+import org.nuiton.topia.templates.TopiaMetadataModelClassGenerator;
import org.nuiton.topia.templates.TopiaMetadataModelGenerator;
import org.nuiton.topia.templates.TopiaPersistenceContextTransformer;
@@ -55,6 +59,10 @@ public class GeneratePersistence extends TopiaGenerator {
ApplicationContextTransformer.class,
TopiaPersistenceContextTransformer.class,
TopiaEntityDaoTransformer.class,
+ EntityPathsGenerator.class,
+ EntityLastUpdateDateFieldSqlScriptGenerator.class,
+ EntityLastUpdateDateTableSqlScriptGenerator.class,
+ TopiaMetadataModelClassGenerator.class,
TopiaMetadataModelGenerator.class
);
}
=====================================
templates/src/main/java/fr/ird/observe/toolkit/templates/dto/DtoTransformer.java
=====================================
@@ -62,6 +62,7 @@ import org.nuiton.eugene.models.object.xml.ObjectModelParameterImpl;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
+import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
@@ -317,7 +318,7 @@ public class DtoTransformer extends BeanTransformer implements TemplateContract
private Map<String, String> getFormProperties(ObjectModelClass input, ObjectModelClass output) {
Collection<ObjectModelAttribute> attributes = new LinkedList<>(input.getAttributes());
attributes.addAll(input.getAllOtherAttributes());
- Map<String, String> properties = new TreeMap<>();
+ Map<String, String> properties = new LinkedHashMap<>();
for (ObjectModelAttribute attr : attributes) {
if (!attr.isNavigable()) {
=====================================
toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateEntityUpdateSqlFilesMojo.java → templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityLastUpdateDateFieldSqlScriptGenerator.java
=====================================
@@ -1,8 +1,8 @@
-package fr.ird.observe.maven.plugins.toolbox;
+package fr.ird.observe.toolkit.templates.entity;
/*-
* #%L
- * ObServe Toolkit :: Maven plugin
+ * ObServe Toolkit :: Templates
* %%
* Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
* %%
@@ -22,129 +22,73 @@ package fr.ird.observe.maven.plugins.toolbox;
* #L%
*/
-
import com.google.common.collect.ImmutableList;
import fr.ird.observe.spi.context.DtoEntityContext;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.nuiton.topia.persistence.internal.support.TopiaMetadataModelSupportImpl;
+import org.codehaus.plexus.component.annotations.Component;
+import org.nuiton.eugene.Template;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPath;
import org.nuiton.topia.persistence.metadata.TopiaMetadataLink;
-import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
import org.nuiton.topia.persistence.metadata.TopiaMetadataReverseAssociation;
-import org.nuiton.topia.persistence.script.SqlScriptWriter;
+import org.nuiton.topia.templates.TopiaMetadataModelGeneratorSupport;
-import java.io.File;
import java.io.IOException;
-import java.net.URLClassLoader;
-import java.nio.file.Path;
+import java.io.Writer;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
-@Mojo(name = "generate-entity-update-sql-files", threadSafe = true, defaultPhase = LifecyclePhase.COMPILE, requiresDependencyResolution = ResolutionScope.COMPILE)
-public class GenerateEntityUpdateSqlFilesMojo extends ToolboxMojoSupport {
- private static final String UPDATE_LAST_UPDATE_DATE_TABLE_SQL = "UPDATE common.lastUpdateDate SET lastUpdateDate = '%%1$s'::timestamp WHERE type ='%s'";
+/**
+ * Created on 13/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 1.27
+ */
+@Component(role = Template.class, hint = "org.nuiton.topia.templates.EntityLastUpdateDateFieldSqlScriptGenerator")
+public class EntityLastUpdateDateFieldSqlScriptGenerator extends TopiaMetadataModelGeneratorSupport {
+
private static final String UPDATE_LAST_UPDATE_DATE_FIELD_SQL_START = "UPDATE %s.%s SET lastUpdateDate = '%%1$s'::timestamp, topiaVersion = topiaVersion + 1";
private static final String UPDATE_LAST_UPDATE_DATE_FIELD_SQL_WHERE_EQUALS = " WHERE %s = '%%2$s'";
private static final String UPDATE_LAST_UPDATE_DATE_FIELD_SQL_WHERE_SELECT = " WHERE topiaId = ( %s )";
private static final String UPDATE_LAST_UPDATE_DATA_FIELD_SQL_SELECT_START = "SELECT %3$s FROM %1$s.%2$s %2$s";
private static final String UPDATE_LAST_UPDATE_DATA_FIELD_SQL_INNER_JOIN_REVERSE = " INNER JOIN %1$s.%2$s %2$s ON %2$s.%3$s = %4$s.%5$s";
private static final String UPDATE_LAST_UPDATE_DATA_FIELD_SQL_INNER_JOIN_SIMPLE = " INNER JOIN %1$s.%2$s %2$s ON %2$s.%3$s = %4$s.topiaId";
- /**
- * Verbose flag.
- */
- @Parameter(property = "generateEntityUpdateSqlFiles.verbose", defaultValue = "${maven.verbose}")
- private boolean verbose;
- /**
- * Skip flag.
- */
- @Parameter(property = "generateEntityUpdateSqlFiles.skip", defaultValue = "false")
- private boolean skip;
-
- /**
- * Where to generate files.
- */
- @Parameter(property = "generateEntityUpdateSqlFiles.outputDirectory", defaultValue = "${project.build.directory}/classes/", required = true)
- private File outputDirectory;
-
- @Override
- public boolean isVerbose() {
- return verbose;
- }
-
- @Override
- public void setVerbose(boolean verbose) {
- this.verbose = verbose;
- }
-
- @Override
- protected Path createOutputFile() {
- return null;
- }
@Override
- public boolean isSkip() {
- return skip;
+ public String getFilenameForClassifier(ObjectModelClassifier classifier) {
+ return super.getFilenameForClassifier(classifier) + DtoEntityContext.LAST_UPDATE_DATE_SQL_SCRIPT_FIELD_CLASSIFIER;
}
@Override
- protected void doAction() throws Exception {
- URLClassLoader urlClassLoader = initClassLoader(getProject(), outputDirectory, true, false, true, true, true);
-
- Thread thread = Thread.currentThread();
- ClassLoader contextClassLoader = thread.getContextClassLoader();
- thread.setContextClassLoader(urlClassLoader);
- try {
- TopiaMetadataModelSupportImpl model = (TopiaMetadataModelSupportImpl) urlClassLoader.loadClass("fr.ird.observe.entities.ObserveTopiaMetadataModelSupport").newInstance();
- TopiaMetadataModel metadataModel = model.getMetadataModel();
- Iterator<TopiaMetadataEntity> iterator = metadataModel.streamWithoutAbstract().iterator();
- while (iterator.hasNext()) {
- TopiaMetadataEntity topiaMetadataEntity = iterator.next();
- processEntity(metadataModel, topiaMetadataEntity);
- }
- } finally {
- thread.setContextClassLoader(contextClassLoader);
+ public void generateFromClass(Writer output, ObjectModelClass input) throws IOException {
+ TopiaMetadataEntity entity = getEntityEnumName(input);
+ if (entity != null && !entity.isAbstract()) {
+ processEntity(entity, output);
}
}
- protected void processEntity(TopiaMetadataModel metadataModel, TopiaMetadataEntity topiaMetadataEntity) throws IOException {
-
- String fullyQualifiedName = topiaMetadataEntity.getFullyQualifiedName();
- Path directory = outputDirectory.toPath();
- String[] parts = fullyQualifiedName.split("\\.");
- String simpleName = parts[parts.length - 1];
- for (int i = 0; i < parts.length - 1; i++) {
- directory = directory.resolve(parts[i]);
- }
- createDirectoryIfNecessary(directory.toFile());
+ protected void processEntity(TopiaMetadataEntity entity, Writer output) throws IOException {
ImmutableList<TopiaMetadataEntity> types;
ImmutableList<TopiaMetadataLink> links;
- Optional<TopiaMetadataEntityPath> optionalDataEntityPath = metadataModel.getDataEntityPath(topiaMetadataEntity);
- if (optionalDataEntityPath.isPresent()) {
- TopiaMetadataEntityPath dataEntityPath = optionalDataEntityPath.get();
- links = dataEntityPath.getLinks();
- types = TopiaMetadataEntityPath.getTypes(dataEntityPath);
+ Optional<TopiaMetadataEntityPath> optionalPath = getAllPaths(EntityLastUpdateDateTableSqlScriptGenerator::rejectType).getEntityPathsForEntryPoint(entity);
+ if (optionalPath.isPresent()) {
+ TopiaMetadataEntityPath path = optionalPath.get();
+ links = path.getLinks();
+ types = path.getTypes();
} else {
// limit case, only one type
- types = ImmutableList.of(topiaMetadataEntity);
+ types = ImmutableList.of(entity);
// and no link
links = ImmutableList.of();
}
- {
- ImmutableList<String> requests = generateLastUpdateDateFieldRequests(types, links);
- generate(directory.resolve(simpleName + DtoEntityContext.LAST_UPDATE_DATE_SQL_SCRIPT_FIELD_CLASSIFIER), requests);
- }
- {
- ImmutableList<String> requests = generateLastUpdateDateTableRequests(types);
- generate(directory.resolve(simpleName + DtoEntityContext.LAST_UPDATE_DATE_SQL_SCRIPT_TABLE_CLASSIFIER), requests);
- }
+ ImmutableList<String> requests = generateLastUpdateDateFieldRequests(types, links);
+ generate(output, requests);
+
}
private ImmutableList<String> generateLastUpdateDateFieldRequests(ImmutableList<TopiaMetadataEntity> types, ImmutableList<TopiaMetadataLink> links) {
@@ -170,15 +114,6 @@ public class GenerateEntityUpdateSqlFilesMojo extends ToolboxMojoSupport {
return builder.build();
}
- private ImmutableList<String> generateLastUpdateDateTableRequests(ImmutableList<TopiaMetadataEntity> types) {
- ImmutableList.Builder<String> builder = ImmutableList.builder();
- for (TopiaMetadataEntity type : types.reverse()) {
- String tableSql = String.format(UPDATE_LAST_UPDATE_DATE_TABLE_SQL, type.getFullyQualifiedName());
- builder.add(tableSql + ";");
- }
- return builder.build();
- }
-
private String generateLastUpdateDateFieldRequest(TopiaMetadataEntity type, List<TopiaMetadataLink> inProcess) {
String sql = String.format(UPDATE_LAST_UPDATE_DATE_FIELD_SQL_START, type.getDbSchemaName(), type.getDbTableName());
if (inProcess == null) {
@@ -223,7 +158,7 @@ public class GenerateEntityUpdateSqlFilesMojo extends ToolboxMojoSupport {
tableOwner = firstLink.getTarget();
selectColumn = firstLink.getTarget().getDbColumnName(firstLink.getOwner().getDbTableName());
}
- return String.format(UPDATE_LAST_UPDATE_DATA_FIELD_SQL_SELECT_START, tableOwner.getDbSchemaName(), tableOwner.getDbTableName(), tableOwner.getDbTableName() +"."+ selectColumn);
+ return String.format(UPDATE_LAST_UPDATE_DATA_FIELD_SQL_SELECT_START, tableOwner.getDbSchemaName(), tableOwner.getDbTableName(), tableOwner.getDbTableName() + "." + selectColumn);
}
private String appendInnerJoin(TopiaMetadataLink lastLink, TopiaMetadataLink nextLink) {
@@ -246,10 +181,4 @@ public class GenerateEntityUpdateSqlFilesMojo extends ToolboxMojoSupport {
return finalizeRequest(targetColumn);
}
- private void generate(Path file, ImmutableList<String> requests) throws IOException {
- getLog().debug(String.format("Will write %d requests in file: %s", requests.size(), file));
- try (SqlScriptWriter sqlScriptWriter = SqlScriptWriter.of(file)) {
- requests.forEach(sqlScriptWriter::writeSql);
- }
- }
}
=====================================
templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityLastUpdateDateTableSqlScriptGenerator.java
=====================================
@@ -0,0 +1,93 @@
+package fr.ird.observe.toolkit.templates.entity;
+
+/*-
+ * #%L
+ * ObServe Toolkit :: Templates
+ * %%
+ * 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 com.google.common.collect.ImmutableList;
+import fr.ird.observe.spi.context.DtoEntityContext;
+import org.codehaus.plexus.component.annotations.Component;
+import org.nuiton.eugene.Template;
+import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntityPath;
+import org.nuiton.topia.templates.TopiaMetadataModelGeneratorSupport;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Optional;
+
+/**
+ * Created on 13/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 1.27
+ */
+@Component(role = Template.class, hint = "org.nuiton.topia.templates.EntityLastUpdateDateTableSqlScriptGenerator")
+public class EntityLastUpdateDateTableSqlScriptGenerator extends TopiaMetadataModelGeneratorSupport {
+
+ private static final String UPDATE_LAST_UPDATE_DATE_TABLE_SQL = "UPDATE common.lastUpdateDate SET lastUpdateDate = '%%1$s'::timestamp WHERE type ='%s'";
+
+ protected static boolean rejectType(TopiaMetadataEntity entity) {
+ return entity.isAbstract() || entity.getFullyQualifiedName().contains(".referential");
+ }
+
+ @Override
+ public String getFilenameForClassifier(ObjectModelClassifier classifier) {
+ return super.getFilenameForClassifier(classifier) + DtoEntityContext.LAST_UPDATE_DATE_SQL_SCRIPT_TABLE_CLASSIFIER;
+ }
+
+ @Override
+ public void generateFromClass(Writer output, ObjectModelClass input) throws IOException {
+ TopiaMetadataEntity entity = getEntityEnumName(input);
+ if (entity != null && !entity.isAbstract()) {
+ processEntity(entity, output);
+ }
+ }
+
+ protected void processEntity(TopiaMetadataEntity entity, Writer output) throws IOException {
+
+ ImmutableList<TopiaMetadataEntity> types;
+ Optional<TopiaMetadataEntityPath> optionalPath = getAllPaths(EntityLastUpdateDateTableSqlScriptGenerator::rejectType).getEntityPathsForEntryPoint(entity);
+ if (optionalPath.isPresent()) {
+ TopiaMetadataEntityPath path = optionalPath.get();
+ types = path.getTypes();
+ } else {
+ // limit case, only one type
+ types = ImmutableList.of(entity);
+ // and no link
+ }
+ ImmutableList<String> requests = generateLastUpdateDateTableRequests(types);
+ generate(output, requests);
+
+ }
+
+ private ImmutableList<String> generateLastUpdateDateTableRequests(ImmutableList<TopiaMetadataEntity> types) {
+ ImmutableList.Builder<String> builder = ImmutableList.builder();
+ for (TopiaMetadataEntity type : types.reverse()) {
+ String tableSql = String.format(UPDATE_LAST_UPDATE_DATE_TABLE_SQL, type.getFullyQualifiedName());
+ builder.add(tableSql + ";");
+ }
+ return builder.build();
+ }
+
+}
=====================================
persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaMetadataModelSupport.java → templates/src/main/java/fr/ird/observe/toolkit/templates/entity/EntityPathsGenerator.java
=====================================
@@ -1,8 +1,8 @@
-package fr.ird.observe.entities;
+package fr.ird.observe.toolkit.templates.entity;
/*-
* #%L
- * ObServe :: Persistence
+ * ObServe Toolkit :: Templates
* %%
* Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
* %%
@@ -22,10 +22,23 @@ package fr.ird.observe.entities;
* #L%
*/
-import org.nuiton.topia.persistence.internal.support.TopiaMetadataModelSupportImpl;
+import org.codehaus.plexus.component.annotations.Component;
+import org.nuiton.eugene.Template;
+import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity;
+import org.nuiton.topia.templates.TopiaMetadataEntityPathsGeneratorSupport;
-public class ObserveTopiaMetadataModelSupport extends TopiaMetadataModelSupportImpl {
- public ObserveTopiaMetadataModelSupport() {
- super("fr.ird.observe.entities", "Observe", new ObserveTopiaApplicationContext.ObserveDataEntityPathsBuilder());
+/**
+ * Created on 13/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+@Component(role = Template.class, hint = "org.nuiton.topia.templates.EntityPathsGenerator")
+public class EntityPathsGenerator extends TopiaMetadataEntityPathsGeneratorSupport {
+
+ @Override
+ protected boolean rejectType(TopiaMetadataEntity entity) {
+ return EntityLastUpdateDateTableSqlScriptGenerator.rejectType(entity);
}
+
}
=====================================
test/src/main/java/fr/ird/observe/test/ObserveFixtures.java
=====================================
@@ -78,10 +78,10 @@ public class ObserveFixtures {
public static final ImmutableMap<String, Long> TRIP_LONGLINE_1_TABLES_COUNT = loadFixturesMapCount("count-data-longline-1");
public static final ImmutableMap<String, Long> TRIP_LONGLINE_2_TABLES_COUNT = loadFixturesMapCount("count-data-longline-2");
public static final ImmutableMap<String, Long> TRIP_LONGLINE_3_TABLES_COUNT = loadFixturesMapCount("count-data-longline-3");
+ public static final ImmutableMap<String, Long> PERSISTENCE_ENTITY_PATHS = loadFixturesMapCount("entity-paths");
+
private static final ImmutableMap<String, String> GLOBAL = loadFixturesMap("global");
- public static final int PERSISTENCE_PS_DATA_PATH = Integer.parseInt(GLOBAL.get("PERSISTENCE_PS_DATA_PATH"));
- public static final int PERSISTENCE_LL_DATA_PATH = Integer.parseInt(GLOBAL.get("PERSISTENCE_LL_DATA_PATH"));
- public static final int PERSISTENCE_DATA_PATH = PERSISTENCE_PS_DATA_PATH+PERSISTENCE_LL_DATA_PATH;
+ public static final int PERSISTENCE_DATA_PATH = PERSISTENCE_ENTITY_PATHS.size();
public static final String TRIP_SEINE_ID_1 = GLOBAL.get("TRIP_SEINE_ID_1");
public static final String TRIP_SEINE_ID_2 = GLOBAL.get("TRIP_SEINE_ID_2");
public static final String TRIP_SEINE_ID_3 = GLOBAL.get("TRIP_SEINE_ID_3");
=====================================
test/src/main/resources/fixtures/entity-paths.properties
=====================================
@@ -0,0 +1,81 @@
+###
+# #%L
+# ObServe :: Test
+# %%
+# 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%
+###
+ll_observation_Activity=1
+ll_observation_Set=2
+ll_observation_Encounter=2
+ll_observation_SensorUsed=2
+ll_observation_BaitsComposition=3
+ll_observation_FloatlinesComposition=3
+ll_observation_BranchlinesComposition=3
+ll_observation_HooksComposition=3
+ll_observation_Catch=3
+ll_observation_Section=3
+ll_observation_Tdr=3
+ll_observation_Basket=4
+ll_observation_SizeMeasure=4
+ll_observation_WeightMeasure=4
+ll_observation_Branchline=5
+ll_logbook_Activity=1
+ll_logbook_Set=2
+ll_logbook_BaitsComposition=3
+ll_logbook_FloatlinesComposition=3
+ll_logbook_HooksComposition=3
+ll_logbook_Catch=3
+ll_logbook_BranchlinesComposition=3
+ll_common_GearUseFeatures=1
+ll_common_GearUseFeaturesMeasurement=2
+ll_landing_Landing=1
+ll_landing_LandingPart=2
+ll_logbook_Sample=3
+ll_logbook_SamplePart=5
+ps_observation_Route=1
+ps_observation_Activity=2
+ps_observation_FloatingObject=3
+ps_observation_Set=3
+ps_observation_Catch=4
+ps_observation_Sample=4
+ps_observation_SchoolEstimate=4
+ps_observation_NonTargetCatchRelease=4
+ps_observation_ObjectSchoolEstimate=4
+ps_observation_ObjectObservedSpecies=4
+ps_observation_TransmittingBuoy=4
+ps_observation_FloatingObjectPart=4
+ps_observation_Size=5
+ps_logbook_Route=1
+ps_logbook_Activity=2
+ps_logbook_FloatingObject=3
+ps_logbook_Set=3
+ps_logbook_Catch=4
+ps_logbook_TransmittingBuoy=4
+ps_logbook_FloatingObjectPart=4
+ps_landing_Landing=1
+ps_wellplan_WellPlan=1
+ps_logbook_Sample=1
+ps_logbook_SampleSpecies=2
+ps_logbook_SampleSpeciesSize=3
+ps_localmarket_Batch=1
+ps_localmarket_Survey=1
+ps_localmarket_Sample=1
+ps_localmarket_SurveyPart=2
+ps_localmarket_SamplePart=2
+ps_common_GearUseFeatures=1
+ps_common_GearUseFeaturesMeasurement=2
=====================================
test/src/main/resources/fixtures/global.properties
=====================================
@@ -56,7 +56,4 @@ VALIDATOR_CREATE_REFERENTIAL_COUNT_REAL=87
VALIDATOR_UPDATE_REFERENTIAL_COUNT_REAL=87
VALIDATOR_UPDATE_ENTITY_DATA_COUNT=40
-ENTITIES_LIMIT_SIZE=100
-# for fr.ird.observe.entities.ObserveTopiaMetadataModelSupportTest
-PERSISTENCE_PS_DATA_PATH=32
-PERSISTENCE_LL_DATA_PATH=28
\ No newline at end of file
+ENTITIES_LIMIT_SIZE=100
\ No newline at end of file
=====================================
toolbox-maven-plugin/pom.xml
=====================================
@@ -86,10 +86,6 @@
<groupId>io.ultreia.java4all</groupId>
<artifactId>application-context</artifactId>
</dependency>
- <dependency>
- <groupId>io.ultreia.java4all.topia</groupId>
- <artifactId>persistence</artifactId>
- </dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/afaf0e4f6cb60cc6d0a3de85…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/afaf0e4f6cb60cc6d0a3de85…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Lors de l'ouverture de l'application, si la base locale est déjà occupée par...
by Tony CHEMIT 12 Sep '20
by Tony CHEMIT 12 Sep '20
12 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
64781e1d by Tony Chemit at 2020-09-12T13:26:33+02:00
Lors de l'ouverture de l'application, si la base locale est déjà occupée par une autre application, message erroné - Closes #1598
- - - - -
afaf0e4f by Tony Chemit at 2020-09-12T13:26:33+02:00
Insertion des lots de débarquements - See #1259
Ajout des référentiels
- - - - -
30 changed files:
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_en_GB.ftl
- client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_es_ES.ftl
- client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_fr_FR.ftl
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHelper.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/loading/open/OpenLocalDataSourceFeedBackModel.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageUIModel.java
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/landing/LandingUIHandler.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/ps/landing/WeightCategoryUI.jaxx
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/ps/landing/WeightCategoryUI.jcss
- dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
- dto/src/main/models/Observe-05-referential-ps-landing.model
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
- persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_1.java
- persistence/src/main/models/Observe-05-referential-ps-landing.model
- persistence/src/main/resources/db/migration/8.1/11_ps_landing_create_data_model-common.sql → persistence/src/main/resources/db/migration/8.1/10_ps_landing_create_data_model-common.sql
- persistence/src/main/resources/db/migration/8.1/10_ps_landing_create_referential_model-common.sql
- + persistence/src/main/resources/db/migration/8.1/10_ps_landing_fill_referential-common.sql
- test/src/main/resources/db/8.1/dataForTestLongline.sql.gz
- test/src/main/resources/db/8.1/dataForTestSeine.sql.gz
- test/src/main/resources/db/8.1/empty_h2.sql.gz
- test/src/main/resources/db/8.1/empty_pg.sql.gz
- test/src/main/resources/db/8.1/referentiel.sql.gz
- test/src/main/resources/fixtures/count-referential-seine.properties
- test/src/main/resources/fixtures/global.properties
- test/src/main/resources/fixtures/validate-service-referential.properties
- validation/src/main/i18n/getters/validation-fields.getter
Changes:
=====================================
client-datasource-editor-api/src/main/i18n/getters/java.getter
=====================================
@@ -84,6 +84,7 @@ observe.runner.initStorage.choice.useRemoteStorage
observe.runner.initStorage.done
observe.runner.initStorage.label.local
observe.runner.initStorage.local.db.error
+observe.runner.initStorage.local.db.error.notAuthorized
observe.runner.initStorage.title.create.local.db
observe.runner.initStorage.title.load.remote.db
observe.runner.initStorage.title.no.local.db.found
=====================================
client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_en_GB.ftl
=====================================
@@ -21,6 +21,12 @@
<body>
<h3>${errorTitle}</h3>
<p><b>${error.message!""}</b></p>
+<#if databaseLocked>
+<p style="color: red;font-style: italic;font-weight: bold">
+ Local database seems to be locked by another application, please check this before continue...
+</p>
+</#if>
+
<hr/>
<p>At this point, we can produce a feed back archive with the local data source and any stuff to be able to fix the
problem.</p>
=====================================
client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_es_ES.ftl
=====================================
@@ -22,6 +22,11 @@
#TODO
<h3>${errorTitle}</h3>
<p><b>${error.message!""}</b></p>
+<#if databaseLocked>
+<p style="color: red;font-style: italic;font-weight: bold">
+ Local database seems to be locked by another application, please check this before continue...
+</p>
+</#if>
<hr/>
<p>At this point, we can produce a feed back archive with the local data source and any stuff to be able to fix the
=====================================
client-datasource-editor-api/src/main/i18n/templates/feedBackOnOpeningLocalDataSource_fr_FR.ftl
=====================================
@@ -22,6 +22,12 @@
<h3>${errorTitle}</h3>
<p><b>${error.message!""}</b></p>
+<#if databaseLocked>
+ <p style="color: red;font-style: italic;font-weight: bold">
+ La base locale semble utilisée par une autre application, vérifier cela avant de continuer...
+ </p>
+
+</#if>
<hr/>
<br/>
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHelper.java
=====================================
@@ -37,6 +37,7 @@ import fr.ird.observe.services.configuration.DataSourceCreateConfigurationDto;
import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration;
import fr.ird.observe.services.configuration.ObserveDataSourceInformation;
import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2;
+import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException;
import io.ultreia.java4all.i18n.I18n;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -93,6 +94,16 @@ public class DataSourceEditorHelper {
mainUI.getMainUIBodyContentManager().getBodyTyped(DataSourceEditor.class, DataSourceEditorBodyContent.class).loadStorage(mainUI, dataSource);
askToCreate = false;
+ } catch (DatabaseConnexionNotAuthorizedException e) {
+ // May be data source is locked
+ log.error("Could not load local database", e);
+ JOptionPane.showMessageDialog(
+ mainUI,
+ t("observe.runner.initStorage.local.db.error.notAuthorized"),
+ t("observe.runner.title.error.dialog"),
+ JOptionPane.WARNING_MESSAGE
+ );
+ return;
} catch (Exception e) {
if (lastAutomaticBackup != null) {
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/loading/open/OpenLocalDataSourceFeedBackModel.java
=====================================
@@ -26,6 +26,7 @@ import fr.ird.observe.client.action.api.ActionStep;
import fr.ird.observe.client.action.api.FeedBackBuilder;
import fr.ird.observe.client.configuration.ClientConfig;
import fr.ird.observe.client.datasource.editor.loading.LoadingDataSourceContext;
+import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException;
import io.ultreia.java4all.application.template.spi.GenerateTemplate;
import java.util.List;
@@ -37,7 +38,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
public class OpenLocalDataSourceFeedBackModel extends FeedBackBuilder.FeedBackBuilderModel {
public OpenLocalDataSourceFeedBackModel(ClientConfig config, List<ActionStep<LoadingDataSourceContext>> stepsFailed) {
- super(config, stepsFailed,t("observe.error.storage.could.not.open.data.source.title"));
+ super(config, stepsFailed, t("observe.error.storage.could.not.open.data.source.title"));
}
@Override
@@ -45,5 +46,8 @@ public class OpenLocalDataSourceFeedBackModel extends FeedBackBuilder.FeedBackBu
return OpenLocalDataSourceFeedBackModelTemplate.generate(this);
}
+ public boolean isDatabaseLocked() {
+ return getError() instanceof DatabaseConnexionNotAuthorizedException;
+ }
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageUIModel.java
=====================================
@@ -184,6 +184,10 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie
* Connexion status error (if any!).
*/
protected String connexionStatusError;
+ /**
+ * Connexion status error (if any!).
+ */
+ protected Throwable connexionError;
/**
* Can use local data source?
*/
@@ -1876,6 +1880,7 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie
if (e instanceof UndeclaredThrowableException) {
e = ((UndeclaredThrowableException) e).getUndeclaredThrowable();
}
+ connexionError = e;
connexionStatusError = e.getMessage();
log.error("Error in test remote", e);
setConnexionStatus(ConnexionStatus.FAILED);
@@ -1921,6 +1926,10 @@ public class StorageUIModel extends WizardModel<StorageStep> implements WithClie
return connexionStatusError;
}
+ public Throwable getConnexionError() {
+ return connexionError;
+ }
+
public boolean isShowMigrationSql() {
return pgConfig.isShowMigrationSql();
}
=====================================
client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
=====================================
@@ -401,6 +401,8 @@ observe.referential.Referential.validityDateRange
observe.referential.ps.common.SpeciesFate.discard
observe.referential.ps.common.TransmittingBuoyType.technology
observe.referential.ps.common.VesselActivity.allowFad
+observe.referential.ps.landing.WeightCategory.sovLabel
+observe.referential.ps.landing.WeightCategory.starLabel
observe.referential.ps.localmarket.Packaging.harbour
observe.referential.ps.localmarket.Packaging.weight
observe.referential.ps.logbook.ObjectMaterial.biodegradable
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/landing/LandingUIHandler.java
=====================================
@@ -37,6 +37,7 @@ import java.awt.Component;
import java.beans.PropertyChangeListener;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -109,7 +110,7 @@ class LandingUIHandler extends ContentTableUIHandler<TripLandingDto, LandingDto,
newCategories = Collections.emptyList();
} else {
List<WeightCategoryReference> referentialReferences = getModel().getReferenceCache().getReferentialReferences(LandingDto.PROPERTY_WEIGHT_CATEGORY);
- newCategories = referentialReferences.stream().filter(r -> r.getSpecies().equals(species)).collect(Collectors.toList());
+ newCategories = referentialReferences.stream().filter(r -> Objects.equals(species, r.getSpecies())).collect(Collectors.toList());
WeightCategoryReference weightCategory = getModel().getTableEditBean().getWeightCategory();
if (weightCategory != null && newCategories.contains(weightCategory)) {
newCategory = weightCategory;
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/ps/landing/WeightCategoryUI.jaxx
=====================================
@@ -81,6 +81,25 @@
</cell>
</row>
+ <!-- sovLabel -->
+ <row>
+ <cell anchor="west">
+ <JLabel id='sovLabelLabel'/>
+ </cell>
+ <cell anchor='east' weightx="1" fill="both">
+ <NormalTextEditor id='sovLabel'/>
+ </cell>
+ </row>
+ <!-- starLabel -->
+ <row>
+ <cell anchor="west">
+ <JLabel id='starLabelLabel'/>
+ </cell>
+ <cell anchor='east' weightx="1" fill="both">
+ <NormalTextEditor id='starLabel'/>
+ </cell>
+ </row>
+
<!-- needComment -->
<row>
<cell anchor='east' weightx="1" fill="both" columns="2">
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/ps/landing/WeightCategoryUI.jcss
=====================================
@@ -24,8 +24,3 @@
font-style:"italic";
}
-#species {
- property:{WeightCategoryDto.PROPERTY_SPECIES};
- selectedItem:{bean.getSpecies()};
-}
-
=====================================
dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java
=====================================
@@ -29,6 +29,9 @@ import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.referential.I18nReferentialDto;
import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.WithFormula;
+import fr.ird.observe.dto.referential.common.SpeciesDto;
+import fr.ird.observe.dto.referential.common.VesselSizeCategoryDto;
+import fr.ird.observe.dto.referential.ps.landing.WeightCategoryDto;
import fr.ird.observe.spi.type.TypeTranslators;
import io.ultreia.java4all.i18n.spi.bean.BeanPropertyI18nKeyProducerSupport;
import org.apache.commons.lang3.StringUtils;
@@ -216,9 +219,11 @@ public class ObserveI18nLabelsBuilder extends BeanPropertyI18nKeyProducerSupport
private static final ImmutableSet<String> SKIP_LABEL = ImmutableSet.of(
"speciesLabel",
- "scientificLabel",
- "capacityLabel",
- "gaugeLabel",
+ SpeciesDto.PROPERTY_SCIENTIFIC_LABEL,
+ VesselSizeCategoryDto.PROPERTY_CAPACITY_LABEL,
+ VesselSizeCategoryDto.PROPERTY_GAUGE_LABEL,
+ WeightCategoryDto.PROPERTY_SOV_LABEL,
+ WeightCategoryDto.PROPERTY_STAR_LABEL,
WithStartEndDate.PROPERTY_VALIDITY_RANGE_LABEL,
WithStartEndDate.PROPERTY_START_END_DATE_LABEL
);
=====================================
dto/src/main/models/Observe-05-referential-ps-landing.model
=====================================
@@ -4,3 +4,5 @@ referential.ps.landing.Fate > referential.I18nReferential
referential.ps.landing.WeightCategory > referential.I18nReferential >> reference.ReferentialDtoReferenceWithNoCodeAware | references=code,label,uri,species
species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference
+sovLabel + {*:1} String | notNull
+starLabel + {*:1} String | notNull
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -2195,6 +2195,8 @@ observe.referential.ps.common.TransmittingBuoyTypeDto.validation.technology.too.
observe.referential.ps.common.VesselActivity.allowFad=Allow Fad ?
observe.referential.ps.common.VesselActivity.type=Vessel activity (Seine)
observe.referential.ps.landing.Fate.type=Fate
+observe.referential.ps.landing.WeightCategory.sovLabel=Sov label
+observe.referential.ps.landing.WeightCategory.starLabel=Star label
observe.referential.ps.landing.WeightCategory.type=Weight category
observe.referential.ps.localmarket.Packaging.harbour=Harbour
observe.referential.ps.localmarket.Packaging.packagingType=Packaging type
@@ -2265,6 +2267,7 @@ observe.runner.initStorage.choice.useRemoteStorage=Use a remote storage
observe.runner.initStorage.done=Init of Persistent Service done.
observe.runner.initStorage.label.local=Local database
observe.runner.initStorage.local.db.error=Could not find local database, will load last backup (%s)
+observe.runner.initStorage.local.db.error.notAuthorized=Could not find local database, maybe it is locked. Please check.
observe.runner.initStorage.title.create.local.db=Loading local database
observe.runner.initStorage.title.load.remote.db=Load remote database
observe.runner.initStorage.title.no.local.db.found=No local database found.
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -2195,6 +2195,8 @@ observe.referential.ps.common.TransmittingBuoyTypeDto.validation.technology.too.
observe.referential.ps.common.VesselActivity.allowFad=Utilisation Object flottant ? \#TODO
observe.referential.ps.common.VesselActivity.type=Actividad buque \#TODO-SP
observe.referential.ps.landing.Fate.type=Fate \#TODO
+observe.referential.ps.landing.WeightCategory.sovLabel=Sov label \#TODO
+observe.referential.ps.landing.WeightCategory.starLabel=Star label \#TODO
observe.referential.ps.landing.WeightCategory.type=Weight category \#
observe.referential.ps.localmarket.Packaging.harbour=Harbour
observe.referential.ps.localmarket.Packaging.packagingType=Packaging type
@@ -2265,6 +2267,7 @@ observe.runner.initStorage.choice.useRemoteStorage=Usar la base de datos remota
observe.runner.initStorage.done=Inicialización del servicio de persistencia terminado.
observe.runner.initStorage.label.local=Base local
observe.runner.initStorage.local.db.error=Imposible cargar la base local, se cargará el último backup
+observe.runner.initStorage.local.db.error.notAuthorized=Could not find local database, maybe it is locked. Please check. \#TODO
observe.runner.initStorage.title.create.local.db=Cargando una base local
observe.runner.initStorage.title.load.remote.db=Cargando una base remota
observe.runner.initStorage.title.no.local.db.found=Ninguna base local fue encontrada
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -2195,6 +2195,8 @@ observe.referential.ps.common.TransmittingBuoyTypeDto.validation.technology.too.
observe.referential.ps.common.VesselActivity.allowFad=Utilisation Object flottant ?
observe.referential.ps.common.VesselActivity.type=Activité bateau (Senne)
observe.referential.ps.landing.Fate.type=Devenir
+observe.referential.ps.landing.WeightCategory.sovLabel=Sov libellé
+observe.referential.ps.landing.WeightCategory.starLabel=Star libellé
observe.referential.ps.landing.WeightCategory.type=Catégorie de poids
observe.referential.ps.localmarket.Packaging.harbour=Port
observe.referential.ps.localmarket.Packaging.packagingType=Type de conditionnement
@@ -2265,6 +2267,7 @@ observe.runner.initStorage.choice.useRemoteStorage=Utiliser une base distante
observe.runner.initStorage.done=Initialisation du service de persistance terminé.
observe.runner.initStorage.label.local=Base locale
observe.runner.initStorage.local.db.error=Impossible de charger la base locale, la dernière sauvegarde (du %s) va être utilisée
+observe.runner.initStorage.local.db.error.notAuthorized=Impossible de charger la base locale, elle semble etre déjà utilisée par une autre application.
observe.runner.initStorage.title.create.local.db=Chargement d'une base locale
observe.runner.initStorage.title.load.remote.db=Chargement d'une base distante
observe.runner.initStorage.title.no.local.db.found=Aucune base locale trouvée
=====================================
persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_1.java
=====================================
@@ -69,8 +69,13 @@ public class DataSourceMigrationForVersion_8_1 extends MigrationVersionResource
executor.addScript("07", "ps_common_adapt_trip");
executor.addScript("08", "ps_logbook_create_data_model");
executor.executeForPG(this::fixPostgisTriggers);
+
executor.addScript("10", "ps_landing_create_referential_model");
- executor.addScript("11", "ps_landing_create_data_model");
+ executor.addScript("10", "ps_landing_create_data_model");
+ if (withIds) {
+ executor.addScript("10", "ps_landing_fill_referential");
+ }
+
executor.addScript("12", "ps_wellplan_create_referential_model");
executor.addScript("13", "ps_wellplan_create_data_model");
executor.addScript("14", "ps_logbook_create_sample_referential_model");
=====================================
persistence/src/main/models/Observe-05-referential-ps-landing.model
=====================================
@@ -4,3 +4,5 @@ referential.ps.landing.Fate > referential.I18nReferentialEntity | entity
referential.ps.landing.WeightCategory > referential.I18nReferentialEntity | entity
species {*:1} referential.common.Species | lazy=false
+sovLabel + {*:1} String
+starLabel + {*:1} String
=====================================
persistence/src/main/resources/db/migration/8.1/11_ps_landing_create_data_model-common.sql → persistence/src/main/resources/db/migration/8.1/10_ps_landing_create_data_model-common.sql
=====================================
=====================================
persistence/src/main/resources/db/migration/8.1/10_ps_landing_create_referential_model-common.sql
=====================================
@@ -22,7 +22,7 @@
CREATE SCHEMA ps_landing;
CREATE TABLE ps_landing.Fate(topiaId VARCHAR(255) NOT NULL CONSTRAINT pk_ps_landing_Fate PRIMARY KEY, topiaVersion BIGINT NOT NULL, topiaCreateDate DATE, code VARCHAR(255) NOT NULL, uri VARCHAR(255), homeId VARCHAR(255), status INTEGER DEFAULT 1, needComment BOOLEAN DEFAULT FALSE,lastUpdateDate TIMESTAMP DEFAULT now() NOT NULL, label1 VARCHAR(255), label2 VARCHAR(255), label3 VARCHAR(255), label4 VARCHAR(255), label5 VARCHAR(255), label6 VARCHAR(255), label7 VARCHAR(255), label8 VARCHAR(255));
-CREATE TABLE ps_landing.weightCategory(topiaId VARCHAR(255) NOT NULL CONSTRAINT pk_ps_landing_weightCategory PRIMARY KEY, topiaVersion BIGINT NOT NULL, topiaCreateDate TIMESTAMP, code VARCHAR(255), uri VARCHAR(255), homeId VARCHAR(255), status INTEGER DEFAULT 1, needComment BOOLEAN DEFAULT FALSE, lastUpdateDate TIMESTAMP DEFAULT now() NOT NULL, label1 VARCHAR(255), label2 VARCHAR(255), label3 VARCHAR(255), label4 VARCHAR(255), label5 VARCHAR(255), label6 VARCHAR(255), label7 VARCHAR(255), label8 VARCHAR(255), species VARCHAR(255));
+CREATE TABLE ps_landing.weightCategory(topiaId VARCHAR(255) NOT NULL CONSTRAINT pk_ps_landing_weightCategory PRIMARY KEY, topiaVersion BIGINT NOT NULL, topiaCreateDate TIMESTAMP, code VARCHAR(255), uri VARCHAR(255), homeId VARCHAR(255), status INTEGER DEFAULT 1, needComment BOOLEAN DEFAULT FALSE, lastUpdateDate TIMESTAMP DEFAULT now() NOT NULL, label1 VARCHAR(255), label2 VARCHAR(255), label3 VARCHAR(255), label4 VARCHAR(255), label5 VARCHAR(255), label6 VARCHAR(255), label7 VARCHAR(255), label8 VARCHAR(255), sovLabel VARCHAR(255) NOT NULL, starLabel VARCHAR(255) NOT NULL, species VARCHAR(255));
ALTER TABLE ps_landing.weightCategory ADD CONSTRAINT fk_ps_landing_weightCategory_species FOREIGN KEY(species) REFERENCES common.species;
=====================================
persistence/src/main/resources/db/migration/8.1/10_ps_landing_fill_referential-common.sql
=====================================
@@ -0,0 +1,102 @@
+---
+-- #%L
+-- ObServe :: Persistence
+-- %%
+-- 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%
+---
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.9849989043584604', 0, 1, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.279'::timestamp, 'Albacore -10', 'Yellowfin R1 + R2+ R3');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.37431829932158744', 0, 2, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Albacore +10', 'GG');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.5314676874701734', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Albacore ?', 'Yellowfin ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.12396399303506567', 0, 10, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Albacore frais (canneurs)', 'Albacore frais (canneurs)');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.9880486795552492', 0, 50, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'GG + 13.6 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.846209974442883', 0, 51, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R1 entre 13.6 et 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528897#0.7042864703615278', 0, 52, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R2 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.49007162713264407', 0, 53, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R3 moins de 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.6025938943078754', 0, 70, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp , 'Inconnu', 'GG + 13.6 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.7173389548457879', 0, 71, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R1 entre 13.6 et 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.5739515277681424', 0, 72, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R2 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.9007932955815551', 0, 73, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.288'::timestamp, 'Inconnu', 'R3 moins de 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.9187448106864885', 0, 1, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.289'::timestamp, 'Listao - 1.8', 'Skipjack R2 + R3');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.25771673830083053', 0, 2, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.289'::timestamp, 'Listao + 1.8', 'Skipjack R1 + Jumbo');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.9366187356366772', 0, 3, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.289'::timestamp, 'Listao -1.5', 'Skipjack ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.45933952568779757', 0, 4, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.289'::timestamp, 'Listao 1.5 à 1.8', 'Skipjack ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.984474862871156', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, 'Listao ?', 'Skipjack ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528898#0.682911685142915', 0, 50, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, '+3.4 Kg', 'JUMBO + 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.7220987469827985', 0, 51, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, '+1.8 Kg à +3.4 Kg', 'R1 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.04293797444920311', 0, 52, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, '-1.8 Kg', 'R2 entre 1.8 et 1.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.9216790161293088', 0, 53, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, '-1.5 Kg', 'R3 moins de 1.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.6371301485277248', 0, 70, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, 'Inconnu', 'JUMBO + 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.09257426517648015', 0, 71, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, 'Inconnu', 'R1 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.5717845604984648', 0, 72, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, 'Inconnu', 'R2 entre 1.8 et 1.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.3686414703255526', 0, 73, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.29'::timestamp, 'Inconnu', 'R3 moins de 1.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.55718847508238', 0, 1, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.29'::timestamp, 'Patudo - 10', 'Bigeye?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.1154225150942314', 0, 2, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.29'::timestamp, 'Patudo + 10', 'Bigeye?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528899#0.2685200181978007', 0, 3, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.29'::timestamp, 'Patudo - 15', 'Bigeye?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.6722831615934043', 0, 4, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Patudo + 15', 'Bigeye?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.19938872094926574', 0, 5, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Patudo + 35', 'Bigeye?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.5746266936785298', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Patudo ?', 'Bigeye ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.25713892292707874', 0, 10, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Patudo frais (canneurs)', 'Patudo frais (canneurs)');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.6685982018841194', 0, 50, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'GG + 13.6 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.6904127607618373', 0, 51, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R1 entre 13.6 et 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.2909239953543622', 0, 52, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R2 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.9449657799790759', 0, 53, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R3 moins de 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.33597810152594676', 0, 70, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'GG + 13.6 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528900#0.8237006835612211', 0, 71, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R1 entre 13.6 et 3.4 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.657751933189818', 0, 72, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R2 entre 3.4 et 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.5073081843096476', 0, 73, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.291'::timestamp, 'Inconnu', 'R3 moins de 1.8 kg');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.0836610498990451', 0, 2, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711', '2011-02-13 08:02:06.291'::timestamp, 'Germon ', 'Albacora');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.9643811025507996', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685476#0.5618871286604711', '2011-02-13 08:02:06.291'::timestamp, 'Germon ?', 'Abacora ?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.9682190838497855', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685477#0.8024257002747615', '2011-02-13 08:02:06.291'::timestamp, 'Thonine ', 'undefined');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.45162453191323304', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685477#0.3846921632590058', '2011-02-13 08:02:06.291'::timestamp, 'Auxide ', 'undefined');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.9463330829438842', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832684157#0.9835191073325458', '2011-02-13 08:02:06.291'::timestamp, 'Requins ', 'undefined');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.8486727929567192', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.291'::timestamp, 'Rejets', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.5077396278663612', 0, 1, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.291'::timestamp, 'Thonidés - 10 Kg', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.676520211264963', 0, 2, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.291'::timestamp, 'Thonidés +10 Kg', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528901#0.4959464977070138', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.291'::timestamp, 'Thonidés', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.76777812435383', 0, 10, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'Albacore et Patudo frais (canneurs)', 'Albacore et Patudo frais (canneurs)');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.3176362508792657', 0, 50, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'SJ YF BE 3.4-10', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.6606118784093948', 0, 51, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'SJ YF BE 1.8-3.4', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.8531106782664439', 0, 52, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'SJ YF BE 1.5-1.8', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.1116407842625079', 0, 53, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'SJ YF BE 1-1.5', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.9969288992557673', 0, 54, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1433499266610#0.696541526820511', '2011-02-13 08:02:06.292'::timestamp, 'SJ YF BE under 1', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.41727746602759885', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685477#0.2673009297087321', '2011-02-13 08:02:06.292'::timestamp, 'Thonine orientale', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.7829486684431057', 0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685478#0.7676744877900202', '2011-02-13 08:02:06.292'::timestamp, 'Thon mignon', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.014541584988570166',0, 9, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685477#0.2908846499255108', '2011-02-13 08:02:06.292'::timestamp, 'Thon à nageoires noires', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.902691806614427', 0, 54, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.8943253454598569', '2011-02-13 08:02:06.292'::timestamp, 'YFT -3.4 Kg', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528902#0.6335347201678889', 0, 54, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685474#0.975344121171992', '2011-02-13 08:02:06.292'::timestamp, 'SKJ -3.4 Kg', '?');
+INSERT INTO ps_landing.WeightCategory (topiaid, topiaversion, code, status, lastUpdateDate, species, topiacreatedate, sovLabel, starLabel) VALUES ('fr.ird.referential.ps.landing.WeightCategory#1297580528903#0.49410286646783097', 0, 54, 1, ${CURRENT_TIMESTAMP}, 'fr.ird.referential.common.Species#1239832685475#0.13349466123905152', '2011-02-13 08:02:06.292'::timestamp, 'BET -3.4 Kg', '?');
+UPDATE ps_landing.WeightCategory SET label2 = sovLabel, label1 = sovLabel || ' #TODO', label3 = sovLabel || ' #TODO';
+
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.1', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 1, 'Castelli');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.2', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 2, 'SCODI');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.3', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 3, 'PFCI');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.4', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 4, 'Cargo');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.5', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 5, 'Conteneur');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.6', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 6, 'SOGEF');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.7', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 7, 'IOT');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.8', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 8, 'PFOI');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.9', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 9, 'SENEMER');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.10', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 10, 'PIONNER FOOD CANNERY LTD');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.11', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 11, 'SOCOFROID');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.12', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 12, 'PFC TEMA');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.13', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 13, 'AIRONE CI');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.14', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 14, 'SCASA');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.15', 0, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 15, 'SOCEF');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1464000000000#0.0001616', 0, 1, '2018-03-09 21:57:34'::timestamp, ${CURRENT_TIMESTAMP}, 16, 'PRINCES TUNA LIMITED');
+INSERT INTO ps_landing.Fate (topiaid, topiaversion, status, topiacreatedate, lastUpdateDate, code, label1) VALUES ('fr.ird.referential.ps.landing.Fate#1454009635524#0.16', 1, 1, '2016-01-28 00:00:00'::timestamp, ${CURRENT_TIMESTAMP}, 999, 'Autre');
+UPDATE ps_landing.Fate SET label2 = label1, label3 = label1;
=====================================
test/src/main/resources/db/8.1/dataForTestLongline.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/dataForTestLongline.sql.gz and b/test/src/main/resources/db/8.1/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/8.1/dataForTestSeine.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/dataForTestSeine.sql.gz and b/test/src/main/resources/db/8.1/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/8.1/empty_h2.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/empty_h2.sql.gz and b/test/src/main/resources/db/8.1/empty_h2.sql.gz differ
=====================================
test/src/main/resources/db/8.1/empty_pg.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/empty_pg.sql.gz and b/test/src/main/resources/db/8.1/empty_pg.sql.gz differ
=====================================
test/src/main/resources/db/8.1/referentiel.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/referentiel.sql.gz and b/test/src/main/resources/db/8.1/referentiel.sql.gz differ
=====================================
test/src/main/resources/fixtures/count-referential-seine.properties
=====================================
@@ -46,7 +46,7 @@ ps_logbook.objectmaterial=80
ps_logbook.observedsystem=24
ps_logbook.samplequality=5
ps_logbook.sampletype=6
-ps_landing.fate=0
-ps_landing.weightcategory=0
+ps_landing.fate=17
+ps_landing.weightcategory=61
ps_localmarket.packaging=49
ps_localmarket.packagingtype=4
=====================================
test/src/main/resources/fixtures/global.properties
=====================================
@@ -38,7 +38,7 @@ DATA_FORM_COUNT=55
ENTITY_BINDER_REFERENTIAL_COUNT=87
# for fr.ird.observe.services.local.service.referential.differential.DifferentialModelTest
-REFERENTIAL_COUNT=3194
+REFERENTIAL_COUNT=3272
# for fr.ird.observe.validation.BeanValidatorDetectorTest
VALIDATORS_COUNT=92
=====================================
test/src/main/resources/fixtures/validate-service-referential.properties
=====================================
@@ -94,6 +94,9 @@ ps.logbook.SampleTypeDto=3
ps.logbook.WeightCategoryDto=3
#FIXME Should be 0 when I18n will be ok
ps.logbook.WellsStateDto=1
+ps.landing.FateDto=3
+#FIXME Should be 0 when I18n will be ok
+ps.landing.WeightCategoryDto=3
ps.observation.DetectionModeDto=3
#FIXME Should be 0 when I18n will be ok
ps.observation.InformationSourceDto=1
=====================================
validation/src/main/i18n/getters/validation-fields.getter
=====================================
@@ -459,6 +459,8 @@ observe.referential.common.Wind.speedRange
observe.referential.common.Wind.waveHeight
observe.referential.ll.observation.SensorBrand.brandName
observe.referential.ps.common.TransmittingBuoyType.technology
+observe.referential.ps.landing.WeightCategory.sovLabel
+observe.referential.ps.landing.WeightCategory.starLabel
observe.referential.ps.localmarket.Packaging.harbour
observe.referential.ps.localmarket.Packaging.packagingType
observe.referential.ps.logbook.ObjectMaterial.legacyCode
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/37d8e4d41891e14e748fbaf4…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/37d8e4d41891e14e748fbaf4…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Insertion du suivi du marché local - See #1262
by Tony CHEMIT 09 Sep '20
by Tony CHEMIT 09 Sep '20
09 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
37d8e4d4 by Tony Chemit at 2020-09-09T19:35:45+02:00
Insertion du suivi du marché local - See #1262
- - - - -
30 changed files:
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/i18n/getters/config.getter
- client-core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client-core/src/main/java/fr/ird/observe/client/util/DtoIconHelper.java
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/ContentOpenableUILayoutFocusTraversalPolicy.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/actions/Create.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenu.jaxx
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenuHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineCommonReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLandingReferentialAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketReferentialAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSampleAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSurveyAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLogbookReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineObsReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/NavigationTreeNodeSupport.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/validation/ClientValidationContext.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripActionHelper.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/ActivityUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/LandingUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/actions/ActivityUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/ActivityListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/TripLandingListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/TripSampleListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/observation/ActivityListNavigationTreeNode.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ObservePsKeyStrokes.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUI.jaxx
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/37d8e4d41891e14e748fbaf47…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/37d8e4d41891e14e748fbaf47…
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:
4ddcd796 by Tony Chemit at 2020-09-09T17:55:50+02:00
stash 3
- - - - -
23 changed files:
- client-core/src/main/java/fr/ird/observe/client/util/DtoIconHelper.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/actions/Create.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripActionHelper.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ObservePsKeyStrokes.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUIModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIActionSupport.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddBatch.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddSample.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddSurvey.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/LocalmarketNavigationTreeNode.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/SampleNavigationTreeNode.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/SurveyNavigationTreeNode.java
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
- test/src/main/resources/db/8.1/dataForTestLongline.sql.gz
- test/src/main/resources/db/8.1/dataForTestSeine.sql.gz
- test/src/main/resources/db/8.1/referentiel.sql.gz
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/util/DtoIconHelper.java
=====================================
@@ -72,7 +72,10 @@ public class DtoIconHelper {
}
public static String getIconPath(String iconPathPrefix, boolean small) {
- String iconPath = "navigation." + iconPathPrefix;
+ String iconPath = iconPathPrefix;
+ if (!iconPath.startsWith("navigation.")) {
+ iconPath = "navigation."+iconPath;
+ }
if (small) {
iconPath += "-small";
}
=====================================
client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/actions/Create.java
=====================================
@@ -26,6 +26,7 @@ import fr.ird.observe.client.datasource.editor.DataSourceEditor;
import fr.ird.observe.client.datasource.editor.content.actions.ContentUIActionSupport;
import fr.ird.observe.client.datasource.editor.content.data.edit.ContentEditUIModel;
import fr.ird.observe.client.datasource.editor.content.data.open.ContentOpenableUI;
+import fr.ird.observe.client.datasource.editor.content.data.simple.ContentSimpleUIModel;
import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
import fr.ird.observe.navigation.model.edit.CloseEditNodeVetoException;
@@ -49,7 +50,7 @@ public class Create extends ContentUIActionSupport<ContentOpenableUI> {
super(null, null, "add", ObserveKeyStrokesSupport.KEY_STROKE_NEW_NEXT_DATA);
}
- public static void closeAndCreate(DataSourceEditor dataSourceEditor, MultipleReferenceContainerNode<?, ?> parentNode, NavigationTree tree, ContentEditUIModel<?, ?> model) {
+ public static void closeAndCreate(DataSourceEditor dataSourceEditor, MultipleReferenceContainerNode<?, ?> parentNode, NavigationTree tree, ContentSimpleUIModel model) {
try {
Close.closeData(dataSourceEditor, model.getEditNode());
tree.addUnsavedNode(parentNode);
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/TripActionHelper.java
=====================================
@@ -22,11 +22,14 @@ package fr.ird.observe.client.datasource.editor.content.data;
* #L%
*/
+import fr.ird.observe.client.datasource.editor.content.ContentUI;
import fr.ird.observe.client.datasource.editor.content.data.list.ContentListUI;
import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
import fr.ird.observe.client.main.ObserveMainUI;
import fr.ird.observe.client.util.UIHelper;
import fr.ird.observe.dto.data.TripAware;
+import fr.ird.observe.dto.data.ps.common.TripReference;
+import fr.ird.observe.navigation.tree.ReferenceNode;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -43,6 +46,15 @@ import static io.ultreia.java4all.i18n.I18n.t;
public class TripActionHelper {
private static final Logger log = LogManager.getLogger(TripActionHelper.class);
+ public static boolean gotoTripLogbookTab(ObserveMainUI mainui, ContentUI ui, String tripId, Function<String, TripAware> servicesProvider, String message) {
+ TripAware tripDto = servicesProvider.apply(tripId);
+ boolean canExecuteAction = tripDto.isLogbookAvailability();
+ if (!canExecuteAction) {
+ askAndGotoTripMetaDataTab(mainui, ui, message, TripAware.PROPERTY_LOGBOOK_AVAILABILITY, 3);
+ }
+ return canExecuteAction;
+ }
+
public static boolean gotoTripLogbookTab(ObserveMainUI mainui, ContentListUI<?, ?, ?, ?> ui, Function<String, TripAware> servicesProvider, String message) {
String tripId = ui.getModel().getSelectedParentId();
TripAware tripDto = servicesProvider.apply(tripId);
@@ -63,7 +75,7 @@ public class TripActionHelper {
return canExecuteAction;
}
- private static void askAndGotoTripMetaDataTab(ObserveMainUI mainui, ContentListUI<?, ?, ?, ?> ui, String message, String availabilityPropertyName, int tabIndex) {
+ private static void askAndGotoTripMetaDataTab(ObserveMainUI mainui, ContentUI ui, String message, String availabilityPropertyName, int tabIndex) {
// Let's ask user to fill them
int response = UIHelper.askUser(
mainui,
@@ -81,7 +93,7 @@ public class TripActionHelper {
// go to trip form
NavigationTree tree = ui.getDataSourceEditor().getNavigationUI().getTree();
- TreeNode tripNode = ui.getModel().upToParentReferenceNode(tree);
+ TreeNode tripNode = ReferenceNode.upToReferenceNode(TripReference.class, tree.getSelectedNode());
tree.selectSafeNode(tripNode);
TripUI tripUI = (TripUI) ui.getDataSourceEditor().getContentUIManager().getSelectedContentUI();
// set availability flag to true
=====================================
client-datasource-editor-ps/src/main/i18n/getters/java.getter
=====================================
@@ -40,6 +40,8 @@ observe.data.ps.landing.Landing.table.weight
observe.data.ps.landing.Landing.table.weight.tip
observe.data.ps.landing.Landing.table.weightCategory
observe.data.ps.landing.Landing.table.weightCategory.tip
+observe.data.ps.localmarket.Batch.action.create
+observe.data.ps.localmarket.Batch.action.create.tip
observe.data.ps.localmarket.Batch.table.count
observe.data.ps.localmarket.Batch.table.count.tip
observe.data.ps.localmarket.Batch.table.packaging
=====================================
client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
=====================================
@@ -121,6 +121,7 @@ observe.data.ps.localmarket.SurveyPart.action.create
observe.data.ps.localmarket.SurveyPart.action.create.tip
observe.data.ps.localmarket.SurveyPart.proportion
observe.data.ps.localmarket.SurveyPart.title
+observe.data.ps.localmarket.title
observe.data.ps.logbook.Activity.action.close.tip
observe.data.ps.logbook.Activity.action.create
observe.data.ps.logbook.Activity.action.create.tip
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ObservePsKeyStrokes.java
=====================================
@@ -40,4 +40,7 @@ public class ObservePsKeyStrokes extends ObserveKeyStrokesSupport {
public static final KeyStroke KEY_STROKE_COPY_FLOATING_OBJECT_PART_TO_LEFT = KeyStroke.getKeyStroke("ctrl L");
public static final KeyStroke KEY_STROKE_ADD_SET_SEINE = KeyStroke.getKeyStroke("ctrl pressed L");
public static final KeyStroke KEY_STROKE_ADD_SAMPLE = KeyStroke.getKeyStroke("ctrl pressed S");
+ public static final KeyStroke KEY_STROKE_LOCALMARKET_ADD_BATCH = KeyStroke.getKeyStroke("ctrl pressed F1");
+ public static final KeyStroke KEY_STROKE_LOCALMARKET_ADD_SURVEY = KeyStroke.getKeyStroke("ctrl pressed F2");
+ public static final KeyStroke KEY_STROKE_LOCALMARKET_ADD_SAMPLE = KeyStroke.getKeyStroke("ctrl pressed F3");
}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUI.jaxx
=====================================
@@ -0,0 +1,45 @@
+<!--
+ #%L
+ ObServe :: Client DataSource Editor PS
+ %%
+ 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%
+ -->
+<fr.ird.observe.client.datasource.editor.content.data.simple.ContentSimpleUI beanScope="bean"
+ i18n="fr.ird.observe.dto.data.ps.common.TripDto"
+ superGenericType='TripDto, LocalmarketUI'
+ contentTitle='{n("observe.data.ps.localmarket.title")}'>
+ <import>
+ fr.ird.observe.dto.data.ps.common.TripDto
+ static io.ultreia.java4all.i18n.I18n.n
+ </import>
+
+ <LocalmarketUIModel id='model' constructorParams='@override'/>
+ <TripDto id='bean'/>
+ <BeanValidator id='validator' context='update' errorTableModel='{getErrorTableModel()}'
+ beanClass='fr.ird.observe.dto.data.ps.common.TripDto'>
+ <field name="localMarketBatch" component="addBatch"/>
+ <field name="localMarketSurvey" component="addSurvey"/>
+ <field name="localMarketSample" component="addSample"/>
+ </BeanValidator>
+
+ <JPanel id="body" layout="{new GridLayout(0,1)}">
+ <JButton id='addBatch'/>
+ <JButton id='addSurvey'/>
+ <JButton id='addSample'/>
+ </JPanel>
+</fr.ird.observe.client.datasource.editor.content.data.simple.ContentSimpleUI>
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUIHandler.java
=====================================
@@ -0,0 +1,74 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.data.simple.ContentSimpleUIHandler;
+import fr.ird.observe.client.datasource.editor.content.ui.ObserveLayoutFocusTraversalPolicy;
+import fr.ird.observe.dto.data.ps.common.TripDto;
+import fr.ird.observe.dto.form.Form;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.nuiton.jaxx.runtime.spi.UIHandler;
+
+import java.awt.Component;
+import java.awt.Container;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+class LocalmarketUIHandler extends ContentSimpleUIHandler<TripDto, LocalmarketUI> implements UIHandler<LocalmarketUI> {
+ private static final Logger log = LogManager.getLogger(LocalmarketUIHandler.class);
+
+ @Override
+ protected ObserveLayoutFocusTraversalPolicy<LocalmarketUI> createFocusTraversalPolicy() {
+ return new ObserveLayoutFocusTraversalPolicy<LocalmarketUI>() {
+ @Override
+ protected Component getFirstComponentForEdit(Container aContainer) {
+ return ui.getAddBatch();
+ }
+
+ @Override
+ protected Component getLastComponentForEdit(Container aContainer) {
+ return ui.getAddBatch();
+ }
+ };
+ }
+
+ @Override
+ public LocalmarketUIModel getModel() {
+ return (LocalmarketUIModel) super.getModel();
+ }
+
+ @Override
+ protected void onOpenModel() {
+ super.onOpenModel();
+ LocalmarketUIModel model = getModel();
+ String tripId = model.getSelectedId();
+ log.info(prefix + "tripId = " + tripId);
+ Form<TripDto> form = getPsCommonTripService().loadForm(tripId);
+ model.openForm(form);
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/LocalmarketUIModel.java
=====================================
@@ -0,0 +1,53 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.ContentMode;
+import fr.ird.observe.client.datasource.editor.content.data.simple.ContentSimpleUIModel;
+import fr.ird.observe.dto.data.ps.common.TripDto;
+import fr.ird.observe.dto.form.Form;
+import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+@GenerateJavaBeanDefinition
+public class LocalmarketUIModel extends ContentSimpleUIModel<TripDto> {
+
+ public LocalmarketUIModel() {
+ super(TripDto.class);
+ }
+
+ @Override
+ protected ContentMode computeMode(boolean canWrite) {
+ return canWrite ? getContentModeFromSelf() : ContentMode.READ;
+ }
+
+ @Override
+ public void openForm(Form<TripDto> form) {
+ super.openForm(form);
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUI.jaxx
=====================================
@@ -67,7 +67,7 @@ public SwingValidatorMessageTableModel getErrorTableModel() {
]]>
</script>
- <Table id='editorPanel' fill='both' insets='1'>
+ <Table id='editorPanel' fill='both' insets='1' beanScope="tableEditBean">
<!-- species -->
<row>
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIActionSupport.java
=====================================
@@ -0,0 +1,60 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.actions;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.actions.ContentUIActionSupport;
+import fr.ird.observe.client.datasource.editor.content.data.TripActionHelper;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUI;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUIModel;
+import fr.ird.observe.client.util.DtoIconHelper;
+
+import javax.swing.KeyStroke;
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+public abstract class LocalmarketUIActionSupport extends ContentUIActionSupport<LocalmarketUI> {
+
+ protected LocalmarketUIActionSupport(String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
+ super(label, shortDescription, actionIcon, acceleratorKey);
+ setIcon(DtoIconHelper.getIcon(actionIcon));
+ }
+
+
+ @Override
+ protected boolean canExecuteAction(ActionEvent e) {
+ boolean canExecuteAction = super.canExecuteAction(e);
+ //FIXME Finshi this
+ if (canExecuteAction) {
+ LocalmarketUIModel model = ui.getModel();
+ canExecuteAction = TripActionHelper.gotoTripLogbookTab(getMainUI(), ui, model.getBean().getId(), getServicesProvider().getPsCommonTripService()::loadDto, t("observe.data.ps.common.Trip.message.missing.observation.metadata"));
+ }
+ return canExecuteAction;
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddBatch.java
=====================================
@@ -0,0 +1,75 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.actions;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.ObservePsKeyStrokes;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.BatchUI;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUI;
+import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.NavigationTreeNodeSupport;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.BatchNavigationTreeNode;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.LocalmarketNavigationTreeNode;
+import fr.ird.observe.client.util.DtoIconHelper;
+import fr.ird.observe.dto.data.ps.localmarket.BatchDto;
+
+import javax.swing.SwingUtilities;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyListener;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+public class LocalmarketUIAddBatch extends LocalmarketUIActionSupport {
+
+ public LocalmarketUIAddBatch() {
+ super(t("observe.data.ps.localmarket.Batch.action.create"), t("observe.data.ps.localmarket.Batch.action.create.tip"), DtoIconHelper.getIconPath(BatchDto.class), ObservePsKeyStrokes.KEY_STROKE_LOCALMARKET_ADD_BATCH);
+ }
+
+ @Override
+ public void init() {
+ super.init();
+ //FIXME Make this in UIHelper at least for any
+ for (KeyListener keyListener : editor.getKeyListeners()) {
+ if (keyListener.getClass().getName().contains("javax.swing.ToolTipManager$AccessibilityKeyListener")) {
+ editor.removeKeyListener(keyListener);
+ break;
+ }
+ }
+ }
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, LocalmarketUI ui) {
+ NavigationTree tree = getDataSourceEditor().getNavigationUI().getTree();
+ LocalmarketNavigationTreeNode parentNode = (LocalmarketNavigationTreeNode) tree.getSelectedNode();
+ NavigationTreeNodeSupport<?> nodeToSelect = parentNode.findChildByType(BatchNavigationTreeNode.class);
+ tree.selectSafeNode(nodeToSelect);
+ BatchUI content = getDataSourceEditor().getContentUIManager().getContent();
+ SwingUtilities.invokeLater(() -> content.getNewEntry().doClick());
+
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddSample.java
=====================================
@@ -0,0 +1,62 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.actions;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.ObservePsKeyStrokes;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUI;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.SampleListUI;
+import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.LocalmarketNavigationTreeNode;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.SampleListNavigationTreeNode;
+import fr.ird.observe.client.util.DtoIconHelper;
+import fr.ird.observe.dto.data.ps.localmarket.SampleDto;
+
+import javax.swing.SwingUtilities;
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+public class LocalmarketUIAddSample extends LocalmarketUIActionSupport {
+
+ public LocalmarketUIAddSample() {
+ super(t("observe.data.ps.localmarket.Sample.action.create"), t("observe.data.ps.localmarket.Sample.action.create.tip"), DtoIconHelper.getIconPath(SampleDto.class), ObservePsKeyStrokes.KEY_STROKE_LOCALMARKET_ADD_SAMPLE);
+ }
+
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, LocalmarketUI ui) {
+ NavigationTree tree = getDataSourceEditor().getNavigationUI().getTree();
+ LocalmarketNavigationTreeNode parentNode = (LocalmarketNavigationTreeNode) tree.getSelectedNode();
+ SampleListNavigationTreeNode nodeToSelect = (SampleListNavigationTreeNode) parentNode.findChildByType(SampleListNavigationTreeNode.class);
+ tree.selectSafeNode(nodeToSelect);
+ SampleListUI content = getDataSourceEditor().getContentUIManager().getContent();
+ SwingUtilities.invokeLater(() -> content.getCreate().doClick());
+
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/LocalmarketUIAddSurvey.java
=====================================
@@ -0,0 +1,61 @@
+package fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.actions;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor PS
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.ObservePsKeyStrokes;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUI;
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.SurveyListUI;
+import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTree;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.LocalmarketNavigationTreeNode;
+import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.localmarket.SurveyListNavigationTreeNode;
+import fr.ird.observe.client.util.DtoIconHelper;
+import fr.ird.observe.dto.data.ps.localmarket.SurveyDto;
+
+import javax.swing.SwingUtilities;
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+/**
+ * Created on 09/09/2020.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.1.0
+ */
+public class LocalmarketUIAddSurvey extends LocalmarketUIActionSupport {
+
+ public LocalmarketUIAddSurvey() {
+ super(t("observe.data.ps.localmarket.Survey.action.create"), t("observe.data.ps.localmarket.Survey.action.create.tip"), DtoIconHelper.getIconPath(SurveyDto.class), ObservePsKeyStrokes.KEY_STROKE_LOCALMARKET_ADD_SURVEY);
+ }
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, LocalmarketUI ui) {
+ NavigationTree tree = getDataSourceEditor().getNavigationUI().getTree();
+ LocalmarketNavigationTreeNode parentNode = (LocalmarketNavigationTreeNode) tree.getSelectedNode();
+ SurveyListNavigationTreeNode nodeToSelect = (SurveyListNavigationTreeNode) parentNode.findChildByType(SurveyListNavigationTreeNode.class);
+ tree.selectSafeNode(nodeToSelect);
+ SurveyListUI content = getDataSourceEditor().getContentUIManager().getContent();
+ SwingUtilities.invokeLater(() -> content.getCreate().doClick());
+
+ }
+}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/LocalmarketNavigationTreeNode.java
=====================================
@@ -22,8 +22,10 @@ package fr.ird.observe.client.datasource.editor.tree.navigation.nodes.data.ps.lo
* #L%
*/
+import fr.ird.observe.client.datasource.editor.content.data.ps.localmarket.LocalmarketUI;
import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.StringNavigationTreeNodeSupport;
import fr.ird.observe.client.util.DtoIconHelper;
+import fr.ird.observe.navigation.model.ObserveNavigationNode;
import javax.swing.Icon;
@@ -44,6 +46,21 @@ public class LocalmarketNavigationTreeNode extends StringNavigationTreeNodeSuppo
add(new SampleListNavigationTreeNode());
}
+ @Override
+ public ObserveNavigationNode<?> getEditNode() {
+ return getEditNodeOrParentEditNode();
+ }
+
+ @Override
+ public Class<LocalmarketUI> getContentClass() {
+ return LocalmarketUI.class;
+ }
+
+ @Override
+ public boolean isOpen() {
+ return super.isOpen();
+ }
+
@Override
public final Icon getIcon(boolean small) {
return DtoIconHelper.getIcon("data.ps.localmarket", small);
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/SampleNavigationTreeNode.java
=====================================
@@ -27,6 +27,7 @@ import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.ReferenceNa
import fr.ird.observe.dto.data.ps.localmarket.SampleDto;
import fr.ird.observe.dto.data.ps.localmarket.SampleReference;
import fr.ird.observe.navigation.model.edit.seine.node.ObserveSeineLocalmarketSampleEditNode;
+import fr.ird.observe.navigation.model.select.seine.node.ObserveSeineLocalmarketSampleSelectNode;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -34,15 +35,12 @@ import static io.ultreia.java4all.i18n.I18n.t;
* Created on 06/09/2020.
*
* @author Tony Chemit - dev(a)tchemit.fr
- * @since
+ * @since 8.1.0
*/
public class SampleNavigationTreeNode extends ReferenceNavigationTreeNodeSupport<SampleDto, SampleReference> {
public SampleNavigationTreeNode(SampleReference data) {
- super(data, ObserveSeineLocalmarketSampleEditNode.class, ObserveSeineLocalmarketSampleEditNode.class, true);
- if (isPersisted()) {
-// add(new ActivityListNavigationTreeNode());
- }
+ super(data, ObserveSeineLocalmarketSampleSelectNode.class, ObserveSeineLocalmarketSampleEditNode.class, false);
}
@Override
@@ -53,7 +51,7 @@ public class SampleNavigationTreeNode extends ReferenceNavigationTreeNodeSupport
@Override
public boolean isLeaf() {
- return !isPersisted();
+ return true;
}
@Override
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/localmarket/SurveyNavigationTreeNode.java
=====================================
@@ -27,6 +27,7 @@ import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.ReferenceNa
import fr.ird.observe.dto.data.ps.localmarket.SurveyDto;
import fr.ird.observe.dto.data.ps.localmarket.SurveyReference;
import fr.ird.observe.navigation.model.edit.seine.node.ObserveSeineLocalmarketSurveyEditNode;
+import fr.ird.observe.navigation.model.select.seine.node.ObserveSeineLocalmarketSurveySelectNode;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -39,10 +40,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
public class SurveyNavigationTreeNode extends ReferenceNavigationTreeNodeSupport<SurveyDto, SurveyReference> {
public SurveyNavigationTreeNode(SurveyReference data) {
- super(data, ObserveSeineLocalmarketSurveyEditNode.class, ObserveSeineLocalmarketSurveyEditNode.class, true);
- if (isPersisted()) {
-// add(new ActivityListNavigationTreeNode());
- }
+ super(data, ObserveSeineLocalmarketSurveySelectNode.class, ObserveSeineLocalmarketSurveyEditNode.class, false);
}
@Override
@@ -53,7 +51,7 @@ public class SurveyNavigationTreeNode extends ReferenceNavigationTreeNodeSupport
@Override
public boolean isLeaf() {
- return !isPersisted();
+ return true;
}
@Override
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -1380,6 +1380,7 @@ observe.data.ps.landing.Landing.title=Landing
observe.data.ps.landing.Landing.type=Landing
observe.data.ps.landing.Landing.weight=Weight (t)
observe.data.ps.landing.Landing.weightCategory=Weight category
+observe.data.ps.localmarket.Batch.action.create=Add a new batch
observe.data.ps.localmarket.Batch.action.create.tip=Insert this batch
observe.data.ps.localmarket.Batch.action.create.tip.tip=Insert this batch
observe.data.ps.localmarket.Batch.count=Count
@@ -1455,6 +1456,7 @@ observe.data.ps.localmarket.SurveyPart.table.species=Species
observe.data.ps.localmarket.SurveyPart.table.species.tip=Species
observe.data.ps.localmarket.SurveyPart.title=Survey part
observe.data.ps.localmarket.SurveyPart.type=Survey part
+observe.data.ps.localmarket.title=Local market
observe.data.ps.logbook.Activity.action.addFloatingObject=Add FAD
observe.data.ps.logbook.Activity.action.addFloatingObject.tip=Add a FAD to the activity
observe.data.ps.logbook.Activity.action.addSet=Add a Set
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -1380,6 +1380,7 @@ observe.data.ps.landing.Landing.title=Landing \#TODO
observe.data.ps.landing.Landing.type=Landing \#TODO
observe.data.ps.landing.Landing.weight=Weight (t) \#TODO
observe.data.ps.landing.Landing.weightCategory=Weight category \#TODO
+observe.data.ps.localmarket.Batch.action.create=Add a new batch \#TODO
observe.data.ps.localmarket.Batch.action.create.tip=Insert this batch
observe.data.ps.localmarket.Batch.action.create.tip.tip=Insert this batch
observe.data.ps.localmarket.Batch.count=Count
@@ -1455,6 +1456,7 @@ observe.data.ps.localmarket.SurveyPart.table.species=Species
observe.data.ps.localmarket.SurveyPart.table.species.tip=Species
observe.data.ps.localmarket.SurveyPart.title=Survey part
observe.data.ps.localmarket.SurveyPart.type=Survey part
+observe.data.ps.localmarket.title=Local market \#TODO
observe.data.ps.logbook.Activity.action.addFloatingObject=Añadir un FOB
observe.data.ps.logbook.Activity.action.addFloatingObject.tip=Añadir un objeto flotante a la actividad
observe.data.ps.logbook.Activity.action.addSet=Añadir un lance
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -1380,6 +1380,7 @@ observe.data.ps.landing.Landing.title=Débarquements
observe.data.ps.landing.Landing.type=Débarquements
observe.data.ps.landing.Landing.weight=Poids (en t)
observe.data.ps.landing.Landing.weightCategory=Catégorie de poids
+observe.data.ps.localmarket.Batch.action.create=Ajouter un lot
observe.data.ps.localmarket.Batch.action.create.tip=Insérer ce lot
observe.data.ps.localmarket.Batch.action.create.tip.tip=Insérer ce lot
observe.data.ps.localmarket.Batch.count=Nombre
@@ -1455,6 +1456,7 @@ observe.data.ps.localmarket.SurveyPart.table.species=Espèce
observe.data.ps.localmarket.SurveyPart.table.species.tip=Espèce
observe.data.ps.localmarket.SurveyPart.title=Données de sondage
observe.data.ps.localmarket.SurveyPart.type=Données de sondage
+observe.data.ps.localmarket.title=Marché local
observe.data.ps.logbook.Activity.action.addFloatingObject=Ajouter un DCP
observe.data.ps.logbook.Activity.action.addFloatingObject.tip=Ajouter un objet flottant à l'activité
observe.data.ps.logbook.Activity.action.addSet=Ajouter la calée
=====================================
test/src/main/resources/db/8.1/dataForTestLongline.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/dataForTestLongline.sql.gz and b/test/src/main/resources/db/8.1/dataForTestLongline.sql.gz differ
=====================================
test/src/main/resources/db/8.1/dataForTestSeine.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/dataForTestSeine.sql.gz and b/test/src/main/resources/db/8.1/dataForTestSeine.sql.gz differ
=====================================
test/src/main/resources/db/8.1/referentiel.sql.gz
=====================================
Binary files a/test/src/main/resources/db/8.1/referentiel.sql.gz and b/test/src/main/resources/db/8.1/referentiel.sql.gz differ
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4ddcd7967fe72221aeeb6dbbd…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4ddcd7967fe72221aeeb6dbbd…
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:
dfe532a3 by Tony Chemit at 2020-09-07T19:09:48+02:00
stash 2
- - - - -
30 changed files:
- client-configuration/src/main/config/Client.ini
- client-configuration/src/main/i18n/getters/config.getter
- client-core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSurveyAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/NavigationTreeNodeSupport.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/ActivityUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/actions/LandingUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/actions/ActivityUIDelete.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/ActivityListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/TripLandingListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/TripSampleListNavigationTreeNode.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/observation/ActivityListNavigationTreeNode.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUI.jaxx
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUI.jcss
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUIHandler.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUIModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUITableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SampleListUI.jcss
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyListUI.jcss
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUI.jcss
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUIImpl.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUITableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/SampleListUICreate.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/SampleListUIDelete.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/SampleListUIMove.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/actions/SurveyListUICreate.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dfe532a3493b40e3a1759e0b8…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/dfe532a3493b40e3a1759e0b8…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 5 commits: Add WellIdAware contract and his validator
by Tony CHEMIT 06 Sep '20
by Tony CHEMIT 06 Sep '20
06 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
67289180 by Tony Chemit at 2020-09-06T20:14:10+02:00
Add WellIdAware contract and his validator
- - - - -
3d11849b by Tony Chemit at 2020-09-06T20:14:10+02:00
Fix Some menu shortcuts
- - - - -
4eadb4af by Tony Chemit at 2020-09-06T20:14:10+02:00
Fix how to save a entity list from a reference list (a first one here...)
- - - - -
65042178 by Tony Chemit at 2020-09-06T20:15:34+02:00
Insertion de l’échantillonnage au port - See #1261
Finitions
- - - - -
a19d356a by Tony Chemit at 2020-09-07T00:26:04+02:00
Stash...
- - - - -
30 changed files:
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/data/open/ContentOpenableUILayoutFocusTraversalPolicy.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenu.jaxx
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenuHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineCommonReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLandingReferentialAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketReferentialAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSampleAction.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLocalmarketSurveyAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLogbookReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineObsReferentialAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/validation/ClientValidationContext.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/BatchUITableModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SampleListUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SampleListUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SampleListUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SampleListUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyListUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyListUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyListUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyListUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/localmarket/SurveyPartUIHandler.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/89908caa5e3789d1ec1b8aab…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/89908caa5e3789d1ec1b8aab…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: Let's clone nuiton-validator to fix it (no time to create a new project now...)
by Tony CHEMIT 06 Sep '20
by Tony CHEMIT 06 Sep '20
06 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
18b0ce37 by Tony Chemit at 2020-09-06T13:38:42+02:00
Let's clone nuiton-validator to fix it (no time to create a new project now...)
- - - - -
1ab196b5 by Tony Chemit at 2020-09-06T13:40:07+02:00
Nuiton-Validator : Fix ValidatorComparator (was based on simple name... need fully qualified name to deal with synonyms)
- - - - -
89908caa by Tony Chemit at 2020-09-06T13:40:38+02:00
Insertion de l’échantillonnage au port - See #1261
- - - - -
30 changed files:
- client-core/pom.xml
- client-datasource-actions/pom.xml
- client-datasource-editor-api/pom.xml
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenu.jaxx
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenuHandler.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLogbookSampleAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/validation/ClientValidationContext.java
- client-datasource-editor-common/pom.xml
- client-datasource-editor-ll/pom.xml
- client-datasource-editor-ps/pom.xml
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ObservePsKeyStrokes.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIImpl.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUITableModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleUI.jaxx
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/dee29b2db024e02e07593eee…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/dee29b2db024e02e07593eee…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Deal with relation nm of data references
by Tony CHEMIT 05 Sep '20
by Tony CHEMIT 05 Sep '20
05 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
2dcc3e6d by Tony Chemit at 2020-09-05T14:39:29+02:00
Deal with relation nm of data references
- - - - -
dee29b2d by Tony Chemit at 2020-09-05T20:22:49+02:00
Insertion de l’échantillonnage au port - See #1261
- - - - -
30 changed files:
- client-datasource-editor-api/src/main/i18n/getters/java.getter
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/spi/ContentUIReferenceCache.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenu.jaxx
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/DataSourceEditorNavigationMenuHandler.java
- + client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/menu/actions/SelectSeineLogbookSampleAction.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/validation/ClientValidationContext.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/ObservePsKeyStrokes.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleListUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIImpl.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesSizeUITableModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleSpeciesUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/SampleUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/actions/SampleListUICreate.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/actions/SampleListUIDelete.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/logbook/actions/SampleListUIMove.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/cc21991f0dbd39f7a45a64bd…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/cc21991f0dbd39f7a45a64bd…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Insertion du plan de cuves - See #1260
by Tony CHEMIT 04 Sep '20
by Tony CHEMIT 04 Sep '20
04 Sep '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
cc21991f by Tony Chemit at 2020-09-04T18:21:45+02:00
Insertion du plan de cuves - See #1260
- - - - -
30 changed files:
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUI.jaxx
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUI.jcss
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIHandler.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUIModel.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/wellplan/WellPlanUITableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/common/TripNavigationTreeNode.java
- + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ps/wellplan/WellPlanNavigationTreeNode.java
- + client-datasource-editor-ps/src/main/resources/icons/navigation/default/data/ps/wellplan/WellPlan-small_16x16.png
- + client-datasource-editor-ps/src/main/resources/icons/navigation/default/data/ps/wellplan/WellPlan_24x24.png
- client-datasource-editor-ps/src/main/resources/observe-ui-navigation-ps.properties
- dto/src/main/i18n/getters/eugene.getter
- dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorServiceInitializer.java
- + dto/src/main/java/fr/ird/observe/dto/decoration/init/DataPsWellplanModelDecoratorInitializer.java
- dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
- + dto/src/main/models/Observe-06-referential-ps-wellplan.model
- + dto/src/main/models/Observe-23-data-ps-wellplan.model
- dto/src/main/models/Observe-25-data-ps.model
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
- persistence/src/main/java/fr/ird/observe/entities/data/ps/logbook/ActivityTopiaDao.java
- persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_1.java
- + persistence/src/main/models/Observe-06-referential-ps-wellplan.model
- + persistence/src/main/models/Observe-23-data-ps-wellplan.model
- persistence/src/main/models/Observe-25-data-ps-common.model
- + persistence/src/main/resources/db/migration/8.1/12_ps_wellplan_create_referential_model-common.sql
- + persistence/src/main/resources/db/migration/8.1/13_ps_wellplan_create_data_model-common.sql
- server-core/src/main/filtered-resources/mapping
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/cc21991f0dbd39f7a45a64bde…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/cc21991f0dbd39f7a45a64bde…
You're receiving this email because of your account on gitlab.com.
1
0