This is an automated email from the git hooks/post-receive script. New commit to branch feature/7608-PS-VerifEcranEchantillonsFaunesAccesoire in repository tutti. See http://git.codelutin.com/tutti.git commit c5f87736eacaefca4beb06d5647dd0f90764cbf5 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 9 14:03:43 2016 +0100 Ajouter du filtre sur les espèces (see #7609). --- .../table/impl/seine/NonTargetCatchUIHandler.java | 35 ++++++++++++++++++++++ .../service/seine/NonTargetCatchServiceTopia.java | 3 +- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index e99beac..95946e8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -28,7 +28,9 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; +import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferences; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; @@ -38,6 +40,7 @@ import fr.ird.observe.services.dto.seine.NonTargetCatchDtos; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDtos; import fr.ird.observe.services.service.seine.NonTargetCatchService; +import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; @@ -52,6 +55,8 @@ import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -376,6 +381,36 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(form.getObject(), getBean()); } + @Override + protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences); + + switch (propertyName) { + + case NonTargetCatchDto.PROPERTY_SPECIES: { + + String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId(); + String tripSeineId = getDataContext().getSelectedTripSeineId(); + + TripSeineService tripSeineService = ObserveSwingApplicationContext.get().newService(TripSeineService.class); + result = (List) tripSeineService.getSpeciesByListAndTrip(tripSeineId, speciesListId); + + result = ReferentialReferences.filterEnabled(result); + + if (log.isDebugEnabled()) { + log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size())); + } + } + + break; + + } + + return result; + + } + protected NonTargetCatchService getNonTargetCatchService() { return ObserveSwingApplicationContext.get().newService(NonTargetCatchService.class); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 57b91b1..8095acd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -61,8 +61,7 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N Form<SetSeineNonTargetCatchDto> form = dataEntityToForm( SetSeineNonTargetCatchDto.class, setSeine, - ReferenceSetRequestDefinitions.SET_SEINE_FORM - //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context + ReferenceSetRequestDefinitions.SET_SEINE_NON_TARGET_CATCH_FORM ); SetSeineNonTargetCatchDto setSeineNonTargetCatchDto = form.getObject(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.