Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: f238bf01 by Tony Chemit at 2024-09-02T11:41:44+02:00 Add new ClientConfig option to store the speciesList and fill from the hardcoded list in consolidate action - - - - - c4d28d74 by Tony Chemit at 2024-09-02T12:03:44+02:00 Add the species list in consolidation request, then use it in consolidation code instead of the hardcoded list - - - - - 4d45c7fb by Tony Chemit at 2024-09-02T12:03:44+02:00 Use the species list in Consolidation action in GUI (and for this time add a TODO to configure this list in config UI) - - - - - 77540b5f by Tony Chemit at 2024-09-02T12:04:14+02:00 Merge branch 'feature/issue-2929' into develop Rendre configurable la liste des espèces à inclure dans la consolidation du sampleActivity.wieghtedWeight - Closes #2929 - - - - - 17 changed files: - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jaxx - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateModel.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateUIHandler.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java - client/runner/src/main/i18n/translations/client-runner_en_GB.properties - client/runner/src/main/i18n/translations/client-runner_es_ES.properties - client/runner/src/main/i18n/translations/client-runner_fr_FR.properties - core/api/dto-consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateRequest.java - core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateEngine.java - core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateActions.java - core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateContext.java - core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateEngine.java - core/services/test/src/main/java/fr/ird/observe/services/service/data/ps/ConsolidateDataServiceFixtures.java - core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/data/ps/ConsolidateDataService.properties Changes: ===================================== client/configuration/src/main/config/Client.ini ===================================== @@ -476,6 +476,12 @@ key = instance.consolidation.failIfLengthLengthParameterNotFound type = Boolean defaultValue = false +[option consolidationSpeciesListForLogbookSampleActivityWeightedWeight] +description = observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight +key = instance.consolidation.speciesListForLogbookSampleActivityWeightedWeight +type = String[] +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 + [option sizeMeasureTypeSeineObservationTargetSampleId] description = observe.config.sizeMeasureType.seine.observation.targetSample key = referential.sizeMeasureType.seine.observation.targetSample ===================================== client/configuration/src/main/i18n/getters/config.getter ===================================== @@ -22,6 +22,7 @@ observe.config.client.logFiles.timeout.description observe.config.client.temporaryFiles.timeout.description observe.config.consolidation.failIfLengthLengthParameterNotFound observe.config.consolidation.failIfLengthWeightParameterNotFound +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight observe.config.coordinate.format observe.config.db.locale 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 // helper.setCloseAction(((DataSourceEditor)currentBody.get()).getContentUIManager()::restartEdit); // } - addApplicationOptions(helper); + addApplicationOptions(helper, dataSource); addUiOptions(helper); addNavigationOptions(helper); addMapOptions(helper); @@ -261,7 +261,7 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext return helper; } - private void addApplicationOptions(ObserveConfigUIBuilder helper) { + private void addApplicationOptions(ObserveConfigUIBuilder helper, ObserveSwingDataSource dataSource) { helper.addCategory(n("observe.config.category.application"), n("observe.config.category.application.description"), @@ -273,6 +273,9 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext helper.addOption(ClientConfigOption.VALIDATION_USE_DISABLED_REFERENTIAL); helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_WEIGHT_PARAMETER_NOT_FOUND); helper.addOption(ClientConfigOption.CONSOLIDATION_FAIL_IF_LENGTH_LENGTH_PARAMETER_NOT_FOUND); + if (dataSource != null && dataSource.isOpen()) { + helper.addOption(ClientConfigOption.CONSOLIDATION_SPECIES_LIST_FOR_LOGBOOK_SAMPLE_ACTIVITY_WEIGHTED_WEIGHT); + } } ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/ConsolidateConfigUI.jaxx ===================================== @@ -60,6 +60,14 @@ public void destroy() { <JCheckBox id='consolidationFailIfLengthLengthParameterNotFound' styleClass="skipI18n"/> </cell> </row> + <row> + <cell anchor="west"> + <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeightLabel' styleClass="skipI18n"/> + </cell> + <cell weightx='1' fill="horizontal"> + <JLabel id='consolidationSpeciesListForLogbookSampleActivityWeightedWeight' styleClass="skipI18n"/> + </cell> + </row> </Table> <!--Table id='consolidationReportConfig' fill='both' constraints='BorderLayout.CENTER'> <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; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; +import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -42,19 +43,18 @@ import java.util.TreeSet; public class ConsolidateModel extends AdminActionModel { private static final Logger log = LogManager.getLogger(ConsolidateModel.class); - /** - * Data source to use for operation. - */ - private ObserveSwingDataSource source; /** * To track trip that has already been consolidated (they won't be again processed). */ private final Set<String> alreadyDoneTripIds; - + /** + * Data source to use for operation. + */ + private ObserveSwingDataSource source; private boolean consolidationFailIfLengthWeightParameterNotFound; private boolean consolidationFailIfLengthLengthParameterNotFound; + private List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight; private boolean skipForReport; - public ConsolidateModel() { super(AdminStep.CONSOLIDATE); this.alreadyDoneTripIds = new TreeSet<>(); @@ -88,6 +88,7 @@ public class ConsolidateModel extends AdminActionModel { setConsolidationFailIfLengthWeightParameterNotFound(getClientConfig().isConsolidationFailIfLengthWeightParameterNotFound()); setConsolidationFailIfLengthLengthParameterNotFound(getClientConfig().isConsolidationFailIfLengthLengthParameterNotFound()); + setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(getClientConfig().getConsolidationSpeciesListForLogbookSampleActivityWeightedWeightList()); } @Override @@ -123,6 +124,16 @@ public class ConsolidateModel extends AdminActionModel { firePropertyChange("consolidationFailIfLengthLengthParameterNotFound", oldValue, consolidationFailIfLengthLengthParameterNotFound); } + public List<String> getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight() { + return consolidationSpeciesListForLogbookSampleActivityWeightedWeight; + } + + public void setConsolidationSpeciesListForLogbookSampleActivityWeightedWeight(List<String> consolidationSpeciesListForLogbookSampleActivityWeightedWeight) { + List<String> oldValue = this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight; + this.consolidationSpeciesListForLogbookSampleActivityWeightedWeight = consolidationSpeciesListForLogbookSampleActivityWeightedWeight; + firePropertyChange("consolidationSpeciesListForLogbookSampleActivityWeightedWeight", oldValue, consolidationSpeciesListForLogbookSampleActivityWeightedWeight); + } + public boolean isSkipForReport() { return skipForReport; } ===================================== 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 ConsolidateConfigUI extraConfig = new ConsolidateConfigUI(UIHelper.initialContext(configUI, this)); SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthWeightParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthWeightParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthWeightParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthWeightParameterNotFound, 5)); SelectConsolidationConfigFlag.init(extraConfig, extraConfig.getConsolidationFailIfLengthLengthParameterNotFound(), new SelectConsolidationConfigFlag("consolidationFailIfLengthLengthParameterNotFound", ConsolidateModel::isConsolidationFailIfLengthLengthParameterNotFound, ConsolidateModel::setConsolidationFailIfLengthLengthParameterNotFound, 6)); + extraConfig.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight().setText("<html><body><b>TODO</b></body></html>"); configUI.getExtraConfig().add(extraConfig); } } ===================================== 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> { request.setTripId(tripId); request.setFailIfLengthWeightParameterNotFound(stepModel.isConsolidationFailIfLengthWeightParameterNotFound()); request.setFailIfLengthLengthParameterNotFound(stepModel.isConsolidationFailIfLengthLengthParameterNotFound()); + request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(stepModel.getConsolidationSpeciesListForLogbookSampleActivityWeightedWeight())); TripConsolidateResult result = consolidateDataService.consolidateTrip(simplifiedObjectTypeSpecializedRules, request); 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) observe.config.client.temporaryFiles.timeout.description=Temporary files delete (in hours) observe.config.consolidation.failIfLengthLengthParameterNotFound=In consolidate action, raise an error if a lengthLengthParameter is not found, otherwise add an warning in action observe.config.consolidation.failIfLengthWeightParameterNotFound=In consolidate action, raise an error if a lengthWeightParameter is not found, otherwise add an warning in action +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight=Species list to use in consolidation of field weighted weight (Seine / Logbook SampleActivity) observe.config.coordinate.format=Position format (DMD, DD, DMS) observe.config.db.locale=Language of data source (fr_FR, en_GB or es_ES) 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) \ observe.config.client.temporaryFiles.timeout.description=Temporary files delete (in hours) \#TODO observe.config.consolidation.failIfLengthLengthParameterNotFound=In consolidate action, raise an error if a lengthLengthParameter is not found, otherwise add an warning in action \#TODO observe.config.consolidation.failIfLengthWeightParameterNotFound=In consolidate action, raise an error if a lengthWeightParameter is not found, otherwise add an warning in action \#TODO +observe.config.consolidation.speciesListForLogbookSampleActivityWeightedWeight=Species list to use in consolidation of field weighted weight (Seine / Logbook SampleActivity) \#TODO observe.config.coordinate.format=Formato de posición (DMD, DD, DMS) observe.config.db.locale=Idioma del referencial (fr_FR, en_GB o es_ES) 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 observe.config.client.temporaryFiles.timeout.description=Nettoyage des fichiers temporaires (en heures) 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 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 +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) observe.config.coordinate.format=Format des positions (DMD, DD, DMS) observe.config.db.locale=La langue du référentiel (fr_FR, en_GB ou es_ES) 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; import io.ultreia.java4all.util.json.JsonAware; +import java.util.Set; + /** * Request to consolidate a trip. * <p> @@ -47,6 +49,8 @@ public class TripConsolidateRequest implements JsonAware { */ private boolean failIfLengthLengthParameterNotFound; + private Set<String> speciesListForLogbookSampleActivityWeightedWeight; + public boolean isFailIfLengthWeightParameterNotFound() { return failIfLengthWeightParameterNotFound; } @@ -70,4 +74,12 @@ public class TripConsolidateRequest implements JsonAware { public void setFailIfLengthLengthParameterNotFound(boolean failIfLengthLengthParameterNotFound) { this.failIfLengthLengthParameterNotFound = failIfLengthLengthParameterNotFound; } + + public Set<String> getSpeciesListForLogbookSampleActivityWeightedWeight() { + return speciesListForLogbookSampleActivityWeightedWeight; + } + + public void setSpeciesListForLogbookSampleActivityWeightedWeight(Set<String> speciesListForLogbookSampleActivityWeightedWeight) { + this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight; + } } ===================================== core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/common/TripConsolidateEngine.java ===================================== @@ -88,7 +88,7 @@ public class TripConsolidateEngine { Trip trip = Trip.loadEntity(context, tripId); - Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip); + Set<ToolkitIdModifications> logbookSampleActivityResults = consolidateLogbookSampleActivities(trip, request.getSpeciesListForLogbookSampleActivityWeightedWeight()); Set<ToolkitIdModifications> localmarketBatchResults = consolidateLocalmarketBatches(trip, failIfLengthWeightParameterNotFound); Set<fr.ird.observe.consolidation.data.ps.observation.ActivityConsolidateResult> observationActivityConsolidateResults = consolidateObservationActivities(trip, failIfLengthWeightParameterNotFound, failIfLengthLengthParameterNotFound); @@ -133,12 +133,12 @@ public class TripConsolidateEngine { } } - private Set<ToolkitIdModifications> consolidateLogbookSampleActivities(Trip trip) { + private Set<ToolkitIdModifications> consolidateLogbookSampleActivities(Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight) { Set<ToolkitIdModifications> result = new LinkedHashSet<>(); if (trip.isWellEmpty() || trip.isSampleEmpty()) { return result; } - logbookSampleActivityConsolidateEngine.consolidateTrip(trip, result); + logbookSampleActivityConsolidateEngine.consolidateTrip(trip,speciesListForLogbookSampleActivityWeightedWeight, result); return result; } ===================================== core/persistence/consolidation/src/main/java/fr/ird/observe/consolidation/data/ps/logbook/SampleActivityConsolidateActions.java ===================================== @@ -43,24 +43,6 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction< */ ComputeWeightedWeight() { - /** - * Filter on these species to compute any weight on SampleActivitySpecies - */ - public final Set<String> SPECIES_IDS = Set.of( - "fr.ird.referential.common.Species#1239832685474#0.8943253454598569", // YFT - "fr.ird.referential.common.Species#1239832685474#0.975344121171992", // SKJ - "fr.ird.referential.common.Species#1239832685475#0.13349466123905152", // BET - "fr.ird.referential.common.Species#1239832685476#0.5618871286604711", // ALB - "fr.ird.referential.common.Species#1239832685477#0.8024257002747615", // LTA - "fr.ird.referential.common.Species#1239832685477#0.3846921632590058", // FRI - "fr.ird.referential.common.Species#1441287921299#0.016754076421811148", // TUN - "fr.ird.referential.common.Species#1433499265113#0.891799515346065", // TUS - "fr.ird.referential.common.Species#1239832685477#0.2673009297087321", // KAW - "fr.ird.referential.common.Species#1239832685478#0.7676744877900202", // LOT - "fr.ird.referential.common.Species#1239832685477#0.5989181185528589", // FRZ - "fr.ird.referential.common.Species#1239832685476#0.36339915670317835" // BLT - ); - @Override public List<String> fieldNames() { return List.of(SampleActivity.PROPERTY_WEIGHTED_WEIGHT, SampleActivity.PROPERTY_WEIGHTED_WEIGHT_COMPUTED); @@ -74,13 +56,13 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction< @Override public void accept(SampleActivityConsolidateContext context, SampleActivity datum) { String wellId = context.getSampleWell(); - + Set<String> speciesList = context.getSpeciesListForLogbookSampleActivityWeightedWeight(); Activity activity = datum.getActivity(); // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2053 // Get total weight of the set which is this well - double w1 = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS, Set.of(wellId))); + double w1 = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList, Set.of(wellId))); if (w1 == 0) { // limit case if the well was not found in trip well plan log.warn("Well {} not found for activity {} in trip well plan.", wellId, activity.getTopiaId()); @@ -89,9 +71,9 @@ public enum SampleActivityConsolidateActions implements AtomicConsolidateAction< return; } // Get total weight of the set which are in well that has been sampled - double w2 = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS, context.getSampledWellIds())); + double w2 = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList, context.getSampledWellIds())); // Get total weight of the set in any well - double wT = context.sumOnTripWell(w -> w.getTotalWeight(activity, SPECIES_IDS)); + double wT = context.sumOnTripWell(w -> w.getTotalWeight(activity, speciesList)); // the weighted weight is the formula: weightedWeight = (w1/w2)*wT float weightedWeight = (float) ((w1 / w2) * wT); 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 private final JavaBeanMonitor monitor; private final Decorator decorator; private final Set<Well> tripWell; + private final Set<String> speciesListForLogbookSampleActivityWeightedWeight; private final Set<ToolkitIdModifications> resultBuilder; private final java.util.Set<String> warnings = new LinkedHashSet<>(); private final Set<String> sampledWellIds; private Sample sample; private SampleActivity datum; - public SampleActivityConsolidateContext(JavaBeanMonitor monitor, Decorator decorator, Trip trip, Set<ToolkitIdModifications> resultBuilder) { + public SampleActivityConsolidateContext(JavaBeanMonitor monitor, Decorator decorator, Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight, Set<ToolkitIdModifications> resultBuilder) { this.monitor = monitor; this.decorator = decorator; this.tripWell = trip.getWell(); this.sampledWellIds = trip.getSample().stream().map(Sample::getWell).collect(Collectors.toSet()); + this.speciesListForLogbookSampleActivityWeightedWeight = speciesListForLogbookSampleActivityWeightedWeight; this.resultBuilder = resultBuilder; } @@ -65,6 +67,10 @@ public class SampleActivityConsolidateContext implements ConsolidateContext<Samp return sampledWellIds; } + public Set<String> getSpeciesListForLogbookSampleActivityWeightedWeight() { + return speciesListForLogbookSampleActivityWeightedWeight; + } + public void watch(Sample sample, SampleActivity datum) { this.sample = Objects.requireNonNull(sample); 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 { this.decorator = decoratorService.getDecoratorByType(SampleActivity.class); } - public void consolidateTrip(Trip trip, Set<ToolkitIdModifications> resultBuilder) { - SampleActivityConsolidateContext context = new SampleActivityConsolidateContext(monitor, decorator, trip, resultBuilder); + public void consolidateTrip(Trip trip, Set<String> speciesListForLogbookSampleActivityWeightedWeight, Set<ToolkitIdModifications> resultBuilder) { + SampleActivityConsolidateContext context = new SampleActivityConsolidateContext(monitor, decorator, trip, speciesListForLogbookSampleActivityWeightedWeight,resultBuilder); for (Sample sample : trip.getSample()) { if (sample.isSampleActivityEmpty()) { 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; import org.junit.Assert; import java.net.URL; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.Set; @@ -205,6 +206,7 @@ public class ConsolidateDataServiceFixtures extends GeneratedConsolidateDataServ TripConsolidateRequest request = new TripConsolidateRequest(); request.setTripId(getProperty("consolidateTrip.id")); request.setFailIfLengthWeightParameterNotFound(false); + request.setSpeciesListForLogbookSampleActivityWeightedWeight(Set.copyOf(Arrays.asList(getArrayProperty("consolidateTrip.speciesListForLogbookSampleActivityWeightedWeight")))); TripConsolidateResult actual = service.consolidateTrip(simplifiedObjectTypeSpecializedRules, request); Assert.assertNotNull(actual); ===================================== core/services/test/src/main/resources/fixtures/fr/ird/observe/services/service/data/ps/ConsolidateDataService.properties ===================================== @@ -2,20 +2,20 @@ # #%L # ObServe Core :: Services :: Test # %% -# Copyright (C) 2008 - 2024 IRD, Ultreia.io +# Copyright (C) 2008 - 2024 IRD^ Ultreia.io # %% # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. +# published by the Free Software Foundation^ either version 3 of the +# License^ or (at your option) any later version. # -# This program is distributed in the hope that it will be useful, +# This program is distributed in the hope that it will be useful^ # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public -# License along with this program. If not, see +# License along with this program. If not^ see # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### @@ -29,3 +29,4 @@ consolidateTrip.logbookSampleActivity.count=1 consolidateTrip.observationsActivityResult.count=4 consolidateTrip.observationsActivityResult.withModifications.count=4 consolidateTrip.observationsActivityResult.withWarnings.count=4 +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 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/64f014211e783793d2faa3938... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/64f014211e783793d2faa3938... You're receiving this email because of your account on gitlab.com.