Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 5602e3fd by Tony Chemit at 2020-07-02T10:02:45+02:00 [PS] Pratiques de remise à l'eau, cétacés non trouvés - Closes #1564 - - - - - 12 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/content/data/seine/NonTargetCatchReleaseUIHandler.java - − dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java - 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/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java - services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java 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/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)); } ===================================== 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" - ); -} ===================================== 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/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 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5602e3fd04f54e82c9884676f7... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5602e3fd04f54e82c9884676f7... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT