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

Commits:

17 changed files:

Changes:

  • client/configuration/src/main/config/Client.ini
    ... ... @@ -476,6 +476,12 @@ key = instance.consolidation.failIfLengthLengthParameterNotFound
    476 476
     type = Boolean
    
    477 477
     defaultValue = false
    
    478 478
     
    
    479
    +[option consolidationSpeciesListForLogbookSampleActivityWeightedWeight]
    
    480
    +description = observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight
    
    481
    +key = instance.consolidation.speciesListForLogbookSampleActivityWeightedWeight
    
    482
    +type = String[]
    
    483
    +defaultValue = fr.ird.referential.common.Species#1239832685474#0.8943253454598569,fr.ird.referential.common.Species#1239832685474#0.975344121171992,fr.ird.referential.common.Species#1239832685475#0.13349466123905152,fr.ird.referential.common.Species#1239832685476#0.5618871286604711,fr.ird.referential.common.Species#1239832685477#0.8024257002747615,fr.ird.referential.common.Species#1239832685477#0.3846921632590058,fr.ird.referential.common.Species#1441287921299#0.016754076421811148,fr.ird.referential.common.Species#1433499265113#0.891799515346065,fr.ird.referential.common.Species#1239832685477#0.2673009297087321,fr.ird.referential.common.Species#1239832685478#0.7676744877900202,fr.ird.referential.common.Species#1239832685477#0.5989181185528589,fr.ird.referential.common.Species#1239832685476#0.36339915670317835
    
    484
    +
    
    479 485
     [option sizeMeasureTypeSeineObservationTargetSampleId]
    
    480 486
     description = observe.config.sizeMeasureType.seine.observation.targetSample
    
    481 487
     key = referential.sizeMeasureType.seine.observation.targetSample
    

  • client/configuration/src/main/i18n/getters/config.getter
    ... ... @@ -22,6 +22,7 @@ observe.config.client.logFiles.timeout.description
    22 22
     observe.config.client.temporaryFiles.timeout.description
    
    23 23
     observe.config.consolidation.failIfLengthLengthParameterNotFound
    
    24 24
     observe.config.consolidation.failIfLengthWeightParameterNotFound
    
    25
    +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight
    
    25 26
     observe.config.coordinate.format
    
    26 27
     observe.config.db.locale
    
    27 28
     observe.config.dcpPresetsDirectory.description
    

  • client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
    ... ... @@ -251,7 +251,7 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext
    251 251
     //            helper.setCloseAction(((DataSourceEditor)currentBody.get()).getContentUIManager()::restartEdit);
    
    252 252
     //        }
    
    253 253
     
    
    254
    -        addApplicationOptions(helper);
    
    254
    +        addApplicationOptions(helper, dataSource);
    
    255 255
             addUiOptions(helper);
    
    256 256
             addNavigationOptions(helper);
    
    257 257
             addMapOptions(helper);
    
    ... ... @@ -261,7 +261,7 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext
    261 261
             return helper;
    
    262 262
         }
    
    263 263
     
    
    264
    -    private void addApplicationOptions(ObserveConfigUIBuilder helper) {
    
    264
    +    private void addApplicationOptions(ObserveConfigUIBuilder helper, ObserveSwingDataSource dataSource) {
    
    265 265
     
    
    266 266
             helper.addCategory(n("observe.config.category.application"),
    
    267 267
                                n("observe.config.category.application.description"),
    
    ... ... @@ -273,6 +273,9 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext
    273 273
             helper.addOption(ClientConfigOption.VALIDATION_USE_DISABLED_REFERENTIAL);
    
    274 274
             helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_WEIGHT_PARAMETER_NOT_FOUND);
    
    275 275
             helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_LENGTH_PARAMETER_NOT_FOUND);
    
    276
    +        if (dataSource != null && dataSource.isOpen()) {
    
    277
    +            helper.addOption(ClientConfigOption.CONSOLIDATION_SPECIES_LIST_FOR_LOGBOOK_SAMPLE_ACTIVITY_WEIGHTED_WEIGHT);
    
    278
    +        }
    
    276 279
     
    
    277 280
         }
    
    278 281
     
    

  • client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jaxx
    ... ... @@ -60,6 +60,14 @@ public void destroy() {
    60 60
               <JCheckBox id='consolidationFailIfLengthLengthParameterNotFound' styleClass="skipI18n"/>
    
    61 61
             </cell>
    
    62 62
           </row>
    
    63
    +      <row>
    
    64
    +        <cell anchor="west">
    
    65
    +          <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeightLabel' styleClass="skipI18n"/>
    
    66
    +        </cell>
    
    67
    +        <cell weightx='1' fill="horizontal">
    
    68
    +          <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeight' styleClass="skipI18n"/>
    
    69
    +        </cell>
    
    70
    +      </row>
    
    63 71
         </Table>
    
    64 72
         <!--Table id='consolidationReportConfig' fill='both' constraints='BorderLayout.CENTER'>
    
    65 73
           <row>
    

  • client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java
    ... ... @@ -30,6 +30,7 @@ import org.apache.logging.log4j.LogManager;
    30 30
     import org.apache.logging.log4j.Logger;
    
    31 31
     import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
    
    32 32
     
    
    33
    +import java.util.List;
    
    33 34
     import java.util.Set;
    
    34 35
     import java.util.TreeSet;
    
    35 36
     
    
    ... ... @@ -42,19 +43,18 @@ import java.util.TreeSet;
    42 43
     public class ConsolidateModel extends AdminActionModel {
    
    43 44
     
    
    44 45
         private static final Logger log = LogManager.getLogger(ConsolidateModel.class);
    
    45
    -    /**
    
    46
    -     * Data source to use for operation.
    
    47
    -     */
    
    48
    -    private ObserveSwingDataSource source;
    
    49 46
         /**
    
    50 47
          * To track trip that has already been consolidated (they won't be again processed).
    
    51 48
          */
    
    52 49
         private final Set<String> alreadyDoneTripIds;
    
    53
    -
    
    50
    +    /**
    
    51
    +     * Data source to use for operation.
    
    52
    +     */
    
    53
    +    private ObserveSwingDataSource source;
    
    54 54
         private boolean consolidationFailIfLengthWeightParameterNotFound;
    
    55 55
         private boolean consolidationFailIfLengthLengthParameterNotFound;
    
    56
    +    private List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
    
    56 57
         private boolean skipForReport;
    
    57
    -
    
    58 58
         public ConsolidateModel() {
    
    59 59
             super(AdminStep.CONSOLIDATE);
    
    60 60
             this.alreadyDoneTripIds = new TreeSet<>();
    
    ... ... @@ -88,6 +88,7 @@ public class ConsolidateModel extends AdminActionModel {
    88 88
     
    
    89 89
             setConsolidationFailIfLengthWeightParameterNotFound(getClientConfig().isConsolidationFailIfLengthWeightParameterNotFound());
    
    90 90
             setConsolidationFailIfLengthLengthParameterNotFound(getClientConfig().isConsolidationFailIfLengthLengthParameterNotFound());
    
    91
    +        setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(getClientConfig().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeightList());
    
    91 92
         }
    
    92 93
     
    
    93 94
         @Override
    
    ... ... @@ -123,6 +124,16 @@ public class ConsolidateModel extends AdminActionModel {
    123 124
             firePropertyChange("consolidationFailIfLengthLengthParameterNotFound", oldValue, consolidationFailIfLengthLengthParameterNotFound);
    
    124 125
         }
    
    125 126
     
    
    127
    +    public List<String> getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight() {
    
    128
    +        return consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
    
    129
    +    }
    
    130
    +
    
    131
    +    public void setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight) {
    
    132
    +        List<String> oldValue = this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
    
    133
    +        this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight = consolidationSpeciesListForLogbookSampleActivityWeightedWeight;
    
    134
    +        firePropertyChange("consolidationSpeciesListForLogbookSampleActivityWeightedWeight", oldValue, consolidationSpeciesListForLogbookSampleActivityWeightedWeight);
    
    135
    +    }
    
    136
    +
    
    126 137
         public boolean isSkipForReport() {
    
    127 138
             return skipForReport;
    
    128 139
         }
    

  • client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java
    ... ... @@ -49,6 +49,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> imple
    49 49
             ConsolidateConfigUI extraConfig = new ConsolidateConfigUI(UIHelper.initialContext(configUI, this));
    
    50 50
             SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthWeightParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthWeightParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthWeightParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthWeightParameterNotFound, 5));
    
    51 51
             SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthLengthParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthLengthParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthLengthParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthLengthParameterNotFound, 6));
    
    52
    +        extraConfig.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight().setText("<html><body><b>TODO</b></body></html>");
    
    52 53
             configUI.getExtraConfig().add(extraConfig);
    
    53 54
         }
    
    54 55
     }

  • client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
    ... ... @@ -168,6 +168,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> {
    168 168
             request.setTripId(tripId);
    
    169 169
             request.setFailIfLengthWeightParameterNotFound(stepModel.isConsolidationFailIfLengthWeightParameterNotFound());
    
    170 170
             request.setFailIfLengthLengthParameterNotFound(stepModel.isConsolidationFailIfLengthLengthParameterNotFound());
    
    171
    +        request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(stepModel.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight()));
    
    171 172
     
    
    172 173
             TripConsolidateResult result = consolidateDataService.consolidateTrip(simplifiedObjectTypeSpecializedRules, request);
    
    173 174
             if (result != null) {
    

  • client/runner/src/main/i18n/translations/client-runner_en_GB.properties
    ... ... @@ -39,6 +39,7 @@ observe.config.client.logFiles.timeout.description=Log files delete (in hours)
    39 39
     observe.config.client.temporaryFiles.timeout.description=Temporary files delete (in hours)
    
    40 40
     observe.config.consolidation.failIfLengthLengthParameterNotFound=In consolidate action, raise an error if a lengthLengthParameter is not found, otherwise add an warning in action
    
    41 41
     observe.config.consolidation.failIfLengthWeightParameterNotFound=In consolidate action, raise an error if a lengthWeightParameter is not found, otherwise add an warning in action
    
    42
    +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight=Species list to use in consolidation of field weighted weight (Seine / Logbook SampleActivity)
    
    42 43
     observe.config.coordinate.format=Position format (DMD, DD, DMS)
    
    43 44
     observe.config.db.locale=Language of data source (fr_FR, en_GB or es_ES)
    
    44 45
     observe.config.dcpPresetsDirectory.description=Dcp presets directory
    

  • client/runner/src/main/i18n/translations/client-runner_es_ES.properties
    ... ... @@ -39,6 +39,7 @@ observe.config.client.logFiles.timeout.description=Log files delete (in hours) \
    39 39
     observe.config.client.temporaryFiles.timeout.description=Temporary files delete (in hours) \#TODO
    
    40 40
     observe.config.consolidation.failIfLengthLengthParameterNotFound=In consolidate action, raise an error if a lengthLengthParameter is not found, otherwise add an warning in action \#TODO
    
    41 41
     observe.config.consolidation.failIfLengthWeightParameterNotFound=In consolidate action, raise an error if a lengthWeightParameter is not found, otherwise add an warning in action \#TODO
    
    42
    +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight=Species list to use in consolidation of field weighted weight (Seine / Logbook SampleActivity) \#TODO
    
    42 43
     observe.config.coordinate.format=Formato de posición (DMD, DD, DMS)
    
    43 44
     observe.config.db.locale=Idioma del referencial (fr_FR, en_GB o es_ES)
    
    44 45
     observe.config.dcpPresetsDirectory.description=Dcp presets directory \#TODO
    

  • client/runner/src/main/i18n/translations/client-runner_fr_FR.properties
    ... ... @@ -39,6 +39,7 @@ observe.config.client.logFiles.timeout.description=Nettoyage des fichiers de log
    39 39
     observe.config.client.temporaryFiles.timeout.description=Nettoyage des fichiers temporaires (en heures)
    
    40 40
     observe.config.consolidation.failIfLengthLengthParameterNotFound=Dans l'action de consolidation, déclencher une erreur si une relation taille-taille n'est pas trouvée, sinon consigner cela en avertissement de l'action
    
    41 41
     observe.config.consolidation.failIfLengthWeightParameterNotFound=Dans l'action de consolidation, déclencher une erreur si une relation taille-poids n'est pas trouvée, sinon consigner cela en avertissement de l'action
    
    42
    +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight=Liste des espèces à utiliser dans l'action de consolidation du champs Poids pondéré des échantillons calée (Senne / Livre de bord)
    
    42 43
     observe.config.coordinate.format=Format des positions (DMD, DD, DMS)
    
    43 44
     observe.config.db.locale=La langue du référentiel (fr_FR, en_GB ou es_ES)
    
    44 45
     observe.config.dcpPresetsDirectory.description=Répertoire des pré-configurations de DCP
    

  • core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateRequest.java
    ... ... @@ -25,6 +25,8 @@ package fr.ird.observe.consolidation.data.ps.common;
    25 25
     
    
    26 26
     import io.ultreia.java4all.util.json.JsonAware;
    
    27 27
     
    
    28
    +import java.util.Set;
    
    29
    +
    
    28 30
     /**
    
    29 31
      * Request to consolidate a trip.
    
    30 32
      * <p>
    
    ... ... @@ -47,6 +49,8 @@ public class TripConsolidateRequest implements JsonAware {
    47 49
          */
    
    48 50
         private boolean failIfLengthLengthParameterNotFound;
    
    49 51
     
    
    52
    +    private Set<String> speciesListForLogbookSampleActivityWeightedWeight;
    
    53
    +
    
    50 54
         public boolean isFailIfLengthWeightParameterNotFound() {
    
    51 55
             return failIfLengthWeightParameterNotFound;
    
    52 56
         }
    
    ... ... @@ -70,4 +74,12 @@ public class TripConsolidateRequest implements JsonAware {
    70 74
         public void setFailIfLengthLengthParameterNotFound(boolean failIfLengthLengthParameterNotFound) {
    
    71 75
             this.failIfLengthLengthParameterNotFound = failIfLengthLengthParameterNotFound;
    
    72 76
         }
    
    77
    +
    
    78
    +    public Set<String> getSpeciesListForLogbookSampleActivityWeightedWeight() {
    
    79
    +        return speciesListForLogbookSampleActivityWeightedWeight;
    
    80
    +    }
    
    81
    +
    
    82
    +    public void setSpeciesListForLogbookSampleActivityWeightedWeight(Set<String> speciesListForLogbookSampleActivityWeightedWeight) {
    
    83
    +        this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight;
    
    84
    +    }
    
    73 85
     }

  • core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateEngine.java
    ... ... @@ -88,7 +88,7 @@ public class TripConsolidateEngine {
    88 88
     
    
    89 89
             Trip trip = Trip.loadEntity(context, tripId);
    
    90 90
     
    
    91
    -        Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip);
    
    91
    +        Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip, request.getSpeciesListForLogbookSampleActivityWeightedWeight());
    
    92 92
             Set<ToolkitIdModifications> localmarketBatchResults = consolidateLocalmarketBatches(trip, failIfLengthWeightParameterNotFound);
    
    93 93
     
    
    94 94
             Set<fr.ird.observe.consolidation.data.ps.observation.ActivityConsolidateResult> observationActivityConsolidateResults = consolidateObservationActivities(trip, failIfLengthWeightParameterNotFound, failIfLengthLengthParameterNotFound);
    
    ... ... @@ -133,12 +133,12 @@ public class TripConsolidateEngine {
    133 133
             }
    
    134 134
         }
    
    135 135
     
    
    136
    -    private Set<ToolkitIdModifications> consolidateLogbookSampleActivities(Trip trip) {
    
    136
    +    private Set<ToolkitIdModifications> consolidateLogbookSampleActivities(Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight) {
    
    137 137
             Set<ToolkitIdModifications> result = new LinkedHashSet<>();
    
    138 138
             if (trip.isWellEmpty() || trip.isSampleEmpty()) {
    
    139 139
                 return result;
    
    140 140
             }
    
    141
    -        logbookSampleActivityConsolidateEngine.consolidateTrip(trip, result);
    
    141
    +        logbookSampleActivityConsolidateEngine.consolidateTrip(trip,speciesListForLogbookSampleActivityWeightedWeight, result);
    
    142 142
             return result;
    
    143 143
         }
    
    144 144
     
    

  • core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateActions.java
    ... ... @@ -43,24 +43,6 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction<
    43 43
          */
    
    44 44
         ComputeWeightedWeight() {
    
    45 45
     
    
    46
    -        /**
    
    47
    -         * Filter on these species to compute any weight on SampleActivitySpecies
    
    48
    -         */
    
    49
    -        public final Set<String> SPECIES_IDS = Set.of(
    
    50
    -                "fr.ird.referential.common.Species#1239832685474#0.8943253454598569",   // YFT
    
    51
    -                "fr.ird.referential.common.Species#1239832685474#0.975344121171992",    // SKJ
    
    52
    -                "fr.ird.referential.common.Species#1239832685475#0.13349466123905152",  // BET
    
    53
    -                "fr.ird.referential.common.Species#1239832685476#0.5618871286604711",   // ALB
    
    54
    -                "fr.ird.referential.common.Species#1239832685477#0.8024257002747615",   // LTA
    
    55
    -                "fr.ird.referential.common.Species#1239832685477#0.3846921632590058",   // FRI
    
    56
    -                "fr.ird.referential.common.Species#1441287921299#0.016754076421811148", // TUN
    
    57
    -                "fr.ird.referential.common.Species#1433499265113#0.891799515346065",    // TUS
    
    58
    -                "fr.ird.referential.common.Species#1239832685477#0.2673009297087321",   // KAW
    
    59
    -                "fr.ird.referential.common.Species#1239832685478#0.7676744877900202",   // LOT
    
    60
    -                "fr.ird.referential.common.Species#1239832685477#0.5989181185528589",   // FRZ
    
    61
    -                "fr.ird.referential.common.Species#1239832685476#0.36339915670317835"   // BLT
    
    62
    -        );
    
    63
    -
    
    64 46
             @Override
    
    65 47
             public List<String> fieldNames() {
    
    66 48
                 return List.of(SampleActivity.PROPERTY_WEIGHTED_WEIGHT, SampleActivity.PROPERTY_WEIGHTED_WEIGHT_COMPUTED);
    
    ... ... @@ -74,13 +56,13 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction<
    74 56
             @Override
    
    75 57
             public void accept(SampleActivityConsolidateContext context, SampleActivity datum) {
    
    76 58
                 String wellId = context.getSampleWell();
    
    77
    -
    
    59
    +            Set<String> speciesList = context.getSpeciesListForLogbookSampleActivityWeightedWeight();
    
    78 60
                 Activity activity = datum.getActivity();
    
    79 61
     
    
    80 62
                 // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2053
    
    81 63
     
    
    82 64
                 // Get total weight of the set which is this well
    
    83
    -            double w1 = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS, Set.of(wellId)));
    
    65
    +            double w1 = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList, Set.of(wellId)));
    
    84 66
                 if (w1 == 0) {
    
    85 67
                     // limit case if the well was not found in trip well plan
    
    86 68
                     log.warn("Well {} not found for activity {} in trip well plan.", wellId, activity.getTopiaId());
    
    ... ... @@ -89,9 +71,9 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction<
    89 71
                     return;
    
    90 72
                 }
    
    91 73
                 // Get total weight of the set which are in well that has been sampled
    
    92
    -            double w2 = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS, context.getSampledWellIds()));
    
    74
    +            double w2 = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList, context.getSampledWellIds()));
    
    93 75
                 // Get total weight of the set in any well
    
    94
    -            double wT = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS));
    
    76
    +            double wT = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList));
    
    95 77
                 // the weighted weight is the formula: weightedWeight = (w1/w2)*wT
    
    96 78
                 float weightedWeight = (float) ((w1 / w2) * wT);
    
    97 79
                 Float oldWeightedWeight = datum.getWeightedWeight();
    

  • core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateContext.java
    ... ... @@ -47,17 +47,19 @@ public class SampleActivityConsolidateContext implements ConsolidateContext<Samp
    47 47
         private final JavaBeanMonitor monitor;
    
    48 48
         private final Decorator decorator;
    
    49 49
         private final Set<Well> tripWell;
    
    50
    +    private final Set<String> speciesListForLogbookSampleActivityWeightedWeight;
    
    50 51
         private final Set<ToolkitIdModifications> resultBuilder;
    
    51 52
         private final java.util.Set<String> warnings = new LinkedHashSet<>();
    
    52 53
         private final Set<String> sampledWellIds;
    
    53 54
         private Sample sample;
    
    54 55
         private SampleActivity datum;
    
    55 56
     
    
    56
    -    public SampleActivityConsolidateContext(JavaBeanMonitor monitor, Decorator decorator, Trip trip, Set<ToolkitIdModifications> resultBuilder) {
    
    57
    +    public SampleActivityConsolidateContext(JavaBeanMonitor monitor, Decorator decorator, Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight, Set<ToolkitIdModifications> resultBuilder) {
    
    57 58
             this.monitor = monitor;
    
    58 59
             this.decorator = decorator;
    
    59 60
             this.tripWell = trip.getWell();
    
    60 61
             this.sampledWellIds = trip.getSample().stream().map(Sample::getWell).collect(Collectors.toSet());
    
    62
    +        this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight;
    
    61 63
             this.resultBuilder = resultBuilder;
    
    62 64
         }
    
    63 65
     
    
    ... ... @@ -65,6 +67,10 @@ public class SampleActivityConsolidateContext implements ConsolidateContext<Samp
    65 67
             return sampledWellIds;
    
    66 68
         }
    
    67 69
     
    
    70
    +    public Set<String> getSpeciesListForLogbookSampleActivityWeightedWeight() {
    
    71
    +        return speciesListForLogbookSampleActivityWeightedWeight;
    
    72
    +    }
    
    73
    +
    
    68 74
         public void watch(Sample sample, SampleActivity datum) {
    
    69 75
             this.sample = Objects.requireNonNull(sample);
    
    70 76
             this.datum = Objects.requireNonNull(datum);
    

  • core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateEngine.java
    ... ... @@ -47,8 +47,8 @@ public class SampleActivityConsolidateEngine {
    47 47
             this.decorator = decoratorService.getDecoratorByType(SampleActivity.class);
    
    48 48
         }
    
    49 49
     
    
    50
    -    public void consolidateTrip(Trip trip, Set<ToolkitIdModifications> resultBuilder) {
    
    51
    -        SampleActivityConsolidateContext context = new SampleActivityConsolidateContext(monitor, decorator, trip, resultBuilder);
    
    50
    +    public void consolidateTrip(Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight, Set<ToolkitIdModifications> resultBuilder) {
    
    51
    +        SampleActivityConsolidateContext context = new SampleActivityConsolidateContext(monitor, decorator, trip, speciesListForLogbookSampleActivityWeightedWeight,resultBuilder);
    
    52 52
             for (Sample sample : trip.getSample()) {
    
    53 53
                 if (sample.isSampleActivityEmpty()) {
    
    54 54
                     continue;
    

  • core/services/test/src/main/java/fr/ird/observe/services/service/data/ps/ConsolidateDataServiceFixtures.java
    ... ... @@ -42,6 +42,7 @@ import io.ultreia.java4all.util.Dates;
    42 42
     import org.junit.Assert;
    
    43 43
     
    
    44 44
     import java.net.URL;
    
    45
    +import java.util.Arrays;
    
    45 46
     import java.util.List;
    
    46 47
     import java.util.Optional;
    
    47 48
     import java.util.Set;
    
    ... ... @@ -205,6 +206,7 @@ public class ConsolidateDataServiceFixtures extends GeneratedConsolidateDataServ
    205 206
             TripConsolidateRequest request = new TripConsolidateRequest();
    
    206 207
             request.setTripId(getProperty("consolidateTrip.id"));
    
    207 208
             request.setFailIfLengthWeightParameterNotFound(false);
    
    209
    +        request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(Arrays.asList(getArrayProperty("consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight"))));
    
    208 210
     
    
    209 211
             TripConsolidateResult actual = service.consolidateTrip(simplifiedObjectTypeSpecializedRules, request);
    
    210 212
             Assert.assertNotNull(actual);
    

  • core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/data/ps/ConsolidateDataService.properties
    ... ... @@ -2,20 +2,20 @@
    2 2
     # #%L
    
    3 3
     # ObServe Core :: Services :: Test
    
    4 4
     # %%
    
    5
    -# Copyright (C) 2008 - 2024 IRD, Ultreia.io
    
    5
    +# Copyright (C) 2008 - 2024 IRD^ Ultreia.io
    
    6 6
     # %%
    
    7 7
     # This program is free software: you can redistribute it and/or modify
    
    8 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.
    
    9
    +# published by the Free Software Foundation^ either version 3 of the
    
    10
    +# License^ or (at your option) any later version.
    
    11 11
     #
    
    12
    -# This program is distributed in the hope that it will be useful,
    
    12
    +# This program is distributed in the hope that it will be useful^
    
    13 13
     # but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    14 14
     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    15 15
     # GNU General Public License for more details.
    
    16 16
     #
    
    17 17
     # You should have received a copy of the GNU General Public
    
    18
    -# License along with this program.  If not, see
    
    18
    +# License along with this program.  If not^ see
    
    19 19
     # <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    20 20
     # #L%
    
    21 21
     ###
    
    ... ... @@ -29,3 +29,4 @@ consolidateTrip.logbookSampleActivity.count=1
    29 29
     consolidateTrip.observationsActivityResult.count=4
    
    30 30
     consolidateTrip.observationsActivityResult.withModifications.count=4
    
    31 31
     consolidateTrip.observationsActivityResult.withWarnings.count=4
    
    32
    +consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight=fr.ird.referential.common.Species#1239832685474#0.8943253454598569^fr.ird.referential.common.Species#1239832685474#0.975344121171992^fr.ird.referential.common.Species#1239832685475#0.13349466123905152^fr.ird.referential.common.Species#1239832685476#0.5618871286604711^fr.ird.referential.common.Species#1239832685477#0.8024257002747615^fr.ird.referential.common.Species#1239832685477#0.3846921632590058^fr.ird.referential.common.Species#1441287921299#0.016754076421811148^fr.ird.referential.common.Species#1433499265113#0.891799515346065^fr.ird.referential.common.Species#1239832685477#0.2673009297087321^fr.ird.referential.common.Species#1239832685478#0.7676744877900202^fr.ird.referential.common.Species#1239832685477#0.5989181185528589^fr.ird.referential.common.Species#1239832685476#0.36339915670317835