Tony CHEMIT pushed to branch feature/issue-2907 at ultreiaio / ird-observe

Commits:

17 changed files:

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;
    37 37
     import fr.ird.observe.dto.ToolkitIdModifications;
    
    38 38
     import fr.ird.observe.dto.data.TripAware;
    
    39 39
     import fr.ird.observe.dto.data.ps.localmarket.BatchDto;
    
    40
    +import fr.ird.observe.dto.data.ps.logbook.SampleActivityDto;
    
    40 41
     import fr.ird.observe.dto.data.ps.observation.CatchDto;
    
    41 42
     import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto;
    
    42 43
     import fr.ird.observe.dto.data.ps.observation.SampleMeasureDto;
    
    ... ... @@ -195,7 +196,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
    195 196
                 printResult(activityResult);
    
    196 197
             }
    
    197 198
             for (ToolkitIdModifications modifications : result.getLogbookSampleActivityResults()) {
    
    198
    -            printResult(BatchDto.class, modifications);
    
    199
    +            printResult(SampleActivityDto.class, modifications);
    
    199 200
             }
    
    200 201
             for (ToolkitIdModifications batchResult : result.getLocalmarketBatchResults()) {
    
    201 202
                 printResult(BatchDto.class, batchResult);
    

  • client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
    ... ... @@ -224,15 +224,12 @@ observe.data.ll.observation.Set.monitored
    224 224
     observe.data.ll.observation.Set.number
    
    225 225
     observe.data.ll.observation.Set.settingCharacteristicsTab
    
    226 226
     observe.data.ll.observation.Set.settingTab
    
    227
    -observe.data.ll.observation.SetDetailComposition.baskets
    
    228 227
     observe.data.ll.observation.SetDetailComposition.branchlineTab
    
    229
    -observe.data.ll.observation.SetDetailComposition.branchlines
    
    230 228
     observe.data.ll.observation.SetDetailComposition.canGenerate
    
    231 229
     observe.data.ll.observation.SetDetailComposition.compositionTab
    
    232 230
     observe.data.ll.observation.SetDetailComposition.generateTab
    
    233 231
     observe.data.ll.observation.SetDetailComposition.hookAndBaitTab
    
    234 232
     observe.data.ll.observation.SetDetailComposition.noBranchlineSelected
    
    235
    -observe.data.ll.observation.SetDetailComposition.sections
    
    236 233
     observe.data.ll.observation.SetDetailComposition.templateInformation
    
    237 234
     observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab
    
    238 235
     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 @@
    120 120
             <JTabbedPane id='mainTabbedPane'>
    
    121 121
               <tab id='caracteristicTab' i18nProperty="">
    
    122 122
                 <Table id='editForm' fill='both' insets='1'>
    
    123
    -
    
    124 123
                   <row>
    
    125
    -                <cell columns="2">
    
    126
    -                  <!-- acquisition Mode -->
    
    124
    +                <cell columns="2" rows="2">
    
    127 125
                       <JPanel id='acquisitionMode'>
    
    128 126
                         <JRadioButton id='acquisitionModeIndividual'/>
    
    129 127
                         <JRadioButton id='acquisitionModeGrouped'/>
    
    130 128
                       </JPanel>
    
    131 129
                     </cell>
    
    132
    -                <cell columns="2" rows="2">
    
    133
    -                  <!-- location on longline -->
    
    130
    +                <cell>
    
    131
    +                  <JLabel id='numberLabel'/>
    
    132
    +                </cell>
    
    133
    +                <cell weightx='1' anchor='east'>
    
    134
    +                  <NumberEditor id='number' styleClass="int6"/>
    
    135
    +                </cell>
    
    136
    +              </row>
    
    137
    +              <row>
    
    138
    +                <cell>
    
    139
    +                  <JPanel/>
    
    140
    +                </cell>
    
    141
    +              </row>
    
    142
    +              <row>
    
    143
    +                <cell columns="2" rows="4">
    
    134 144
                       <Table id="locationOnLonglinePanel">
    
    135 145
                         <row>
    
    136 146
                           <cell anchor="west">
    
    ... ... @@ -158,9 +168,6 @@
    158 168
                         </row>
    
    159 169
                       </Table>
    
    160 170
                     </cell>
    
    161
    -              </row>
    
    162
    -              <!-- species -->
    
    163
    -              <row>
    
    164 171
                     <cell>
    
    165 172
                       <JLabel id='speciesLabel'/>
    
    166 173
                     </cell>
    
    ... ... @@ -168,16 +175,7 @@
    168 175
                       <FilterableComboBox id='species' genericType='SpeciesReference'/>
    
    169 176
                     </cell>
    
    170 177
                   </row>
    
    171
    -
    
    172
    -              <!-- tagNumber -->
    
    173
    -              <!-- count -->
    
    174 178
                   <row>
    
    175
    -                <cell anchor='west'>
    
    176
    -                  <JLabel id='tagNumberLabel'/>
    
    177
    -                </cell>
    
    178
    -                <cell anchor='east' weightx="1" fill="both">
    
    179
    -                  <NormalTextEditor id='tagNumber'/>
    
    180
    -                </cell>
    
    181 179
                     <cell>
    
    182 180
                       <JLabel id='countLabel'/>
    
    183 181
                     </cell>
    
    ... ... @@ -185,22 +183,6 @@
    185 183
                       <NumberEditor id='count' styleClass="int6"/>
    
    186 184
                     </cell>
    
    187 185
                   </row>
    
    188
    -
    
    189
    -              <!-- number -->
    
    190
    -              <row>
    
    191
    -                <cell>
    
    192
    -                  <JLabel id='numberLabel'/>
    
    193
    -                </cell>
    
    194
    -                <cell weightx='1' anchor='east'>
    
    195
    -                  <NumberEditor id='number' styleClass="int6"/>
    
    196
    -                </cell>
    
    197
    -                <cell columns="2">
    
    198
    -                  <JPanel/>
    
    199
    -                </cell>
    
    200
    -              </row>
    
    201
    -
    
    202
    -              <!-- total weight -->
    
    203
    -              <!-- weightMeasureMethod -->
    
    204 186
                   <row>
    
    205 187
                     <cell>
    
    206 188
                       <JLabel id='totalWeightLabel'/>
    
    ... ... @@ -208,6 +190,8 @@
    208 190
                     <cell weightx='1' anchor='east'>
    
    209 191
                       <NumberEditor id='totalWeight' styleClass="float3"/>
    
    210 192
                     </cell>
    
    193
    +              </row>
    
    194
    +              <row>
    
    211 195
                     <cell>
    
    212 196
                       <JLabel id='weightMeasureMethodLabel'/>
    
    213 197
                     </cell>
    
    ... ... @@ -215,9 +199,6 @@
    215 199
                       <FilterableComboBox id='weightMeasureMethod' genericType='WeightMeasureMethodReference'/>
    
    216 200
                     </cell>
    
    217 201
                   </row>
    
    218
    -
    
    219
    -              <!-- catch healthStatus -->
    
    220
    -              <!-- hook position -->
    
    221 202
                   <row>
    
    222 203
                     <cell>
    
    223 204
                       <JLabel id='catchHealthStatusLabel'/>
    
    ... ... @@ -225,16 +206,7 @@
    225 206
                     <cell weightx='1' anchor='east'>
    
    226 207
                       <FilterableComboBox id='catchHealthStatus' genericType='HealthStatusReference'/>
    
    227 208
                     </cell>
    
    228
    -                <cell>
    
    229
    -                  <JLabel id='hookPositionLabel'/>
    
    230
    -                </cell>
    
    231
    -                <cell weightx='1' anchor='east'>
    
    232
    -                  <FilterableComboBox id='hookPosition' genericType='HookPositionReference'/>
    
    233
    -                </cell>
    
    234 209
                   </row>
    
    235
    -
    
    236
    -              <!-- catch fate -->
    
    237
    -              <!-- discard healthStatus -->
    
    238 210
                   <row>
    
    239 211
                     <cell>
    
    240 212
                       <JLabel id='catchFateLabel'/>
    
    ... ... @@ -249,24 +221,44 @@
    249 221
                       <FilterableComboBox id='discardHealthStatus' genericType='HealthStatusReference'/>
    
    250 222
                     </cell>
    
    251 223
                   </row>
    
    252
    -
    
    253
    -              <!-- hookWhenDiscarded -->
    
    254
    -              <!-- photoReferences -->
    
    255 224
                   <row>
    
    225
    +                <cell>
    
    226
    +                  <JLabel id='hookPositionLabel'/>
    
    227
    +                </cell>
    
    228
    +                <cell weightx='1' anchor='east'>
    
    229
    +                  <FilterableComboBox id='hookPosition' genericType='HookPositionReference'/>
    
    230
    +                </cell>
    
    256 231
                     <cell anchor="west">
    
    257 232
                       <JLabel id='hookWhenDiscardedLabel'/>
    
    258 233
                     </cell>
    
    259 234
                     <cell anchor='west' fill="both">
    
    260 235
                       <BooleanEditor id='hookWhenDiscarded'/>
    
    261 236
                     </cell>
    
    237
    +              </row>
    
    238
    +              <row>
    
    262 239
                     <cell anchor='west'>
    
    263 240
                       <JLabel id='photoReferencesLabel'/>
    
    264 241
                     </cell>
    
    265 242
                     <cell anchor='east' weightx="1" fill="both">
    
    266 243
                       <NormalTextEditor id='photoReferences'/>
    
    267 244
                     </cell>
    
    245
    +                <cell columns="2"/>
    
    246
    +                <!--                <cell anchor='west'>-->
    
    247
    +                <!--                  <JLabel id='sampleReferencesLabel'/>-->
    
    248
    +                <!--                </cell>-->
    
    249
    +                <!--                <cell anchor='east' weightx="1" fill="both">-->
    
    250
    +                <!--                  <NormalTextEditor id='sampleReferences'/>-->
    
    251
    +                <!--                </cell>-->
    
    268 252
                   </row>
    
    253
    +              <row>
    
    254
    +                <cell anchor='west'>
    
    255
    +                  <JLabel id='tagNumberLabel'/>
    
    256
    +                </cell>
    
    257
    +                <cell anchor='east' weightx="1" fill="both">
    
    258
    +                  <NormalTextEditor id='tagNumber'/>
    
    259
    +                </cell>
    
    269 260
     
    
    261
    +              </row>
    
    270 262
                 </Table>
    
    271 263
               </tab>
    
    272 264
     
    

  • client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUI.jcss
    ... ... @@ -26,7 +26,7 @@
    26 26
     }
    
    27 27
     
    
    28 28
     #mainTabbedPane {
    
    29
    -  _focusComponent:{newComponentArray(acquisitionModeIndividual,depredated,beatDiameter)};
    
    29
    +  _focusComponent:{newComponentArray(number,depredated,beatDiameter)};
    
    30 30
     }
    
    31 31
     
    
    32 32
     /* ***************************************************************************** */
    

  • 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;
    43 43
     import org.nuiton.jaxx.validator.swing.SwingValidator;
    
    44 44
     
    
    45 45
     import javax.swing.AbstractAction;
    
    46
    -import javax.swing.JComponent;
    
    47 46
     import javax.swing.JToolBar;
    
    48 47
     import java.awt.Component;
    
    49 48
     import java.awt.event.ActionEvent;
    
    ... ... @@ -74,19 +73,20 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler {
    74 73
     
    
    75 74
         @Override
    
    76 75
         protected Component getFocusComponentOnSelectedRow(SetCatchUI ui, boolean notPersisted, boolean newRow, CatchDto tableEditBean, CatchDto previousRowBean) {
    
    77
    -        JComponent requestFocus;
    
    78
    -        if (newRow) {
    
    79
    -            requestFocus = ui.getSpecies();
    
    80
    -        } else {
    
    81
    -            int acquisitionMode = tableEditBean.getAcquisitionMode();
    
    82
    -            CatchAcquisitionMode acquisitionModeEnum = CatchAcquisitionMode.valueOf(acquisitionMode);
    
    83
    -            if (acquisitionModeEnum.equals(CatchAcquisitionMode.GROUPED)) {
    
    84
    -                requestFocus = ui.getCount();
    
    85
    -            } else {
    
    86
    -                requestFocus = ui.getCatchHealthStatus();
    
    87
    -            }
    
    88
    -        }
    
    89
    -        return requestFocus;
    
    76
    +        //FIXME Review this on Focus clean session
    
    77
    +//        JComponent requestFocus;
    
    78
    +//        if (newRow) {
    
    79
    +//            requestFocus = ui.getNumber();
    
    80
    +//        } else {
    
    81
    +//            int acquisitionMode = tableEditBean.getAcquisitionMode();
    
    82
    +//            CatchAcquisitionMode acquisitionModeEnum = CatchAcquisitionMode.valueOf(acquisitionMode);
    
    83
    +//            if (acquisitionModeEnum.equals(CatchAcquisitionMode.GROUPED)) {
    
    84
    +//                requestFocus = ui.getCount();
    
    85
    +//            } else {
    
    86
    +//                requestFocus = ui.getCatchHealthStatus();
    
    87
    +//            }
    
    88
    +//        }
    
    89
    +        return ui.getNumber();
    
    90 90
         }
    
    91 91
     
    
    92 92
         @Override
    
    ... ... @@ -261,6 +261,7 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler {
    261 261
                         editBean.setSection(null);
    
    262 262
                         editBean.setBasket(null);
    
    263 263
                         editBean.setBranchline(null);
    
    264
    +                    editBean.setWeightMeasureMethod(ui.getModel().getStates().getDefaultWeightMeasureMethod());
    
    264 265
                     }
    
    265 266
                     break;
    
    266 267
     
    

  • 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;
    23 23
      */
    
    24 24
     
    
    25 25
     import fr.ird.observe.client.configuration.ClientConfig;
    
    26
    +import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
    
    26 27
     import fr.ird.observe.client.datasource.api.cache.ReferencesCache;
    
    27 28
     import fr.ird.observe.client.datasource.api.cache.ReferencesFilterHelper;
    
    28 29
     import fr.ird.observe.client.datasource.editor.api.content.ContentUI;
    
    ... ... @@ -36,6 +37,7 @@ import fr.ird.observe.dto.data.ll.observation.BranchlineDto;
    36 37
     import fr.ird.observe.dto.data.ll.observation.CatchDto;
    
    37 38
     import fr.ird.observe.dto.data.ll.observation.SetCatchDto;
    
    38 39
     import fr.ird.observe.dto.form.Form;
    
    40
    +import fr.ird.observe.dto.referential.common.WeightMeasureMethodReference;
    
    39 41
     import fr.ird.observe.dto.referential.ll.common.CatchFateReference;
    
    40 42
     import fr.ird.observe.navigation.id.Project;
    
    41 43
     import fr.ird.observe.services.ObserveServicesProvider;
    
    ... ... @@ -48,6 +50,18 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates {
    48 50
          * Branchline edit bean.
    
    49 51
          */
    
    50 52
         private final BranchlineDto branchlineBean;
    
    53
    +    /**
    
    54
    +     * Default acquisition mode to use.
    
    55
    +     * <p>
    
    56
    +     * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2671">issue 2671</a>
    
    57
    +     */
    
    58
    +    private final CatchAcquisitionMode defaultAcquisitionMode;
    
    59
    +    /**
    
    60
    +     * Default weight measure method to use for new data.
    
    61
    +     * <p>
    
    62
    +     * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2907">issue 2907</a>
    
    63
    +     */
    
    64
    +    private final WeightMeasureMethodReference defaultWeightMeasureMethod;
    
    51 65
         /**
    
    52 66
          * Position helper.
    
    53 67
          */
    
    ... ... @@ -57,16 +71,15 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates {
    57 71
          */
    
    58 72
         protected boolean showIndividualTabs;
    
    59 73
     
    
    60
    -    /**
    
    61
    -     * Default acquisition mode to use.
    
    62
    -     * <p>
    
    63
    -     * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2671">issue 2671</a>
    
    64
    -     */
    
    65
    -    private CatchAcquisitionMode defaultAcquisitionMode;
    
    66
    -
    
    67 74
         public SetCatchUIModelStates(GeneratedSetCatchUIModel model) {
    
    68 75
             super(model);
    
    69 76
             this.branchlineBean = new BranchlineDto();
    
    77
    +        ObserveSwingDataSource mainDataSource = model.getSource().getContext().getMainDataSource();
    
    78
    +        this.defaultWeightMeasureMethod = mainDataSource.getReferentialReferenceSet(WeightMeasureMethodReference.class).tryGetReferenceById(ProtectedIdsLl.LL_OBSERVATION_CATCH_DEFAULT_WEIGHT_MEASURE_METHOD_ID).orElseThrow(IllegalStateException::new);
    
    79
    +        TripUINavigationNode tripNode = (TripUINavigationNode) model.getSource().upToReferenceNode(TripReference.class);
    
    80
    +        TripReference tripReference = tripNode.getReference();
    
    81
    +        String observationMethodId = tripReference.getObservationMethodId();
    
    82
    +        this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL;
    
    70 83
         }
    
    71 84
     
    
    72 85
         @Override
    
    ... ... @@ -74,10 +87,10 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates {
    74 87
             super.init(ui, initializerResult);
    
    75 88
             SetCatchUI ui1 = (SetCatchUI) ui;
    
    76 89
             positionHelper = new LonglinePositionHelper<>(ui1.getSection(), ui1.getBasket(), ui1.getBranchline(), ui1.getTableEditBean());
    
    77
    -        TripUINavigationNode tripNode = (TripUINavigationNode) ui1.getModel().getSource().upToReferenceNode(TripReference.class);
    
    78
    -        TripReference tripReference = tripNode.getReference();
    
    79
    -        String observationMethodId = tripReference.getObservationMethodId();
    
    80
    -        this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL;
    
    90
    +//        TripUINavigationNode tripNode = (TripUINavigationNode) ui1.getModel().getSource().upToReferenceNode(TripReference.class);
    
    91
    +//        TripReference tripReference = tripNode.getReference();
    
    92
    +//        String observationMethodId = tripReference.getObservationMethodId();
    
    93
    +//        this.defaultAcquisitionMode = ProtectedIdsLl.LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID.equals(observationMethodId) ? CatchAcquisitionMode.GROUPED : CatchAcquisitionMode.INDIVIDUAL;
    
    81 94
         }
    
    82 95
     
    
    83 96
         @Override
    
    ... ... @@ -103,12 +116,17 @@ public class SetCatchUIModelStates extends GeneratedSetCatchUIModelStates {
    103 116
         public void initDefault(CatchDto newTableBean) {
    
    104 117
             super.initDefault(newTableBean);
    
    105 118
             newTableBean.setAcquisitionMode(defaultAcquisitionMode.ordinal());
    
    119
    +        newTableBean.setWeightMeasureMethod(defaultWeightMeasureMethod);
    
    106 120
         }
    
    107 121
     
    
    108 122
         public CatchAcquisitionMode getDefaultAcquisitionMode() {
    
    109 123
             return defaultAcquisitionMode;
    
    110 124
         }
    
    111 125
     
    
    126
    +    public WeightMeasureMethodReference getDefaultWeightMeasureMethod() {
    
    127
    +        return defaultWeightMeasureMethod;
    
    128
    +    }
    
    129
    +
    
    112 130
         public BranchlineDto getBranchlineBean() {
    
    113 131
             return branchlineBean;
    
    114 132
         }
    

  • 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;
    23 23
      */
    
    24 24
     
    
    25 25
     import fr.ird.observe.client.util.table.EditableListProperty;
    
    26
    +import fr.ird.observe.client.util.table.renderer.DecoratorTableRenderer;
    
    26 27
     import fr.ird.observe.dto.data.CatchAcquisitionMode;
    
    27 28
     import fr.ird.observe.dto.data.ll.observation.CatchDto;
    
    28 29
     import fr.ird.observe.dto.data.ll.observation.SizeMeasureDto;
    
    ... ... @@ -30,6 +31,8 @@ import fr.ird.observe.dto.data.ll.observation.WeightMeasureDto;
    30 31
     import org.apache.logging.log4j.LogManager;
    
    31 32
     import org.apache.logging.log4j.Logger;
    
    32 33
     
    
    34
    +import javax.swing.JTable;
    
    35
    +import javax.swing.table.TableColumnModel;
    
    33 36
     import java.util.Collection;
    
    34 37
     import java.util.List;
    
    35 38
     
    
    ... ... @@ -79,6 +82,15 @@ public class SetCatchUITableModel extends GeneratedSetCatchUITableModel {
    79 82
             return weightMeasuresTableModel;
    
    80 83
         }
    
    81 84
     
    
    85
    +    @Override
    
    86
    +    public void initTableUISize(JTable table) {
    
    87
    +        super.initTableUISize(table);
    
    88
    +        TableColumnModel columnModel = table.getColumnModel();
    
    89
    +        ((DecoratorTableRenderer) columnModel.getColumn(2).getCellRenderer()).getDecorator().setIndex(1);
    
    90
    +        ((DecoratorTableRenderer) columnModel.getColumn(3).getCellRenderer()).getDecorator().setIndex(1);
    
    91
    +        ((DecoratorTableRenderer) columnModel.getColumn(4).getCellRenderer()).getDecorator().setIndex(1);
    
    92
    +    }
    
    93
    +
    
    82 94
         @Override
    
    83 95
         protected void onBeforeResetRow(int row) {
    
    84 96
             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 {
    73 73
     }
    
    74 74
     
    
    75 75
     #sectionsPanel {
    
    76
    -  i18nProperty:sections;
    
    76
    +  i18nProperty:section;
    
    77 77
       _doNotTranslateFieldName: true;
    
    78 78
     }
    
    79 79
     
    
    ... ... @@ -86,11 +86,11 @@ EditableTableModel {
    86 86
     }
    
    87 87
     
    
    88 88
     #basketsPanel {
    
    89
    -  i18nProperty:baskets;
    
    89
    +  i18nProperty:basket;
    
    90 90
     }
    
    91 91
     
    
    92 92
     #branchlinesPanel {
    
    93
    -  i18nProperty:branchlines;
    
    93
    +  i18nProperty:branchline;
    
    94 94
     }
    
    95 95
     
    
    96 96
     /* ***************************************************************************** */
    

  • core/api/dto-decoration/src/main/i18n/getters/labels.getter
    ... ... @@ -749,11 +749,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect
    749 749
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message
    
    750 750
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title
    
    751 751
     observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length
    
    752
    -observe.data.ll.observation.SetDetailComposition.baskets
    
    753 752
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message
    
    754 753
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title
    
    755 754
     observe.data.ll.observation.SetDetailComposition.branchlineTab
    
    756
    -observe.data.ll.observation.SetDetailComposition.branchlines
    
    757 755
     observe.data.ll.observation.SetDetailComposition.canGenerate
    
    758 756
     observe.data.ll.observation.SetDetailComposition.compositionTab
    
    759 757
     observe.data.ll.observation.SetDetailComposition.firstTemplate.template.notCompliant.basketCount
    
    ... ... @@ -764,7 +762,6 @@ observe.data.ll.observation.SetDetailComposition.section.cant.delete.message
    764 762
     observe.data.ll.observation.SetDetailComposition.section.cant.delete.title
    
    765 763
     observe.data.ll.observation.SetDetailComposition.section.delete.message
    
    766 764
     observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete
    
    767
    -observe.data.ll.observation.SetDetailComposition.sections
    
    768 765
     observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate
    
    769 766
     observe.data.ll.observation.SetDetailComposition.type
    
    770 767
     observe.data.ll.observation.SetGlobalComposition.baitsCompositionTab
    

  • core/api/dto-decoration/src/main/resources/META-INF/i18n/Observe-labels.properties
    ... ... @@ -20,7 +20,7 @@
    20 20
     # #L%
    
    21 21
     ###
    
    22 22
     #Generated by org.nuiton.i18n.plugin.GenerateI18nLabelsMojo
    
    23
    -#Tue Aug 27 18:04:46 CEST 2024
    
    23
    +#Fri Sep 13 14:33:58 CEST 2024
    
    24 24
     observe.Business.createDate=observe.Common.createDate
    
    25 25
     observe.Business.homeId=observe.Common.homeId
    
    26 26
     observe.Business.id=observe.Common.id
    
    ... ... @@ -952,7 +952,9 @@ observe.data.ll.observation.SetCatch.version=observe.Common.version
    952 952
     observe.data.ll.observation.SetDetailComposition.baitHaulingStatus=observe.Common.baitHaulingStatus
    
    953 953
     observe.data.ll.observation.SetDetailComposition.baitSettingStatus=observe.Common.baitSettingStatus
    
    954 954
     observe.data.ll.observation.SetDetailComposition.baitType=observe.Common.baitType
    
    955
    +observe.data.ll.observation.SetDetailComposition.basket=observe.Common.basket
    
    955 956
     observe.data.ll.observation.SetDetailComposition.basketsPerSectionCount=observe.Common.basketsPerSectionCount
    
    957
    +observe.data.ll.observation.SetDetailComposition.branchline=observe.Common.branchline
    
    956 958
     observe.data.ll.observation.SetDetailComposition.branchlinesPerBasketCount=observe.Common.branchlinesPerBasketCount
    
    957 959
     observe.data.ll.observation.SetDetailComposition.comment=observe.Common.comment
    
    958 960
     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 {
    35 35
         String LL_COMMON_ACTIVITY_HARBOUR_ID = "fr.ird.referential.ll.common.VesselActivity#666#03";
    
    36 36
     
    
    37 37
         String LL_OBSERVATION_GROUPED_OBSERVATION_METHOD_ID = "fr.ird.referential.ll.common.ObservationMethod#1239832686136#0.1";
    
    38
    +    String LL_OBSERVATION_CATCH_DEFAULT_WEIGHT_MEASURE_METHOD_ID = "fr.ird.referential.common.WeightMeasureMethod#666#03";
    
    38 39
         String LL_OBSERVATION_CATCH_DISCARDED_CATCH_FATE_ID = "fr.ird.referential.ll.common.CatchFate#1239832686125#0.3";
    
    39 40
         String LL_LOGBOOK_ACTIVITY_DEFAULT_DATA_QUALITY_ID = "fr.ird.referential.common.DataQuality#0#1";
    
    40 41
         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
    374 374
     observe.Common.totalLineLength=Total line length
    
    375 375
     observe.Common.totalSectionsCount=Total sections
    
    376 376
     observe.Common.traceCutOff=Trace cut off
    
    377
    -observe.Common.tracelineLength=Traceline length (m)
    
    377
    +observe.Common.tracelineLength=Traceline length
    
    378 378
     observe.Common.tracelineLength.short=Traceline length (m)
    
    379 379
     observe.Common.tracelineType=Traceline type
    
    380 380
     observe.Common.tracelineType.short=Traceline type
    
    ... ... @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect
    905 905
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=The current basket can not be deleted since it used by other data.
    
    906 906
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Can't delete basket
    
    907 907
     observe.data.ll.observation.SetDetailComposition.basket.invalid.nextFloatline1Length=The floatline 2 (%s) is not equals to the floatline 1 of the next basket(%s)
    
    908
    -observe.data.ll.observation.SetDetailComposition.baskets=Baskets
    
    909 908
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message=The current branchline can not be deleted since it used by other data.
    
    910 909
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Can't delete branchline
    
    911 910
     observe.data.ll.observation.SetDetailComposition.branchlineTab=Branchline detail
    
    912
    -observe.data.ll.observation.SetDetailComposition.branchlines=Branchlines
    
    913 911
     observe.data.ll.observation.SetDetailComposition.canGenerate=Can generate
    
    914 912
     observe.data.ll.observation.SetDetailComposition.compositionTab=Composition
    
    915 913
     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
    920 918
     observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Can't delete section
    
    921 919
     observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirm to delete all sections.
    
    922 920
     observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirm to delete current template.
    
    923
    -observe.data.ll.observation.SetDetailComposition.sections=Sections
    
    924 921
     observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Can't use the first template while generating
    
    925 922
     observe.data.ll.observation.SetDetailComposition.type=Detailed composition
    
    926 923
     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
    374 374
     observe.Common.totalLineLength=Total line length\#TODO
    
    375 375
     observe.Common.totalSectionsCount=totalSectionsCount \#TODO
    
    376 376
     observe.Common.traceCutOff=Bajo de línea cortada
    
    377
    -observe.Common.tracelineLength=Parte baja (m)
    
    377
    +observe.Common.tracelineLength=Parte baja
    
    378 378
     observe.Common.tracelineLength.short=Parte baja (m)
    
    379 379
     observe.Common.tracelineType=Tipo bajo de línea
    
    380 380
     observe.Common.tracelineType.short=Tipo bajo de línea
    
    ... ... @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect
    905 905
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=La cesta no puede ser eliminada porque está uilizada en los datos.
    
    906 906
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Impossible de eliminar la cesta
    
    907 907
     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)
    
    908
    -observe.data.ll.observation.SetDetailComposition.baskets=Cestas
    
    909 908
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.message=El arponcillo no puede ser eliminado porque está uilizado en los datos.
    
    910 909
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Impossible de eliminar el arponcillo
    
    911 910
     observe.data.ll.observation.SetDetailComposition.branchlineTab=Detalle del arponcillo
    
    912
    -observe.data.ll.observation.SetDetailComposition.branchlines=Arponcillos
    
    913 911
     observe.data.ll.observation.SetDetailComposition.canGenerate=Autorizar la generación
    
    914 912
     observe.data.ll.observation.SetDetailComposition.compositionTab=Composición
    
    915 913
     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
    920 918
     observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Impossible de eliminar la sección
    
    921 919
     observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirmar la eliminación de todas las secciones.
    
    922 920
     observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirmar la eliminación del template seleccionada.
    
    923
    -observe.data.ll.observation.SetDetailComposition.sections=Secciones
    
    924 921
     observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Impossible de utilizar el primer modelo durante la generación
    
    925 922
     observe.data.ll.observation.SetDetailComposition.type=Composiciones detalladas
    
    926 923
     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
    105 105
     observe.Common.destination=Destination
    
    106 106
     observe.Common.destination.short=Destination
    
    107 107
     observe.Common.directory=Répertoire
    
    108
    -observe.Common.discardHealthStatus=Santé au rejet
    
    109
    -observe.Common.discardHealthStatus.short=Santé au rejet
    
    108
    +observe.Common.discardHealthStatus=État au rejet
    
    109
    +observe.Common.discardHealthStatus.short=État au rejet
    
    110 110
     observe.Common.distance=Distance (m)
    
    111 111
     observe.Common.distance.short=Distance (m)
    
    112 112
     observe.Common.enabled=Actif
    
    ... ... @@ -374,7 +374,7 @@ observe.Common.totalLightsticksCount=Nombre total de cyalumes
    374 374
     observe.Common.totalLineLength=Longueur totale de la ligne
    
    375 375
     observe.Common.totalSectionsCount=Nombre total de sections
    
    376 376
     observe.Common.traceCutOff=Bas de ligne coupé
    
    377
    -observe.Common.tracelineLength=Longueur bas de ligne (m)
    
    377
    +observe.Common.tracelineLength=Longueur bas de ligne
    
    378 378
     observe.Common.tracelineLength.short=Longueur bas de ligne (m)
    
    379 379
     observe.Common.tracelineType=Type bas de ligne
    
    380 380
     observe.Common.tracelineType.short=Type bas de ligne
    
    ... ... @@ -905,11 +905,9 @@ observe.data.ll.observation.SetDetailComposition.action.insertBeforeSelectedSect
    905 905
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.message=Le panier ne peut pas être supprimé car il est utilisé dans des données.
    
    906 906
     observe.data.ll.observation.SetDetailComposition.basket.cant.delete.title=Impossible de supprimer le panier
    
    907 907
     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)
    
    908
    -observe.data.ll.observation.SetDetailComposition.baskets=Paniers
    
    909 908
     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.
    
    910 909
     observe.data.ll.observation.SetDetailComposition.branchLine.cant.delete.title=Impossible de supprimer l'avançon
    
    911 910
     observe.data.ll.observation.SetDetailComposition.branchlineTab=Détail avançon
    
    912
    -observe.data.ll.observation.SetDetailComposition.branchlines=Avançons
    
    913 911
     observe.data.ll.observation.SetDetailComposition.canGenerate=Autoriser la génération
    
    914 912
     observe.data.ll.observation.SetDetailComposition.compositionTab=Composition
    
    915 913
     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
    920 918
     observe.data.ll.observation.SetDetailComposition.section.cant.delete.title=Impossible de supprimer la section
    
    921 919
     observe.data.ll.observation.SetDetailComposition.section.delete.message=Confirmer la suppression de toutes les sections.
    
    922 920
     observe.data.ll.observation.SetDetailComposition.sectionTemplate.delete=Confirmer la suppression du patron sélectionné.
    
    923
    -observe.data.ll.observation.SetDetailComposition.sections=Sections
    
    924 921
     observe.data.ll.observation.SetDetailComposition.title.section.cant.use.firstTemplate=Impossible d'utiliser le premier modèle lors de la génération
    
    925 922
     observe.data.ll.observation.SetDetailComposition.type=Composition détaillée
    
    926 923
     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;
    33 33
     import fr.ird.observe.test.DatabaseName;
    
    34 34
     import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    35 35
     import fr.ird.observe.test.spi.DatabaseNameConfiguration;
    
    36
    +import io.ultreia.java4all.validation.api.NuitonValidatorProviders;
    
    37
    +import io.ultreia.java4all.validation.impl.java.NuitonValidatorProviderFactoryImpl;
    
    36 38
     import org.junit.Assert;
    
    39
    +import org.junit.BeforeClass;
    
    37 40
     import org.junit.Test;
    
    38 41
     
    
    39 42
     import java.util.Collection;
    
    ... ... @@ -42,6 +45,11 @@ import java.util.Map;
    42 45
     import java.util.Objects;
    
    43 46
     
    
    44 47
     public class DataEntityServiceLocalWriteTest extends GeneratedDataEntityServiceLocalWriteTest {
    
    48
    +    @BeforeClass
    
    49
    +    public static void beforeClass() {
    
    50
    +        NuitonValidatorProviders.setDefaultFactoryName(NuitonValidatorProviderFactoryImpl.PROVIDER_NAME);
    
    51
    +    }
    
    52
    +
    
    45 53
         @Override
    
    46 54
         public void setUp() throws Exception {
    
    47 55
             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
    49 49
     data.ll.observation.SectionTemplate=floatlineLengths,id,validation.invalid.pattern,validation.required.id,validation.required.pattern
    
    50 50
     data.ll.observation.SensorUsed=sensorBrand,sensorDataFormat,sensorSerialNo,sensorType,hasData.short
    
    51 51
     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
    
    52
    -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
    
    52
    +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
    
    53 53
     data.ll.observation.SetGlobalComposition=mitigationType,baitsCompositionTab,branchlinesCompositionTab,floatlinesCompositionTab,hooksCompositionTab,mitigationTypeTab,mitigationType.available,mitigationType.selected
    
    54 54
     data.ll.observation.SizeMeasure=size,sizeMeasureType
    
    55 55
     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 @@
    23 23
       <parent>
    
    24 24
         <groupId>io.ultreia.maven</groupId>
    
    25 25
         <artifactId>pom</artifactId>
    
    26
    -    <version>2024.38</version>
    
    26
    +    <version>2024.39</version>
    
    27 27
       </parent>
    
    28 28
       <groupId>fr.ird.observe</groupId>
    
    29 29
       <artifactId>ird-observe</artifactId>
    
    ... ... @@ -112,6 +112,7 @@
    112 112
         <maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
    
    113 113
         <buildDate>${maven.build.timestamp}</buildDate>
    
    114 114
         <!-- >>> Sealed version -->
    
    115
    +    <lib.version.log4j2>2.23.1</lib.version.log4j2>
    
    115 116
         <plugin.version.site>4.0.0-M13</plugin.version.site>
    
    116 117
         <lib.version.ognl>3.1.29</lib.version.ognl>
    
    117 118
         <!-- FIXME  <lib.version.ognl>3.3.2</lib.version.ognl>-->