Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
January 2021
- 1 participants
- 117 discussions
[Git][ultreiaio/ird-observe][develop] Disponibilité du sélecteur DMS / DMD / DD - Closes #1717
by Tony CHEMIT 22 Jan '21
by Tony CHEMIT 22 Jan '21
22 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
e473bd86 by Tony Chemit at 2021-01-22T10:35:05+01:00
Disponibilité du sélecteur DMS / DMD / DD - Closes #1717
- - - - -
9 changed files:
- client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java
- client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java
- client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializerContext.java
- client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java
- client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUI.jcss
Changes:
=====================================
client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java
=====================================
@@ -69,7 +69,7 @@ public class MainUIFocusModel extends UIFocusModel implements PropertyChangeList
this.keyboardFocusManager = Objects.requireNonNull(keyboardFocusManager);
this.acceptedClassesInBlockingLayer = new LinkedHashSet<>();
this.acceptedClassesInBlockingLayer.add(JTable.class);
- this.acceptedClassesInBlockingLayer.add(JList.class);
+// this.acceptedClassesInBlockingLayer.add(JList.class);
this.acceptedClassesInBlockingLayer.add(JScrollBar.class);
this.acceptedClassesInBlockingLayer.add(JTabbedPane.class);
=====================================
client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java
=====================================
@@ -49,11 +49,9 @@ public class DefaultUIInitializer<UI extends JComponent & JAXXObject> extends UI
public static final String CLIENT_PROPERTY_FORCE_LOAD = "forceLoad";
public static final String CLIENT_PROPERTY_LIST_NO_LOAD = "listNoLoad";
- // public static final String DELEGATE_CONTENT_UI = "delegateContentUI";
public static final String MAIN_TABBED_PANE = "mainTabbedPane";
public static final String SUB_TABBED_PANE = "subTabbedPane";
- public static final String CLIENT_PROPERTY_NOT_BLOCKING = "notBlocking";
public static final Class<?>[] MANAGED_TYPES = new Class<?>[]{
JComponent.class,
BeanCheckBox.class,
@@ -192,10 +190,6 @@ public class DefaultUIInitializer<UI extends JComponent & JAXXObject> extends UI
protected void init(JComponent editor) {
initializerContext.checkFirstPass();
- final Boolean propertyName = (Boolean) editor.getClientProperty(CLIENT_PROPERTY_NOT_BLOCKING);
- if (propertyName != null) {
- initializerContext.addDoNotBlockComponentId(editor.getName());
- }
}
}
=====================================
client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializerContext.java
=====================================
@@ -74,4 +74,30 @@ public class DefaultUIInitializerContext<U extends JAXXObject> extends UIInitial
public void setSubTabbedPaneValidator(JTabbedPane tabbedPane) {
this.subTabbedPaneValidator = JTabbedPaneValidator.builder((JAXXValidator) getUi(), tabbedPane.getName()).addScope(NuitonValidatorScope.ERROR, NuitonValidatorScope.WARNING).build();
}
+
+ @Override
+ public UIInitializerContext<U> startFirstPass() {
+ super.startFirstPass();
+ // Url
+ addDoNotBlockComponentId("openLink");
+ // JaxxComboBox, DoubleList, ListHeader
+ addDoNotBlockComponentId("displayDecorator");
+ // TripMap
+ addDoNotBlockComponentId("observeMapPane");
+ addDoNotBlockComponentId("zoomIt");
+ addDoNotBlockComponentId("zoomPlus");
+ addDoNotBlockComponentId("zoomMinus");
+ addDoNotBlockComponentId("exportPng");
+ addDoNotBlockComponentId("toggleLegend");
+ addDoNotBlockComponentId("addObservations");
+ addDoNotBlockComponentId("addLogbook");
+ // TemperatureEditor
+ addDoNotBlockComponentId("cFormat");
+ addDoNotBlockComponentId("fFormat");
+ // CoordinateEditor
+ addDoNotBlockComponentId("ddFormat");
+ addDoNotBlockComponentId("dmdFormat");
+ addDoNotBlockComponentId("dmsFormat");
+ return this;
+ }
}
=====================================
client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java
=====================================
@@ -185,7 +185,11 @@ public class UIInitHelper {
Objects.requireNonNull(label, "can't find label for temperature editor " + editor);
editor.setConfig(new TemperatureEditorConfig(TemperatureFormat.C, label.getText(), propertyName));
editor.init(label);
- editor.getModel().addPropertyChangeListener("format", e -> validator.doValidate());
+ editor.getModel().addPropertyChangeListener("format", e -> {
+ if (validator.getBean() != null) {
+ validator.doValidate();
+ }
+ });
}
public static void init(NumberEditor editor, boolean autoPopupNumberEditor, boolean showPopupButton) {
=====================================
client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss
=====================================
@@ -118,10 +118,6 @@ JToolBar {
opaque:false;
}
-JTabbedPane {
- _notBlocking: true;
-}
-
JXDatePicker {
formats:{"dd/MM/yyyy"};
}
@@ -144,7 +140,6 @@ DoubleList {
showSelectPopupEnabled: false;
filterable:false;
autoSortSelectedList:true;
- _notBlocking: true;
}
JaxxComboBox {
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIInitializer.java
=====================================
@@ -368,17 +368,6 @@ public class ContentUIInitializer<UI extends ContentUI> extends UIInitializerSup
protected void init(JComponent editor) {
initializerContext.checkFirstPass();
- if (editor instanceof UrlEditor) {
- initializerContext.addDoNotBlockComponentId("openLink");
- } else if (editor.getClientProperty(DefaultUIInitializer.CLIENT_PROPERTY_NOT_BLOCKING) != null) {
- initializerContext.addDoNotBlockComponentId(editor.getName());
- ActionMap actionMap = editor.getActionMap();
- if (actionMap.keys() != null) {
- for (Object key : actionMap.keys()) {
- initializerContext.addDoNotBlockComponentId(key.toString());
- }
- }
- }
Object property = editor.getClientProperty(CLIENT_PROPERTY_FOCUS_COMPONENT);
if (property == null) {
return;
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
=====================================
@@ -94,8 +94,4 @@
#mapTab {
enabled:{!states.isCreatingMode()};
-}
-
-#tripMap {
- _notBlocking:true;
-}
+}
\ No newline at end of file
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUI.jcss
=====================================
@@ -79,7 +79,6 @@
#sectionsTable {
model: {sectionsTableModel};
editable: {states.isEnabled()};
- _notBlocking: true;
}
#basketsPane {
@@ -94,7 +93,6 @@
#basketsTable {
model: {basketsTableModel};
editable: {states.isEnabled()};
- _notBlocking: true;
}
#branchlinesPane {
@@ -109,7 +107,6 @@
#branchlinesTable {
model: {branchlinesTableModel};
editable: {states.isEnabled()};
- _notBlocking: true;
}
/* ***************************************************************************** */
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUI.jcss
=====================================
@@ -34,8 +34,4 @@
#mapTab {
enabled:{!states.isCreatingMode()};
-}
-
-#tripMap {
- _notBlocking:true;
-}
+}
\ No newline at end of file
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e473bd86fa64ad8cd31e53c2c…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e473bd86fa64ad8cd31e53c2c…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Micro bizarrerie sur le modèle 8.0 - Closes #1764
by Tony CHEMIT 22 Jan '21
by Tony CHEMIT 22 Jan '21
22 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
69257b76 by Tony Chemit at 2021-01-22T09:38:55+01:00
Micro bizarrerie sur le modèle 8.0 - Closes #1764
- - - - -
25 changed files:
- client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ll/src/main/i18n/getters/navigation.getter
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUIModelStates.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIModelStates.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto-definition/src/main/models/Observe-30-data-ll-observation.model
- models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model
- models/persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/ActivityImpl.java
- models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_0.java
- models/persistence/src/main/models/Observe-01-referential-common.model
- models/persistence/src/main/models/Observe-30-data-ll-observation.model
- models/persistence/src/main/models/Observe-31-data-ll-logbook.model
- models/persistence/src/main/models/Observe-35-data-ll-common.model
- models/persistence/src/main/resources/db/migration/8.0/30_common_fill-common.sql
- models/persistence/src/main/resources/db/migration/8.0/70_ll_observation_fill-common.sql
- models/persistence/src/main/resources/db/migration/8.0/observe_create-schema-H2.sql
- models/persistence/src/main/resources/db/migration/8.0/observe_create-schema-PG.sql
- models/persistence/src/main/resources/db/migration/8.0/observe_finalize-schema-H2.sql
- models/persistence/src/main/resources/db/migration/8.0/observe_finalize-schema-PG.sql
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/69257b7644f35c15b85d4bce7…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/69257b7644f35c15b85d4bce7…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][feature/1254] 23 commits: Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
by Tony CHEMIT 21 Jan '21
by Tony CHEMIT 21 Jan '21
21 Jan '21
Tony CHEMIT pushed to branch feature/1254 at ultreiaio / ird-observe
Commits:
c0297045 by Tony Chemit at 2021-01-19T10:44:24+01:00
Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
- - - - -
25332936 by Tony Chemit at 2021-01-19T11:20:38+01:00
[jgitflow-maven-plugin]updating poms for 8.0.5-SNAPSHOT development[skip ci]
- - - - -
1c9cd2dd by Tony Chemit at 2021-01-19T11:21:15+01:00
[jgitflow-maven-plugin]updating poms for branch'release/8.0.4' with non-snapshot versions[skip ci]
- - - - -
7123ab14 by Tony Chemit at 2021-01-19T11:32:01+01:00
[jgitflow-maven-plugin]merging 'release/8.0.4' into 'master'
- - - - -
cb6473d6 by Tony Chemit at 2021-01-19T11:32:04+01:00
[jgitflow-maven-plugin]updating develop poms to master versions to avoid merge conflicts[skip ci]
- - - - -
0c465330 by Tony Chemit at 2021-01-19T11:32:05+01:00
[jgitflow-maven-plugin]merging 'master' into 'develop'
- - - - -
332a6e99 by Tony Chemit at 2021-01-19T11:32:05+01:00
[jgitflow-maven-plugin]Updating develop poms back to pre merge state[skip ci]
- - - - -
72e4976e by Tony Chemit at 2021-01-20T15:51:02+01:00
update CHANGELOG [skip ci]
- - - - -
9135411f by Tony Chemit at 2021-01-20T20:23:08+01:00
Dysfonctionnement de l'arbre - Closes #1763
- - - - -
064d69ff by Tony Chemit at 2021-01-20T21:13:20+01:00
Introduce a way to extract schema or table from generated schema (help to create new safe migration for v9)
- - - - -
5fc94916 by Tony Chemit at 2021-01-20T22:45:21+01:00
Improve ExtraTable and ExtractSchema
- - - - -
429a3949 by Tony Chemit at 2021-01-21T13:09:18+01:00
Fix NPE if no species on NonTargetReleaseUI
- - - - -
a27ecc60 by Tony Chemit at 2021-01-21T13:09:57+01:00
Fix ReferentialCache to be able to use the incoming form object to filter
- - - - -
f09a98fb by Tony Chemit at 2021-01-21T13:10:47+01:00
Review ContentTableUI delete extra message (this should be always specialized, and no using a default message for all the form).
- - - - -
605b4b11 by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures conservées - Closes #1765
- - - - -
bced957e by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures rejetées - Closes #1766
- - - - -
4c1ca99d by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade de la faune accessoire - Closes #1767
- - - - -
b4583d98 by Tony Chemit at 2021-01-21T17:01:28+01:00
Suppression en cade des libérations de capture accessoire - See #1768
- - - - -
604da9db by Tony Chemit at 2021-01-21T17:28:11+01:00
Suppression en cade des libérations de capture accessoire - See #1768
Pour le moment, aucun message sur le sujet et aucun traitement.
- - - - -
d7cdec41 by Tony Chemit at 2021-01-21T17:29:54+01:00
Move to version 9.0.0-RC-1
- - - - -
87001c93 by Tony Chemit at 2021-01-21T17:30:16+01:00
Réorganisation des données d’observation PS - Réorganisation des captures et échantillons de cible et bycatch observés - Closes #1254
- - - - -
45598329 by Tony Chemit at 2021-01-21T17:30:16+01:00
Clean i18n and consolidate code
- - - - -
1daea562 by Tony Chemit at 2021-01-21T18:52:31+01:00
stash me over git me!!!
- - - - -
30 changed files:
- .mvn/pom.gitflow.develop
- .mvn/pom.gitflow.master
- CHANGELOG.md
- client/.mvn/pom.gitflow.develop
- client/.mvn/pom.gitflow.master
- client/configuration/.mvn/pom.gitflow.develop
- client/configuration/.mvn/pom.gitflow.master
- client/configuration/pom.xml
- client/configuration/src/main/config/Client.ini
- client/configuration/src/main/i18n/getters/config.getter
- client/core/.mvn/pom.gitflow.develop
- client/core/.mvn/pom.gitflow.master
- client/core/pom.xml
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesCache.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilter.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilterHelper.java
- client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- + client/datasource/.mvn/pom.gitflow.develop
- + client/datasource/.mvn/pom.gitflow.master
- + client/datasource/.mvn/pom.organizationId
- + client/datasource/.mvn/pom.projectId
- + client/datasource/.mvn/pom.stageId
- client/datasource/actions/.mvn/pom.gitflow.develop
- client/datasource/actions/.mvn/pom.gitflow.master
- client/datasource/actions/pom.xml
- + client/datasource/editor/.mvn/pom.gitflow.develop
- + client/datasource/editor/.mvn/pom.gitflow.master
- + client/datasource/editor/.mvn/pom.organizationId
- + client/datasource/editor/.mvn/pom.projectId
- + client/datasource/editor/.mvn/pom.stageId
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3b4331ab9783e11ce686cf38…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3b4331ab9783e11ce686cf38…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - Closes #1768
by Tony CHEMIT 21 Jan '21
by Tony CHEMIT 21 Jan '21
21 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
e8ee529f by Tony Chemit at 2021-01-21T18:19:47+01:00
Suppression en cade des libérations de capture accessoire - Closes #1768
- - - - -
7 changed files:
- client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
Changes:
=====================================
client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter
=====================================
@@ -89,7 +89,6 @@ observe.data.ps.observation.NonTargetCatchRelease.length
observe.data.ps.observation.NonTargetCatchRelease.message.cantAdd
observe.data.ps.observation.NonTargetCatchRelease.releasingTime
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage
observe.data.ps.observation.NonTargetLength.count
observe.data.ps.observation.NonTargetLength.length
observe.data.ps.observation.NonTargetLength.picturesReferences
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUI.jcss
=====================================
@@ -20,10 +20,6 @@
* #L%
*/
-#tableModel {
- deleteExtraMessage:{t("observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage")};
-}
-
#editorPanel {
_focusComponent:{species};
}
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
=====================================
@@ -27,7 +27,9 @@ import fr.ird.observe.client.constants.AcquisitionMode;
import fr.ird.observe.client.datasource.api.cache.ReferencesCache;
import fr.ird.observe.client.datasource.api.cache.ReferencesFilterHelper;
import fr.ird.observe.dto.data.ps.observation.NonTargetCatchReleaseDto;
+import fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto;
import fr.ird.observe.dto.referential.common.SpeciesGroupDto;
+import fr.ird.observe.dto.referential.common.SpeciesReference;
import fr.ird.observe.navigation.select.ProjectSelectModel;
import fr.ird.observe.services.ObserveServicesProvider;
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
@@ -47,7 +49,7 @@ public class SetNonTargetCatchReleaseUIModelStates extends GeneratedSetNonTarget
@Override
public void onAfterInitAddReferentialFilters(ClientConfig clientConfig, ProjectSelectModel observeSelectModel, ObserveServicesProvider servicesProvider, ReferencesCache referenceCache) {
- referenceCache.addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, ReferencesFilterHelper.newSubList(getBean().getAvailableSpeciesIds()));
+ referenceCache.addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, ReferencesFilterHelper.<SetNonTargetCatchReleaseDto, SpeciesReference>newSubList(SetNonTargetCatchReleaseDto::getAvailableSpeciesIds));
}
public Map<String, SpeciesGroupDto> getSpeciesGroupDtoMap() {
@@ -58,5 +60,4 @@ public class SetNonTargetCatchReleaseUIModelStates extends GeneratedSetNonTarget
public void initDefault(NonTargetCatchReleaseDto newTableBean) {
newTableBean.setAcquisitionMode(AcquisitionMode.individual.ordinal());
}
-
}
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -943,7 +943,6 @@ observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Releasing
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sex
observe.data.ps.observation.NonTargetCatchRelease.species.short=Species
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Mode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nIf you delete this catches released, samples using this species will also be deleted.
observe.data.ps.observation.NonTargetLength.count.short=Count
observe.data.ps.observation.NonTargetLength.length.short=Length
observe.data.ps.observation.NonTargetLength.picturesReferences=Pictures references
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -943,7 +943,6 @@ observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Tiempo de
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sexo
observe.data.ps.observation.NonTargetCatchRelease.species.short=Especie
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Modo
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nLa eliminación de una captura de fauna puede tener como consecuencia la eliminación de muestreo(s) de la especie. \#TODO
observe.data.ps.observation.NonTargetLength.count.short=Grupo de tallas
observe.data.ps.observation.NonTargetLength.length.short=Talla
observe.data.ps.observation.NonTargetLength.picturesReferences=Referencia foto
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -925,11 +925,11 @@ observe.data.ps.observation.NonTargetCatch.meanLengthComputed.observed.tip=La ta
observe.data.ps.observation.NonTargetCatch.meanWeight.short=Poids moy
observe.data.ps.observation.NonTargetCatch.meanWeightComputed.computed.tip=Le poids moyen a été calculé (%s)
observe.data.ps.observation.NonTargetCatch.meanWeightComputed.observed.tip=Le poids moyen a été observé
-observe.data.ps.observation.NonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages ou les espèces libérées \:\n%1$s\nCela entrainera la suppression des données saisies liées à ces espèces
+observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonnages ou les espèces libérées \:\n%1$s\nCela entrainera la suppression des données saisies liées à ces espèces
+observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data.for.species=\nLe fait de supprimer cette capture rend indisponible l'espèce (%s) sur les libérations ou les échantillons.\nLes libérations ou échantillons utilisant cette espèce seront alors supprimer.
observe.data.ps.observation.NonTargetCatch.reasonForDiscard.short=Raison rejet
observe.data.ps.observation.NonTargetCatch.species.short=Espèce de faune
observe.data.ps.observation.NonTargetCatch.speciesFate.short=Devenir
-observe.data.ps.observation.NonTargetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce.
observe.data.ps.observation.NonTargetCatch.totalCount.short=Nombre
observe.data.ps.observation.NonTargetCatch.totalCountComputed.computed.tip=Le nombre estimé a été calculé (%s)
observe.data.ps.observation.NonTargetCatch.totalCountComputed.observed.tip=Le nombre estimé a été observé
@@ -943,7 +943,6 @@ observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Moment
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sexe
observe.data.ps.observation.NonTargetCatchRelease.species.short=Espèce
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Mode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce. \#TODO
observe.data.ps.observation.NonTargetLength.count.short=Effectif
observe.data.ps.observation.NonTargetLength.length.short=Longueur
observe.data.ps.observation.NonTargetLength.picturesReferences=référence photo
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
=====================================
@@ -100,7 +100,7 @@ public class SetImpl extends SetAbstract {
@Override
public boolean canUseNonTargetCatchRelease() {
- return isNonTargetCatchReleaseNotEmpty() && getNonTargetCatch().stream().anyMatch(t -> isSpeciesGroupRelease(t.getSpecies()));
+ return isNonTargetCatchNotEmpty() && getNonTargetCatch().stream().anyMatch(t -> isSpeciesGroupRelease(t.getSpecies()));
}
public boolean isSpeciesGroupRelease(Species species) {
@@ -136,6 +136,10 @@ public class SetImpl extends SetAbstract {
toSetNonTargetCatchDto(referentialLocale, (SetNonTargetCatchDto) dto);
return;
}
+ if (dto instanceof SetNonTargetCatchReleaseDto) {
+ toSetNonTargetCatchReleaseDto(referentialLocale, (SetNonTargetCatchReleaseDto) dto);
+ return;
+ }
super.toDto(referentialLocale, dto);
if (dto instanceof SetDto) {
((SetDto) dto).setDiscardedTargetSampleEnabled(canUseDiscardedTargetSample());
@@ -143,9 +147,6 @@ public class SetImpl extends SetAbstract {
((SetDto) dto).setNonTargetSampleEnabled(canUseNonTargetSample());
((SetDto) dto).setSetNonTargetCatchReleaseEnabled(canUseNonTargetCatchRelease());
}
- if (dto instanceof SetNonTargetCatchReleaseDto) {
- ((SetNonTargetCatchReleaseDto) dto).setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).filter(this::isSpeciesGroupRelease).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
- }
if (dto instanceof NonTargetSampleDto) {
((NonTargetSampleDto) dto).setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
((NonTargetSampleDto) dto).setAvailableSpeciesFateIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpeciesFate).map(SpeciesFate::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
@@ -160,10 +161,6 @@ public class SetImpl extends SetAbstract {
@Override
public <D extends DataDto> void fromDto(ReferentialLocale referentialLocale, D dto) {
- if (dto instanceof SetDiscardedTargetCatchDto) {
- fromSetDiscardedTargetCatchDto(referentialLocale, (SetDiscardedTargetCatchDto) dto);
- return;
- }
if (dto instanceof SetKeptTargetCatchDto) {
fromSetKeptTargetCatchDto(referentialLocale, (SetKeptTargetCatchDto) dto);
return;
@@ -206,7 +203,7 @@ public class SetImpl extends SetAbstract {
dtoList.forEach(catchDto -> {
SpeciesReference species = catchDto.getSpecies();
boolean hasSample = speciesId.contains(species.getId());
- catchDto.set(KeptTargetCatchDto.PROPERTY_HAS_SAMPLE, hasSample);
+ catchDto.setHasSample(hasSample);
});
}
}
@@ -224,7 +221,7 @@ public class SetImpl extends SetAbstract {
dtoList.forEach(catchDto -> {
SpeciesReference species = catchDto.getSpecies();
boolean hasSample = speciesId.contains(species.getId());
- catchDto.set(KeptTargetCatchDto.PROPERTY_HAS_SAMPLE, hasSample);
+ catchDto.setHasSample(hasSample);
});
}
}
@@ -255,6 +252,12 @@ public class SetImpl extends SetAbstract {
}
}
+ private void toSetNonTargetCatchReleaseDto(ReferentialLocale referentialLocale, SetNonTargetCatchReleaseDto dto) {
+ // do normal copy
+ super.toDto(referentialLocale, dto);
+ dto.setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).filter(this::isSpeciesGroupRelease).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
+ }
+
private void fromSetKeptTargetCatchDto(ReferentialLocale referentialLocale, SetKeptTargetCatchDto dto) {
// keep other catches
List<TargetCatch> otherTargetCatches = getTargetCatch(true);
@@ -272,23 +275,6 @@ public class SetImpl extends SetAbstract {
otherTargetCatches.forEach(this::addTargetCatch);
}
- private void fromSetDiscardedTargetCatchDto(ReferentialLocale referentialLocale, SetDiscardedTargetCatchDto dto) {
- // keep other catches
- List<TargetCatch> otherTargetCatches = getTargetCatch(false);
- // do normal copy
- super.fromDto(referentialLocale, dto);
- // delete any sample which not using the given species ids
- TargetSample targetSample = getTargetSample(true);
- if (targetSample != null) {
- List<DiscardedTargetCatchDto> targetCatch = dto.getTargetCatch();
- Set<String> speciesIds = DtoReferenceAware.ids(targetCatch.stream().map(DiscardedTargetCatchDto::getSpecies));
- // remove sample from species ids
- targetSample.getTargetLength().removeIf(targetLength -> !speciesIds.contains(targetLength.getSpecies().getTopiaId()));
- }
- // push back other catches
- otherTargetCatches.forEach(this::addTargetCatch);
- }
-
private List<TargetCatch> getTargetCatch(boolean discarded) {
return super.getTargetCatch().stream().filter(c -> c != null && Objects.equals(discarded, c.isDiscarded())).collect(Collectors.toList());
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e8ee529f6b83ed2a9f0b6a479…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e8ee529f6b83ed2a9f0b6a479…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - See #1768
by Tony CHEMIT 21 Jan '21
by Tony CHEMIT 21 Jan '21
21 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
604da9db by Tony Chemit at 2021-01-21T17:28:11+01:00
Suppression en cade des libérations de capture accessoire - See #1768
Pour le moment, aucun message sur le sujet et aucun traitement.
- - - - -
3 changed files:
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUITableModel.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
Changes:
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
=====================================
@@ -26,7 +26,6 @@ import fr.ird.observe.client.configuration.ClientConfig;
import fr.ird.observe.client.constants.AcquisitionMode;
import fr.ird.observe.client.datasource.api.cache.ReferencesCache;
import fr.ird.observe.client.datasource.api.cache.ReferencesFilterHelper;
-import fr.ird.observe.client.datasource.editor.api.content.data.table.AskToDelete;
import fr.ird.observe.dto.data.ps.observation.NonTargetCatchReleaseDto;
import fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto;
import fr.ird.observe.dto.referential.common.SpeciesGroupDto;
@@ -34,9 +33,7 @@ import fr.ird.observe.dto.referential.common.SpeciesReference;
import fr.ird.observe.navigation.select.ProjectSelectModel;
import fr.ird.observe.services.ObserveServicesProvider;
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
-import io.ultreia.java4all.i18n.I18n;
-import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -64,11 +61,12 @@ public class SetNonTargetCatchReleaseUIModelStates extends GeneratedSetNonTarget
newTableBean.setAcquisitionMode(AcquisitionMode.individual.ordinal());
}
- @Override
- public boolean canSave(SetNonTargetCatchReleaseDto originalBean, SetNonTargetCatchReleaseDto bean, List<NonTargetCatchReleaseDto> data) {
- AskToDelete<SetNonTargetCatchReleaseDto> ask = new AskToDelete<>(
- SetNonTargetCatchReleaseDto::getRemovedUnsafeSpecies,
- I18n.n("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data"));
- return ask.needDelete(this.getClientUIContext().getDecoratorService(), originalBean, bean);
- }
+ //FIXME: #1768
+// @Override
+// public boolean canSave(SetNonTargetCatchReleaseDto originalBean, SetNonTargetCatchReleaseDto bean, List<NonTargetCatchReleaseDto> data) {
+// AskToDelete<SetNonTargetCatchReleaseDto> ask = new AskToDelete<>(
+// SetNonTargetCatchReleaseDto::getRemovedUnsafeSpecies,
+// I18n.n("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data"));
+// return ask.needDelete(this.getClientUIContext().getDecoratorService(), originalBean, bean);
+// }
}
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUITableModel.java
=====================================
@@ -31,8 +31,6 @@ import fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatus
import javax.swing.JTable;
import java.util.List;
-import static io.ultreia.java4all.i18n.I18n.t;
-
/**
* Created on 12/4/14.
*
@@ -81,16 +79,17 @@ public class SetNonTargetCatchReleaseUITableModel extends GeneratedSetNonTargetC
super.onSelectedRowChanged(ui, editingRow, tableEditBean, previousRowBean, notPersisted, newRow);
}
- @Override
- protected String getDeleteExtraMessage(NonTargetCatchReleaseDto bean) {
- if (bean.isHasSample()) {
- int count = getBean().getUnsafeSpeciesUsageCount(bean.getSpecies());
- if (count == 1) {
- // while deleting this one, this species won't be available on sample
- return t("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species", bean.getSpecies());
- }
- }
- // No specific message
- return null;
- }
+ //FIXME: #1768
+// @Override
+// protected String getDeleteExtraMessage(NonTargetCatchReleaseDto bean) {
+// if (bean.isHasSample()) {
+// int count = getBean().getUnsafeSpeciesUsageCount(bean.getSpecies());
+// if (count == 1) {
+// // while deleting this one, this species won't be available on sample
+// return t("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species", bean.getSpecies());
+// }
+// }
+// // No specific message
+// return null;
+// }
}
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
=====================================
@@ -316,7 +316,7 @@ public class SetImpl extends SetAbstract {
// do normal copy
super.fromDto(referentialLocale, dto);
// delete any discarded sample which not using the given species ids
- //FIXME should we also check in non target catches ???
+ //FIXME: #1768
// TargetSample targetSample = getTargetSample(true);
// if (targetSample != null) {
// List<NonTargetCatchReleaseDto> targetCatch = dto.getNonTargetCatchRelease();
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/604da9dbffd440196544a25b0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/604da9dbffd440196544a25b0…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - See #1768
by Tony CHEMIT 21 Jan '21
by Tony CHEMIT 21 Jan '21
21 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
b4583d98 by Tony Chemit at 2021-01-21T17:01:28+01:00
Suppression en cade des libérations de capture accessoire - See #1768
- - - - -
11 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/ps/data/observation/SetNonTargetCatchReleaseUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUITableModel.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
- + models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchReleaseDto.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
Changes:
=====================================
client/datasource/editor/ps/src/main/i18n/getters/java.getter
=====================================
@@ -32,6 +32,8 @@ observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data
observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data.for.species
observe.data.ps.observation.NonTargetCatch.totalCountComputed.computed.tip
observe.data.ps.observation.NonTargetCatch.totalCountComputed.observed.tip
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species
observe.data.ps.observation.Route.choice.create.fin.veille.activity
observe.data.ps.observation.Route.choice.not.create.fin.veille.activity.and.continue
observe.data.ps.observation.Route.message.need.fin.veille.activity
=====================================
client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter
=====================================
@@ -89,7 +89,6 @@ observe.data.ps.observation.NonTargetCatchRelease.length
observe.data.ps.observation.NonTargetCatchRelease.message.cantAdd
observe.data.ps.observation.NonTargetCatchRelease.releasingTime
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage
observe.data.ps.observation.NonTargetLength.count
observe.data.ps.observation.NonTargetLength.length
observe.data.ps.observation.NonTargetLength.picturesReferences
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUI.jcss
=====================================
@@ -20,10 +20,6 @@
* #L%
*/
-#tableModel {
- deleteExtraMessage:{t("observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage")};
-}
-
#editorPanel {
_focusComponent:{species};
}
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
=====================================
@@ -26,12 +26,17 @@ import fr.ird.observe.client.configuration.ClientConfig;
import fr.ird.observe.client.constants.AcquisitionMode;
import fr.ird.observe.client.datasource.api.cache.ReferencesCache;
import fr.ird.observe.client.datasource.api.cache.ReferencesFilterHelper;
+import fr.ird.observe.client.datasource.editor.api.content.data.table.AskToDelete;
import fr.ird.observe.dto.data.ps.observation.NonTargetCatchReleaseDto;
+import fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto;
import fr.ird.observe.dto.referential.common.SpeciesGroupDto;
+import fr.ird.observe.dto.referential.common.SpeciesReference;
import fr.ird.observe.navigation.select.ProjectSelectModel;
import fr.ird.observe.services.ObserveServicesProvider;
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
+import io.ultreia.java4all.i18n.I18n;
+import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -47,7 +52,7 @@ public class SetNonTargetCatchReleaseUIModelStates extends GeneratedSetNonTarget
@Override
public void onAfterInitAddReferentialFilters(ClientConfig clientConfig, ProjectSelectModel observeSelectModel, ObserveServicesProvider servicesProvider, ReferencesCache referenceCache) {
- referenceCache.addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, ReferencesFilterHelper.newSubList(getBean().getAvailableSpeciesIds()));
+ referenceCache.addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, ReferencesFilterHelper.<SetNonTargetCatchReleaseDto, SpeciesReference>newSubList(SetNonTargetCatchReleaseDto::getAvailableSpeciesIds));
}
public Map<String, SpeciesGroupDto> getSpeciesGroupDtoMap() {
@@ -59,4 +64,11 @@ public class SetNonTargetCatchReleaseUIModelStates extends GeneratedSetNonTarget
newTableBean.setAcquisitionMode(AcquisitionMode.individual.ordinal());
}
+ @Override
+ public boolean canSave(SetNonTargetCatchReleaseDto originalBean, SetNonTargetCatchReleaseDto bean, List<NonTargetCatchReleaseDto> data) {
+ AskToDelete<SetNonTargetCatchReleaseDto> ask = new AskToDelete<>(
+ SetNonTargetCatchReleaseDto::getRemovedUnsafeSpecies,
+ I18n.n("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data"));
+ return ask.needDelete(this.getClientUIContext().getDecoratorService(), originalBean, bean);
+ }
}
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUITableModel.java
=====================================
@@ -31,6 +31,8 @@ import fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatus
import javax.swing.JTable;
import java.util.List;
+import static io.ultreia.java4all.i18n.I18n.t;
+
/**
* Created on 12/4/14.
*
@@ -78,4 +80,17 @@ public class SetNonTargetCatchReleaseUITableModel extends GeneratedSetNonTargetC
super.onSelectedRowChanged(ui, editingRow, tableEditBean, previousRowBean, notPersisted, newRow);
}
+
+ @Override
+ protected String getDeleteExtraMessage(NonTargetCatchReleaseDto bean) {
+ if (bean.isHasSample()) {
+ int count = getBean().getUnsafeSpeciesUsageCount(bean.getSpecies());
+ if (count == 1) {
+ // while deleting this one, this species won't be available on sample
+ return t("observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species", bean.getSpecies());
+ }
+ }
+ // No specific message
+ return null;
+ }
}
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -939,11 +939,12 @@ observe.data.ps.observation.NonTargetCatchRelease.comment.short=Com
observe.data.ps.observation.NonTargetCatchRelease.conformity.short=Conformity
observe.data.ps.observation.NonTargetCatchRelease.length.short=Length
observe.data.ps.observation.NonTargetCatchRelease.message.cantAdd=<html><body><strong>Can not add non target catch release</strong>(no sensible non target catch)</body></html>
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data=If you confirm save, some data could be deleted\!\n\nFollowing species won't be useable in samples \:\n%1$s\nAll samples of those species will be deleted.
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species=\nIf you delete this non target catch release, the species (%s) will not be available for samples.\nSamples using this species (%s) will also be deleted.
observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Releasing time
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sex
observe.data.ps.observation.NonTargetCatchRelease.species.short=Species
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Mode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nIf you delete this catches released, samples using this species will also be deleted.
observe.data.ps.observation.NonTargetLength.count.short=Count
observe.data.ps.observation.NonTargetLength.length.short=Length
observe.data.ps.observation.NonTargetLength.picturesReferences=Pictures references
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -939,11 +939,12 @@ observe.data.ps.observation.NonTargetCatchRelease.comment.short=Observaciones
observe.data.ps.observation.NonTargetCatchRelease.conformity.short=Conformidad
observe.data.ps.observation.NonTargetCatchRelease.length.short=Talla
observe.data.ps.observation.NonTargetCatchRelease.message.cantAdd=<html><body><strong>Impossible d'ajouter des libération</strong>(pas de faune accessoire sensible)</body></html> \#TODO
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data=If you confirm save, some data could be deleted\!\n\nFollowing species won't be useable in samples \:\n%1$s\nAll samples of those species will be deleted. \#TODO
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species=\nIf you delete this non target catch release, the species (%s) will not be available for samples.\nSamples using this species (%s) will also be deleted. \#TODO
observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Tiempo de liberación
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sexo
observe.data.ps.observation.NonTargetCatchRelease.species.short=Especie
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Modo
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nLa eliminación de una captura de fauna puede tener como consecuencia la eliminación de muestreo(s) de la especie. \#TODO
observe.data.ps.observation.NonTargetLength.count.short=Grupo de tallas
observe.data.ps.observation.NonTargetLength.length.short=Talla
observe.data.ps.observation.NonTargetLength.picturesReferences=Referencia foto
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -925,11 +925,11 @@ observe.data.ps.observation.NonTargetCatch.meanLengthComputed.observed.tip=La ta
observe.data.ps.observation.NonTargetCatch.meanWeight.short=Poids moy
observe.data.ps.observation.NonTargetCatch.meanWeightComputed.computed.tip=Le poids moyen a été calculé (%s)
observe.data.ps.observation.NonTargetCatch.meanWeightComputed.observed.tip=Le poids moyen a été observé
-observe.data.ps.observation.NonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages ou les espèces libérées \:\n%1$s\nCela entrainera la suppression des données saisies liées à ces espèces
+observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonnages ou les espèces libérées \:\n%1$s\nCela entrainera la suppression des données saisies liées à ces espèces
+observe.data.ps.observation.NonTargetCatch.message.will.delete.sub.data.for.species=\nLe fait de supprimer cette capture rend indisponible l'espèce (%s) sur les libérations ou les échantillons.\nLes libérations ou échantillons utilisant cette espèce seront alors supprimer.
observe.data.ps.observation.NonTargetCatch.reasonForDiscard.short=Raison rejet
observe.data.ps.observation.NonTargetCatch.species.short=Espèce de faune
observe.data.ps.observation.NonTargetCatch.speciesFate.short=Devenir
-observe.data.ps.observation.NonTargetCatch.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce.
observe.data.ps.observation.NonTargetCatch.totalCount.short=Nombre
observe.data.ps.observation.NonTargetCatch.totalCountComputed.computed.tip=Le nombre estimé a été calculé (%s)
observe.data.ps.observation.NonTargetCatch.totalCountComputed.observed.tip=Le nombre estimé a été observé
@@ -939,11 +939,12 @@ observe.data.ps.observation.NonTargetCatchRelease.comment.short=Com
observe.data.ps.observation.NonTargetCatchRelease.conformity.short=Conformité
observe.data.ps.observation.NonTargetCatchRelease.length.short=Longueur
observe.data.ps.observation.NonTargetCatchRelease.message.cantAdd=<html><body><strong>Impossible d'ajouter des libérations</strong>(pas de faune accessoire sensible)</body></html>
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des données saisies liées à ces espèces
+observe.data.ps.observation.NonTargetCatchRelease.message.will.delete.sub.data.for.species=\nLe fait de supprimer cette libération rend indisponible l'espèce (%s) sur les échantillons.\nLes échantillons utilisant cette espèce seront alors supprimer.
observe.data.ps.observation.NonTargetCatchRelease.releasingTime.short=Moment
observe.data.ps.observation.NonTargetCatchRelease.sex.short=Sexe
observe.data.ps.observation.NonTargetCatchRelease.species.short=Espèce
observe.data.ps.observation.NonTargetCatchRelease.speciesGroupReleaseMode.short=Mode
-observe.data.ps.observation.NonTargetCatchRelease.table.deleteExtraMessage=\nLe fait de supprimer une capture de faune peut entrainer la suppression d'échantillonnage(s) sur l'espèce. \#TODO
observe.data.ps.observation.NonTargetLength.count.short=Effectif
observe.data.ps.observation.NonTargetLength.length.short=Longueur
observe.data.ps.observation.NonTargetLength.picturesReferences=référence photo
=====================================
models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
=====================================
@@ -81,6 +81,7 @@ comment + {*:1} String
length + {*:1} Float | positiveNumber
count + {*:1} Integer | notNull strictlyPositiveNumber
acquisitionMode + {*:1} int
+hasSample + {*:1} boolean
status {*:1} !fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatusReference | notNull
species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull
sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchReleaseDto.java
=====================================
@@ -0,0 +1,68 @@
+package fr.ird.observe.dto.data.ps.observation;
+
+/*-
+ * #%L
+ * ObServe Models :: Dto
+ * %%
+ * Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.dto.referential.common.SpeciesReference;
+import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
+
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@GenerateJavaBeanDefinition
+public class SetNonTargetCatchReleaseDto extends GeneratedSetNonTargetCatchReleaseDto {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Get the set of unsafe species no more used in the {@code incoming} dto.
+ *
+ * @param incoming the dto to compare this
+ * @return the set of unsafe species no more used in incoming dto
+ */
+ public Set<SpeciesReference> getRemovedUnsafeSpecies(SetNonTargetCatchReleaseDto incoming) {
+ // Get all unsafe species
+ Set<SpeciesReference> allUnsafeSpecies = getUnsafeSpecies();
+ // Get incoming used unsafe species
+ Set<SpeciesReference> incomingUsedUnsafeSpecies = incoming.getUnsafeSpecies();
+ // Remove for all the used
+ allUnsafeSpecies.removeAll(incomingUsedUnsafeSpecies);
+ // This will return the set of no more used unsafe species
+ return allUnsafeSpecies;
+ }
+
+ /**
+ * @return set of unsafe species used in catches
+ */
+ public Set<SpeciesReference> getUnsafeSpecies() {
+ return getNonTargetCatchRelease().stream().filter(NonTargetCatchReleaseDto::isHasSample).map(NonTargetCatchReleaseDto::getSpecies).collect(Collectors.toSet());
+ }
+
+ /**
+ * @param species species to test
+ * @return count of usage of this species in catches
+ */
+ public int getUnsafeSpeciesUsageCount(SpeciesReference species) {
+ return (int) getNonTargetCatchRelease().stream().filter(d -> Objects.equals(species, d.getSpecies())).count();
+ }
+}
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
=====================================
@@ -28,6 +28,7 @@ import fr.ird.observe.dto.data.ps.observation.DiscardedTargetCatchDto;
import fr.ird.observe.dto.data.ps.observation.DiscardedTargetSampleDto;
import fr.ird.observe.dto.data.ps.observation.KeptTargetCatchDto;
import fr.ird.observe.dto.data.ps.observation.KeptTargetSampleDto;
+import fr.ird.observe.dto.data.ps.observation.NonTargetCatchReleaseDto;
import fr.ird.observe.dto.data.ps.observation.NonTargetSampleDto;
import fr.ird.observe.dto.data.ps.observation.SetDiscardedTargetCatchDto;
import fr.ird.observe.dto.data.ps.observation.SetDto;
@@ -100,7 +101,7 @@ public class SetImpl extends SetAbstract {
@Override
public boolean canUseNonTargetCatchRelease() {
- return isNonTargetCatchReleaseNotEmpty() && getNonTargetCatch().stream().anyMatch(t -> isSpeciesGroupRelease(t.getSpecies()));
+ return isNonTargetCatchNotEmpty() && getNonTargetCatch().stream().anyMatch(t -> isSpeciesGroupRelease(t.getSpecies()));
}
public boolean isSpeciesGroupRelease(Species species) {
@@ -136,6 +137,10 @@ public class SetImpl extends SetAbstract {
toSetNonTargetCatchDto(referentialLocale, (SetNonTargetCatchDto) dto);
return;
}
+ if (dto instanceof SetNonTargetCatchReleaseDto) {
+ toSetNonTargetCatchReleaseDto(referentialLocale, (SetNonTargetCatchReleaseDto) dto);
+ return;
+ }
super.toDto(referentialLocale, dto);
if (dto instanceof SetDto) {
((SetDto) dto).setDiscardedTargetSampleEnabled(canUseDiscardedTargetSample());
@@ -143,9 +148,6 @@ public class SetImpl extends SetAbstract {
((SetDto) dto).setNonTargetSampleEnabled(canUseNonTargetSample());
((SetDto) dto).setSetNonTargetCatchReleaseEnabled(canUseNonTargetCatchRelease());
}
- if (dto instanceof SetNonTargetCatchReleaseDto) {
- ((SetNonTargetCatchReleaseDto) dto).setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).filter(this::isSpeciesGroupRelease).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
- }
if (dto instanceof NonTargetSampleDto) {
((NonTargetSampleDto) dto).setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
((NonTargetSampleDto) dto).setAvailableSpeciesFateIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpeciesFate).map(SpeciesFate::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
@@ -172,6 +174,10 @@ public class SetImpl extends SetAbstract {
fromSetNonTargetCatchDto(referentialLocale, (SetNonTargetCatchDto) dto);
return;
}
+ if (dto instanceof SetNonTargetCatchReleaseDto) {
+ fromSetNonTargetCatchReleaseDto(referentialLocale, (SetNonTargetCatchReleaseDto) dto);
+ return;
+ }
super.fromDto(referentialLocale, dto);
}
@@ -206,7 +212,7 @@ public class SetImpl extends SetAbstract {
dtoList.forEach(catchDto -> {
SpeciesReference species = catchDto.getSpecies();
boolean hasSample = speciesId.contains(species.getId());
- catchDto.set(KeptTargetCatchDto.PROPERTY_HAS_SAMPLE, hasSample);
+ catchDto.setHasSample(hasSample);
});
}
}
@@ -224,7 +230,7 @@ public class SetImpl extends SetAbstract {
dtoList.forEach(catchDto -> {
SpeciesReference species = catchDto.getSpecies();
boolean hasSample = speciesId.contains(species.getId());
- catchDto.set(KeptTargetCatchDto.PROPERTY_HAS_SAMPLE, hasSample);
+ catchDto.setHasSample(hasSample);
});
}
}
@@ -255,6 +261,23 @@ public class SetImpl extends SetAbstract {
}
}
+ private void toSetNonTargetCatchReleaseDto(ReferentialLocale referentialLocale, SetNonTargetCatchReleaseDto dto) {
+ // do normal copy
+ super.toDto(referentialLocale, dto);
+ // is there some sample?
+ if (isNonTargetSampleNotEmpty()) {
+ NonTargetSample targetSample = getNonTargetSample().iterator().next();
+ // get usable species ids
+ java.util.Set<String> speciesId = DtoReferenceAware.ids(targetSample.getNonTargetLength().stream().map(NonTargetLength::getSpecies));
+ // mark catch if there is associated samples to it
+ dto.getNonTargetCatchRelease().forEach(childDto -> {
+ boolean hasSample = speciesId.contains(childDto.getSpecies().getId());
+ childDto.setHasSample(hasSample);
+ });
+ }
+ dto.setAvailableSpeciesIds(getNonTargetCatch().stream().map(NonTargetCatch::getSpecies).filter(this::isSpeciesGroupRelease).map(Species::getTopiaId).distinct().collect(ImmutableSet.toImmutableSet()));
+ }
+
private void fromSetKeptTargetCatchDto(ReferentialLocale referentialLocale, SetKeptTargetCatchDto dto) {
// keep other catches
List<TargetCatch> otherTargetCatches = getTargetCatch(true);
@@ -289,6 +312,20 @@ public class SetImpl extends SetAbstract {
otherTargetCatches.forEach(this::addTargetCatch);
}
+ private void fromSetNonTargetCatchReleaseDto(ReferentialLocale referentialLocale, SetNonTargetCatchReleaseDto dto) {
+ // do normal copy
+ super.fromDto(referentialLocale, dto);
+ // delete any discarded sample which not using the given species ids
+ //FIXME should we also check in non target catches ???
+// TargetSample targetSample = getTargetSample(true);
+// if (targetSample != null) {
+// List<NonTargetCatchReleaseDto> targetCatch = dto.getNonTargetCatchRelease();
+// Set<String> speciesIds = DtoReferenceAware.ids(targetCatch.stream().map(NonTargetCatchReleaseDto::getSpecies));
+// // remove sample from species ids
+// targetSample.getTargetLength().removeIf(targetLength -> !speciesIds.contains(targetLength.getSpecies().getTopiaId()));
+// }
+ }
+
private List<TargetCatch> getTargetCatch(boolean discarded) {
return super.getTargetCatch().stream().filter(c -> c != null && Objects.equals(discarded, c.isDiscarded())).collect(Collectors.toList());
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b4583d98931b764c7945eab95…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b4583d98931b764c7945eab95…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 8 commits: Improve ExtraTable and ExtractSchema
by Tony CHEMIT 21 Jan '21
by Tony CHEMIT 21 Jan '21
21 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5fc94916 by Tony Chemit at 2021-01-20T22:45:21+01:00
Improve ExtraTable and ExtractSchema
- - - - -
429a3949 by Tony Chemit at 2021-01-21T13:09:18+01:00
Fix NPE if no species on NonTargetReleaseUI
- - - - -
a27ecc60 by Tony Chemit at 2021-01-21T13:09:57+01:00
Fix ReferentialCache to be able to use the incoming form object to filter
- - - - -
f09a98fb by Tony Chemit at 2021-01-21T13:10:47+01:00
Review ContentTableUI delete extra message (this should be always specialized, and no using a default message for all the form).
- - - - -
605b4b11 by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures conservées - Closes #1765
- - - - -
bced957e by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade des captures rejetées - Closes #1766
- - - - -
4c1ca99d by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cascade de la faune accessoire - Closes #1767
- - - - -
7b32c485 by Tony Chemit at 2021-01-21T16:44:52+01:00
Suppression en cade des libérations de capture accessoire - Closes #1768
- - - - -
30 changed files:
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesCache.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilter.java
- client/core/src/main/java/fr/ird/observe/client/datasource/api/cache/ReferencesFilterHelper.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUITableModel.java
- client/datasource/editor/ps/src/main/i18n/getters/java.getter
- client/datasource/editor/ps/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetKeptTargetCatchUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetKeptTargetCatchUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetKeptTargetCatchUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchReleaseUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUITableModel.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto-definition/src/main/models/Observe-20-data-ps-observation.model
- models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetDiscardedTargetCatchDto.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetKeptTargetCatchDto.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchDto.java
- + models/dto/src/main/java/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchReleaseDto.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/064d69ff2e0a7044e4b28cce…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/064d69ff2e0a7044e4b28cce…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][feature/1254] 5 commits: Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
by Tony CHEMIT 20 Jan '21
by Tony CHEMIT 20 Jan '21
20 Jan '21
Tony CHEMIT pushed to branch feature/1254 at ultreiaio / ird-observe
Commits:
c8b22b1c by Tony Chemit at 2021-01-20T21:14:49+01:00
Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
(cherry picked from commit c02970456dbc508257a0be85d6e2c13d237fbb0c)
- - - - -
d69e829d by Tony Chemit at 2021-01-20T21:15:01+01:00
Dysfonctionnement de l'arbre - Closes #1763
- - - - -
acf42c76 by Tony Chemit at 2021-01-20T21:15:07+01:00
Introduce a way to extract schema or table from generated schema (help to create new safe migration for v9)
- - - - -
c035d212 by Tony Chemit at 2021-01-20T22:46:38+01:00
Improve ExtraTable and ExtractSchema
- - - - -
3b4331ab by Tony Chemit at 2021-01-20T22:46:51+01:00
Réorganisation des données d’observation PS - Réorganisation des captures et échantillons de cible et bycatch observés - Closes #1254
- - - - -
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/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/SampleContentTableUIModelStates.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationCapability.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationInitializer.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationTreeNodeProvider.java
- client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/CommonRootNavigationTreeNodeProvider.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootNavigationTreeNodeProvider.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SamplePartUIHandler.java
- client/datasource/editor/ps/src/main/capabilities/fr/ird/observe/client/datasource/editor/ps/data/observation/SetUI.capabilities
- 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/i18n/getters/navigation.getter
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootNavigationTreeNodeProvider.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUI.jaxx
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIHandler.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIModelStates.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUITableModel.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUI.jaxx
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIHandler.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIModelStates.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUI.jaxx → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUI.jaxx
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIHandler.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIModelStates.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUITableModel.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUI.jaxx → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUI.jaxx
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUI.jcss → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUI.jcss
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bfd8462db74bf49fd8527bc7…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bfd8462db74bf49fd8527bc7…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][feature/1254] 2 commits: le projet compile, à tester
by Tony CHEMIT 20 Jan '21
by Tony CHEMIT 20 Jan '21
20 Jan '21
Tony CHEMIT pushed to branch feature/1254 at ultreiaio / ird-observe
Commits:
cc11d10d by Tony Chemit at 2021-01-20T19:51:02+01:00
le projet compile, à tester
- - - - -
bfd8462d by Tony Chemit at 2021-01-20T21:21:31+01:00
Use table DDL extractor
- - - - -
30 changed files:
- 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/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/SampleContentTableUIModelStates.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SamplePartUIHandler.java
- client/datasource/editor/ps/src/main/capabilities/fr/ird/observe/client/datasource/editor/ps/data/observation/SetUI.capabilities
- 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/i18n/getters/navigation.getter
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUI.jaxx
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIHandler.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIModelStates.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUITableModel.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUI.jaxx
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIHandler.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUITableModel.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUI.jaxx → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUI.jaxx
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIHandler.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIModelStates.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUITableModel.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SampleUITableModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUI.jaxx → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUI.jaxx
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUI.jcss → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUIHandler.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUIModelStates.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUIModelStates.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetNonTargetCatchUITableModel.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetCatchUITableModel.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUI.jaxx
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUIHandler.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUIModelStates.java
- − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetDiscardedTargetCatchUITableModel.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0498c7e8d1b7da2b5562c625…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0498c7e8d1b7da2b5562c625…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9] 3 commits: Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
by Tony CHEMIT 20 Jan '21
by Tony CHEMIT 20 Jan '21
20 Jan '21
Tony CHEMIT pushed to branch develop-9 at ultreiaio / ird-observe
Commits:
c8b22b1c by Tony Chemit at 2021-01-20T21:14:49+01:00
Problème de digit TargetLength.weight à 1 au lieu de 3 - Closes #1762
(cherry picked from commit c02970456dbc508257a0be85d6e2c13d237fbb0c)
- - - - -
d69e829d by Tony Chemit at 2021-01-20T21:15:01+01:00
Dysfonctionnement de l'arbre - Closes #1763
- - - - -
acf42c76 by Tony Chemit at 2021-01-20T21:15:07+01:00
Introduce a way to extract schema or table from generated schema (help to create new safe migration for v9)
- - - - -
16 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationCapability.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationInitializer.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationTreeNodeProvider.java
- client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/CommonRootNavigationTreeNodeProvider.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootNavigationTreeNodeProvider.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootNavigationTreeNodeProvider.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/TripAwareTopiaDao.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
- models/persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
- models/persistence/src/main/models/Observe-20-data-ps-observation.model
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/NavigationServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/TripServiceLocalSupport.java
- toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/ExecuteRunnerMojo.java
- + toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/ExtractSchema.java
- + toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/ExtractTable.java
- toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/GenerateEmptyDatabases.java
Changes:
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationCapability.java
=====================================
@@ -75,8 +75,8 @@ public class RootNavigationCapability implements ReferenceContainerCapability<Ro
NavigationTreeConfig config = initializer.getConfig();
NavigationResult navigationResult = initializer.getNavigationResult();
List<ProgramReference> programs = initializer.getPrograms();
- List<? extends RootNavigationTreeNodeProvider> rootNodeProviders = initializer.getRootNodeProviders();
- List<? extends RootNavigationTreeNodeProvider> providers = rootNodeProviders.stream().filter(p -> config.isShowModule(p.getModule())).collect(Collectors.toList());
+ List<? extends RootNavigationTreeNodeProvider<?>> rootNodeProviders = initializer.getRootNodeProviders();
+ List<? extends RootNavigationTreeNodeProvider<?>> providers = rootNodeProviders.stream().filter(p -> config.isShowModule(p.getModule())).collect(Collectors.toList());
providers.forEach(p -> p.initRootDataNode(config, navigationResult, programs, rootNode));
if (config.isLoadReferential()) {
providers.forEach(p -> p.initRootReferentialNode(rootNode, navigationResult));
@@ -98,13 +98,13 @@ public class RootNavigationCapability implements ReferenceContainerCapability<Ro
return 0;
}
- public RootNavigationTreeNodeProvider getProvider(ProgramReference referenceType) {
+ public RootNavigationTreeNodeProvider<?> getProvider(ProgramReference referenceType) {
return getNode().getInitializer().getRootNodeProvider(referenceType);
}
public NavigationNode newChildNode(ProgramReference reference) {
RootNavigationNode node = getNode();
- RootNavigationTreeNodeProvider provider = getProvider(reference);
+ RootNavigationTreeNodeProvider<?> provider = getProvider(reference);
return provider.newChildNode(node, reference, 0);
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationInitializer.java
=====================================
@@ -42,7 +42,7 @@ import java.util.Objects;
* @since 8.0.1
*/
public class RootNavigationInitializer extends NavigationInitializer<RootNavigationContext> {
- private final SingletonSupplier<List<? extends RootNavigationTreeNodeProvider>> rootNodeProviders;
+ private final SingletonSupplier<List<? extends RootNavigationTreeNodeProvider<?>>> rootNodeProviders;
private final SingletonSupplier<Boolean> canLoadChildrenOnOpen;
private final NavigationTreeConfig config;
private final NavigationResult navigationResult;
@@ -73,7 +73,7 @@ public class RootNavigationInitializer extends NavigationInitializer<RootNavigat
protected void reload(NavigationContext<RootNavigationContext> context) {
}
- public final List<? extends RootNavigationTreeNodeProvider> getRootNodeProviders() {
+ public final List<? extends RootNavigationTreeNodeProvider<?>> getRootNodeProviders() {
return rootNodeProviders.get();
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationTreeNodeProvider.java
=====================================
@@ -30,11 +30,10 @@ import fr.ird.observe.client.datasource.editor.api.content.referential.Referenti
import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
import fr.ird.observe.dto.reference.DataDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
-import fr.ird.observe.dto.referential.common.GearType;
import fr.ird.observe.dto.referential.common.ProgramReference;
import fr.ird.observe.services.service.data.NavigationResult;
-import fr.ird.observe.spi.module.BusinessModule;
import fr.ird.observe.spi.module.BusinessProject;
+import fr.ird.observe.spi.module.ObserveBusinessModule;
import java.util.Comparator;
import java.util.LinkedList;
@@ -49,19 +48,17 @@ import java.util.stream.Collectors;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 8.0
*/
-public abstract class RootNavigationTreeNodeProvider {
- public static List<RootNavigationTreeNodeProvider> PROVIDERS;
- private final BusinessModule module;
- //FIXME Add this in BusinessModule
- private final GearType gearType;
+public abstract class RootNavigationTreeNodeProvider<B extends fr.ird.observe.spi.module.BusinessModule & ObserveBusinessModule> {
+ public static List<RootNavigationTreeNodeProvider<?>> PROVIDERS;
+ private final B module;
private final int priority;
private final ImmutableList<Class<? extends NavigationNode>> acceptedNodeTypes;
private final Class<? extends DataDtoReference> acceptedType;
- public static synchronized List<RootNavigationTreeNodeProvider> getProviders() {
+ public static synchronized List<RootNavigationTreeNodeProvider<?>> getProviders() {
if (PROVIDERS == null) {
PROVIDERS = new LinkedList<>();
- for (RootNavigationTreeNodeProvider o : ServiceLoader.load(RootNavigationTreeNodeProvider.class)) {
+ for (RootNavigationTreeNodeProvider<?> o : ServiceLoader.load(RootNavigationTreeNodeProvider.class)) {
PROVIDERS.add(o);
}
PROVIDERS.sort(Comparator.comparing(RootNavigationTreeNodeProvider::priority));
@@ -69,9 +66,8 @@ public abstract class RootNavigationTreeNodeProvider {
return PROVIDERS;
}
- protected RootNavigationTreeNodeProvider(BusinessProject project, BusinessModule module, GearType gearType, ImmutableList<Class<? extends NavigationNode>> acceptedNodeTypes, Class<? extends DataDtoReference> acceptedType) {
+ protected RootNavigationTreeNodeProvider(BusinessProject project, B module, ImmutableList<Class<? extends NavigationNode>> acceptedNodeTypes, Class<? extends DataDtoReference> acceptedType) {
this.module = Objects.requireNonNull(module);
- this.gearType = gearType;
this.acceptedNodeTypes = acceptedNodeTypes;
this.acceptedType = acceptedType;
this.priority = Objects.requireNonNull(project).getModulePriority(module);
@@ -124,7 +120,7 @@ public abstract class RootNavigationTreeNodeProvider {
return priority;
}
- public BusinessModule getModule() {
+ public B getModule() {
return module;
}
@@ -140,7 +136,7 @@ public abstract class RootNavigationTreeNodeProvider {
}
public boolean accept(ProgramReference childrenReference) {
- return gearType != null && Objects.equals(gearType, childrenReference.getGearType());
+ return module.accept(childrenReference);
}
public ContentListUINavigationNode newChildNode(RootNavigationNode node, ProgramReference reference, int tripCount) {
=====================================
client/datasource/editor/common/src/main/java/fr/ird/observe/client/datasource/editor/common/CommonRootNavigationTreeNodeProvider.java
=====================================
@@ -26,21 +26,18 @@ import com.google.auto.service.AutoService;
import com.google.common.collect.ImmutableList;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavigationTreeNodeProvider;
import fr.ird.observe.spi.module.ObserveBusinessProject;
+import fr.ird.observe.spi.module.common.BusinessModule;
/**
* @author Tony Chemit - dev(a)tchemit.fr
* @since 8.0
*/
@AutoService(RootNavigationTreeNodeProvider.class)
-public class CommonRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider {
+public class CommonRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider<BusinessModule> {
public CommonRootNavigationTreeNodeProvider() {
- super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getCommonBusinessModule(), null,
+ super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getCommonBusinessModule(),
ImmutableList.of(fr.ird.observe.client.datasource.editor.common.referential.common.ReferentialHomeUINavigationNode.class), null);
}
-// @Override
-// public void initRootDataNode(NavigationTreeConfig config, NavigationResult navigationResult, List<ProgramReference> programs, RootNavigationNode rootNode) {
-// }
-
}
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/LlRootNavigationTreeNodeProvider.java
=====================================
@@ -28,19 +28,19 @@ import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavi
import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavigationTreeNodeProvider;
import fr.ird.observe.client.datasource.editor.ll.data.common.TripListUINavigationNode;
import fr.ird.observe.dto.data.ll.common.TripReference;
-import fr.ird.observe.dto.referential.common.GearType;
import fr.ird.observe.dto.referential.common.ProgramReference;
import fr.ird.observe.spi.module.ObserveBusinessProject;
+import fr.ird.observe.spi.module.ll.BusinessModule;
/**
* @author Tony Chemit - dev(a)tchemit.fr
* @since 8.0
*/
@AutoService(RootNavigationTreeNodeProvider.class)
-public class LlRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider {
+public class LlRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider<BusinessModule> {
public LlRootNavigationTreeNodeProvider() {
- super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getLlBusinessModule(), GearType.longline,
+ super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getLlBusinessModule(),
ImmutableList.of(TripListUINavigationNode.class,
fr.ird.observe.client.datasource.editor.ll.referential.common.ReferentialHomeUINavigationNode.class,
fr.ird.observe.client.datasource.editor.ll.referential.landing.ReferentialHomeUINavigationNode.class,
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/PsRootNavigationTreeNodeProvider.java
=====================================
@@ -28,19 +28,19 @@ import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavi
import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavigationTreeNodeProvider;
import fr.ird.observe.client.datasource.editor.ps.data.common.TripListUINavigationNode;
import fr.ird.observe.dto.data.ll.common.TripReference;
-import fr.ird.observe.dto.referential.common.GearType;
import fr.ird.observe.dto.referential.common.ProgramReference;
import fr.ird.observe.spi.module.ObserveBusinessProject;
+import fr.ird.observe.spi.module.ps.BusinessModule;
/**
* @author Tony Chemit - dev(a)tchemit.fr
* @since 8.0
*/
@AutoService(RootNavigationTreeNodeProvider.class)
-public class PsRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider {
+public class PsRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProvider<BusinessModule> {
public PsRootNavigationTreeNodeProvider() {
- super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getPsBusinessModule(), GearType.seine,
+ super(ObserveBusinessProject.get(), ObserveBusinessProject.get().getPsBusinessModule(),
ImmutableList.of(TripListUINavigationNode.class,
fr.ird.observe.client.datasource.editor.ps.referential.common.ReferentialHomeUINavigationNode.class,
fr.ird.observe.client.datasource.editor.ps.referential.observation.ReferentialHomeUINavigationNode.class),
@@ -49,6 +49,6 @@ public class PsRootNavigationTreeNodeProvider extends RootNavigationTreeNodeProv
@Override
public TripListUINavigationNode newChildNode(RootNavigationNode node, ProgramReference reference, int tripCount) {
- return TripListUINavigationNode.create(reference, (int) tripCount);
+ return TripListUINavigationNode.create(reference, tripCount);
}
}
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/TripAwareTopiaDao.java
=====================================
@@ -62,7 +62,7 @@ public interface TripAwareTopiaDao<D extends DataDto & fr.ird.observe.dto.data.T
List<E> getMatchingTripsVesselWithinDateRange(String id, String vesselId, Date startDate, Date endDate);
- List<R> getChildren(ReferentialLocale referentialLocale, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById);
+ List<R> getChildren(ReferentialLocale referentialLocale, String programId, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById);
default void fillTripCountByProgramId(Map<String, Integer> map) {
TopiaEntityEnum entityEnum = ((AbstractObserveTopiaDao<?>) this).getTopiaEntityEnum();
@@ -72,7 +72,7 @@ public interface TripAwareTopiaDao<D extends DataDto & fr.ird.observe.dto.data.T
default List<E> getChildren(Program parent, Date lastUpdate) {
if (lastUpdate == null) {
- return forProperties(TripAware.PROPERTY_PROGRAM, parent).findAll();
+ return forEquals(TripAware.PROPERTY_PROGRAM, parent).findAll();
}
return forLastUpdateDateGreaterThan(lastUpdate).addEquals(TripAware.PROPERTY_PROGRAM, parent).findAll();
}
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
=====================================
@@ -55,7 +55,7 @@ import java.util.stream.Collectors;
public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwareTopiaDao<TripDto, TripReference, Trip> {
- public static final String GET_TRIP_REFERENCES = "SELECT" +
+ public static final String GET_ALL_TRIP_REFERENCES = "SELECT" +
" t.program," +
" t.topiaId," +
" t.startDate," +
@@ -66,6 +66,19 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
" t.observationsAvailability," +
" t.logbookAvailability" +
" FROM %s.%s t;";
+ public static final String GET_TRIP_REFERENCES = "SELECT" +
+ " t.program," +
+ " t.topiaId," +
+ " t.startDate," +
+ " t.endDate," +
+ " t.tripType," +
+ " t.observer," +
+ " t.vessel," +
+ " t.observationsAvailability," +
+ " t.logbookAvailability" +
+ " FROM %s.%s t" +
+ " WHERE t.program = '%s';";
+
private static class TripMapActivityObsPointQuery extends TopiaSqlQuery<List<TripMapPoint>> {
@@ -269,7 +282,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
}
@Override
- public List<TripReference> getChildren(ReferentialLocale referentialLocale, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById) {
+ public List<TripReference> getChildren(ReferentialLocale referentialLocale, String programId, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById) {
String dbTableName = getTopiaEntityEnum().dbTableName();
Map<String, Integer> observationActivityCount = new TreeMap<>();
@@ -281,12 +294,16 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
Map<String, Integer> landingCount = new TreeMap<>();
fillCount(getCountSql(ObserveEntityEnum.ll_landing_Landing, dbTableName), landingCount);
- String sql = String.format(GET_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName);
-
+ String sql;
+ if (programId == null) {
+ sql = String.format(GET_ALL_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName);
+ } else {
+ sql = String.format(GET_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName, programId);
+ }
TopiaSqlQuery<TripReference> query = TopiaSqlQuery.wrap(sql, resultSet -> {
TripDto dto = new TripDto();
- String programId = resultSet.getString(1);
- dto.setProgram(programById.get(programId));
+ String thisProgramId = resultSet.getString(1);
+ dto.setProgram(programById.get(thisProgramId));
String id = resultSet.getString(2);
dto.setId(id);
dto.setStartDate(resultSet.getDate(3));
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
=====================================
@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
*/
public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwareTopiaDao<TripDto, TripReference, Trip> {
- public static final String GET_TRIP_REFERENCES = "SELECT" +
+ public static final String GET_ALL_TRIP_REFERENCES = "SELECT" +
" t.program," +
" t.topiaId," +
" t.startDate," +
@@ -68,6 +68,16 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
" t.vessel" +
" FROM %s.%s t;";
+ public static final String GET_TRIP_REFERENCES = "SELECT" +
+ " t.program," +
+ " t.topiaId," +
+ " t.startDate," +
+ " t.endDate," +
+ " t.observer," +
+ " t.vessel" +
+ " FROM %s.%s t" +
+ " WHERE t.program = '%s';";
+
private static class TripMapActivityObservationPointQuery extends TopiaSqlQuery<TripMapPoint> {
private static final String SQL = "SELECT" +
@@ -169,14 +179,20 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
}
@Override
- public List<TripReference> getChildren(ReferentialLocale referentialLocale, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById) {
+ public List<TripReference> getChildren(ReferentialLocale referentialLocale, String programId, ImmutableMap<String, ProgramReference> programById, ImmutableMap<String, PersonReference> personById, ImmutableMap<String, VesselReference> vesselById) {
String dbTableName = getTopiaEntityEnum().dbTableName();
- String sql = String.format(GET_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName);
+
+ String sql;
+ if (programId == null) {
+ sql = String.format(GET_ALL_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName);
+ } else {
+ sql = String.format(GET_TRIP_REFERENCES, getTopiaEntityEnum().dbSchemaName(), dbTableName, programId);
+ }
Map<String, Integer> observationRouteCount = new TreeMap<>();
fillCount(getCountSql(ObserveEntityEnum.ps_observation_Route, dbTableName), observationRouteCount);
TopiaSqlQuery<TripReference> query = TopiaSqlQuery.wrap(sql, resultSet -> {
- String programId = resultSet.getString(1);
+ String thisProgramId = resultSet.getString(1);
String id = resultSet.getString(2);
Integer routeCount = observationRouteCount.getOrDefault(id, 0);
@@ -186,7 +202,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> implements TripAwar
return routeCount;
}
};
- dto.setProgram(programById.get(programId));
+ dto.setProgram(programById.get(thisProgramId));
dto.setId(id);
dto.setStartDate(resultSet.getDate(3));
dto.setEndDate(resultSet.getDate(4));
=====================================
models/persistence/src/main/models/Observe-20-data-ps-observation.model
=====================================
@@ -189,7 +189,7 @@ data.ps.observation.TargetLength > data.DataEntity >> data.ps.observation.Length
length + {*:1} Float | sqlType=numeric digits=1
isLengthComputed + {*:1} boolean
count + {*:1} Integer
-weight + {*:1} Float | sqlType=numeric digits=1
+weight + {*:1} Float | sqlType=numeric digits=3
isWeightComputed + {*:1} boolean
acquisitionMode + {*:1} int
tagNumber + {*:1} String
=====================================
services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/NavigationServiceLocalSupport.java
=====================================
@@ -113,12 +113,12 @@ class NavigationServiceLocalSupport extends ObserveServiceLocal implements Navig
ArrayListMultimap<String, fr.ird.observe.dto.data.ll.common.TripReference> tripLlByProgram = ArrayListMultimap.create();
if (canReadData) {
if (loadPs) {
- List<fr.ird.observe.dto.data.ps.common.TripReference> trips = fr.ird.observe.entities.data.ps.common.Trip.SPI.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, programById, personById, vesselById);
+ List<fr.ird.observe.dto.data.ps.common.TripReference> trips = fr.ird.observe.entities.data.ps.common.Trip.SPI.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, null, programById, personById, vesselById);
trips.forEach(t -> tripPsByProgram.put(t.getProgram().getId(), t));
}
if (loadLl) {
- List<fr.ird.observe.dto.data.ll.common.TripReference> tripLl = fr.ird.observe.entities.data.ll.common.Trip.SPI.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, programById, personById, vesselById);
+ List<fr.ird.observe.dto.data.ll.common.TripReference> tripLl = fr.ird.observe.entities.data.ll.common.Trip.SPI.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, null, programById, personById, vesselById);
tripLl.forEach(t -> tripLlByProgram.put(t.getProgram().getId(), t));
}
}
=====================================
services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/TripServiceLocalSupport.java
=====================================
@@ -182,8 +182,7 @@ public abstract class TripServiceLocalSupport<D extends OpenableDto & fr.ird.obs
ImmutableSet<VesselReference> vessels = Vessel.toReferenceSet(referentialLocale, getTopiaPersistenceContext(), null).toSet();
ImmutableMap<String, VesselReference> vesselById = Maps.uniqueIndex(vessels, VesselReference::getId);
-
- List<R> references = spi.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, programById, personById, vesselById);
+ List<R> references = spi.getDao(getTopiaPersistenceContext()).getChildren(referentialLocale, parentId, programById, personById, vesselById);
return DataDtoReferenceSet.of(spi.toReferenceType(), references, now());
}
=====================================
toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/ExecuteRunnerMojo.java
=====================================
@@ -33,6 +33,7 @@ import java.io.File;
import java.net.URLClassLoader;
import java.nio.file.Path;
import java.util.List;
+import java.util.Map;
/**
* To execute the given
@@ -76,11 +77,15 @@ public class ExecuteRunnerMojo extends ToolboxMojoSupport {
@Parameter(defaultValue = "${project.build.directory}/generated-sources/java", required = true)
private File targetRoot;
+ @Parameter
+ private Map<String, String> extraProperties;
+
public static abstract class MojoRunnable implements Runnable {
protected I18nKeySet getterFile;
protected Log log;
private boolean force;
+ private Map<String, String> extraProperties;
public I18nKeySet getGetterFile() {
return getterFile;
@@ -105,6 +110,14 @@ public class ExecuteRunnerMojo extends ToolboxMojoSupport {
public void setForce(boolean force) {
this.force = force;
}
+
+ public Map<String, String> getExtraProperties() {
+ return extraProperties;
+ }
+
+ public void setExtraProperties(Map<String, String> extraProperties) {
+ this.extraProperties = extraProperties;
+ }
}
@Override
@@ -136,6 +149,7 @@ public class ExecuteRunnerMojo extends ToolboxMojoSupport {
MojoRunnable o = (MojoRunnable) urlClassLoader.loadClass(runnerType).getConstructor().newInstance();
o.setGetterFile(getterFile);
+ o.setExtraProperties(extraProperties);
o.setLog(getLog());
o.run();
}
=====================================
toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/ExtractSchema.java
=====================================
@@ -0,0 +1,108 @@
+package fr.ird.observe.maven.plugins.toolbox.persistence;
+
+/*-
+ * #%L
+ * ObServe Toolkit :: Maven plugin
+ * %%
+ * Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.maven.plugins.toolbox.ExecuteRunnerMojo;
+import org.nuiton.topia.persistence.script.TopiaSqlScript;
+import org.nuiton.topia.service.migration.resources.MigrationVersionResourceProvider;
+import org.nuiton.version.Version;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * To extract a single schema DDL into a specific sql file.
+ * <p>
+ * Created on 20/01/2021.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0.5
+ */
+public class ExtractSchema extends ExecuteRunnerMojo.MojoRunnable {
+
+ @Override
+ public void run() {
+
+ Path targetDirectory = new File(System.getProperty("compile.target.directory")).toPath();
+ Path sourceDirectory = new File(System.getProperty("compile.source.directory")).toPath();
+
+ String schemaName = getExtraProperties().get("schemaName");
+
+ Version modelVersion = MigrationVersionResourceProvider.get().getLastVersion();
+
+ Path dbRootPath = sourceDirectory.getParent().resolve("resources").resolve("db").resolve("migration").resolve(modelVersion.getVersion());
+ Path targetDbRootPath = targetDirectory.resolve("db").resolve("migration").resolve(modelVersion.getVersion());
+ try {
+ processScript(true, dbRootPath.resolve("observe_full-schema-H2.sql"), targetDbRootPath, schemaName);
+ processScript(false, dbRootPath.resolve("observe_full-schema-PG.sql"), targetDbRootPath, schemaName);
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ protected void processScript(boolean h2, Path incomingFullSchema, Path targetDbRootPath, String schemaName) throws IOException {
+ Path pathFullSchema = incomingFullSchema.getParent().resolve(incomingFullSchema.toFile().getName().replace("-schema-", "-schema-" + schemaName+"-"));
+ log.info(String.format("Generating schema %s schema [%s] (from %s).", schemaName, pathFullSchema.toFile().getName(), incomingFullSchema));
+ TopiaSqlScript script = TopiaSqlScript.of(incomingFullSchema);
+ Path pathCreateSchema = pathFullSchema.getParent().resolve(pathFullSchema.toFile().getName().replace("full", "create"));
+ Path pathFinalizeSchema = pathFullSchema.getParent().resolve(pathFullSchema.toFile().getName().replace("full", "finalize"));
+ List<String> createSchemaStatements = new LinkedList<>();
+ List<String> finalizeSchemaStatements = new LinkedList<>();
+ script.getLocation().forEach(statement -> {
+ String trim = statement.toLowerCase().trim();
+ if (trim.startsWith("create schema " + schemaName) || trim.startsWith("create table " + schemaName)) {
+ if (!h2) {
+ statement = statement.replace("data blob", "data OID");
+ }
+ createSchemaStatements.add(statement);
+ } else {
+ if (trim.startsWith("alter table " + schemaName) || trim.startsWith("create index idx_" + schemaName)) {
+ finalizeSchemaStatements.add(statement);
+ }
+ }
+ });
+
+ int createStatementCount = createSchemaStatements.size();
+ int finalizeStatementCount = finalizeSchemaStatements.size();
+
+ log.info(String.format("Generated create schema (%d statements) at %s.", createStatementCount, pathCreateSchema));
+ Files.write(pathCreateSchema, createSchemaStatements);
+ copyToTarget(pathCreateSchema, targetDbRootPath);
+
+ log.info(String.format("Generated finalize schema (%d statements) at %s.", finalizeStatementCount, pathFinalizeSchema));
+ Files.write(pathFinalizeSchema, finalizeSchemaStatements);
+ copyToTarget(pathFinalizeSchema, targetDbRootPath);
+ }
+
+ private void copyToTarget(Path source, Path targetDbRootPath) throws IOException {
+ Path target = targetDbRootPath.resolve(source.toFile().getName());
+ Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
+ getLog().debug(String.format("Copy from %s → %s", source.toFile().getName(), target));
+ }
+
+}
=====================================
toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/ExtractTable.java
=====================================
@@ -0,0 +1,116 @@
+package fr.ird.observe.maven.plugins.toolbox.persistence;
+
+/*-
+ * #%L
+ * ObServe Toolkit :: Maven plugin
+ * %%
+ * Copyright (C) 2008 - 2021 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.entities.ObserveTopiaApplicationContextSupport;
+import fr.ird.observe.entities.ObserveTopiaConfiguration;
+import fr.ird.observe.entities.ObserveTopiaConfigurationFactory;
+import fr.ird.observe.maven.plugins.toolbox.ExecuteRunnerMojo;
+import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2;
+import org.nuiton.topia.persistence.script.TopiaSqlScript;
+import org.nuiton.topia.service.migration.resources.MigrationVersionResourceProvider;
+import org.nuiton.version.Version;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.function.BiFunction;
+
+/**
+ * to extract a single table DDL into a specific sql file.
+ * Created on 20/01/2021.
+ *
+ * @author Tony Chemit - dev(a)tchemit.fr
+ * @since 8.0.5
+ */
+public class ExtractTable extends ExecuteRunnerMojo.MojoRunnable {
+
+ @Override
+ public void run() {
+
+ Path targetDirectory = new File(System.getProperty("compile.target.directory")).toPath();
+ Path sourceDirectory = new File(System.getProperty("compile.source.directory")).toPath();
+
+ String schemaName = getExtraProperties().get("schemaName");
+ String tableName = getExtraProperties().get("tableName");
+
+ Version modelVersion = MigrationVersionResourceProvider.get().getLastVersion();
+
+ Path dbRootPath = sourceDirectory.getParent().resolve("resources").resolve("db").resolve("migration").resolve(modelVersion.getVersion());
+ Path targetDbRootPath = targetDirectory.resolve("db").resolve("migration").resolve(modelVersion.getVersion());
+ try {
+ processScript(true, dbRootPath.resolve("observe_full-schema-H2.sql"), targetDbRootPath, schemaName, tableName);
+ processScript(false, dbRootPath.resolve("observe_full-schema-PG.sql"), targetDbRootPath, schemaName, tableName);
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ protected void processScript(boolean h2, Path incomingFullSchema, Path targetDbRootPath, String schemaName, String tableName) throws IOException {
+ String suffix = schemaName + "." + tableName;
+ Path pathFullSchema = incomingFullSchema.getParent().resolve(incomingFullSchema.toFile().getName().replace("-schema-", "-table-" + suffix+"-"));
+ log.info(String.format("Generating table %s.%s schema [%s] (from %s).", schemaName, tableName, pathFullSchema.toFile().getName(), incomingFullSchema));
+ TopiaSqlScript script = TopiaSqlScript.of(incomingFullSchema);
+ Path pathCreateSchema = pathFullSchema.getParent().resolve(pathFullSchema.toFile().getName().replace("full", "create"));
+ Path pathFinalizeSchema = pathFullSchema.getParent().resolve(pathFullSchema.toFile().getName().replace("full", "finalize"));
+ List<String> createSchemaStatements = new LinkedList<>();
+ List<String> finalizeSchemaStatements = new LinkedList<>();
+
+ String suffix2 = schemaName + "_" + tableName;
+ script.getLocation().forEach(statement -> {
+ String trim = statement.toLowerCase().trim();
+ if (trim.startsWith("create table " + suffix)) {
+ if (!h2) {
+ statement = statement.replace("data blob", "data OID");
+ }
+ createSchemaStatements.add(statement);
+ } else {
+ if (trim.startsWith("alter table " + suffix) || trim.startsWith("create index idx_" + suffix2)) {
+ finalizeSchemaStatements.add(statement);
+ }
+ }
+ });
+
+ int createStatementCount = createSchemaStatements.size();
+ int finalizeStatementCount = finalizeSchemaStatements.size();
+
+ log.info(String.format("Generated create table (%d statements) at %s.", createStatementCount, pathCreateSchema));
+ Files.write(pathCreateSchema, createSchemaStatements);
+ copyToTarget(pathCreateSchema, targetDbRootPath);
+
+ log.info(String.format("Generated finalize table (%d statements) at %s.", finalizeStatementCount, pathFinalizeSchema));
+ Files.write(pathFinalizeSchema, finalizeSchemaStatements);
+ copyToTarget(pathFinalizeSchema, targetDbRootPath);
+ }
+
+ private void copyToTarget(Path source, Path targetDbRootPath) throws IOException {
+ Path target = targetDbRootPath.resolve(source.toFile().getName());
+ Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
+ getLog().debug(String.format("Copy from %s → %s", source.toFile().getName(), target));
+ }
+}
=====================================
toolkit/maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/persistence/GenerateEmptyDatabases.java
=====================================
@@ -115,11 +115,11 @@ public class GenerateEmptyDatabases extends ExecuteRunnerMojo.MojoRunnable {
log.info(String.format("Generated full schema (%d statements) at %s.", fullStatementCount, pathFullSchema));
copyToTarget(pathFullSchema, targetDbRootPath);
- log.info(String.format("Generated create schema (%d statements) at %s.", createStatementCount, pathFullSchema));
+ log.info(String.format("Generated create schema (%d statements) at %s.", createStatementCount, pathCreateSchema));
Files.write(pathCreateSchema, createSchemaStatements);
copyToTarget(pathCreateSchema, targetDbRootPath);
- log.info(String.format("Generated finalize schema (%d statements) at %s.", finalizeStatementCount, pathFullSchema));
+ log.info(String.format("Generated finalize schema (%d statements) at %s.", finalizeStatementCount, pathFinalizeSchema));
Files.write(pathFinalizeSchema, finalizeSchemaStatements);
copyToTarget(pathFinalizeSchema, targetDbRootPath);
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/70b7c1856f1012e9866dad38…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/70b7c1856f1012e9866dad38…
You're receiving this email because of your account on gitlab.com.
1
0