Tony CHEMIT pushed to branch feature/issue-2907 at ultreiaio / ird-observe Commits: 4be41afb by Tony Chemit at 2024-09-11T15:16:58+02:00 Downgrade log4j version (need to understand new warnings) - - - - - c928e6ce by Tony Chemit at 2024-09-11T15:49:04+02:00 Fix observe.Common.tracelineLength I18n value - - - - - e2d5e24c by Tony Chemit at 2024-09-11T17:51:44+02:00 Fix consolidation printResult on SampleActivity - - - - - 2c7121a6 by Tony Chemit at 2024-09-12T14:31:37+02:00 [services-test] Add default validation factory name in DataEntityServiceLocalWriteTest - - - - - 37dcbbaf by Tony Chemit at 2024-09-13T13:42:32+02:00 update pom - - - - - 66ca96c0 by Tony Chemit at 2024-09-13T15:03:51+02:00 [i18n] quelques améliorations demandées - See #2907#note_2097858285 - - - - - a065e178 by Tony Chemit at 2024-09-13T15:03:56+02:00 [client] use a default weight measure method in create mode - See #2907 - - - - - 9dc471ea by Tony Chemit at 2024-09-13T15:07:00+02:00 Fix decorator in table for location on branchline - - - - - 258364d5 by Tony Chemit at 2024-09-13T15:07:00+02:00 New design of form - - - - - 8200828c by Tony Chemit at 2024-09-13T15:07:00+02:00 Fix focus owner to number (but should review this in Focus session) - - - - - 17 changed files: - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java - client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter - 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/SetCatchUI.jcss - 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/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUITableModel.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUI.jcss - core/api/dto-decoration/src/main/i18n/getters/labels.getter - core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties - core/api/dto/src/main/java/fr/ird/observe/dto/ProtectedIdsLl.java - core/services/i18n/src/main/i18n/translations/services_en_GB.properties - core/services/i18n/src/main/i18n/translations/services_es_ES.properties - core/services/i18n/src/main/i18n/translations/services_fr_FR.properties - core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java - model/src/main/models/Observe/dto/class/i18nLabels.properties - pom.xml Changes: ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java ===================================== @@ -37,6 +37,7 @@ import fr.ird.observe.dto.ProgressionModel; import fr.ird.observe.dto.ToolkitIdModifications; import fr.ird.observe.dto.data.TripAware; import fr.ird.observe.dto.data.ps.localmarket.BatchDto; +import fr.ird.observe.dto.data.ps.logbook.SampleActivityDto; import fr.ird.observe.dto.data.ps.observation.CatchDto; import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto; import fr.ird.observe.dto.data.ps.observation.SampleMeasureDto; @@ -195,7 +196,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> { printResult(activityResult); } for (ToolkitIdModifications modifications : result.getLogbookSampleActivityResults()) { - printResult(BatchDto.class, modifications); + printResult(SampleActivityDto.class, modifications); } for (ToolkitIdModifications batchResult : result.getLocalmarketBatchResults()) { printResult(BatchDto.class, batchResult); ===================================== client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter ===================================== @@ -224,15 +224,12 @@ observe.data.ll.observation.Set.monitored observe.data.ll.observation.Set.number observe.data.ll.observation.Set.settingCharacteristicsTab observe.data.ll.observation.Set.settingTab -observe.data.ll.observation.SetDetailComposition.baskets observe.data.ll.observation.SetDetailComposition.branchlineTab -observe.data.ll.observation.SetDetailComposition.branchlines observe.data.ll.observation.SetDetailComposition.canGenerate observe.data.ll.observation.SetDetailComposition.compositionTab observe.data.ll.observation.SetDetailComposition.generateTab observe.data.ll.observation.SetDetailComposition.hookAndBaitTab observe.data.ll.observation.SetDetailComposition.noBranchlineSelected -observe.data.ll.observation.SetDetailComposition.sections observe.data.ll.observation.SetDetailComposition.templateInformation observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab observe.data.ll.observation.SetGlobalComposition.branchlinesCompositionTab ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUI.jaxx ===================================== @@ -120,17 +120,27 @@ <JTabbedPane id='mainTabbedPane'> <tab id='caracteristicTab' i18nProperty=""> <Table id='editForm' fill='both' insets='1'> - <row> - <cell columns="2"> - <!-- acquisition Mode --> + <cell columns="2" rows="2"> <JPanel id='acquisitionMode'> <JRadioButton id='acquisitionModeIndividual'/> <JRadioButton id='acquisitionModeGrouped'/> </JPanel> </cell> - <cell columns="2" rows="2"> - <!-- location on longline --> + <cell> + <JLabel id='numberLabel'/> + </cell> + <cell weightx='1' anchor='east'> + <NumberEditor id='number' styleClass="int6"/> + </cell> + </row> + <row> + <cell> + <JPanel/> + </cell> + </row> + <row> + <cell columns="2" rows="4"> <Table id="locationOnLonglinePanel"> <row> <cell anchor="west"> @@ -158,9 +168,6 @@ </row> </Table> </cell> - </row> - <!-- species --> - <row> <cell> <JLabel id='speciesLabel'/> </cell> @@ -168,16 +175,7 @@ <FilterableComboBox id='species' genericType='SpeciesReference'/> </cell> </row> - - <!-- tagNumber --> - <!-- count --> <row> - <cell anchor='west'> - <JLabel id='tagNumberLabel'/> - </cell> - <cell anchor='east' weightx="1" fill="both"> - <NormalTextEditor id='tagNumber'/> - </cell> <cell> <JLabel id='countLabel'/> </cell> @@ -185,22 +183,6 @@ <NumberEditor id='count' styleClass="int6"/> </cell> </row> - - <!-- number --> - <row> - <cell> - <JLabel id='numberLabel'/> - </cell> - <cell weightx='1' anchor='east'> - <NumberEditor id='number' styleClass="int6"/> - </cell> - <cell columns="2"> - <JPanel/> - </cell> - </row> - - <!-- total weight --> - <!-- weightMeasureMethod --> <row> <cell> <JLabel id='totalWeightLabel'/> @@ -208,6 +190,8 @@ <cell weightx='1' anchor='east'> <NumberEditor id='totalWeight' styleClass="float3"/> </cell> + </row> + <row> <cell> <JLabel id='weightMeasureMethodLabel'/> </cell> @@ -215,9 +199,6 @@ <FilterableComboBox id='weightMeasureMethod' genericType='WeightMeasureMethodReference'/> </cell> </row> - - <!-- catch healthStatus --> - <!-- hook position --> <row> <cell> <JLabel id='catchHealthStatusLabel'/> @@ -225,16 +206,7 @@ <cell weightx='1' anchor='east'> <FilterableComboBox id='catchHealthStatus' genericType='HealthStatusReference'/> </cell> - <cell> - <JLabel id='hookPositionLabel'/> - </cell> - <cell weightx='1' anchor='east'> - <FilterableComboBox id='hookPosition' genericType='HookPositionReference'/> - </cell> </row> - - <!-- catch fate --> - <!-- discard healthStatus --> <row> <cell> <JLabel id='catchFateLabel'/> @@ -249,24 +221,44 @@ <FilterableComboBox id='discardHealthStatus' genericType='HealthStatusReference'/> </cell> </row> - - <!-- hookWhenDiscarded --> - <!-- photoReferences --> <row> + <cell> + <JLabel id='hookPositionLabel'/> + </cell> + <cell weightx='1' anchor='east'> + <FilterableComboBox id='hookPosition' genericType='HookPositionReference'/> + </cell> <cell anchor="west"> <JLabel id='hookWhenDiscardedLabel'/> </cell> <cell anchor='west' fill="both"> <BooleanEditor id='hookWhenDiscarded'/> </cell> + </row> + <row> <cell anchor='west'> <JLabel id='photoReferencesLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> <NormalTextEditor id='photoReferences'/> </cell> + <cell columns="2"/> + <!-- <cell anchor='west'>--> + <!-- <JLabel id='sampleReferencesLabel'/>--> + <!-- </cell>--> + <!-- <cell anchor='east' weightx="1" fill="both">--> + <!-- <NormalTextEditor id='sampleReferences'/>--> + <!-- </cell>--> </row> + <row> + <cell anchor='west'> + <JLabel id='tagNumberLabel'/> + </cell> + <cell anchor='east' weightx="1" fill="both"> + <NormalTextEditor id='tagNumber'/> + </cell> + </row> </Table> </tab> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUI.jcss ===================================== @@ -26,7 +26,7 @@ } #mainTabbedPane { - _focusComponent:{newComponentArray(acquisitionModeIndividual,depredated,beatDiameter)}; + _focusComponent:{newComponentArray(number,depredated,beatDiameter)}; } /* ***************************************************************************** */ ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java ===================================== @@ -43,7 +43,6 @@ import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.validator.swing.SwingValidator; import javax.swing.AbstractAction; -import javax.swing.JComponent; import javax.swing.JToolBar; import java.awt.Component; import java.awt.event.ActionEvent; @@ -74,19 +73,20 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler { @Override protected Component getFocusComponentOnSelectedRow(SetCatchUI ui, boolean notPersisted, boolean newRow, CatchDto tableEditBean, CatchDto previousRowBean) { - JComponent requestFocus; - if (newRow) { - requestFocus = ui.getSpecies(); - } else { - int acquisitionMode = tableEditBean.getAcquisitionMode(); - CatchAcquisitionMode acquisitionModeEnum = CatchAcquisitionMode.valueOf(acquisitionMode); - if (acquisitionModeEnum.equals(CatchAcquisitionMode.GROUPED)) { - requestFocus = ui.getCount(); - } else { - requestFocus = ui.getCatchHealthStatus(); - } - } - return requestFocus; + //FIXME Review this on Focus clean session +// JComponent requestFocus; +// if (newRow) { +// requestFocus = ui.getNumber(); +// } else { +// int acquisitionMode = tableEditBean.getAcquisitionMode(); +// CatchAcquisitionMode acquisitionModeEnum = CatchAcquisitionMode.valueOf(acquisitionMode); +// if (acquisitionModeEnum.equals(CatchAcquisitionMode.GROUPED)) { +// requestFocus = ui.getCount(); +// } else { +// requestFocus = ui.getCatchHealthStatus(); +// } +// } + return ui.getNumber(); } @Override @@ -261,6 +261,7 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler { editBean.setSection(null); editBean.setBasket(null); editBean.setBranchline(null); + editBean.setWeightMeasureMethod(ui.getModel().getStates().getDefaultWeightMeasureMethod()); } break; ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIModelStates.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.ll.data.observation; */ import fr.ird.observe.client.configuration.ClientConfig; +import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; 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.ContentUI; @@ -36,6 +37,7 @@ import fr.ird.observe.dto.data.ll.observation.BranchlineDto; import fr.ird.observe.dto.data.ll.observation.CatchDto; import fr.ird.observe.dto.data.ll.observation.SetCatchDto; import fr.ird.observe.dto.form.Form; +import fr.ird.observe.dto.referential.common.WeightMeasureMethodReference; import fr.ird.observe.dto.referential.ll.common.CatchFateReference; import fr.ird.observe.navigation.id.Project; import fr.ird.observe.services.ObserveServicesProvider; @@ -48,6 +50,18 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates { * Branchline edit bean. */ private final BranchlineDto branchlineBean; + /** + * Default acquisition mode to use. + * <p> + * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2671">issue 2671</a> + */ + private final CatchAcquisitionMode defaultAcquisitionMode; + /** + * Default weight measure method to use for new data. + * <p> + * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2907">issue 2907</a> + */ + private final WeightMeasureMethodReference defaultWeightMeasureMethod; /** * Position helper. */ @@ -57,16 +71,15 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates { */ protected boolean showIndividualTabs; - /** - * Default acquisition mode to use. - * <p> - * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2671">issue 2671</a> - */ - private CatchAcquisitionMode defaultAcquisitionMode; - public SetCatchUIModelStates(GeneratedSetCatchUIModel model) { super(model); this.branchlineBean = new BranchlineDto(); + ObserveSwingDataSource mainDataSource = model.getSource().getContext().getMainDataSource(); + this.defaultWeightMeasureMethod = mainDataSource.getReferentialReferenceSet(WeightMeasureMethodReference.class).tryGetReferenceById(ProtectedIdsLl.LL_OBSERVATION_CATCH_DEFAULT_WEIGHT_MEASURE_METHOD_ID).orElseThrow(IllegalStateException::new); + TripUINavigationNode tripNode = (TripUINavigationNode) model.getSource().upToReferenceNode(TripReference.class); + TripReference tripReference = tripNode.getReference(); + String observationMethodId = tripReference.getObservationMethodId(); + this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL; } @Override @@ -74,10 +87,10 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates { super.init(ui, initializerResult); SetCatchUI ui1 = (SetCatchUI) ui; positionHelper = new LonglinePositionHelper<>(ui1.getSection(), ui1.getBasket(), ui1.getBranchline(), ui1.getTableEditBean()); - TripUINavigationNode tripNode = (TripUINavigationNode) ui1.getModel().getSource().upToReferenceNode(TripReference.class); - TripReference tripReference = tripNode.getReference(); - String observationMethodId = tripReference.getObservationMethodId(); - this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL; +// TripUINavigationNode tripNode = (TripUINavigationNode) ui1.getModel().getSource().upToReferenceNode(TripReference.class); +// TripReference tripReference = tripNode.getReference(); +// String observationMethodId = tripReference.getObservationMethodId(); +// this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL; } @Override @@ -103,12 +116,17 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates { public void initDefault(CatchDto newTableBean) { super.initDefault(newTableBean); newTableBean.setAcquisitionMode(defaultAcquisitionMode.ordinal()); + newTableBean.setWeightMeasureMethod(defaultWeightMeasureMethod); } public CatchAcquisitionMode getDefaultAcquisitionMode() { return defaultAcquisitionMode; } + public WeightMeasureMethodReference getDefaultWeightMeasureMethod() { + return defaultWeightMeasureMethod; + } + public BranchlineDto getBranchlineBean() { return branchlineBean; } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUITableModel.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.ll.data.observation; */ import fr.ird.observe.client.util.table.EditableListProperty; +import fr.ird.observe.client.util.table.renderer.DecoratorTableRenderer; import fr.ird.observe.dto.data.CatchAcquisitionMode; import fr.ird.observe.dto.data.ll.observation.CatchDto; import fr.ird.observe.dto.data.ll.observation.SizeMeasureDto; @@ -30,6 +31,8 @@ import fr.ird.observe.dto.data.ll.observation.WeightMeasureDto; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import javax.swing.JTable; +import javax.swing.table.TableColumnModel; import java.util.Collection; import java.util.List; @@ -79,6 +82,15 @@ public class SetCatchUITableModel extends GeneratedSetCatchUITableModel { return weightMeasuresTableModel; } + @Override + public void initTableUISize(JTable table) { + super.initTableUISize(table); + TableColumnModel columnModel = table.getColumnModel(); + ((DecoratorTableRenderer) columnModel.getColumn(2).getCellRenderer()).getDecorator().setIndex(1); + ((DecoratorTableRenderer) columnModel.getColumn(3).getCellRenderer()).getDecorator().setIndex(1); + ((DecoratorTableRenderer) columnModel.getColumn(4).getCellRenderer()).getDecorator().setIndex(1); + } + @Override protected void onBeforeResetRow(int row) { super.onBeforeResetRow(row); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUI.jcss ===================================== @@ -73,7 +73,7 @@ EditableTable { } #sectionsPanel { - i18nProperty:sections; + i18nProperty:section; _doNotTranslateFieldName: true; } @@ -86,11 +86,11 @@ EditableTableModel { } #basketsPanel { - i18nProperty:baskets; + i18nProperty:basket; } #branchlinesPanel { - i18nProperty:branchlines; + i18nProperty:branchline; } /* ***************************************************************************** */ ===================================== core/api/dto-decoration/src/main/i18n/getters/labels.getter ===================================== @@ -749,11 +749,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length -observe.data.ll.observation.SetDetailComposition.baskets observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title observe.data.ll.observation.SetDetailComposition.branchlineTab -observe.data.ll.observation.SetDetailComposition.branchlines observe.data.ll.observation.SetDetailComposition.canGenerate observe.data.ll.observation.SetDetailComposition.compositionTab observe.data.ll.observation.SetDetailComposition.firstTemplate.template.notCompliant.basketCount @@ -764,7 +762,6 @@ observe.data.ll.observation.SetDetailComposition.section.cant.delete.message observe.data.ll.observation.SetDetailComposition.section.cant.delete.title observe.data.ll.observation.SetDetailComposition.section.delete.message observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete -observe.data.ll.observation.SetDetailComposition.sections observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate observe.data.ll.observation.SetDetailComposition.type observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab ===================================== core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties ===================================== @@ -20,7 +20,7 @@ # #L% ### #Generated by org.nuiton.i18n.plugin.GenerateI18nLabelsMojo -#Tue Aug 27 18:04:46 CEST 2024 +#Fri Sep 13 14:33:58 CEST 2024 observe.Business.createDate=observe.Common.createDate observe.Business.homeId=observe.Common.homeId observe.Business.id=observe.Common.id @@ -952,7 +952,9 @@ observe.data.ll.observation.SetCatch.version=observe.Common.version observe.data.ll.observation.SetDetailComposition.baitHaulingStatus=observe.Common.baitHaulingStatus observe.data.ll.observation.SetDetailComposition.baitSettingStatus=observe.Common.baitSettingStatus observe.data.ll.observation.SetDetailComposition.baitType=observe.Common.baitType +observe.data.ll.observation.SetDetailComposition.basket=observe.Common.basket observe.data.ll.observation.SetDetailComposition.basketsPerSectionCount=observe.Common.basketsPerSectionCount +observe.data.ll.observation.SetDetailComposition.branchline=observe.Common.branchline observe.data.ll.observation.SetDetailComposition.branchlinesPerBasketCount=observe.Common.branchlinesPerBasketCount observe.data.ll.observation.SetDetailComposition.comment=observe.Common.comment observe.data.ll.observation.SetDetailComposition.createDate=observe.Common.createDate ===================================== core/api/dto/src/main/java/fr/ird/observe/dto/ProtectedIdsLl.java ===================================== @@ -35,6 +35,7 @@ public interface ProtectedIdsLl { String LL_COMMON_ACTIVITY_HARBOUR_ID = "fr.ird.referential.ll.common.VesselActivity#666#03"; String LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID = "fr.ird.referential.ll.common.ObservationMethod#1239832686136#0.1"; + String LL_OBSERVATION_CATCH_DEFAULT_WEIGHT_MEASURE_METHOD_ID = "fr.ird.referential.common.WeightMeasureMethod#666#03"; String LL_OBSERVATION_CATCH_DISCARDED_CATCH_FATE_ID = "fr.ird.referential.ll.common.CatchFate#1239832686125#0.3"; String LL_LOGBOOK_ACTIVITY_DEFAULT_DATA_QUALITY_ID = "fr.ird.referential.common.DataQuality#0#1"; String LL_LOGBOOK_LANDING_PART_DEFAULT_DATA_QUALITY_ID = "fr.ird.referential.common.DataQuality#0#5"; ===================================== core/services/i18n/src/main/i18n/translations/services_en_GB.properties ===================================== @@ -374,7 +374,7 @@ observe.Common.totalLightsticksCount=Total number of lightsticks observe.Common.totalLineLength=Total line length observe.Common.totalSectionsCount=Total sections observe.Common.traceCutOff=Trace cut off -observe.Common.tracelineLength=Traceline length (m) +observe.Common.tracelineLength=Traceline length observe.Common.tracelineLength.short=Traceline length (m) observe.Common.tracelineType=Traceline type observe.Common.tracelineType.short=Traceline type @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=The current basket can not be deleted since it used by other data. observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Can't delete basket observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length=The floatline 2 (%s) is not equals to the floatline 1 of the next basket(%s) -observe.data.ll.observation.SetDetailComposition.baskets=Baskets observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message=The current branchline can not be deleted since it used by other data. observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Can't delete branchline observe.data.ll.observation.SetDetailComposition.branchlineTab=Branchline detail -observe.data.ll.observation.SetDetailComposition.branchlines=Branchlines observe.data.ll.observation.SetDetailComposition.canGenerate=Can generate observe.data.ll.observation.SetDetailComposition.compositionTab=Composition observe.data.ll.observation.SetDetailComposition.firstTemplate.template.notCompliant.basketCount=Template %s is not compliant with the number of baskets per section (%s) @@ -920,7 +918,6 @@ observe.data.ll.observation.SetDetailComposition.section.cant.delete.message=The observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Can't delete section observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirm to delete all sections. observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirm to delete current template. -observe.data.ll.observation.SetDetailComposition.sections=Sections observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Can't use the first template while generating observe.data.ll.observation.SetDetailComposition.type=Detailed composition observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab=Baits ===================================== core/services/i18n/src/main/i18n/translations/services_es_ES.properties ===================================== @@ -374,7 +374,7 @@ observe.Common.totalLightsticksCount=Número total de barras de luz observe.Common.totalLineLength=Total line length\#TODO observe.Common.totalSectionsCount=totalSectionsCount \#TODO observe.Common.traceCutOff=Bajo de línea cortada -observe.Common.tracelineLength=Parte baja (m) +observe.Common.tracelineLength=Parte baja observe.Common.tracelineLength.short=Parte baja (m) observe.Common.tracelineType=Tipo bajo de línea observe.Common.tracelineType.short=Tipo bajo de línea @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=La cesta no puede ser eliminada porque está uilizada en los datos. observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Impossible de eliminar la cesta observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length=La longitud de orinque 2 (%s) no es igual a la longitud del orinque 1 de la cesta que sigue (%s) -observe.data.ll.observation.SetDetailComposition.baskets=Cestas observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message=El arponcillo no puede ser eliminado porque está uilizado en los datos. observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Impossible de eliminar el arponcillo observe.data.ll.observation.SetDetailComposition.branchlineTab=Detalle del arponcillo -observe.data.ll.observation.SetDetailComposition.branchlines=Arponcillos observe.data.ll.observation.SetDetailComposition.canGenerate=Autorizar la generación observe.data.ll.observation.SetDetailComposition.compositionTab=Composición observe.data.ll.observation.SetDetailComposition.firstTemplate.template.notCompliant.basketCount=el template a utilizar %s no es compatible con el número de cestas por sección (%s) @@ -920,7 +918,6 @@ observe.data.ll.observation.SetDetailComposition.section.cant.delete.message=La observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Impossible de eliminar la sección observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirmar la eliminación de todas las secciones. observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirmar la eliminación del template seleccionada. -observe.data.ll.observation.SetDetailComposition.sections=Secciones observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Impossible de utilizar el primer modelo durante la generación observe.data.ll.observation.SetDetailComposition.type=Composiciones detalladas observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab=Cebos ===================================== core/services/i18n/src/main/i18n/translations/services_fr_FR.properties ===================================== @@ -105,8 +105,8 @@ observe.Common.description=Description observe.Common.destination=Destination observe.Common.destination.short=Destination observe.Common.directory=Répertoire -observe.Common.discardHealthStatus=Santé au rejet -observe.Common.discardHealthStatus.short=Santé au rejet +observe.Common.discardHealthStatus=État au rejet +observe.Common.discardHealthStatus.short=État au rejet observe.Common.distance=Distance (m) observe.Common.distance.short=Distance (m) observe.Common.enabled=Actif @@ -374,7 +374,7 @@ observe.Common.totalLightsticksCount=Nombre total de cyalumes observe.Common.totalLineLength=Longueur totale de la ligne observe.Common.totalSectionsCount=Nombre total de sections observe.Common.traceCutOff=Bas de ligne coupé -observe.Common.tracelineLength=Longueur bas de ligne (m) +observe.Common.tracelineLength=Longueur bas de ligne observe.Common.tracelineLength.short=Longueur bas de ligne (m) observe.Common.tracelineType=Type bas de ligne observe.Common.tracelineType.short=Type bas de ligne @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=Le panier ne peut pas être supprimé car il est utilisé dans des données. observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Impossible de supprimer le panier observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length=La longueur d'orin 2 (%s) n'est pas égale à la longueur d'orin 1 du panier suivant (%s) -observe.data.ll.observation.SetDetailComposition.baskets=Paniers observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message=L'avançon ne peut pas être supprimé car il est utilisé dans des données. observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Impossible de supprimer l'avançon observe.data.ll.observation.SetDetailComposition.branchlineTab=Détail avançon -observe.data.ll.observation.SetDetailComposition.branchlines=Avançons observe.data.ll.observation.SetDetailComposition.canGenerate=Autoriser la génération observe.data.ll.observation.SetDetailComposition.compositionTab=Composition observe.data.ll.observation.SetDetailComposition.firstTemplate.template.notCompliant.basketCount=Le patron à utiliser %s n'est pas compatible avec le nombre de paniers par section (%s) @@ -920,7 +918,6 @@ observe.data.ll.observation.SetDetailComposition.section.cant.delete.message=La observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Impossible de supprimer la section observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirmer la suppression de toutes les sections. observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirmer la suppression du patron sélectionné. -observe.data.ll.observation.SetDetailComposition.sections=Sections observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Impossible d'utiliser le premier modèle lors de la génération observe.data.ll.observation.SetDetailComposition.type=Composition détaillée observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab=Appâts ===================================== core/services/local/src/test/java/fr/ird/observe/services/local/service/api/DataEntityServiceLocalWriteTest.java ===================================== @@ -33,7 +33,10 @@ import fr.ird.observe.services.service.data.ps.common.TripService; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import io.ultreia.java4all.validation.api.NuitonValidatorProviders; +import io.ultreia.java4all.validation.impl.java.NuitonValidatorProviderFactoryImpl; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import java.util.Collection; @@ -42,6 +45,11 @@ import java.util.Map; import java.util.Objects; public class DataEntityServiceLocalWriteTest extends GeneratedDataEntityServiceLocalWriteTest { + @BeforeClass + public static void beforeClass() { + NuitonValidatorProviders.setDefaultFactoryName(NuitonValidatorProviderFactoryImpl.PROVIDER_NAME); + } + @Override public void setUp() throws Exception { TOPIA_TEST_CLASS_RESOURCE.getServiceInitializerConfig().setValidationMode(DataSourceValidationMode.STRONG); ===================================== model/src/main/models/Observe/dto/class/i18nLabels.properties ===================================== @@ -49,7 +49,7 @@ data.ll.observation.Section=basket,haulingIdentifier,settingIdentifier,sectionTe data.ll.observation.SectionTemplate=floatlineLengths,id,validation.invalid.pattern,validation.required.id,validation.required.pattern data.ll.observation.SensorUsed=sensorBrand,sensorDataFormat,sensorSerialNo,sensorType,hasData.short data.ll.observation.Set=basketsPerSectionCount,branchlinesPerBasketCount,haulingBreaks,haulingDirectionSameAsSetting,haulingEndLatitude,haulingEndLongitude,haulingEndQuadrant,haulingEndTimeStamp,haulingEndDate,haulingStartLatitude,haulingStartLongitude,haulingStartQuadrant,haulingStartTimeStamp,haulingStartDate,lightsticksColor,lightsticksPerBasketCount,lightsticksType,lineType,maxDepthTargeted,monitored,number,settingEndLatitude,settingEndLongitude,settingEndQuadrant,settingEndTimeStamp,settingEndDate,settingShape,settingStartLatitude,settingStartLongitude,settingStartQuadrant,settingStartTimeStamp,settingStartDate,settingVesselSpeed,shooterSpeed,shooterUsed,snapWeight,swivelWeight,timeBetweenHooks,totalBasketsCount,totalHooksCount,totalSectionsCount,weightedSnap,weightedSwivel,haulingTab,settingCharacteristicsTab,settingTab -data.ll.observation.SetDetailComposition=mitigationType,totalSectionsCount,basketsPerSectionCount,branchlinesPerBasketCount,haulingDirectionSameAsSetting,haulingBreaks,haulingStartTimeStamp,baitHaulingStatus,baitSettingStatus,baitType,baskets,branchlines,depthRecorder,hookLost,hookOffset,hookSize,hookType,section,sections,snapWeight,swivelWeight,timeSinceContact,timer,timerTimeOnBoard,topType,traceCutOff,tracelineType,weightedSnap,weightedSwivel,action.deleteAllSections,action.deleteAllSections.tip,action.deleteSelectedBasket,action.deleteSelectedBasket.tip,action.deleteSelectedBranchline,action.deleteSelectedBranchline.tip,action.deleteSelectedSection,action.deleteSelectedSection.tip,action.deleteSelectedSectionTemplate,action.deleteSelectedSectionTemplate.tip,action.generateAllSections,action.generateAllSections.tip,action.insertAfterSelectedBasket,action.insertAfterSelectedBasket.tip,action.insertAfterSelectedBranchline,action.insertAfterSelectedBranchline.tip,action.insertAfterSelectedSection,action.insertAfterSelectedSection.tip,action.insertAfterSelectedSectionTemplate,action.insertAfterSelectedSectionTemplate.tip,action.insertBeforeSelectedBasket,action.insertBeforeSelectedBasket.tip,action.insertBeforeSelectedBranchline,action.insertBeforeSelectedBranchline.tip,action.insertBeforeSelectedSection,action.insertBeforeSelectedSection.tip,action.insertBeforeSelectedSectionTemplate,action.insertBeforeSelectedSectionTemplate.tip,basket.cant.delete.message,basket.cant.delete.title,basket.invalid.nextFloatline1Length,branchLine.cant.delete.message,branchLine.cant.delete.title,branchlineTab,canGenerate,compositionTab,firstTemplate.template.notCompliant.basketCount,generalTab,generateTab,hookAndBaitTab,noBranchlineSelected,section.cant.delete.message,section.cant.delete.title,section.delete.message,sectionTemplate.delete,title.section.cant.use.firstTemplate +data.ll.observation.SetDetailComposition=mitigationType,totalSectionsCount,basketsPerSectionCount,branchlinesPerBasketCount,haulingDirectionSameAsSetting,haulingBreaks,haulingStartTimeStamp,baitHaulingStatus,baitSettingStatus,baitType,basket,branchline,depthRecorder,hookLost,hookOffset,hookSize,hookType,section,snapWeight,swivelWeight,timeSinceContact,timer,timerTimeOnBoard,topType,traceCutOff,tracelineType,weightedSnap,weightedSwivel,action.deleteAllSections,action.deleteAllSections.tip,action.deleteSelectedBasket,action.deleteSelectedBasket.tip,action.deleteSelectedBranchline,action.deleteSelectedBranchline.tip,action.deleteSelectedSection,action.deleteSelectedSection.tip,action.deleteSelectedSectionTemplate,action.deleteSelectedSectionTemplate.tip,action.generateAllSections,action.generateAllSections.tip,action.insertAfterSelectedBasket,action.insertAfterSelectedBasket.tip,action.insertAfterSelectedBranchline,action.insertAfterSelectedBranchline.tip,action.insertAfterSelectedSection,action.insertAfterSelectedSection.tip,action.insertAfterSelectedSectionTemplate,action.insertAfterSelectedSectionTemplate.tip,action.insertBeforeSelectedBasket,action.insertBeforeSelectedBasket.tip,action.insertBeforeSelectedBranchline,action.insertBeforeSelectedBranchline.tip,action.insertBeforeSelectedSection,action.insertBeforeSelectedSection.tip,action.insertBeforeSelectedSectionTemplate,action.insertBeforeSelectedSectionTemplate.tip,basket.cant.delete.message,basket.cant.delete.title,basket.invalid.nextFloatline1Length,branchLine.cant.delete.message,branchLine.cant.delete.title,branchlineTab,canGenerate,compositionTab,firstTemplate.template.notCompliant.basketCount,generalTab,generateTab,hookAndBaitTab,noBranchlineSelected,section.cant.delete.message,section.cant.delete.title,section.delete.message,sectionTemplate.delete,title.section.cant.use.firstTemplate data.ll.observation.SetGlobalComposition=mitigationType,baitsCompositionTab,branchlinesCompositionTab,floatlinesCompositionTab,hooksCompositionTab,mitigationTypeTab,mitigationType.available,mitigationType.selected data.ll.observation.SizeMeasure=size,sizeMeasureType data.ll.observation.Tdr=basket,branchline,deploymentEnd,deploymentStart,fishingEnd,fishingEndDepth,fishingStart,fishingStartDepth,floatline1Length,floatline2Length,itemHorizontalPosition,itemVerticalPosition,maxFishingDepth,meanDeploymentDepth,meanFishingDepth,medianDeploymentDepth,medianFishingDepth,minFishingDepth,section,sensorBrand,serialNo,species,characteristicsTab,enableTimestamp,enableTimestamp.tip,hasData.short,keyDataTab,localisationTab,speciesTab,timestampTab,species.available,species.selected ===================================== pom.xml ===================================== @@ -23,7 +23,7 @@ <parent> <groupId>io.ultreia.maven</groupId> <artifactId>pom</artifactId> - <version>2024.38</version> + <version>2024.39</version> </parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> @@ -112,6 +112,7 @@ <maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format> <buildDate>${maven.build.timestamp}</buildDate> <!-- >>> Sealed version --> + <lib.version.log4j2>2.23.1</lib.version.log4j2> <plugin.version.site>4.0.0-M13</plugin.version.site> <lib.version.ognl>3.1.29</lib.version.ognl> <!-- FIXME <lib.version.ognl>3.3.2</lib.version.ognl>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e6b88c9b10e3c97ed170aee4... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e6b88c9b10e3c97ed170aee4... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)