mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
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
observe-commits@list.forge.codelutin.com

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

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
0 0
[Git][ultreiaio/ird-observe][develop] Micro bizarrerie sur le modèle 8.0 - Closes #1764
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
0 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

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&#39;release/8.0.4&#39; with non-snapshot versions[skip ci] - - - - - 7123ab14 by Tony Chemit at 2021-01-19T11:32:01+01:00 [jgitflow-maven-plugin]merging &#39;release/8.0.4&#39; into &#39;master&#39; - - - - - 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 &#39;master&#39; into &#39;develop&#39; - - - - - 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&#39;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
0 0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - Closes #1768
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
0 0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - See #1768
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
0 0
[Git][ultreiaio/ird-observe][develop] Suppression en cade des libérations de capture accessoire - See #1768
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
0 0
[Git][ultreiaio/ird-observe][develop] 8 commits: Improve ExtraTable and ExtractSchema
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
0 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

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&#39;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
0 0
[Git][ultreiaio/ird-observe][feature/1254] 2 commits: le projet compile, à tester
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
0 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

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&#39;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
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ...
  • 12
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.