Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

24 changed files:

Changes:

  • client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/ReferentialSelectionTreePaneHandler.java
    ... ... @@ -26,16 +26,11 @@ import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.Refer
    26 26
     import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUI;
    
    27 27
     import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUIHandler;
    
    28 28
     import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeMode;
    
    29
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterCopy;
    
    30
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivate;
    
    31
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDeactivateWithReplacement;
    
    32
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterDelete;
    
    33
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.RegisterRevert;
    
    34
    -import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.SelectUnselect;
    
    29
    +import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.tree.actions.*;
    
    35 30
     import fr.ird.observe.client.util.init.DefaultUIInitializer;
    
    36 31
     import org.nuiton.jaxx.runtime.spi.UIHandler;
    
    37 32
     
    
    38
    -import java.awt.BorderLayout;
    
    33
    +import java.awt.*;
    
    39 34
     
    
    40 35
     /**
    
    41 36
      * @author Tony Chemit - dev@tchemit.fr
    
    ... ... @@ -63,6 +58,10 @@ public class ReferentialSelectionTreePaneHandler implements UIHandler<Referentia
    63 58
                 ui.remove(ui.getMiddleActions());
    
    64 59
                 ui.add(ui.getMiddleActions(), BorderLayout.WEST);
    
    65 60
             }
    
    61
    +        // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2693
    
    62
    +        // Do not allow to delete (need to review delete actions, since it may cause error in some case if for example
    
    63
    +        // an update is asked using the deleted data...)
    
    64
    +        ui.getMiddleActions().remove(ui.delete);
    
    66 65
         }
    
    67 66
     
    
    68 67
         private void onUpdateMode(ReferentialSelectionTreePane ui, ReferentialSynchronizeMode synchronizeMode) {
    

  • core/api/validation/src/main/filtered-resources/META-INF/validators/validation.json
    ... ... @@ -3021,34 +3021,6 @@
    3021 3021
           }
    
    3022 3022
         ]
    
    3023 3023
       },
    
    3024
    -  {
    
    3025
    -    "type": "fr.ird.observe.dto.data.ll.logbook.SetCatchDto",
    
    3026
    -    "scope": "ERROR",
    
    3027
    -    "context": "create",
    
    3028
    -    "fields": [
    
    3029
    -      {
    
    3030
    -        "name": "comment",
    
    3031
    -        "comments": [
    
    3032
    -          "comment (if not null) is not a blank string",
    
    3033
    -          "comment length <= 8192"
    
    3034
    -        ]
    
    3035
    -      }
    
    3036
    -    ]
    
    3037
    -  },
    
    3038
    -  {
    
    3039
    -    "type": "fr.ird.observe.dto.data.ll.logbook.SetCatchDto",
    
    3040
    -    "scope": "ERROR",
    
    3041
    -    "context": "update",
    
    3042
    -    "fields": [
    
    3043
    -      {
    
    3044
    -        "name": "comment",
    
    3045
    -        "comments": [
    
    3046
    -          "comment (if not null) is not a blank string",
    
    3047
    -          "comment length <= 8192"
    
    3048
    -        ]
    
    3049
    -      }
    
    3050
    -    ]
    
    3051
    -  },
    
    3052 3024
       {
    
    3053 3025
         "type": "fr.ird.observe.dto.data.ll.logbook.SetDto",
    
    3054 3026
         "scope": "ERROR",
    
    ... ... @@ -6129,34 +6101,6 @@
    6129 6101
           }
    
    6130 6102
         ]
    
    6131 6103
       },
    
    6132
    -  {
    
    6133
    -    "type": "fr.ird.observe.dto.data.ll.observation.SetCatchDto",
    
    6134
    -    "scope": "ERROR",
    
    6135
    -    "context": "create",
    
    6136
    -    "fields": [
    
    6137
    -      {
    
    6138
    -        "name": "comment",
    
    6139
    -        "comments": [
    
    6140
    -          "comment (if not null) is not a blank string",
    
    6141
    -          "comment length <= 8192"
    
    6142
    -        ]
    
    6143
    -      }
    
    6144
    -    ]
    
    6145
    -  },
    
    6146
    -  {
    
    6147
    -    "type": "fr.ird.observe.dto.data.ll.observation.SetCatchDto",
    
    6148
    -    "scope": "ERROR",
    
    6149
    -    "context": "update",
    
    6150
    -    "fields": [
    
    6151
    -      {
    
    6152
    -        "name": "comment",
    
    6153
    -        "comments": [
    
    6154
    -          "comment (if not null) is not a blank string",
    
    6155
    -          "comment length <= 8192"
    
    6156
    -        ]
    
    6157
    -      }
    
    6158
    -    ]
    
    6159
    -  },
    
    6160 6104
       {
    
    6161 6105
         "type": "fr.ird.observe.dto.data.ll.observation.SetDetailCompositionDto",
    
    6162 6106
         "scope": "ERROR",
    
    ... ... @@ -6174,13 +6118,6 @@
    6174 6118
               "branchlinesPerBasketCount is a positive number"
    
    6175 6119
             ]
    
    6176 6120
           },
    
    6177
    -      {
    
    6178
    -        "name": "comment",
    
    6179
    -        "comments": [
    
    6180
    -          "comment (if not null) is not a blank string",
    
    6181
    -          "comment length <= 8192"
    
    6182
    -        ]
    
    6183
    -      },
    
    6184 6121
           {
    
    6185 6122
             "name": "homeId",
    
    6186 6123
             "comments": [
    
    ... ... @@ -6212,13 +6149,6 @@
    6212 6149
               "branchlinesPerBasketCount is a positive number"
    
    6213 6150
             ]
    
    6214 6151
           },
    
    6215
    -      {
    
    6216
    -        "name": "comment",
    
    6217
    -        "comments": [
    
    6218
    -          "comment (if not null) is not a blank string",
    
    6219
    -          "comment length <= 8192"
    
    6220
    -        ]
    
    6221
    -      },
    
    6222 6152
           {
    
    6223 6153
             "name": "homeId",
    
    6224 6154
             "comments": [
    
    ... ... @@ -7061,34 +6991,6 @@
    7061 6991
           }
    
    7062 6992
         ]
    
    7063 6993
       },
    
    7064
    -  {
    
    7065
    -    "type": "fr.ird.observe.dto.data.ll.observation.SetTdrDto",
    
    7066
    -    "scope": "ERROR",
    
    7067
    -    "context": "create",
    
    7068
    -    "fields": [
    
    7069
    -      {
    
    7070
    -        "name": "comment",
    
    7071
    -        "comments": [
    
    7072
    -          "comment (if not null) is not a blank string",
    
    7073
    -          "comment length <= 8192"
    
    7074
    -        ]
    
    7075
    -      }
    
    7076
    -    ]
    
    7077
    -  },
    
    7078
    -  {
    
    7079
    -    "type": "fr.ird.observe.dto.data.ll.observation.SetTdrDto",
    
    7080
    -    "scope": "ERROR",
    
    7081
    -    "context": "update",
    
    7082
    -    "fields": [
    
    7083
    -      {
    
    7084
    -        "name": "comment",
    
    7085
    -        "comments": [
    
    7086
    -          "comment (if not null) is not a blank string",
    
    7087
    -          "comment length <= 8192"
    
    7088
    -        ]
    
    7089
    -      }
    
    7090
    -    ]
    
    7091
    -  },
    
    7092 6994
       {
    
    7093 6995
         "type": "fr.ird.observe.dto.data.ll.observation.SizeMeasureDto",
    
    7094 6996
         "scope": "ERROR",
    
    ... ... @@ -14560,13 +14462,6 @@
    14560 14462
             "comments": [
    
    14561 14463
               "check unique value on catches for tuple species,speciesFate,reasonForDiscard,weightMeasureMethod,minWeight,maxWeight,meanWeight,meanLength,well,informationSource"
    
    14562 14464
             ]
    
    14563
    -      },
    
    14564
    -      {
    
    14565
    -        "name": "comment",
    
    14566
    -        "comments": [
    
    14567
    -          "comment (if not null) is not a blank string",
    
    14568
    -          "comment length <= 8192"
    
    14569
    -        ]
    
    14570 14465
           }
    
    14571 14466
         ]
    
    14572 14467
       },
    
    ... ... @@ -14580,13 +14475,6 @@
    14580 14475
             "comments": [
    
    14581 14476
               "check unique value on catches for tuple species,speciesFate,reasonForDiscard,weightMeasureMethod,minWeight,maxWeight,meanWeight,meanLength,well,informationSource"
    
    14582 14477
             ]
    
    14583
    -      },
    
    14584
    -      {
    
    14585
    -        "name": "comment",
    
    14586
    -        "comments": [
    
    14587
    -          "comment (if not null) is not a blank string",
    
    14588
    -          "comment length <= 8192"
    
    14589
    -        ]
    
    14590 14478
           }
    
    14591 14479
         ]
    
    14592 14480
       },
    
    ... ... @@ -14902,34 +14790,6 @@
    14902 14790
           }
    
    14903 14791
         ]
    
    14904 14792
       },
    
    14905
    -  {
    
    14906
    -    "type": "fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto",
    
    14907
    -    "scope": "ERROR",
    
    14908
    -    "context": "create",
    
    14909
    -    "fields": [
    
    14910
    -      {
    
    14911
    -        "name": "comment",
    
    14912
    -        "comments": [
    
    14913
    -          "comment (if not null) is not a blank string",
    
    14914
    -          "comment length <= 8192"
    
    14915
    -        ]
    
    14916
    -      }
    
    14917
    -    ]
    
    14918
    -  },
    
    14919
    -  {
    
    14920
    -    "type": "fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto",
    
    14921
    -    "scope": "ERROR",
    
    14922
    -    "context": "update",
    
    14923
    -    "fields": [
    
    14924
    -      {
    
    14925
    -        "name": "comment",
    
    14926
    -        "comments": [
    
    14927
    -          "comment (if not null) is not a blank string",
    
    14928
    -          "comment length <= 8192"
    
    14929
    -        ]
    
    14930
    -      }
    
    14931
    -    ]
    
    14932
    -  },
    
    14933 14793
       {
    
    14934 14794
         "type": "fr.ird.observe.dto.data.ps.observation.SetSchoolEstimateDto",
    
    14935 14795
         "scope": "ERROR",
    

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/SetCatchDto-create-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/SetCatchDto-update-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetCatchDto-create-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetCatchDto-update-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetDetailCompositionDto-create-error-validation.xml
    ... ... @@ -38,19 +38,6 @@
    38 38
         </field-validator>
    
    39 39
       </field>
    
    40 40
     
    
    41
    -  <field name="comment">
    
    42
    -    <!-- comment (if not null) is not a blank string -->
    
    43
    -    <field-validator type="notBlankString" short-circuit="true">
    
    44
    -      <message/>
    
    45
    -    </field-validator>
    
    46
    -
    
    47
    -    <!-- comment length <= 8192 -->
    
    48
    -    <field-validator type="stringMaxLength">
    
    49
    -      <param name="maxLength">8192</param>
    
    50
    -      <message/>
    
    51
    -    </field-validator>
    
    52
    -  </field>
    
    53
    -
    
    54 41
       <field name="homeId">
    
    55 42
         <!-- homeId (if not null) is not a blank string -->
    
    56 43
         <field-validator type="notBlankString" short-circuit="true">
    

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetDetailCompositionDto-update-error-validation.xml
    ... ... @@ -38,19 +38,6 @@
    38 38
         </field-validator>
    
    39 39
       </field>
    
    40 40
     
    
    41
    -  <field name="comment">
    
    42
    -    <!-- comment (if not null) is not a blank string -->
    
    43
    -    <field-validator type="notBlankString" short-circuit="true">
    
    44
    -      <message/>
    
    45
    -    </field-validator>
    
    46
    -
    
    47
    -    <!-- comment length <= 8192 -->
    
    48
    -    <field-validator type="stringMaxLength">
    
    49
    -      <param name="maxLength">8192</param>
    
    50
    -      <message/>
    
    51
    -    </field-validator>
    
    52
    -  </field>
    
    53
    -
    
    54 41
       <field name="homeId">
    
    55 42
         <!-- homeId (if not null) is not a blank string -->
    
    56 43
         <field-validator type="notBlankString" short-circuit="true">
    

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetTdrDto-create-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ll/observation/SetTdrDto-update-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/observation/SetCatchDto-create-error-validation.xml
    ... ... @@ -31,17 +31,4 @@
    31 31
         </field-validator>
    
    32 32
       </field>
    
    33 33
     
    
    34
    -  <field name="comment">
    
    35
    -    <!-- comment (if not null) is not a blank string -->
    
    36
    -    <field-validator type="notBlankString" short-circuit="true">
    
    37
    -      <message/>
    
    38
    -    </field-validator>
    
    39
    -
    
    40
    -    <!-- comment length <= 8192 -->
    
    41
    -    <field-validator type="stringMaxLength">
    
    42
    -      <param name="maxLength">8192</param>
    
    43
    -      <message/>
    
    44
    -    </field-validator>
    
    45
    -  </field>
    
    46
    -
    
    47 34
     </validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/observation/SetCatchDto-update-error-validation.xml
    ... ... @@ -31,17 +31,4 @@
    31 31
         </field-validator>
    
    32 32
       </field>
    
    33 33
     
    
    34
    -  <field name="comment">
    
    35
    -    <!-- comment (if not null) is not a blank string -->
    
    36
    -    <field-validator type="notBlankString" short-circuit="true">
    
    37
    -      <message/>
    
    38
    -    </field-validator>
    
    39
    -
    
    40
    -    <!-- comment length <= 8192 -->
    
    41
    -    <field-validator type="stringMaxLength">
    
    42
    -      <param name="maxLength">8192</param>
    
    43
    -      <message/>
    
    44
    -    </field-validator>
    
    45
    -  </field>
    
    46
    -
    
    47 34
     </validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchReleaseDto-create-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/api/validation/src/main/resources/fr/ird/observe/dto/data/ps/observation/SetNonTargetCatchReleaseDto-update-error-validation.xml deleted
    1
    -<!--
    
    2
    -  #%L
    
    3
    -  ObServe Core :: API :: Validation
    
    4
    -  %%
    
    5
    -  Copyright (C) 2008 - 2023 IRD, Ultreia.io
    
    6
    -  %%
    
    7
    -  This program is free software: you can redistribute it and/or modify
    
    8
    -  it under the terms of the GNU General Public License as
    
    9
    -  published by the Free Software Foundation, either version 3 of the
    
    10
    -  License, or (at your option) any later version.
    
    11
    -
    
    12
    -  This program is distributed in the hope that it will be useful,
    
    13
    -  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14
    -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15
    -  GNU General Public License for more details.
    
    16
    -
    
    17
    -  You should have received a copy of the GNU General Public
    
    18
    -  License along with this program.  If not, see
    
    19
    -  <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20
    -  #L%
    
    21
    -  -->
    
    22
    -<!DOCTYPE validators PUBLIC
    
    23
    -    "-//Apache Struts//XWork Validator 1.0.3//EN"
    
    24
    -    "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    
    25
    -<validators>
    
    26
    -
    
    27
    -  <field name="comment">
    
    28
    -    <!-- comment (if not null) is not a blank string -->
    
    29
    -    <field-validator type="notBlankString" short-circuit="true">
    
    30
    -      <message/>
    
    31
    -    </field-validator>
    
    32
    -
    
    33
    -    <!-- comment length <= 8192 -->
    
    34
    -    <field-validator type="stringMaxLength">
    
    35
    -      <param name="maxLength">8192</param>
    
    36
    -      <message/>
    
    37
    -    </field-validator>
    
    38
    -  </field>
    
    39
    -
    
    40
    -</validators>

  • core/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/VesselActivityInterceptor.java
    ... ... @@ -70,7 +70,8 @@ public class VesselActivityInterceptor extends ReferentialInterceptor<VesselActi
    70 70
                 .put("32", "13")
    
    71 71
                 .put("33", "13")
    
    72 72
                 .put("34", "13")
    
    73
    -            .put("7", "22")
    
    73
    +            // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2699
    
    74
    +            .put("7", "11")
    
    74 75
                 .put("8", "10")
    
    75 76
                 .put("9", "23")
    
    76 77
                 .put("10", "24")
    

  • core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/observation/SetCatchSpi.java
    ... ... @@ -37,6 +37,8 @@ public class SetCatchSpi extends GeneratedSetCatchSpi {
    37 37
         @Override
    
    38 38
         public void toDto(ReferentialLocale referentialLocale, Set entity, SetCatchDto dto) {
    
    39 39
             super.toDto(referentialLocale, entity, dto);
    
    40
    +        // Do not copy set.comment (there is no editor in form for this)
    
    41
    +        dto.setComment(null);
    
    40 42
             // is there some sample?
    
    41 43
             if (entity.isSampleNotEmpty()) {
    
    42 44
                 Sample targetSample = entity.getSample().iterator().next();
    

  • core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/observation/SetNonTargetCatchReleaseSpi.java
    ... ... @@ -39,6 +39,8 @@ public class SetNonTargetCatchReleaseSpi extends GeneratedSetNonTargetCatchRelea
    39 39
         @Override
    
    40 40
         public void toDto(ReferentialLocale referentialLocale, Set entity, SetNonTargetCatchReleaseDto dto) {
    
    41 41
             super.toDto(referentialLocale, entity, dto);
    
    42
    +        // Do not copy set.comment (there is no editor in form for this)
    
    43
    +        dto.setComment(null);
    
    42 44
             dto.setAvailableSpeciesIds(entity.getCatches().stream().map(Catch::getSpecies).filter(SetImpl::isSpeciesGroupRelease).map(Species::getTopiaId).collect(Collectors.toSet()));
    
    43 45
         }
    
    44 46
     }

  • core/services/i18n/src/main/i18n/translations/services_en_GB.properties
    ... ... @@ -1477,7 +1477,7 @@ observe.data.ps.observation.Set.validation.haulingEndTime.after.startTime=Pursin
    1477 1477
     observe.data.ps.observation.Set.validation.haulingStartTimeStamp.after.startTime=Hauling start time (%2$s) must be after starting time (%1).
    
    1478 1478
     observe.data.ps.observation.Set.validation.startTime.after.currentPsObservationActivity.time=Start time (%2$s) must be before end time (%1$s).
    
    1479 1479
     observe.data.ps.observation.SetCatch.catches=Catches
    
    1480
    -observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Tuple (species,speciesFate,reasonForDiscard,weightMeasureMethod,meanWeight,meanLength,well,informationSource) must be unique, value at index %s is duplicated.
    
    1480
    +observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Tuple (species,speciesFate,reasonForDiscard,weightMeasureMethod,minWeight,maxWeight,meanWeight,meanLength,well,informationSource) must be unique, value at index %s is duplicated.
    
    1481 1481
     observe.data.ps.observation.SetCatch.type=Set catches
    
    1482 1482
     observe.data.ps.observation.SetNonTargetCatchRelease.type=Set non target catch release
    
    1483 1483
     observe.data.ps.observation.SetSchoolEstimate.schoolEstimate=School estimate
    

  • core/services/i18n/src/main/i18n/translations/services_es_ES.properties
    ... ... @@ -1477,7 +1477,7 @@ observe.data.ps.observation.Set.validation.haulingEndTime.after.startTime=La hor
    1477 1477
     observe.data.ps.observation.Set.validation.haulingStartTimeStamp.after.startTime=Hauling start time (%2$s) must be after starting time (%1$s). \#TODO
    
    1478 1478
     observe.data.ps.observation.Set.validation.startTime.after.currentPsObservationActivity.time=La hora de inicio (%2$s) debe ser superior o igual a la hora de observación de la actividad (%1$s).
    
    1479 1479
     observe.data.ps.observation.SetCatch.catches=Captura
    
    1480
    -observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Tuple (species,speciesFate,reasonForDiscard,weightMeasureMethod,meanWeight,meanLength,well,informationSource) must be unique, value at index %s is duplicated.
    
    1480
    +observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Tuple (species,speciesFate,reasonForDiscard,weightMeasureMethod,minWeight,maxWeight,meanWeight,meanLength,well,informationSource) must be unique, value at index %s is duplicated.
    
    1481 1481
     observe.data.ps.observation.SetCatch.type=SetCatch
    
    1482 1482
     observe.data.ps.observation.SetNonTargetCatchRelease.type=SetNonTargetCatchRelease
    
    1483 1483
     observe.data.ps.observation.SetSchoolEstimate.schoolEstimate=Estimación del banco
    

  • core/services/i18n/src/main/i18n/translations/services_fr_FR.properties
    ... ... @@ -1477,7 +1477,7 @@ observe.data.ps.observation.Set.validation.haulingEndTime.after.startTime=L'heur
    1477 1477
     observe.data.ps.observation.Set.validation.haulingStartTimeStamp.after.startTime=L'heure de début de virage (%2$s) doit être supérieure ou égal à celle de début (%1$s).
    
    1478 1478
     observe.data.ps.observation.Set.validation.startTime.after.currentPsObservationActivity.time=L'heure de début (%2$s) doit être supérieure ou égal à l'heure d'observation de l'activité (%1$s).
    
    1479 1479
     observe.data.ps.observation.SetCatch.catches=Captures
    
    1480
    -observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Le tuple (espèce/devenir/raison rejet/méthode de mesure de poids/poids moyen/taille moyenne/cuve/origine de l'information) doit être unique, la donnée de rang %s est invalide.
    
    1480
    +observe.data.ps.observation.SetCatch.catches.validation.uniqueKey=Le tuple (espèce/devenir/raison rejet/méthode de mesure de poids/poids min/poids max/poids moyen/taille moyenne/cuve/origine de l'information) doit être unique, la donnée de rang %s est invalide.
    
    1481 1481
     observe.data.ps.observation.SetCatch.type=Capture
    
    1482 1482
     observe.data.ps.observation.SetNonTargetCatchRelease.type=Espèce accessoire sensible libérée
    
    1483 1483
     observe.data.ps.observation.SetSchoolEstimate.schoolEstimate=Estimation banc
    

  • model/src/main/models/Observe/dto/attribute/skipCopyToEntity.properties
    ... ... @@ -66,4 +66,6 @@ data.ps.observation.ActivityStub.attribute.longitude=true
    66 66
     data.ps.observation.ActivityStub.attribute.seaSurfaceTemperature=true
    
    67 67
     data.ps.observation.ActivityStub.attribute.time=true
    
    68 68
     data.ps.observation.Route.attribute.activity=true
    
    69
    +data.ps.observation.SetCatch.attribute.comment=true
    
    70
    +data.ps.observation.SetNonTargetCatchRelease.attribute.comment=true
    
    69 71
     data.ps.observation.SetNonTargetCatchRelease.attribute.endPursingTimeStamp=true

  • src/site/markdown/avdth/referential.md
    ... ... @@ -223,7 +223,7 @@ Mapping type d'activité
    223 223
     | 34                   | 13  (2)                           |
    
    224 224
     | 40                   | 13  (2)                           |
    
    225 225
     | 41                   | 13  (2)                           |
    
    226
    -| 7                    | 22                                |
    
    226
    +| 7                    | 11                                |
    
    227 227
     | 8                    | 10                                |
    
    228 228
     | 9                    | 23                                |
    
    229 229
     | 10                   | 24                                |
    

  • toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ToolkitTagValues.java
    ... ... @@ -30,8 +30,10 @@ import org.nuiton.eugene.models.extension.tagvalue.matcher.EqualsTagValueNameMat
    30 30
     import org.nuiton.eugene.models.extension.tagvalue.provider.DefaultTagValueMetadatasProvider;
    
    31 31
     import org.nuiton.eugene.models.extension.tagvalue.provider.TagValueMetadatasProvider;
    
    32 32
     import org.nuiton.eugene.models.object.ObjectModelAttribute;
    
    33
    +import org.nuiton.eugene.models.object.ObjectModelClass;
    
    33 34
     import org.nuiton.eugene.models.object.ObjectModelClassifier;
    
    34 35
     import org.nuiton.eugene.models.object.ObjectModelPackage;
    
    36
    +import org.nuiton.eugene.models.tagvalue.ObjectModelTagValuesStore;
    
    35 37
     
    
    36 38
     import java.util.Arrays;
    
    37 39
     import java.util.LinkedHashSet;
    
    ... ... @@ -139,6 +141,10 @@ public class ToolkitTagValues extends DefaultTagValueMetadatasProvider {
    139 141
             return tagValue == null ? null : tagValue.trim();
    
    140 142
         }
    
    141 143
     
    
    144
    +    public boolean isSkipCopyToEntity(ObjectModelTagValuesStore store, ObjectModelClass clazz, ObjectModelAttribute attribute) {
    
    145
    +        return store.findAttributeBooleanTagValue(Store.skipCopyToEntity, clazz, attribute);
    
    146
    +    }
    
    147
    +
    
    142 148
         public String notSkip(String tagValue) {
    
    143 149
             return Objects.equals("skip", tagValue) ? null : tagValue;
    
    144 150
         }
    

  • toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/validation/DtoFormValidatorTransformer.java
    ... ... @@ -539,6 +539,12 @@ public class DtoFormValidatorTransformer extends ObjectModelTransformerToJava {
    539 539
             attributes.addAll(beanClass.getAllOtherAttributes());
    
    540 540
     
    
    541 541
             ObjectModelTagValuesStore tagValuesStore = model.getTagValuesStore();
    
    542
    +        Set<String> skipCopyToEntity = new TreeSet<>();
    
    543
    +        for (ObjectModelAttribute attribute : attributes) {
    
    544
    +            if (observeTagValues.isSkipCopyToEntity(tagValuesStore, beanClass, attribute)) {
    
    545
    +                skipCopyToEntity.add(attribute.getName());
    
    546
    +            }
    
    547
    +        }
    
    542 548
             if (WellIdAware.class.isAssignableFrom(dtoClazz)) {
    
    543 549
                 addErrorValidator("well", String.format(WELL_ID_AWARE_FIELD_TEMPLATE, dtoClazz.getPackageName().contains("ps") ? "ps" : "ll"));
    
    544 550
             } else if (WellIdsAware.class.isAssignableFrom(dtoClazz)) {
    
    ... ... @@ -580,6 +586,9 @@ public class DtoFormValidatorTransformer extends ObjectModelTransformerToJava {
    580 586
                 Map<String, String> speciesLength = getStringProperties(beanClass, attributes, (c, a) -> validationTagValues.getSpeciesLength(tagValuesStore, c, a));
    
    581 587
                 Map<String, String> collectionUniqueKey = getStringProperties(beanClass, attributes, (c, a) -> validationTagValues.getCollectionUniqueKey(tagValuesStore, c, a));
    
    582 588
                 Map<String, Integer> stringMaxLength = getIntegerProperties(beanClass, attributes, (c, a) -> validationTagValues.getStringMaxLength(tagValuesStore, c, a));
    
    589
    +            for (String attributeName : skipCopyToEntity) {
    
    590
    +                stringMaxLength.remove(attributeName);
    
    591
    +            }
    
    583 592
                 Map<String, String> dayBefore = getStringProperties(beanClass, attributes, (c, a) -> validationTagValues.getDayBefore(tagValuesStore, c, a));
    
    584 593
                 Map<String, String> dayAfter = getStringProperties(beanClass, attributes, (c, a) -> validationTagValues.getDayAfter(tagValuesStore, c, a));
    
    585 594
                 Map<String, String> dayAfterWarning = getStringProperties(beanClass, attributes, (c, a) -> validationTagValues.getDayAfterWarning(tagValuesStore, c, a));
    
    ... ... @@ -599,6 +608,9 @@ public class DtoFormValidatorTransformer extends ObjectModelTransformerToJava {
    599 608
                         notBlankString.remove("homeId");
    
    600 609
                     }
    
    601 610
                 }
    
    611
    +            for (String attributeName : skipCopyToEntity) {
    
    612
    +                notBlankString.remove(attributeName);
    
    613
    +            }
    
    602 614
                 mandatory.removeAll(mandatoryString);
    
    603 615
                 mandatory.removeAll(mandatoryCollection);
    
    604 616
                 mandatoryString.removeAll(mandatoryCollection);