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

Commits:

23 changed files:

Changes:

  • client-configuration/src/main/config/Client.ini
    ... ... @@ -395,6 +395,14 @@ key = speciesList.longline.depredator
    395 395
     type = string
    
    396 396
     defaultValue = "fr.ird.observe.entities.referentiel.SpeciesList#1239832675370#0.5"
    
    397 397
     
    
    398
    +[option nonTargetCatchReleaseSpeciesGroups]
    
    399
    +description = observe.config.nonTargetCatchRelease.speciesGroups
    
    400
    +key = ui.data.ps.observation.nonTargetCatchRelease.speciesGroups
    
    401
    +type = String[]
    
    402
    +defaultValue = "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712,fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461,fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247,fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075,fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.9204972827240977"
    
    403
    +transient = true
    
    404
    +final = true
    
    405
    +
    
    398 406
     [option mapBackgroundColor]
    
    399 407
     description = observe.config.map.background.description
    
    400 408
     key = map.background.color
    

  • client-configuration/src/main/i18n/getters/config.getter
    ... ... @@ -53,6 +53,7 @@ observe.config.map.layer7.description
    53 53
     observe.config.map.layer8.description
    
    54 54
     observe.config.map.layer9.description
    
    55 55
     observe.config.map.style.description
    
    56
    +observe.config.nonTargetCatchRelease.speciesGroups
    
    56 57
     observe.config.observation.activitysDetaillees
    
    57 58
     observe.config.observation.fauneAssociee
    
    58 59
     observe.config.observation.floatingObject
    

  • client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
    ... ... @@ -527,6 +527,11 @@ public class ClientConfig extends GeneratedClientConfig implements NavigationTre
    527 527
             }
    
    528 528
         }
    
    529 529
     
    
    530
    +    public ImmutableSet<String> getNonTargetCatchReleaseSpeciesGroupsIds() {
    
    531
    +        List<String> ids = get().getOptionAsList(ClientConfigOption.NON_TARGET_CATCH_RELEASE_SPECIES_GROUPS.getKey()).getOption();
    
    532
    +        return ImmutableSet.copyOf(ids);
    
    533
    +    }
    
    534
    +
    
    530 535
         //////////////////////////////////////////////////
    
    531 536
         // Toutes les étapes d'actions
    
    532 537
         //////////////////////////////////////////////////
    

  • client-core/src/main/java/fr/ird/observe/client/ui/ObserveCommon.jcss
    ... ... @@ -81,7 +81,7 @@ JaxxComboBox {
    81 81
     }
    
    82 82
     
    
    83 83
     BlockingLayerUI {
    
    84
    -  acceptedComponentTypes: {javax.swing.JScrollBar.class};
    
    84
    +  acceptedComponentTypes: {fr.ird.observe.client.ui.util.UIHelper.ACCEPTABLE_COMPONENTS_TYPE};
    
    85 85
     }
    
    86 86
     
    
    87 87
     .i18n {
    

  • client-core/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java
    ... ... @@ -355,7 +355,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ContentUI<E, UI>>
    355 355
         }
    
    356 356
     
    
    357 357
         protected void initBlockLayerUI(String... doNotBlockComponentIds) {
    
    358
    -        ui.getBlockLayerUI().setAcceptedComponentTypes(ObserveMapPane.class, JScrollBar.class);
    
    358
    +//        ui.getBlockLayerUI().setAcceptedComponentTypes(UIHelper.ACCEPTABLE_COMPONENTS_TYPE);
    
    359 359
             ui.getBlockLayerUI().setAcceptedComponentNames(doNotBlockComponentIds);
    
    360 360
     
    
    361 361
         }
    

  • client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java
    ... ... @@ -21,6 +21,7 @@
    21 21
      */
    
    22 22
     package fr.ird.observe.client.ui.content.data.seine;
    
    23 23
     
    
    24
    +import com.google.common.collect.ImmutableSet;
    
    24 25
     import fr.ird.observe.client.constants.AcquisitionMode;
    
    25 26
     import fr.ird.observe.client.db.constants.DataContextType;
    
    26 27
     import fr.ird.observe.client.ui.content.ContentMode;
    
    ... ... @@ -42,8 +43,8 @@ import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConformityRefer
    42 43
     import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference;
    
    43 44
     import fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference;
    
    44 45
     import fr.ird.observe.dto.result.SaveResultDto;
    
    45
    -import org.apache.logging.log4j.Logger;
    
    46 46
     import org.apache.logging.log4j.LogManager;
    
    47
    +import org.apache.logging.log4j.Logger;
    
    47 48
     import org.nuiton.jaxx.runtime.spi.UIHandler;
    
    48 49
     import org.nuiton.validator.NuitonValidatorScope;
    
    49 50
     
    
    ... ... @@ -85,8 +86,11 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    85 86
                     updateSpecies(species);
    
    86 87
                 }
    
    87 88
             };
    
    89
    +
    
    88 90
             addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, incomingReferences -> {
    
    89
    -            ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId());
    
    91
    +            ImmutableSet<String> speciesGroupIds = ui.getConfig().getNonTargetCatchReleaseSpeciesGroupsIds();
    
    92
    +//            ImmutableSet<String> speciesGroupIds = ObserveSwingApplicationContext.get().getConfig().getNonTargetCatchReleaseSpeciesGroupsIds();
    
    93
    +            ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId(), speciesGroupIds);
    
    90 94
                 return new LinkedList<>(sampleSpecies.toSet());
    
    91 95
             });
    
    92 96
         }
    
    ... ... @@ -177,8 +181,8 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei
    177 181
             super.afterInit(ui);
    
    178 182
     
    
    179 183
             speciesGroupDtoMap = new TreeMap<>();
    
    180
    -
    
    181
    -        getReferentialService().loadSensibleSpeciesGroup().forEach(id -> speciesGroupDtoMap.put(id.getId(), id));
    
    184
    +        ImmutableSet<String> speciesGroupIds = ui.getConfig().getNonTargetCatchReleaseSpeciesGroupsIds();
    
    185
    +        getReferentialService().loadSensibleSpeciesGroup(speciesGroupIds).forEach(id -> speciesGroupDtoMap.put(id.getId(), id));
    
    182 186
     
    
    183 187
         }
    
    184 188
     
    

  • client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIHandler.java
    ... ... @@ -124,6 +124,16 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa
    124 124
                 NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource();
    
    125 125
                 source.setMeanLengthComputedSource(null);
    
    126 126
             };
    
    127
    +        addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> {
    
    128
    +
    
    129
    +            String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId();
    
    130
    +            String tripId = getDataContext().getSelectedTripSeineId();
    
    131
    +
    
    132
    +            List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripId, speciesListId).toList();
    
    133
    +
    
    134
    +            return DtoReferenceCollection.filterEnabled(result);
    
    135
    +
    
    136
    +        });
    
    127 137
         }
    
    128 138
     
    
    129 139
         String getCatchWeightDataTip(NonTargetCatchComputedValueSource computed) {
    
    ... ... @@ -375,16 +385,6 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa
    375 385
             loadReferentialReferenceSetsInModel(form);
    
    376 386
             getModel().setForm(form);
    
    377 387
             SetSeineNonTargetCatchHelper.copySetSeineNonTargetCatchDto(form.getObject(), getBean());
    
    378
    -        addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> {
    
    379
    -
    
    380
    -            String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId();
    
    381
    -            String tripId = getDataContext().getSelectedTripSeineId();
    
    382
    -
    
    383
    -            List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripId, speciesListId).toList();
    
    384
    -
    
    385
    -            return DtoReferenceCollection.filterEnabled(result);
    
    386
    -
    
    387
    -        });
    
    388 388
         }
    
    389 389
     
    
    390 390
         boolean showReasonForDiscard(SpeciesFateReference speciesFate) {
    

  • client-core/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java
    ... ... @@ -28,6 +28,7 @@ import fr.ird.observe.client.ui.actions.main.menu.storage.ChangeStorageAction;
    28 28
     import fr.ird.observe.client.ui.actions.main.menu.storage.CloseStorageAction;
    
    29 29
     import fr.ird.observe.client.ui.actions.main.menu.storage.ReloadStorageAction;
    
    30 30
     import fr.ird.observe.client.ui.util.table.ObserveBooleanTableCellRenderer;
    
    31
    +import fr.ird.observe.client.ui.util.tripMap.ObserveMapPane;
    
    31 32
     import fr.ird.observe.dto.IdDto;
    
    32 33
     import fr.ird.observe.dto.data.DataFileDto;
    
    33 34
     import fr.ird.observe.dto.decoration.DecoratorService;
    
    ... ... @@ -51,7 +52,9 @@ import org.nuiton.jaxx.widgets.file.JaxxFileChooser;
    51 52
     import javax.swing.JComponent;
    
    52 53
     import javax.swing.JDialog;
    
    53 54
     import javax.swing.JOptionPane;
    
    55
    +import javax.swing.JScrollBar;
    
    54 56
     import javax.swing.JScrollPane;
    
    57
    +import javax.swing.JTabbedPane;
    
    55 58
     import javax.swing.JTable;
    
    56 59
     import javax.swing.JTree;
    
    57 60
     import javax.swing.KeyStroke;
    
    ... ... @@ -106,6 +109,11 @@ public class UIHelper extends SwingUtil {
    106 109
                 // copy progression of any admin tab to clipboard
    
    107 110
                 "progressionTopCopyCliptBoard"
    
    108 111
         };
    
    112
    +
    
    113
    +    public static final Class<?>[] ACCEPTABLE_COMPONENTS_TYPE = {
    
    114
    +            ObserveMapPane.class, JScrollBar.class, JTabbedPane.class
    
    115
    +    };
    
    116
    +
    
    109 117
         /** Logger */
    
    110 118
         static private final Logger log = LogManager.getLogger(UIHelper.class);
    
    111 119
     
    

  • dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java deleted
    1
    -package fr.ird.observe.dto.referential;
    
    2
    -
    
    3
    -/*-
    
    4
    - * #%L
    
    5
    - * ObServe :: Dto
    
    6
    - * %%
    
    7
    - * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
    
    8
    - * %%
    
    9
    - * This program is free software: you can redistribute it and/or modify
    
    10
    - * it under the terms of the GNU General Public License as
    
    11
    - * published by the Free Software Foundation, either version 3 of the
    
    12
    - * License, or (at your option) any later version.
    
    13
    - *
    
    14
    - * This program is distributed in the hope that it will be useful,
    
    15
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    16
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    17
    - * GNU General Public License for more details.
    
    18
    - *
    
    19
    - * You should have received a copy of the GNU General Public
    
    20
    - * License along with this program.  If not, see
    
    21
    - * <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    22
    - * #L%
    
    23
    - */
    
    24
    -
    
    25
    -import java.util.Arrays;
    
    26
    -import java.util.List;
    
    27
    -
    
    28
    -public class SpeciesGroupHelper extends GeneratedSpeciesGroupHelper {
    
    29
    -    //FIXME PROTECTED-ID
    
    30
    -    public static final List<String> SPECIES_GROUP_IDS = Arrays.asList(
    
    31
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712",
    
    32
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461",
    
    33
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247",
    
    34
    -            "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075"
    
    35
    -    );
    
    36
    -}

  • dto/src/main/models/Observe.model
    ... ... @@ -109,33 +109,33 @@ hasSetLongline + {*:1} Boolean
    109 109
     
    
    110 110
     data.longline.BaitsComposition > data.Data | references=baitTypeLabel,baitSettingsStatusLabel,individualSize,individualWeight,proportion
    
    111 111
     proportion + {*:1} Integer | notNull strictlyPositiveNumber
    
    112
    -individualSize + {*:1} Integer | strictlyPositiveNumber
    
    113
    -individualWeight + {*:1} Float | strictlyPositiveNumber
    
    112
    +individualSize + {*:1} Integer | positiveNumber
    
    113
    +individualWeight + {*:1} Float | positiveNumber
    
    114 114
     baitSettingStatus {*:1} fr.ird.observe.dto.referential.longline.BaitSettingStatusReference
    
    115 115
     baitType {*:1} fr.ird.observe.dto.referential.longline.BaitTypeReference | notNull
    
    116 116
     
    
    117 117
     data.longline.Basket > data.Data >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier,sectionId
    
    118
    -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber
    
    119
    -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber
    
    120
    -floatline1Length + {*:1} Float | notNull strictlyPositiveNumber
    
    121
    -floatline2Length + {*:1} Float | notNull strictlyPositiveNumber
    
    118
    +settingIdentifier + {*:1} Integer | notNull positiveNumber
    
    119
    +haulingIdentifier + {*:1} Integer | positiveNumber
    
    120
    +floatline1Length + {*:1} Float | notNull positiveNumber
    
    121
    +floatline2Length + {*:1} Float | notNull positiveNumber
    
    122 122
     branchline + {*} data.longline.Branchline | ordered unique
    
    123 123
     section + {*:1} fr.ird.observe.dto.data.longline.SectionReference
    
    124 124
     
    
    125 125
     data.longline.Branchline > data.Commentable >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier,basketId
    
    126
    -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber
    
    127
    -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber
    
    126
    +settingIdentifier + {*:1} Integer | notNull psitiveNumber
    
    127
    +haulingIdentifier + {*:1} Integer | positiveNumber
    
    128 128
     depthRecorder + {*:1} Boolean
    
    129 129
     timer + {*:1} Boolean
    
    130 130
     timeSinceContact + {*:1} Long
    
    131 131
     hookOffset + {*:1} Integer
    
    132
    -branchlineLength + {*:1} Float | strictlyPositiveNumber
    
    132
    +branchlineLength + {*:1} Float | positiveNumber
    
    133 133
     weightedSwivel + {*:1} Boolean
    
    134 134
     timerTimeOnBoard + {*:1} Date
    
    135 135
     weightedSnap + {*:1} Boolean
    
    136
    -swivelWeight + {*:1} Float | strictlyPositiveNumber
    
    137
    -snapWeight + {*:1} Float | strictlyPositiveNumber
    
    138
    -tracelineLength + {*:1} Float | strictlyPositiveNumber
    
    136
    +swivelWeight + {*:1} Float | positiveNumber
    
    137
    +snapWeight + {*:1} Float | positiveNumber
    
    138
    +tracelineLength + {*:1} Float | positiveNumber
    
    139 139
     hookLost + {*:1} Boolean
    
    140 140
     traceCutOff + {*:1} Boolean
    
    141 141
     baitSettingStatus {*:0..1} fr.ird.observe.dto.referential.longline.BaitSettingStatusReference
    
    ... ... @@ -148,22 +148,22 @@ baitType {*:0..1} fr.ird.observe.dto.referential.longline.BaitTypeReference
    148 148
     basket + {*:1} fr.ird.observe.dto.data.longline.BasketReference
    
    149 149
     
    
    150 150
     data.longline.BranchlinesComposition > data.Data | references=topTypeLabel,tracelineTypeLabel,length,proportion
    
    151
    -length + {*:1} Float | notNull strictlyPositiveNumber
    
    151
    +length + {*:1} Float | notNull positiveNumber
    
    152 152
     proportion + {*:1} Integer | notNull strictlyPositiveNumber
    
    153
    -tracelineLength + {*:1} Float | strictlyPositiveNumber
    
    153
    +tracelineLength + {*:1} Float | positiveNumber
    
    154 154
     topType {*:0..1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull
    
    155 155
     tracelineType {*:0..1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull
    
    156 156
     
    
    157 157
     data.longline.CatchLongline > data.Commentable >> data.longline.LonglinePositionAwareDto | references=homeId
    
    158 158
     homeId + {*:1} String
    
    159
    -count + {*:1} Integer | strictlyPositiveNumber
    
    160
    -totalWeight + {*:1} Float | strictlyPositiveNumber
    
    159
    +count + {*:1} Integer | positiveNumber
    
    160
    +totalWeight + {*:1} Float | positiveNumber
    
    161 161
     hookWhenDiscarded + {*:1} Boolean
    
    162 162
     depredated + {*:1} Boolean
    
    163
    -beatDiameter + {*:1} Float | strictlyPositiveNumber
    
    164
    -gonadeWeight + {*:1} Float | strictlyPositiveNumber
    
    163
    +beatDiameter + {*:1} Float | positiveNumber
    
    164
    +gonadeWeight + {*:1} Float | positiveNumber
    
    165 165
     photoReferences + {*:1} String
    
    166
    -number + {*:1} Integer | strictlyPositiveNumber
    
    166
    +number + {*:1} Integer | positiveNumber
    
    167 167
     acquisitionMode + {*:1} int
    
    168 168
     tagNumber + {*:1} String
    
    169 169
     basket {*:0..1} fr.ird.observe.dto.data.longline.BasketReference
    
    ... ... @@ -182,18 +182,18 @@ catchHealthStatus {*:1} fr.ird.observe.dto.referential.longline.HealthStatusRefe
    182 182
     sex {*:0..1} fr.ird.observe.dto.referential.SexReference
    
    183 183
     
    
    184 184
     data.longline.Encounter > data.Data | references=encounterTypeLabel,speciesLabel
    
    185
    -distance + {*:1} Float | strictlyPositiveNumber | mayNotNull
    
    186
    -count + {*:1} Integer | strictlyPositiveNumber | mayNotNull
    
    185
    +distance + {*:1} Float | positiveNumber | mayNotNull
    
    186
    +count + {*:1} Integer | positiveNumber | mayNotNull
    
    187 187
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | mayNotNull
    
    188 188
     encounterType {*:1} fr.ird.observe.dto.referential.longline.EncounterTypeReference | notNull
    
    189 189
     
    
    190 190
     data.longline.FloatlinesComposition > data.Data | references=lineTypeLabel,length,proportion
    
    191
    -length + {*:1} Float | notNull strictlyPositiveNumber
    
    191
    +length + {*:1} Float | notNull positiveNumber
    
    192 192
     proportion + {*:1} Integer | notNull strictlyPositiveNumber
    
    193 193
     lineType {*:1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull
    
    194 194
     
    
    195 195
     data.longline.GearUseFeaturesLongline > data.Commentable | references=number,usedInTrip
    
    196
    -number + {*:1} Integer | notNull strictlyPositiveNumber
    
    196
    +number + {*:1} Integer | notNull positiveNumber
    
    197 197
     usedInTrip + {*:1} Boolean
    
    198 198
     gearUseFeaturesMeasurement + {*} data.longline.GearUseFeaturesMeasurementLongline | ordered
    
    199 199
     gear {*:1} fr.ird.observe.dto.referential.GearReference | notNull
    
    ... ... @@ -204,13 +204,13 @@ gearCaracteristic {*:1} fr.ird.observe.dto.referential.GearCaracteristicReferenc
    204 204
     
    
    205 205
     data.longline.HooksComposition > data.Data | references=hookTypeLabel,hookSizeLabel,hookOffset,proportion
    
    206 206
     proportion + {*:1} Integer | notNull strictlyPositiveNumber
    
    207
    -hookOffset + {*:1} Integer | strictlyPositiveNumber
    
    207
    +hookOffset + {*:1} Integer | positiveNumber
    
    208 208
     hookType {*:1} fr.ird.observe.dto.referential.longline.HookTypeReference | notNull
    
    209 209
     hookSize {*:1} fr.ird.observe.dto.referential.longline.HookSizeReference
    
    210 210
     
    
    211 211
     data.longline.Section > data.Data >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier
    
    212
    -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber
    
    213
    -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber
    
    212
    +settingIdentifier + {*:1} Integer | notNull positiveNumber
    
    213
    +haulingIdentifier + {*:1} Integer | positiveNumber
    
    214 214
     basket + {*} data.longline.Basket | ordered unique
    
    215 215
     
    
    216 216
     data.longline.SensorUsed > data.Data | references=sensorTypeLabel
    
    ... ... @@ -225,27 +225,27 @@ data {*:0..1} data.DataFile
    225 225
     data.longline.SetLongline > data.Commentable | references=homeId
    
    226 226
     homeId + {*:1} String | mayNotNull
    
    227 227
     number + {*:1} Integer
    
    228
    -basketsPerSectionCount + {*:1} Integer | notNull strictlyPositiveNumber
    
    229
    -branchlinesPerBasketCount + {*:1} Integer | notNull strictlyPositiveNumber
    
    230
    -totalSectionsCount + {*:1} Integer | notNull strictlyPositiveNumber
    
    231
    -totalBasketsCount + {*:1} Integer | strictlyPositiveNumber
    
    232
    -totalHooksCount + {*:1} Integer | strictlyPositiveNumber
    
    228
    +basketsPerSectionCount + {*:1} Integer | notNull positiveNumber
    
    229
    +branchlinesPerBasketCount + {*:1} Integer | notNull positiveNumber
    
    230
    +totalSectionsCount + {*:1} Integer | notNull positiveNumber
    
    231
    +totalBasketsCount + {*:1} Integer | positiveNumber
    
    232
    +totalHooksCount + {*:1} Integer | positiveNumber
    
    233 233
     weightedSnap + {*:1} Boolean
    
    234
    -snapWeight + {*:1} Float | strictlyPositiveNumber
    
    234
    +snapWeight + {*:1} Float | positiveNumber
    
    235 235
     weightedSwivel + {*:1} Boolean
    
    236
    -swivelWeight + {*:1} Float | strictlyPositiveNumber
    
    237
    -lightsticksPerBasketCount + {*:1} Integer | notNull strictlyPositiveNumber
    
    238
    -timeBetweenHooks + {*:1} Long | strictlyPositiveNumber
    
    236
    +swivelWeight + {*:1} Float | positiveNumber
    
    237
    +lightsticksPerBasketCount + {*:1} Integer | notNull positiveNumber
    
    238
    +timeBetweenHooks + {*:1} Long | positiveNumber
    
    239 239
     shooterUsed + {*:1} Boolean
    
    240
    -shooterSpeed + {*:1} Float | strictlyPositiveNumber
    
    241
    -maxDepthTargeted + {*:1} Integer | strictlyPositiveNumber
    
    240
    +shooterSpeed + {*:1} Float | positiveNumber
    
    241
    +maxDepthTargeted + {*:1} Integer | positiveNumber
    
    242 242
     settingStartTimeStamp + {*:1} Date | notNull
    
    243 243
     settingStartLatitude + {*:1} Float | notNull
    
    244 244
     settingStartLongitude + {*:1} Float | notNull
    
    245 245
     settingEndTimeStamp + {*:1} Date | notNull
    
    246 246
     settingEndLatitude + {*:1} Float | notNull
    
    247 247
     settingEndLongitude + {*:1} Float | notNull
    
    248
    -settingVesselSpeed + {*:1} Float
    
    248
    +settingVesselSpeed + {*:1} Float | positiveNumber
    
    249 249
     haulingDirectionSameAsSetting + {*:1} Boolean | notNull
    
    250 250
     haulingStartTimeStamp + {*:1} Date | notNull
    
    251 251
     haulingStartLatitude + {*:1} Float | notNull
    
    ... ... @@ -274,9 +274,9 @@ branchlines {*:*} fr.ird.observe.dto.data.longline.BranchlineReference
    274 274
     data.longline.SetLonglineDetailComposition > data.Data
    
    275 275
     settingStartTimeStamp + {*:1} Date
    
    276 276
     monitored + {*:1} Boolean
    
    277
    -totalSectionsCount + {*:1} Integer | strictlyPositiveNumber
    
    278
    -basketsPerSectionCount + {*:1} Integer | strictlyPositiveNumber
    
    279
    -branchlinesPerBasketCount + {*:1} Integer | strictlyPositiveNumber
    
    277
    +totalSectionsCount + {*:1} Integer | positiveNumber
    
    278
    +basketsPerSectionCount + {*:1} Integer | positiveNumber
    
    279
    +branchlinesPerBasketCount + {*:1} Integer | positiveNumber
    
    280 280
     haulingDirectionSameAsSetting + {*:1} Boolean
    
    281 281
     haulingBreaks + {*:1} Integer | positiveNumber
    
    282 282
     section + {*} data.longline.Section | ordered unique
    
    ... ... @@ -301,27 +301,27 @@ baskets {*:*} fr.ird.observe.dto.data.longline.BasketReference
    301 301
     branchlines {*:*} fr.ird.observe.dto.data.longline.BranchlineReference
    
    302 302
     
    
    303 303
     data.longline.SizeMeasure > data.Data | references=sizeMeasureTypeLabel,size
    
    304
    -size + {*:1} Float | strictlyPositiveNumber
    
    304
    +size + {*:1} Float | positiveNumber
    
    305 305
     sizeMeasureType {*:1} fr.ird.observe.dto.referential.SizeMeasureTypeReference
    
    306 306
     
    
    307 307
     data.longline.Tdr > data.Data >> data.longline.LonglinePositionAwareDto | references=homeId
    
    308 308
     homeId + {*:1} String
    
    309
    -floatline1Length + {*:1} Float | strictlyPositiveNumber
    
    310
    -floatline2Length + {*:1} Float | strictlyPositiveNumber
    
    309
    +floatline1Length + {*:1} Float | positiveNumber
    
    310
    +floatline2Length + {*:1} Float | positiveNumber
    
    311 311
     serialNo + {*:1} String
    
    312 312
     hasData + {*:1} boolean
    
    313 313
     deploymentStart + {*:1} Date
    
    314 314
     deploymentEnd + {*:1} Date
    
    315 315
     fishingStart + {*:1} Date
    
    316 316
     fishingEnd + {*:1} Date
    
    317
    -fishingStartDepth + {*:1} Float | strictlyPositiveNumber
    
    318
    -fishingEndDepth + {*:1} Float | strictlyPositiveNumber
    
    319
    -meanDeploymentDepth + {*:1} Float | strictlyPositiveNumber
    
    320
    -medianDeploymentDepth + {*:1} Float | strictlyPositiveNumber
    
    321
    -minFishingDepth + {*:1} Float | strictlyPositiveNumber
    
    322
    -maxFishingDepth + {*:1} Float | strictlyPositiveNumber
    
    323
    -meanFishingDepth + {*:1} Float | strictlyPositiveNumber
    
    324
    -medianFishingDepth + {*:1} Float | strictlyPositiveNumber
    
    317
    +fishingStartDepth + {*:1} Float | positiveNumber
    
    318
    +fishingEndDepth + {*:1} Float | positiveNumber
    
    319
    +meanDeploymentDepth + {*:1} Float | positiveNumber
    
    320
    +medianDeploymentDepth + {*:1} Float | positiveNumber
    
    321
    +minFishingDepth + {*:1} Float | positiveNumber
    
    322
    +maxFishingDepth + {*:1} Float | positiveNumber
    
    323
    +meanFishingDepth + {*:1} Float | positiveNumber
    
    324
    +medianFishingDepth + {*:1} Float | positiveNumber
    
    325 325
     dataLocation + {*:1} String
    
    326 326
     branchline {*:0..1} fr.ird.observe.dto.data.longline.BranchlineReference
    
    327 327
     sensorBrand {*:0..1} fr.ird.observe.dto.referential.longline.SensorBrandReference
    
    ... ... @@ -357,7 +357,7 @@ data.longline.TripLonglineGearUse > data.Data | form=data.longline.GearUseFeatur
    357 357
     gearUseFeaturesLongline + {*} data.longline.GearUseFeaturesLongline | ordered mayNotNull
    
    358 358
     
    
    359 359
     data.longline.WeightMeasure > data.Data | references=weightMeasureTypeLabel,weight
    
    360
    -weight + {*:1} Float | strictlyPositiveNumber
    
    360
    +weight + {*:1} Float | positiveNumber
    
    361 361
     weightMeasureType {*:1} fr.ird.observe.dto.referential.WeightMeasureTypeReference
    
    362 362
     
    
    363 363
     referential.Country > referential.I18nReferential | references=code,label,uri,iso2Code,iso3Code
    
    ... ... @@ -469,7 +469,7 @@ referential.Vessel > referential.I18nReferential | references=code,label,uri,ves
    469 469
     keelCode + {*:1} Integer
    
    470 470
     fleetCountry + {*:1} Integer
    
    471 471
     changeDate + {*:1} Date | mayNotNull
    
    472
    -yearService + {*:1} Integer | strictlyPositiveNumber
    
    472
    +yearService + {*:1} Integer | positiveNumber
    
    473 473
     length + {*:1} Float | strictlyPositiveNumber
    
    474 474
     capacity + {*:1} Float | strictlyPositiveNumber
    
    475 475
     power + {*:1} Integer | strictlyPositiveNumber
    
    ... ... @@ -610,8 +610,8 @@ data.seine.ActivitySeine > data.Openable | references=time,vesselActivitySeine,s
    610 610
     time + {*:1} Date | notNull
    
    611 611
     latitude + {*:1} Float | notNull
    
    612 612
     longitude + {*:1} Float | notNull
    
    613
    -vesselSpeed + {*:1} Float | strictlyPositiveNumber
    
    614
    -seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber
    
    613
    +vesselSpeed + {*:1} Float | positiveNumber
    
    614
    +seaSurfaceTemperature + {*:1} Float | mayNotNull positiveNumber
    
    615 615
     ersId + {*:1} String
    
    616 616
     floatingObjectEmpty + {*:1} boolean
    
    617 617
     observedSystemDistance + {*:1} Float | mayNotNull positiveNumber
    
    ... ... @@ -633,7 +633,7 @@ data.seine.ActivitySeineStub > data.Data
    633 633
     time + {*:1} Date
    
    634 634
     latitude + {*:1} Float
    
    635 635
     longitude + {*:1} Float
    
    636
    -seaSurfaceTemperature + {*:1} Float | strictlyPositiveNumber
    
    636
    +seaSurfaceTemperature + {*:1} Float | positiveNumber
    
    637 637
     activityFinDeVeille + {*:1} boolean
    
    638 638
     
    
    639 639
     data.seine.FloatingObject > data.Commentable | references=objectOperationLabel
    
    ... ... @@ -665,19 +665,19 @@ measurementValue + {*:1} String
    665 665
     gearCaracteristic {*:1} fr.ird.observe.dto.referential.GearCaracteristicReference
    
    666 666
     
    
    667 667
     data.seine.GearUseFeaturesSeine > data.Commentable | references=number,usedInTrip
    
    668
    -number + {*:1} Integer | notNull strictlyPositiveNumber
    
    668
    +number + {*:1} Integer | notNull positiveNumber
    
    669 669
     usedInTrip + {*:1} Boolean
    
    670 670
     gearUseFeaturesMeasurement + {*} data.seine.GearUseFeaturesMeasurementSeine | ordered
    
    671 671
     gear {*:1} fr.ird.observe.dto.referential.GearReference | notNull
    
    672 672
     
    
    673 673
     data.seine.NonTargetCatch > data.Commentable | references=speciesLabel,speciesFateLabel
    
    674
    -catchWeight + {*:1} Float | strictlyPositiveNumber
    
    674
    +catchWeight + {*:1} Float | positiveNumber
    
    675 675
     catchWeightComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource
    
    676
    -meanWeight + {*:1} Float | strictlyPositiveNumber
    
    676
    +meanWeight + {*:1} Float | positiveNumber
    
    677 677
     meanWeightComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource
    
    678
    -meanLength + {*:1} Float | strictlyPositiveNumber
    
    678
    +meanLength + {*:1} Float | positiveNumber
    
    679 679
     meanLengthComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource
    
    680
    -totalCount + {*:1} Integer | strictlyPositiveNumber
    
    680
    +totalCount + {*:1} Integer | positiveNumber
    
    681 681
     totalCountComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource
    
    682 682
     hasSample + {*:1} boolean
    
    683 683
     well + {*:1} String
    
    ... ... @@ -687,7 +687,7 @@ speciesFate {*:0..1} fr.ird.observe.dto.referential.seine.SpeciesFateReference |
    687 687
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    688 688
     
    
    689 689
     data.seine.NonTargetCatchRelease > data.Commentable | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length
    
    690
    -length + {*:1} Float | strictlyPositiveNumber
    
    690
    +length + {*:1} Float | positiveNumber
    
    691 691
     count + {*:1} Integer | notNull strictlyPositiveNumber
    
    692 692
     acquisitionMode + {*:1} int
    
    693 693
     status {*:1} !fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference | notNull
    
    ... ... @@ -698,12 +698,12 @@ conformity {*:1} fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConfo
    698 698
     releasingTime {*:1} fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference
    
    699 699
     
    
    700 700
     data.seine.NonTargetLength > data.Data | references=speciesLabel,length
    
    701
    -length + {*:1} Float | strictlyPositiveNumber
    
    701
    +length + {*:1} Float | positiveNumber
    
    702 702
     isLengthComputed + {*:1} boolean
    
    703 703
     picturesReferences + {*:1} String
    
    704
    -weight + {*:1} Float | strictlyPositiveNumber
    
    704
    +weight + {*:1} Float | positiveNumber
    
    705 705
     isWeightComputed + {*:1} boolean
    
    706
    -count + {*:1} Integer | notNull strictlyPositiveNumber
    
    706
    +count + {*:1} Integer | notNull positiveNumber
    
    707 707
     acquisitionMode + {*:1} int
    
    708 708
     tagNumber + {*:1} String
    
    709 709
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    ... ... @@ -716,12 +716,12 @@ nonTargetLength + {*} data.seine.NonTargetLength | ordered
    716 716
     speciesFate {*:*} fr.ird.observe.dto.referential.seine.SpeciesFateReference
    
    717 717
     
    
    718 718
     data.seine.ObjectObservedSpecies > data.Data | references=speciesLabel,speciesStatusLabel
    
    719
    -count + {*:1} Integer | notNull strictlyPositiveNumber
    
    719
    +count + {*:1} Integer | notNull positiveNumber
    
    720 720
     speciesStatus {*:1} fr.ird.observe.dto.referential.seine.SpeciesStatusReference | notNull
    
    721 721
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    722 722
     
    
    723 723
     data.seine.ObjectSchoolEstimate > data.Data | references=speciesLabel,totalWeight
    
    724
    -totalWeight + {*:1} Integer | notNull strictlyPositiveNumber
    
    724
    +totalWeight + {*:1} Integer | notNull positiveNumber
    
    725 725
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    726 726
     
    
    727 727
     data.seine.Route > data.Openable | references=date,comment
    
    ... ... @@ -737,22 +737,22 @@ startLogValue + {*:1} Float | positiveNumber
    737 737
     endLogValue + {*:1} Float | positiveNumber
    
    738 738
     
    
    739 739
     data.seine.SchoolEstimate > data.Data | references=speciesLabel,meanWeight,totalWeight
    
    740
    -totalWeight + {*:1} Integer | strictlyPositiveNumber
    
    741
    -meanWeight + {*:1} Integer | strictlyPositiveNumber
    
    740
    +totalWeight + {*:1} Integer | positiveNumber
    
    741
    +meanWeight + {*:1} Integer | positiveNumber
    
    742 742
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    743 743
     
    
    744 744
     data.seine.SetSeine > data.Commentable | references=comment constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime
    
    745 745
     startTime + {*:1} Date
    
    746 746
     endPursingTimeStamp + {*:1} Date
    
    747 747
     endSetTimeStamp + {*:1} Date
    
    748
    -maxGearDepth + {*:1} Integer | strictlyPositiveNumber
    
    749
    -currentSpeed + {*:1} Float | strictlyPositiveNumber
    
    750
    -currentDirection + {*:1} Integer | mayNotNull strictlyPositiveNumber
    
    748
    +maxGearDepth + {*:1} Integer | positiveNumber
    
    749
    +currentSpeed + {*:1} Float | positiveNumber
    
    750
    +currentDirection + {*:1} Integer | mayNotNull positiveNumber
    
    751 751
     schoolTopDepth + {*:1} Integer | positiveNumber
    
    752
    -schoolMeanDepth + {*:1} Integer | strictlyPositiveNumber
    
    753
    -schoolThickness + {*:1} Integer | strictlyPositiveNumber
    
    752
    +schoolMeanDepth + {*:1} Integer | positiveNumber
    
    753
    +schoolThickness + {*:1} Integer | positiveNumber
    
    754 754
     supportVesselName + {*:1} String
    
    755
    -currentMeasureDepth + {*:1} Integer | strictlyPositiveNumber
    
    755
    +currentMeasureDepth + {*:1} Integer | positiveNumber
    
    756 756
     schoolType + {*:1} !fr.ird.observe.dto.data.seine.SchoolType
    
    757 757
     targetCatchCompositionEstimatedByObserver + {*:1} boolean
    
    758 758
     targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean
    
    ... ... @@ -775,7 +775,7 @@ targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean
    775 775
     targetCatch {*} data.seine.TargetCatch | ordered
    
    776 776
     
    
    777 777
     data.seine.TargetCatch > data.Commentable | references=speciesLabel,well,catchWeight
    
    778
    -catchWeight + {*:1} Float | notNull strictlyPositiveNumber
    
    778
    +catchWeight + {*:1} Float | notNull positiveNumber
    
    779 779
     well + {*:1} String | notNull
    
    780 780
     broughtOnDeck + {*:1} Boolean
    
    781 781
     discarded + {*:1} boolean
    
    ... ... @@ -785,10 +785,10 @@ reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.seine.ReasonForDiscardR
    785 785
     species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull
    
    786 786
     
    
    787 787
     data.seine.TargetLength > data.Data | references=speciesLabel,length,count constants=totalWeight
    
    788
    -length + {*:1} Float | strictlyPositiveNumber
    
    788
    +length + {*:1} Float | positiveNumber
    
    789 789
     isLengthComputed + {*:1} boolean
    
    790
    -count + {*:1} Integer | notNull strictlyPositiveNumber
    
    791
    -weight + {*:1} Float | strictlyPositiveNumber
    
    790
    +count + {*:1} Integer | notNull positiveNumber
    
    791
    +weight + {*:1} Float | positiveNumber
    
    792 792
     isWeightComputed + {*:1} boolean
    
    793 793
     acquisitionMode + {*:1} int
    
    794 794
     tagNumber + {*:1} String
    

  • observe-i18n/src/main/i18n/translations/observe_en_GB.properties
    ... ... @@ -1756,6 +1756,7 @@ observe.config.map.layer7.description=File (shapefile) for layer 7 of map
    1756 1756
     observe.config.map.layer8.description=File (shapefile) for layer 8 of map
    
    1757 1757
     observe.config.map.layer9.description=File (shapefile) for layer 9 of map
    
    1758 1758
     observe.config.map.style.description=File of styles used in map
    
    1759
    +observe.config.nonTargetCatchRelease.speciesGroups=Species groups authorized in NonTargetCatchRelease form
    
    1759 1760
     observe.config.observation.activitysDetaillees=Observation of detailled activities
    
    1760 1761
     observe.config.observation.fauneAssociee=Observation of non target
    
    1761 1762
     observe.config.observation.floatingObject=Observation of floating objects
    

  • observe-i18n/src/main/i18n/translations/observe_es_ES.properties
    ... ... @@ -1756,6 +1756,7 @@ observe.config.map.layer7.description=Archivo (shapeFiles) del séptimo calco de
    1756 1756
     observe.config.map.layer8.description=Archivo (shapeFiles) del octavo calco del mapa
    
    1757 1757
     observe.config.map.layer9.description=Archivo (shapeFiles) del noveno calco del mapa
    
    1758 1758
     observe.config.map.style.description=Archivo de los estilos a aplicar sobre los calcos del mapa
    
    1759
    +observe.config.nonTargetCatchRelease.speciesGroups=Species groups authorized in NonTargetCatchRelease form \#TODO
    
    1759 1760
     observe.config.observation.activitysDetaillees=Observación de actividades detalladas
    
    1760 1761
     observe.config.observation.fauneAssociee=Observación de Fauna asociada
    
    1761 1762
     observe.config.observation.floatingObject=Observación de objetos flotantes
    

  • observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
    ... ... @@ -1756,6 +1756,7 @@ observe.config.map.layer7.description=Fichier (Shape Files) du septième calque
    1756 1756
     observe.config.map.layer8.description=Fichier (Shape Files) du huitième calque de la carte
    
    1757 1757
     observe.config.map.layer9.description=Fichier (Shape Files) du neuvième calque de la carte
    
    1758 1758
     observe.config.map.style.description=Fichier des style à appliquer sur les calques de la carte
    
    1759
    +observe.config.nonTargetCatchRelease.speciesGroups=Groupes d'espèces autorisés dans le formulaire des espèces accessoires sensibles libérées
    
    1759 1760
     observe.config.observation.activitysDetaillees=Observation des activités détaillées
    
    1760 1761
     observe.config.observation.fauneAssociee=Observation des Faunes associées
    
    1761 1762
     observe.config.observation.floatingObject=Observation des objets flottants
    

  • services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/NonTargetCatchReleaseServiceLocal.java
    ... ... @@ -22,11 +22,11 @@ package fr.ird.observe.services.local.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import com.google.common.collect.ImmutableSet;
    
    25 26
     import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto;
    
    26 27
     import fr.ird.observe.dto.form.Form;
    
    27 28
     import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
    
    28 29
     import fr.ird.observe.dto.referential.SpeciesReference;
    
    29
    -import fr.ird.observe.dto.referential.SpeciesGroupHelper;
    
    30 30
     import fr.ird.observe.dto.result.SaveResultDto;
    
    31 31
     import fr.ird.observe.entities.seine.NonTargetCatch;
    
    32 32
     import fr.ird.observe.entities.seine.SetSeine;
    
    ... ... @@ -45,7 +45,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple
    45 45
         private static final Logger log = LogManager.getLogger(NonTargetCatchReleaseServiceLocal.class);
    
    46 46
     
    
    47 47
         @Override
    
    48
    -    public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId) {
    
    48
    +    public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds) {
    
    49 49
             if (log.isTraceEnabled()) {
    
    50 50
                 log.trace("getSampleSpecies(" + setSeineId + ")");
    
    51 51
             }
    
    ... ... @@ -55,7 +55,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple
    55 55
             return SPECIES_SPI.toReferentialReferenceSet(setSeine.getNonTargetCatch().stream()
    
    56 56
                                                                  .map(NonTargetCatch::getSpecies)
    
    57 57
                                                                  .distinct()
    
    58
    -                                                             .filter(s -> SpeciesGroupHelper.SPECIES_GROUP_IDS.contains(s.getSpeciesGroup().getTopiaId()))
    
    58
    +                                                             .filter(s -> speciesGroupIds.contains(s.getSpeciesGroup().getTopiaId()))
    
    59 59
                                                                  .collect(Collectors.toList()), getReferentialLocale(), null);
    
    60 60
         }
    
    61 61
     
    

  • services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
    ... ... @@ -43,7 +43,6 @@ import fr.ird.observe.dto.referential.ReferentialDto;
    43 43
     import fr.ird.observe.dto.referential.ReferentialLocale;
    
    44 44
     import fr.ird.observe.dto.referential.SpeciesDto;
    
    45 45
     import fr.ird.observe.dto.referential.SpeciesGroupDto;
    
    46
    -import fr.ird.observe.dto.referential.SpeciesGroupHelper;
    
    47 46
     import fr.ird.observe.dto.referential.seine.ObservedSystemReference;
    
    48 47
     import fr.ird.observe.dto.result.SaveResultDto;
    
    49 48
     import fr.ird.observe.entities.ObserveDataEntity;
    
    ... ... @@ -168,10 +167,10 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
    168 167
         }
    
    169 168
     
    
    170 169
         @Override
    
    171
    -    public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() {
    
    170
    +    public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(ImmutableSet<String> ids) {
    
    172 171
             ImmutableSet.Builder<SpeciesGroupDto> result = ImmutableSet.builder();
    
    173
    -        for (String speciesGroupId : SpeciesGroupHelper.SPECIES_GROUP_IDS) {
    
    174
    -            result.add(loadSpeciesGroup(speciesGroupId));
    
    172
    +        for (String id : ids) {
    
    173
    +            result.add(loadSpeciesGroup(id));
    
    175 174
             }
    
    176 175
             return result.build();
    
    177 176
         }
    

  • services-local/src/test/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocalTest.java
    ... ... @@ -207,7 +207,7 @@ public class ValidateServiceLocalTest extends ServiceLocalTestSupport {
    207 207
             assertValidateResult(result, PersonDto.class, 4);
    
    208 208
             assertValidateResult(result, BaitHaulingStatusDto.class, 3);
    
    209 209
             assertValidateResult(result, HookTypeDto.class, 1);
    
    210
    -        assertValidateResult(result, VesselDto.class, 10);
    
    210
    +        assertValidateResult(result, VesselDto.class, 9);
    
    211 211
             assertValidateResult(result, BaitSettingStatusDto.class, 1);
    
    212 212
             assertValidateResult(result, SensorTypeDto.class, 3);
    
    213 213
             assertValidateResult(result, SettingShapeDto.class, 3);
    
    ... ... @@ -251,7 +251,7 @@ public class ValidateServiceLocalTest extends ServiceLocalTestSupport {
    251 251
     
    
    252 252
             assertValidateResult(result, TripSeineDto.class, 5);
    
    253 253
             assertValidateResult(result, RouteDto.class, 3); // 55
    
    254
    -        assertValidateResult(result, ActivitySeineDto.class, 12); // 11
    
    254
    +        assertValidateResult(result, ActivitySeineDto.class, 11);
    
    255 255
             assertValidateResult(result, TransmittingBuoyDto.class, 1);
    
    256 256
             assertValidateResult(result, SetSeineDto.class, 3);
    
    257 257
             assertValidateResult(result, NonTargetCatchDto.class, 3);
    

  • services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java
    ... ... @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.data.seine;
    22 22
      * #L%
    
    23 23
      */
    
    24 24
     
    
    25
    +import com.google.common.collect.ImmutableSet;
    
    25 26
     import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto;
    
    26 27
     import fr.ird.observe.dto.form.Form;
    
    27 28
     import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet;
    
    ... ... @@ -41,7 +42,7 @@ public interface NonTargetCatchReleaseService extends ObserveService {
    41 42
     
    
    42 43
         @Get
    
    43 44
         @ReadDataPermission
    
    44
    -    ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId);
    
    45
    +    ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds);
    
    45 46
     
    
    46 47
         @Get
    
    47 48
         @ReadDataPermission
    

  • services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java
    ... ... @@ -85,7 +85,7 @@ public interface ReferentialService extends ObserveService {
    85 85
     
    
    86 86
         @ReadReferentialPermission
    
    87 87
         @Get
    
    88
    -    ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup();
    
    88
    +    ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(ImmutableSet<String> ids);
    
    89 89
         //FIXME charger cela dans le cache côté applicatif
    
    90 90
     
    
    91 91
         @ReadReferentialPermission
    

  • test/src/main/resources/db/7.6/dataForTestLongline.sql.gz
    No preview for this file type
  • test/src/main/resources/db/7.6/dataForTestSeine.sql.gz
    No preview for this file type
  • test/src/main/resources/db/7.6/empty_h2.sql.gz
    No preview for this file type
  • test/src/main/resources/db/7.6/empty_pg.sql.gz
    No preview for this file type
  • test/src/main/resources/db/7.6/referentiel.sql.gz
    No preview for this file type