branch feature/7607-PS-VerfiEcranEchantillonCapture created (now 5c90211)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7607-PS-VerfiEcranEchantillonCapture in repository tutti. See http://git.codelutin.com/tutti.git at 5c90211 correcton du checkLastUpdate (see #7607). This branch includes the following new commits: new accfea9 Ajout de trace dans les appels des services Ajouter un fonction pour récupéré la liste des espèces échantillonables (see #7604). new 5c90211 correcton du checkLastUpdate (see #7607). The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 5c90211afb52dd11dfbb9d832b46a01e196b4d23 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 9 10:39:20 2016 +0100 correcton du checkLastUpdate (see #7607). commit accfea9093f17833d474bf60555d1f2e087bce2c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 9 08:37:56 2016 +0100 Ajout de trace dans les appels des services Ajouter un fonction pour récupéré la liste des espèces échantillonables (see #7604). -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7607-PS-VerfiEcranEchantillonCapture in repository tutti. See http://git.codelutin.com/tutti.git commit accfea9093f17833d474bf60555d1f2e087bce2c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 9 08:37:56 2016 +0100 Ajout de trace dans les appels des services Ajouter un fonction pour récupéré la liste des espèces échantillonables (see #7604). --- .../table/impl/seine/TargetSampleUIHandler.java | 28 ++++++++++++ .../v1/seine/TargetSampleServiceController.java | 8 ++++ .../service/seine/TargetSampleService.java | 6 +++ .../service/seine/TargetSampleServiceTopia.java | 53 ++++++++++++++++++---- 4 files changed, 87 insertions(+), 8 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index ba6de85..6fb4c3d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -25,6 +25,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -47,6 +48,8 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.LinkedList; +import java.util.List; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -326,6 +329,31 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto TargetSampleDtos.copyTargetSampleDto(form.getObject(), getBean()); } + @Override + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Iterable<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences); + + switch (propertyName) { + + case TargetLengthDto.PROPERTY_SPECIES: { + + result = (List) getTargetSampleService().getSampleSpecies(getSelectedParentId(), discarded); + + 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 TargetSampleService getTargetSampleService() { return ObserveSwingApplicationContext.get().newService(TargetSampleService.class); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java index d9128bd..7a46bbf 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java @@ -22,8 +22,11 @@ package fr.ird.observe.application.web.controller.v1.seine; * #L% */ +import com.google.common.collect.ImmutableList; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.seine.TargetSampleService; @@ -48,6 +51,11 @@ public class TargetSampleServiceController extends ObserveAuthenticatedServiceCo } @Override + public ImmutableList<ReferentialReference<SpeciesDto>> getSampleSpecies(String setSeineId, boolean discarded) { + return service.getSampleSpecies(setSeineId, discarded); + } + + @Override public SaveResultDto save(String setSeineId, TargetSampleDto dto) { return service.save(setSeineId, dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java index ed7a031..e9b5513 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java @@ -22,8 +22,11 @@ package fr.ird.observe.services.service.seine; * #L% */ +import com.google.common.collect.ImmutableList; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.spi.PostRequest; @@ -42,6 +45,9 @@ public interface TargetSampleService extends ObserveService { @ReadDataPermission Form<TargetSampleDto> loadForm(String setSeineId, boolean discarded); + @ReadDataPermission + ImmutableList<ReferentialReference<SpeciesDto>> getSampleSpecies(String setSeineId, boolean discarded); + @Write @WriteDataPermission @PostRequest diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 0934319..a290359 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -22,19 +22,27 @@ package fr.ird.observe.services.service.seine; * #L% */ +import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TargetCatch; import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.util.Collection; import java.util.Set; @@ -44,8 +52,13 @@ import java.util.Set; */ public class TargetSampleServiceTopia extends ObserveServiceTopia implements TargetSampleService { + private static final Log log = LogFactory.getLog(TargetSampleServiceTopia.class); + @Override public boolean canUseTargetSample(String setSeineId, boolean discarded) { + if (log.isTraceEnabled()) { + log.trace("canUseTargetSample(" + setSeineId + ", " + discarded + ")"); + } SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); @@ -68,6 +81,9 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar @Override public Form<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { + if (log.isTraceEnabled()) { + log.trace("loadForm(" + setSeineId + ", " + discarded + ")"); + } SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); @@ -78,7 +94,17 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar targetSample, ReferenceSetRequestDefinitions.TARGET_SAMPLE_FORM); - //FIXME referentialReferenceSet (à faire côté UI) + return form; + } + + @Override + public ImmutableList<ReferentialReference<SpeciesDto>> getSampleSpecies(String setSeineId, boolean discarded) { + if (log.isTraceEnabled()) { + log.trace("getSampleSpecies(" + setSeineId + ", " + discarded + ")"); + } + + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); + // on filtre la list des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); @@ -93,7 +119,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar // si echantillon rejeté : on ne conserve que les espèces rejectées montées sur le pont // sinon les espèce cible if (discarded && targetCatch.isDiscarded() && BooleanUtils.isTrue(targetCatch.getBroughtOnDeck()) - || !discarded && !targetCatch.isDiscarded()) { + || !discarded && !targetCatch.isDiscarded()) { speciesSet.add(targetCatch.getWeightCategory().getSpecies()); } @@ -102,18 +128,29 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } -// LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); -// -// for (Species species : speciesSet ) { -// speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); -// } + ImmutableList.Builder<ReferentialReference<SpeciesDto>> speciesBuilder = ImmutableList.builder(); - return form; + ReferentialLocale referentialLocale = getReferentialLocale(); + + ReferentialBinderSupport<ObserveReferentialEntity, SpeciesDto> binder = getReferentialBinder(SpeciesDto.class); + + for (Species species : speciesSet ) { + + ReferentialReference<SpeciesDto> speciesRef = binder.toReferentialReference(referentialLocale, species); + speciesBuilder.add(speciesRef); + + } + + return speciesBuilder.build(); } @Override public SaveResultDto save(String setSeineId, TargetSampleDto dto) { + if (log.isTraceEnabled()) { + log.trace("save(" + setSeineId + ", " + dto.getId() + ")"); + } + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); checkLastUpdateDate(setSeine, dto); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7607-PS-VerfiEcranEchantillonCapture in repository tutti. See http://git.codelutin.com/tutti.git commit 5c90211afb52dd11dfbb9d832b46a01e196b4d23 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 9 10:39:20 2016 +0100 correcton du checkLastUpdate (see #7607). --- .../ird/observe/services/service/seine/TargetSampleServiceTopia.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index a290359..1dea51a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -152,9 +152,11 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); - checkLastUpdateDate(setSeine, dto); TargetSample entity = loadOrCreateEntityFromDataDto(dto); + + checkLastUpdateDate(entity, dto); + copyDataDtoToEntity(dto, entity); for (TargetLength targetLength : entity.getTargetLength()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm