Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: b95e3b85 by Tony Chemit at 2020-07-02T11:20:09+02:00 [PS][Observations] Activité : contrôle trop strict - Closes #1552 - - - - - 3ed185fe by Tony Chemit at 2020-07-02T11:20:11+02:00 [7.6.3][PS] Les thonidés sont disponibles dans la liste déroulante du form Espèces accessoires, alors qu'ils ne sont pas dans la display liste correspondante - Closes #1562 - - - - - a17958e2 by Tony Chemit at 2020-07-02T11:20:11+02:00 [LL] Onglet Composition détaillée / Détail avançon / Hameçon et appât non consultable - Closes #1558 - - - - - d04f1376 by Tony Chemit at 2020-07-02T11:20:11+02:00 [PS] Pratiques de remise à l'eau, cétacés non trouvés - Closes #1564 - - - - - 23 changed files: - client-configuration/src/main/config/Client.ini - client-configuration/src/main/i18n/getters/config.getter - client-configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java - client-core/src/main/java/fr/ird/observe/client/ui/ObserveCommon.jcss - client-core/src/main/java/fr/ird/observe/client/ui/content/ContentUIInitializer.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/util/UIHelper.java - − dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java - dto/src/main/models/Observe.model - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/NonTargetCatchReleaseServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java - services-local/src/test/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocalTest.java - services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java - services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java - test/src/main/resources/db/7.6/dataForTestLongline.sql.gz - test/src/main/resources/db/7.6/dataForTestSeine.sql.gz - test/src/main/resources/db/7.6/empty_h2.sql.gz - test/src/main/resources/db/7.6/empty_pg.sql.gz - test/src/main/resources/db/7.6/referentiel.sql.gz Changes: ===================================== client-configuration/src/main/config/Client.ini ===================================== @@ -395,6 +395,14 @@ key = speciesList.longline.depredator type = string defaultValue = "fr.ird.observe.entities.referentiel.SpeciesList#1239832675370#0.5" +[option nonTargetCatchReleaseSpeciesGroups] +description = observe.config.nonTargetCatchRelease.speciesGroups +key = ui.data.ps.observation.nonTargetCatchRelease.speciesGroups +type = String[] +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" +transient = true +final = true + [option mapBackgroundColor] description = observe.config.map.background.description key = map.background.color ===================================== client-configuration/src/main/i18n/getters/config.getter ===================================== @@ -53,6 +53,7 @@ observe.config.map.layer7.description observe.config.map.layer8.description observe.config.map.layer9.description observe.config.map.style.description +observe.config.nonTargetCatchRelease.speciesGroups observe.config.observation.activitysDetaillees observe.config.observation.fauneAssociee 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 } } + public ImmutableSet<String> getNonTargetCatchReleaseSpeciesGroupsIds() { + List<String> ids = get().getOptionAsList(ClientConfigOption.NON_TARGET_CATCH_RELEASE_SPECIES_GROUPS.getKey()).getOption(); + return ImmutableSet.copyOf(ids); + } + ////////////////////////////////////////////////// // Toutes les étapes d'actions ////////////////////////////////////////////////// ===================================== client-core/src/main/java/fr/ird/observe/client/ui/ObserveCommon.jcss ===================================== @@ -81,7 +81,7 @@ JaxxComboBox { } BlockingLayerUI { - acceptedComponentTypes: {javax.swing.JScrollBar.class}; + acceptedComponentTypes: {fr.ird.observe.client.ui.util.UIHelper.ACCEPTABLE_COMPONENTS_TYPE}; } .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>> } protected void initBlockLayerUI(String... doNotBlockComponentIds) { - ui.getBlockLayerUI().setAcceptedComponentTypes(ObserveMapPane.class, JScrollBar.class); +// ui.getBlockLayerUI().setAcceptedComponentTypes(UIHelper.ACCEPTABLE_COMPONENTS_TYPE); ui.getBlockLayerUI().setAcceptedComponentNames(doNotBlockComponentIds); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java ===================================== @@ -21,6 +21,7 @@ */ package fr.ird.observe.client.ui.content.data.seine; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.client.constants.AcquisitionMode; import fr.ird.observe.client.db.constants.DataContextType; import fr.ird.observe.client.ui.content.ContentMode; @@ -42,8 +43,8 @@ import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConformityRefer import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference; import fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference; import fr.ird.observe.dto.result.SaveResultDto; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.spi.UIHandler; import org.nuiton.validator.NuitonValidatorScope; @@ -85,8 +86,11 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei updateSpecies(species); } }; + addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, incomingReferences -> { - ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId()); + ImmutableSet<String> speciesGroupIds = ui.getConfig().getNonTargetCatchReleaseSpeciesGroupsIds(); +// ImmutableSet<String> speciesGroupIds = ObserveSwingApplicationContext.get().getConfig().getNonTargetCatchReleaseSpeciesGroupsIds(); + ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId(), speciesGroupIds); return new LinkedList<>(sampleSpecies.toSet()); }); } @@ -177,8 +181,8 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei super.afterInit(ui); speciesGroupDtoMap = new TreeMap<>(); - - getReferentialService().loadSensibleSpeciesGroup().forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); + ImmutableSet<String> speciesGroupIds = ui.getConfig().getNonTargetCatchReleaseSpeciesGroupsIds(); + getReferentialService().loadSensibleSpeciesGroup(speciesGroupIds).forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); } ===================================== 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 NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource(); source.setMeanLengthComputedSource(null); }; + addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> { + + String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId(); + String tripId = getDataContext().getSelectedTripSeineId(); + + List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripId, speciesListId).toList(); + + return DtoReferenceCollection.filterEnabled(result); + + }); } String getCatchWeightDataTip(NonTargetCatchComputedValueSource computed) { @@ -375,16 +385,6 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa loadReferentialReferenceSetsInModel(form); getModel().setForm(form); SetSeineNonTargetCatchHelper.copySetSeineNonTargetCatchDto(form.getObject(), getBean()); - addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> { - - String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId(); - String tripId = getDataContext().getSelectedTripSeineId(); - - List<SpeciesReference> result = getTripSeineService().getSpeciesByListAndTrip(tripId, speciesListId).toList(); - - return DtoReferenceCollection.filterEnabled(result); - - }); } 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; import fr.ird.observe.client.ui.actions.main.menu.storage.CloseStorageAction; import fr.ird.observe.client.ui.actions.main.menu.storage.ReloadStorageAction; import fr.ird.observe.client.ui.util.table.ObserveBooleanTableCellRenderer; +import fr.ird.observe.client.ui.util.tripMap.ObserveMapPane; import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.DataFileDto; import fr.ird.observe.dto.decoration.DecoratorService; @@ -51,7 +52,9 @@ import org.nuiton.jaxx.widgets.file.JaxxFileChooser; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JOptionPane; +import javax.swing.JScrollBar; import javax.swing.JScrollPane; +import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTree; import javax.swing.KeyStroke; @@ -106,6 +109,11 @@ public class UIHelper extends SwingUtil { // copy progression of any admin tab to clipboard "progressionTopCopyCliptBoard" }; + + public static final Class<?>[] ACCEPTABLE_COMPONENTS_TYPE = { + ObserveMapPane.class, JScrollBar.class, JTabbedPane.class + }; + /** Logger */ static private final Logger log = LogManager.getLogger(UIHelper.class); ===================================== dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java deleted ===================================== @@ -1,36 +0,0 @@ -package fr.ird.observe.dto.referential; - -/*- - * #%L - * ObServe :: Dto - * %% - * Copyright (C) 2008 - 2020 IRD, Code Lutin, 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. - * - * 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 - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import java.util.Arrays; -import java.util.List; - -public class SpeciesGroupHelper extends GeneratedSpeciesGroupHelper { - //FIXME PROTECTED-ID - public static final List<String> SPECIES_GROUP_IDS = Arrays.asList( - "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" - ); -} ===================================== dto/src/main/models/Observe.model ===================================== @@ -109,33 +109,33 @@ hasSetLongline + {*:1} Boolean data.longline.BaitsComposition > data.Data | references=baitTypeLabel,baitSettingsStatusLabel,individualSize,individualWeight,proportion proportion + {*:1} Integer | notNull strictlyPositiveNumber -individualSize + {*:1} Integer | strictlyPositiveNumber -individualWeight + {*:1} Float | strictlyPositiveNumber +individualSize + {*:1} Integer | positiveNumber +individualWeight + {*:1} Float | positiveNumber baitSettingStatus {*:1} fr.ird.observe.dto.referential.longline.BaitSettingStatusReference baitType {*:1} fr.ird.observe.dto.referential.longline.BaitTypeReference | notNull data.longline.Basket > data.Data >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier,sectionId -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber -floatline1Length + {*:1} Float | notNull strictlyPositiveNumber -floatline2Length + {*:1} Float | notNull strictlyPositiveNumber +settingIdentifier + {*:1} Integer | notNull positiveNumber +haulingIdentifier + {*:1} Integer | positiveNumber +floatline1Length + {*:1} Float | notNull positiveNumber +floatline2Length + {*:1} Float | notNull positiveNumber branchline + {*} data.longline.Branchline | ordered unique section + {*:1} fr.ird.observe.dto.data.longline.SectionReference data.longline.Branchline > data.Commentable >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier,basketId -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber +settingIdentifier + {*:1} Integer | notNull psitiveNumber +haulingIdentifier + {*:1} Integer | positiveNumber depthRecorder + {*:1} Boolean timer + {*:1} Boolean timeSinceContact + {*:1} Long hookOffset + {*:1} Integer -branchlineLength + {*:1} Float | strictlyPositiveNumber +branchlineLength + {*:1} Float | positiveNumber weightedSwivel + {*:1} Boolean timerTimeOnBoard + {*:1} Date weightedSnap + {*:1} Boolean -swivelWeight + {*:1} Float | strictlyPositiveNumber -snapWeight + {*:1} Float | strictlyPositiveNumber -tracelineLength + {*:1} Float | strictlyPositiveNumber +swivelWeight + {*:1} Float | positiveNumber +snapWeight + {*:1} Float | positiveNumber +tracelineLength + {*:1} Float | positiveNumber hookLost + {*:1} Boolean traceCutOff + {*:1} Boolean baitSettingStatus {*:0..1} fr.ird.observe.dto.referential.longline.BaitSettingStatusReference @@ -148,22 +148,22 @@ baitType {*:0..1} fr.ird.observe.dto.referential.longline.BaitTypeReference basket + {*:1} fr.ird.observe.dto.data.longline.BasketReference data.longline.BranchlinesComposition > data.Data | references=topTypeLabel,tracelineTypeLabel,length,proportion -length + {*:1} Float | notNull strictlyPositiveNumber +length + {*:1} Float | notNull positiveNumber proportion + {*:1} Integer | notNull strictlyPositiveNumber -tracelineLength + {*:1} Float | strictlyPositiveNumber +tracelineLength + {*:1} Float | positiveNumber topType {*:0..1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull tracelineType {*:0..1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull data.longline.CatchLongline > data.Commentable >> data.longline.LonglinePositionAwareDto | references=homeId homeId + {*:1} String -count + {*:1} Integer | strictlyPositiveNumber -totalWeight + {*:1} Float | strictlyPositiveNumber +count + {*:1} Integer | positiveNumber +totalWeight + {*:1} Float | positiveNumber hookWhenDiscarded + {*:1} Boolean depredated + {*:1} Boolean -beatDiameter + {*:1} Float | strictlyPositiveNumber -gonadeWeight + {*:1} Float | strictlyPositiveNumber +beatDiameter + {*:1} Float | positiveNumber +gonadeWeight + {*:1} Float | positiveNumber photoReferences + {*:1} String -number + {*:1} Integer | strictlyPositiveNumber +number + {*:1} Integer | positiveNumber acquisitionMode + {*:1} int tagNumber + {*:1} String basket {*:0..1} fr.ird.observe.dto.data.longline.BasketReference @@ -182,18 +182,18 @@ catchHealthStatus {*:1} fr.ird.observe.dto.referential.longline.HealthStatusRefe sex {*:0..1} fr.ird.observe.dto.referential.SexReference data.longline.Encounter > data.Data | references=encounterTypeLabel,speciesLabel -distance + {*:1} Float | strictlyPositiveNumber | mayNotNull -count + {*:1} Integer | strictlyPositiveNumber | mayNotNull +distance + {*:1} Float | positiveNumber | mayNotNull +count + {*:1} Integer | positiveNumber | mayNotNull species {*:1} fr.ird.observe.dto.referential.SpeciesReference | mayNotNull encounterType {*:1} fr.ird.observe.dto.referential.longline.EncounterTypeReference | notNull data.longline.FloatlinesComposition > data.Data | references=lineTypeLabel,length,proportion -length + {*:1} Float | notNull strictlyPositiveNumber +length + {*:1} Float | notNull positiveNumber proportion + {*:1} Integer | notNull strictlyPositiveNumber lineType {*:1} fr.ird.observe.dto.referential.longline.LineTypeReference | notNull data.longline.GearUseFeaturesLongline > data.Commentable | references=number,usedInTrip -number + {*:1} Integer | notNull strictlyPositiveNumber +number + {*:1} Integer | notNull positiveNumber usedInTrip + {*:1} Boolean gearUseFeaturesMeasurement + {*} data.longline.GearUseFeaturesMeasurementLongline | ordered gear {*:1} fr.ird.observe.dto.referential.GearReference | notNull @@ -204,13 +204,13 @@ gearCaracteristic {*:1} fr.ird.observe.dto.referential.GearCaracteristicReferenc data.longline.HooksComposition > data.Data | references=hookTypeLabel,hookSizeLabel,hookOffset,proportion proportion + {*:1} Integer | notNull strictlyPositiveNumber -hookOffset + {*:1} Integer | strictlyPositiveNumber +hookOffset + {*:1} Integer | positiveNumber hookType {*:1} fr.ird.observe.dto.referential.longline.HookTypeReference | notNull hookSize {*:1} fr.ird.observe.dto.referential.longline.HookSizeReference data.longline.Section > data.Data >> data.longline.LonglineCompositionDto | references=settingIdentifier,haulingIdentifier -settingIdentifier + {*:1} Integer | notNull strictlyPositiveNumber -haulingIdentifier + {*:1} Integer | strictlyPositiveNumber +settingIdentifier + {*:1} Integer | notNull positiveNumber +haulingIdentifier + {*:1} Integer | positiveNumber basket + {*} data.longline.Basket | ordered unique data.longline.SensorUsed > data.Data | references=sensorTypeLabel @@ -225,27 +225,27 @@ data {*:0..1} data.DataFile data.longline.SetLongline > data.Commentable | references=homeId homeId + {*:1} String | mayNotNull number + {*:1} Integer -basketsPerSectionCount + {*:1} Integer | notNull strictlyPositiveNumber -branchlinesPerBasketCount + {*:1} Integer | notNull strictlyPositiveNumber -totalSectionsCount + {*:1} Integer | notNull strictlyPositiveNumber -totalBasketsCount + {*:1} Integer | strictlyPositiveNumber -totalHooksCount + {*:1} Integer | strictlyPositiveNumber +basketsPerSectionCount + {*:1} Integer | notNull positiveNumber +branchlinesPerBasketCount + {*:1} Integer | notNull positiveNumber +totalSectionsCount + {*:1} Integer | notNull positiveNumber +totalBasketsCount + {*:1} Integer | positiveNumber +totalHooksCount + {*:1} Integer | positiveNumber weightedSnap + {*:1} Boolean -snapWeight + {*:1} Float | strictlyPositiveNumber +snapWeight + {*:1} Float | positiveNumber weightedSwivel + {*:1} Boolean -swivelWeight + {*:1} Float | strictlyPositiveNumber -lightsticksPerBasketCount + {*:1} Integer | notNull strictlyPositiveNumber -timeBetweenHooks + {*:1} Long | strictlyPositiveNumber +swivelWeight + {*:1} Float | positiveNumber +lightsticksPerBasketCount + {*:1} Integer | notNull positiveNumber +timeBetweenHooks + {*:1} Long | positiveNumber shooterUsed + {*:1} Boolean -shooterSpeed + {*:1} Float | strictlyPositiveNumber -maxDepthTargeted + {*:1} Integer | strictlyPositiveNumber +shooterSpeed + {*:1} Float | positiveNumber +maxDepthTargeted + {*:1} Integer | positiveNumber settingStartTimeStamp + {*:1} Date | notNull settingStartLatitude + {*:1} Float | notNull settingStartLongitude + {*:1} Float | notNull settingEndTimeStamp + {*:1} Date | notNull settingEndLatitude + {*:1} Float | notNull settingEndLongitude + {*:1} Float | notNull -settingVesselSpeed + {*:1} Float +settingVesselSpeed + {*:1} Float | positiveNumber haulingDirectionSameAsSetting + {*:1} Boolean | notNull haulingStartTimeStamp + {*:1} Date | notNull haulingStartLatitude + {*:1} Float | notNull @@ -274,9 +274,9 @@ branchlines {*:*} fr.ird.observe.dto.data.longline.BranchlineReference data.longline.SetLonglineDetailComposition > data.Data settingStartTimeStamp + {*:1} Date monitored + {*:1} Boolean -totalSectionsCount + {*:1} Integer | strictlyPositiveNumber -basketsPerSectionCount + {*:1} Integer | strictlyPositiveNumber -branchlinesPerBasketCount + {*:1} Integer | strictlyPositiveNumber +totalSectionsCount + {*:1} Integer | positiveNumber +basketsPerSectionCount + {*:1} Integer | positiveNumber +branchlinesPerBasketCount + {*:1} Integer | positiveNumber haulingDirectionSameAsSetting + {*:1} Boolean haulingBreaks + {*:1} Integer | positiveNumber section + {*} data.longline.Section | ordered unique @@ -301,27 +301,27 @@ baskets {*:*} fr.ird.observe.dto.data.longline.BasketReference branchlines {*:*} fr.ird.observe.dto.data.longline.BranchlineReference data.longline.SizeMeasure > data.Data | references=sizeMeasureTypeLabel,size -size + {*:1} Float | strictlyPositiveNumber +size + {*:1} Float | positiveNumber sizeMeasureType {*:1} fr.ird.observe.dto.referential.SizeMeasureTypeReference data.longline.Tdr > data.Data >> data.longline.LonglinePositionAwareDto | references=homeId homeId + {*:1} String -floatline1Length + {*:1} Float | strictlyPositiveNumber -floatline2Length + {*:1} Float | strictlyPositiveNumber +floatline1Length + {*:1} Float | positiveNumber +floatline2Length + {*:1} Float | positiveNumber serialNo + {*:1} String hasData + {*:1} boolean deploymentStart + {*:1} Date deploymentEnd + {*:1} Date fishingStart + {*:1} Date fishingEnd + {*:1} Date -fishingStartDepth + {*:1} Float | strictlyPositiveNumber -fishingEndDepth + {*:1} Float | strictlyPositiveNumber -meanDeploymentDepth + {*:1} Float | strictlyPositiveNumber -medianDeploymentDepth + {*:1} Float | strictlyPositiveNumber -minFishingDepth + {*:1} Float | strictlyPositiveNumber -maxFishingDepth + {*:1} Float | strictlyPositiveNumber -meanFishingDepth + {*:1} Float | strictlyPositiveNumber -medianFishingDepth + {*:1} Float | strictlyPositiveNumber +fishingStartDepth + {*:1} Float | positiveNumber +fishingEndDepth + {*:1} Float | positiveNumber +meanDeploymentDepth + {*:1} Float | positiveNumber +medianDeploymentDepth + {*:1} Float | positiveNumber +minFishingDepth + {*:1} Float | positiveNumber +maxFishingDepth + {*:1} Float | positiveNumber +meanFishingDepth + {*:1} Float | positiveNumber +medianFishingDepth + {*:1} Float | positiveNumber dataLocation + {*:1} String branchline {*:0..1} fr.ird.observe.dto.data.longline.BranchlineReference sensorBrand {*:0..1} fr.ird.observe.dto.referential.longline.SensorBrandReference @@ -357,7 +357,7 @@ data.longline.TripLonglineGearUse > data.Data | form=data.longline.GearUseFeatur gearUseFeaturesLongline + {*} data.longline.GearUseFeaturesLongline | ordered mayNotNull data.longline.WeightMeasure > data.Data | references=weightMeasureTypeLabel,weight -weight + {*:1} Float | strictlyPositiveNumber +weight + {*:1} Float | positiveNumber weightMeasureType {*:1} fr.ird.observe.dto.referential.WeightMeasureTypeReference referential.Country > referential.I18nReferential | references=code,label,uri,iso2Code,iso3Code @@ -469,7 +469,7 @@ referential.Vessel > referential.I18nReferential | references=code,label,uri,ves keelCode + {*:1} Integer fleetCountry + {*:1} Integer changeDate + {*:1} Date | mayNotNull -yearService + {*:1} Integer | strictlyPositiveNumber +yearService + {*:1} Integer | positiveNumber length + {*:1} Float | strictlyPositiveNumber capacity + {*:1} Float | strictlyPositiveNumber power + {*:1} Integer | strictlyPositiveNumber @@ -610,8 +610,8 @@ data.seine.ActivitySeine > data.Openable | references=time,vesselActivitySeine,s time + {*:1} Date | notNull latitude + {*:1} Float | notNull longitude + {*:1} Float | notNull -vesselSpeed + {*:1} Float | strictlyPositiveNumber -seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber +vesselSpeed + {*:1} Float | positiveNumber +seaSurfaceTemperature + {*:1} Float | mayNotNull positiveNumber ersId + {*:1} String floatingObjectEmpty + {*:1} boolean observedSystemDistance + {*:1} Float | mayNotNull positiveNumber @@ -633,7 +633,7 @@ data.seine.ActivitySeineStub > data.Data time + {*:1} Date latitude + {*:1} Float longitude + {*:1} Float -seaSurfaceTemperature + {*:1} Float | strictlyPositiveNumber +seaSurfaceTemperature + {*:1} Float | positiveNumber activityFinDeVeille + {*:1} boolean data.seine.FloatingObject > data.Commentable | references=objectOperationLabel @@ -665,19 +665,19 @@ measurementValue + {*:1} String gearCaracteristic {*:1} fr.ird.observe.dto.referential.GearCaracteristicReference data.seine.GearUseFeaturesSeine > data.Commentable | references=number,usedInTrip -number + {*:1} Integer | notNull strictlyPositiveNumber +number + {*:1} Integer | notNull positiveNumber usedInTrip + {*:1} Boolean gearUseFeaturesMeasurement + {*} data.seine.GearUseFeaturesMeasurementSeine | ordered gear {*:1} fr.ird.observe.dto.referential.GearReference | notNull data.seine.NonTargetCatch > data.Commentable | references=speciesLabel,speciesFateLabel -catchWeight + {*:1} Float | strictlyPositiveNumber +catchWeight + {*:1} Float | positiveNumber catchWeightComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource -meanWeight + {*:1} Float | strictlyPositiveNumber +meanWeight + {*:1} Float | positiveNumber meanWeightComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource -meanLength + {*:1} Float | strictlyPositiveNumber +meanLength + {*:1} Float | positiveNumber meanLengthComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource -totalCount + {*:1} Integer | strictlyPositiveNumber +totalCount + {*:1} Integer | positiveNumber totalCountComputedSource + {*:1} !fr.ird.observe.dto.data.seine.NonTargetCatchComputedValueSource hasSample + {*:1} boolean well + {*:1} String @@ -687,7 +687,7 @@ speciesFate {*:0..1} fr.ird.observe.dto.referential.seine.SpeciesFateReference | species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull data.seine.NonTargetCatchRelease > data.Commentable | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length -length + {*:1} Float | strictlyPositiveNumber +length + {*:1} Float | positiveNumber count + {*:1} Integer | notNull strictlyPositiveNumber acquisitionMode + {*:1} int status {*:1} !fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference | notNull @@ -698,12 +698,12 @@ conformity {*:1} fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConfo releasingTime {*:1} fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference data.seine.NonTargetLength > data.Data | references=speciesLabel,length -length + {*:1} Float | strictlyPositiveNumber +length + {*:1} Float | positiveNumber isLengthComputed + {*:1} boolean picturesReferences + {*:1} String -weight + {*:1} Float | strictlyPositiveNumber +weight + {*:1} Float | positiveNumber isWeightComputed + {*:1} boolean -count + {*:1} Integer | notNull strictlyPositiveNumber +count + {*:1} Integer | notNull positiveNumber acquisitionMode + {*:1} int tagNumber + {*:1} String species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull @@ -716,12 +716,12 @@ nonTargetLength + {*} data.seine.NonTargetLength | ordered speciesFate {*:*} fr.ird.observe.dto.referential.seine.SpeciesFateReference data.seine.ObjectObservedSpecies > data.Data | references=speciesLabel,speciesStatusLabel -count + {*:1} Integer | notNull strictlyPositiveNumber +count + {*:1} Integer | notNull positiveNumber speciesStatus {*:1} fr.ird.observe.dto.referential.seine.SpeciesStatusReference | notNull species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull data.seine.ObjectSchoolEstimate > data.Data | references=speciesLabel,totalWeight -totalWeight + {*:1} Integer | notNull strictlyPositiveNumber +totalWeight + {*:1} Integer | notNull positiveNumber species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull data.seine.Route > data.Openable | references=date,comment @@ -737,22 +737,22 @@ startLogValue + {*:1} Float | positiveNumber endLogValue + {*:1} Float | positiveNumber data.seine.SchoolEstimate > data.Data | references=speciesLabel,meanWeight,totalWeight -totalWeight + {*:1} Integer | strictlyPositiveNumber -meanWeight + {*:1} Integer | strictlyPositiveNumber +totalWeight + {*:1} Integer | positiveNumber +meanWeight + {*:1} Integer | positiveNumber species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull data.seine.SetSeine > data.Commentable | references=comment constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime startTime + {*:1} Date endPursingTimeStamp + {*:1} Date endSetTimeStamp + {*:1} Date -maxGearDepth + {*:1} Integer | strictlyPositiveNumber -currentSpeed + {*:1} Float | strictlyPositiveNumber -currentDirection + {*:1} Integer | mayNotNull strictlyPositiveNumber +maxGearDepth + {*:1} Integer | positiveNumber +currentSpeed + {*:1} Float | positiveNumber +currentDirection + {*:1} Integer | mayNotNull positiveNumber schoolTopDepth + {*:1} Integer | positiveNumber -schoolMeanDepth + {*:1} Integer | strictlyPositiveNumber -schoolThickness + {*:1} Integer | strictlyPositiveNumber +schoolMeanDepth + {*:1} Integer | positiveNumber +schoolThickness + {*:1} Integer | positiveNumber supportVesselName + {*:1} String -currentMeasureDepth + {*:1} Integer | strictlyPositiveNumber +currentMeasureDepth + {*:1} Integer | positiveNumber schoolType + {*:1} !fr.ird.observe.dto.data.seine.SchoolType targetCatchCompositionEstimatedByObserver + {*:1} boolean targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean @@ -775,7 +775,7 @@ targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean targetCatch {*} data.seine.TargetCatch | ordered data.seine.TargetCatch > data.Commentable | references=speciesLabel,well,catchWeight -catchWeight + {*:1} Float | notNull strictlyPositiveNumber +catchWeight + {*:1} Float | notNull positiveNumber well + {*:1} String | notNull broughtOnDeck + {*:1} Boolean discarded + {*:1} boolean @@ -785,10 +785,10 @@ reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.seine.ReasonForDiscardR species {*:1} fr.ird.observe.dto.referential.SpeciesReference | notNull data.seine.TargetLength > data.Data | references=speciesLabel,length,count constants=totalWeight -length + {*:1} Float | strictlyPositiveNumber +length + {*:1} Float | positiveNumber isLengthComputed + {*:1} boolean -count + {*:1} Integer | notNull strictlyPositiveNumber -weight + {*:1} Float | strictlyPositiveNumber +count + {*:1} Integer | notNull positiveNumber +weight + {*:1} Float | positiveNumber isWeightComputed + {*:1} boolean acquisitionMode + {*:1} int 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 observe.config.map.layer8.description=File (shapefile) for layer 8 of map observe.config.map.layer9.description=File (shapefile) for layer 9 of map observe.config.map.style.description=File of styles used in map +observe.config.nonTargetCatchRelease.speciesGroups=Species groups authorized in NonTargetCatchRelease form observe.config.observation.activitysDetaillees=Observation of detailled activities observe.config.observation.fauneAssociee=Observation of non target 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 observe.config.map.layer8.description=Archivo (shapeFiles) del octavo calco del mapa observe.config.map.layer9.description=Archivo (shapeFiles) del noveno calco del mapa observe.config.map.style.description=Archivo de los estilos a aplicar sobre los calcos del mapa +observe.config.nonTargetCatchRelease.speciesGroups=Species groups authorized in NonTargetCatchRelease form \#TODO observe.config.observation.activitysDetaillees=Observación de actividades detalladas observe.config.observation.fauneAssociee=Observación de Fauna asociada 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 observe.config.map.layer8.description=Fichier (Shape Files) du huitième calque de la carte observe.config.map.layer9.description=Fichier (Shape Files) du neuvième calque de la carte observe.config.map.style.description=Fichier des style à appliquer sur les calques de la carte +observe.config.nonTargetCatchRelease.speciesGroups=Groupes d'espèces autorisés dans le formulaire des espèces accessoires sensibles libérées observe.config.observation.activitysDetaillees=Observation des activités détaillées observe.config.observation.fauneAssociee=Observation des Faunes associées 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; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.SpeciesReference; -import fr.ird.observe.dto.referential.SpeciesGroupHelper; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.SetSeine; @@ -45,7 +45,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple private static final Logger log = LogManager.getLogger(NonTargetCatchReleaseServiceLocal.class); @Override - public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId) { + public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds) { if (log.isTraceEnabled()) { log.trace("getSampleSpecies(" + setSeineId + ")"); } @@ -55,7 +55,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple return SPECIES_SPI.toReferentialReferenceSet(setSeine.getNonTargetCatch().stream() .map(NonTargetCatch::getSpecies) .distinct() - .filter(s -> SpeciesGroupHelper.SPECIES_GROUP_IDS.contains(s.getSpeciesGroup().getTopiaId())) + .filter(s -> speciesGroupIds.contains(s.getSpeciesGroup().getTopiaId())) .collect(Collectors.toList()), getReferentialLocale(), null); } ===================================== 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; import fr.ird.observe.dto.referential.ReferentialLocale; import fr.ird.observe.dto.referential.SpeciesDto; import fr.ird.observe.dto.referential.SpeciesGroupDto; -import fr.ird.observe.dto.referential.SpeciesGroupHelper; import fr.ird.observe.dto.referential.seine.ObservedSystemReference; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.ObserveDataEntity; @@ -168,10 +167,10 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe } @Override - public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() { + public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(ImmutableSet<String> ids) { ImmutableSet.Builder<SpeciesGroupDto> result = ImmutableSet.builder(); - for (String speciesGroupId : SpeciesGroupHelper.SPECIES_GROUP_IDS) { - result.add(loadSpeciesGroup(speciesGroupId)); + for (String id : ids) { + result.add(loadSpeciesGroup(id)); } return result.build(); } ===================================== services-local/src/test/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocalTest.java ===================================== @@ -207,7 +207,7 @@ public class ValidateServiceLocalTest extends ServiceLocalTestSupport { assertValidateResult(result, PersonDto.class, 4); assertValidateResult(result, BaitHaulingStatusDto.class, 3); assertValidateResult(result, HookTypeDto.class, 1); - assertValidateResult(result, VesselDto.class, 10); + assertValidateResult(result, VesselDto.class, 9); assertValidateResult(result, BaitSettingStatusDto.class, 1); assertValidateResult(result, SensorTypeDto.class, 3); assertValidateResult(result, SettingShapeDto.class, 3); @@ -251,7 +251,7 @@ public class ValidateServiceLocalTest extends ServiceLocalTestSupport { assertValidateResult(result, TripSeineDto.class, 5); assertValidateResult(result, RouteDto.class, 3); // 55 - assertValidateResult(result, ActivitySeineDto.class, 12); // 11 + assertValidateResult(result, ActivitySeineDto.class, 11); assertValidateResult(result, TransmittingBuoyDto.class, 1); assertValidateResult(result, SetSeineDto.class, 3); 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; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; @@ -41,7 +42,7 @@ public interface NonTargetCatchReleaseService extends ObserveService { @Get @ReadDataPermission - ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId); + ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds); @Get @ReadDataPermission ===================================== services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java ===================================== @@ -85,7 +85,7 @@ public interface ReferentialService extends ObserveService { @ReadReferentialPermission @Get - ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(); + ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(ImmutableSet<String> ids); //FIXME charger cela dans le cache côté applicatif @ReadReferentialPermission ===================================== test/src/main/resources/db/7.6/dataForTestLongline.sql.gz ===================================== Binary files a/test/src/main/resources/db/7.6/dataForTestLongline.sql.gz and b/test/src/main/resources/db/7.6/dataForTestLongline.sql.gz differ ===================================== test/src/main/resources/db/7.6/dataForTestSeine.sql.gz ===================================== Binary files a/test/src/main/resources/db/7.6/dataForTestSeine.sql.gz and b/test/src/main/resources/db/7.6/dataForTestSeine.sql.gz differ ===================================== test/src/main/resources/db/7.6/empty_h2.sql.gz ===================================== Binary files a/test/src/main/resources/db/7.6/empty_h2.sql.gz and b/test/src/main/resources/db/7.6/empty_h2.sql.gz differ ===================================== test/src/main/resources/db/7.6/empty_pg.sql.gz ===================================== Binary files a/test/src/main/resources/db/7.6/empty_pg.sql.gz and b/test/src/main/resources/db/7.6/empty_pg.sql.gz differ ===================================== test/src/main/resources/db/7.6/referentiel.sql.gz ===================================== Binary files a/test/src/main/resources/db/7.6/referentiel.sql.gz and b/test/src/main/resources/db/7.6/referentiel.sql.gz differ View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5602e3fd04f54e82c9884676f... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5602e3fd04f54e82c9884676f... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT