This is an automated email from the git hooks/post-receive script. New change to branch feature/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git at 6cb3380 correction de traduction (see #7602). This branch includes the following new commits: new 40382dc Ajout du filtre sure les espèces de thons (see #7601). new 0fa0621 Ajout de trace dans les appels des services (see #7602). new 1e5dd4e Ajout du filtre sure les espèces (see #7602). new 8973474 mauvais binding du nombre et du statut de l'espèce observé (see #7602). new 6cb3380 correction de traduction (see #7602). The 5 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 6cb3380c69d98afc8bb35294d61dd69e82c95f94 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:16:40 2016 +0100 correction de traduction (see #7602). commit 89734746dedb17b25711c17ea1318349c17c6d44 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:14:18 2016 +0100 mauvais binding du nombre et du statut de l'espèce observé (see #7602). commit 1e5dd4ef0a65645f08e4a31c57848f761fd6426d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:11:02 2016 +0100 Ajout du filtre sure les espèces (see #7602). commit 0fa062122b26549b7b0b3aabeb54a19982c0c15d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:10:29 2016 +0100 Ajout de trace dans les appels des services (see #7602). commit 40382dc7767f0a298028ffcd71a37f3ec4cb3883 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 17:39:14 2016 +0100 Ajout du filtre sure les espèces de thons (see #7601). -- 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/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git commit 40382dc7767f0a298028ffcd71a37f3ec4cb3883 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 17:39:14 2016 +0100 Ajout du filtre sure les espèces de thons (see #7601). --- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 40 ++++++++++++++++++++++ .../dto/referential/ReferentialReferences.java | 39 ++++++++++++++++++++- 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 1604deb..874d093 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -21,14 +21,21 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; 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.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.SpeciesListDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.seine.ObjectSchoolEstimateService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableUIHandler; @@ -37,6 +44,8 @@ import org.apache.commons.logging.LogFactory; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; +import java.util.LinkedList; +import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -104,6 +113,37 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(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 ObjectSchoolEstimateDto.PROPERTY_SPECIES: { + String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectSchoolEstimateId(); + + ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + Form<SpeciesListDto> speciesListDtoForm = referentialService.loadForm(SpeciesListDto.class, speciesListId); + SpeciesListDto speciesListDto = speciesListDtoForm.getObject(); + + List<String> species = Lists.newArrayList(Iterables.transform(speciesListDto.getSpecies(), ReferentialReferences.getIdFunction())); + + result = ReferentialReferences.filterContains(result, species); + + 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 ObjectSchoolEstimateService getObjectSchoolEstimateService() { return ObserveSwingApplicationContext.get().newService(ObjectSchoolEstimateService.class); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java index 0e3491f..03ff70b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.dto.referential; +import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -13,6 +14,14 @@ import java.util.List; */ public class ReferentialReferences { + protected static final Function<ReferentialReference, String> ID_FUNCTION = new Function<ReferentialReference, String>() { + + @Override + public String apply(ReferentialReference input) { + return input.getId(); + } + }; + protected static final Predicate<ReferentialReference> IS_ENABLE_PREDICATE = new Predicate<ReferentialReference>() { @Override @@ -21,10 +30,38 @@ public class ReferentialReferences { } }; - public static <D extends ReferentialDto> List<ReferentialReference<D>> filterEnabled(List<ReferentialReference<D>> references) { + public static <D extends ReferentialDto> List<ReferentialReference<D>> filterEnabled(Iterable<ReferentialReference<D>> references) { List<ReferentialReference<D>> result = Lists.newArrayList(Iterables.filter(references, IS_ENABLE_PREDICATE)); + + return result; + + } + + public static <D extends ReferentialDto> List<ReferentialReference<D>> filterContains(Iterable<ReferentialReference<D>> references, List<String> containsIds) { + + List<ReferentialReference<D>> result = Lists.newArrayList(Iterables.filter(references, new ContainsPredicate(containsIds))); + return result; } + + public static Function<ReferentialReference, String> getIdFunction() { + return ID_FUNCTION; + + } + + protected static final class ContainsPredicate implements Predicate<ReferentialReference> { + + protected List<String> containsIds; + + public ContainsPredicate(List<String> containsIds) { + this.containsIds = containsIds; + } + + @Override + public boolean apply(ReferentialReference input) { + return containsIds.contains(input.getId()); + } + } } -- 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/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git commit 0fa062122b26549b7b0b3aabeb54a19982c0c15d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:10:29 2016 +0100 Ajout de trace dans les appels des services (see #7602). --- .../service/seine/ObjectObservedSpeciesServiceTopia.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index dbd4b07..b993197 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -28,14 +28,21 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia implements ObjectObservedSpeciesService { + private static final Log log = LogFactory.getLog(ObjectObservedSpeciesServiceTopia.class); + @Override public Form<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { + if (log.isTraceEnabled()) { + log.trace("loadForm(" + floatingObjectId + ")"); + } FloatingObject floatingObject = loadEntity(FloatingObjectObservedSpeciesDto.class, floatingObjectId); @@ -51,6 +58,9 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple @Override public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { + if (log.isTraceEnabled()) { + log.trace("save(" + dto.getId() + ")"); + } FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); copyDataDtoToEntity(dto, entity); -- 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/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git commit 1e5dd4ef0a65645f08e4a31c57848f761fd6426d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:11:02 2016 +0100 Ajout du filtre sure les espèces (see #7602). --- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 7e556c4..b468cf0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -21,15 +21,23 @@ */ package fr.ird.observe.ui.content.table.impl.seine; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; 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.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.SpeciesListDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDtos; import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.seine.ObjectObservedSpeciesService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableUIHandler; @@ -39,6 +47,9 @@ import org.apache.commons.logging.LogFactory; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; +import java.util.LinkedList; +import java.util.List; + import static org.nuiton.i18n.I18n.n; /** @@ -108,6 +119,37 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(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 ObjectSchoolEstimateDto.PROPERTY_SPECIES: { + String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectObservedSpeciesId(); + + ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + Form<SpeciesListDto> speciesListDtoForm = referentialService.loadForm(SpeciesListDto.class, speciesListId); + SpeciesListDto speciesListDto = speciesListDtoForm.getObject(); + + List<String> species = Lists.newArrayList(Iterables.transform(speciesListDto.getSpecies(), ReferentialReferences.getIdFunction())); + + result = ReferentialReferences.filterContains(result, species); + + 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 ObjectObservedSpeciesService getObjectObservedSpeciesService() { return ObserveSwingApplicationContext.get().newService(ObjectObservedSpeciesService.class); } -- 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/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git commit 89734746dedb17b25711c17ea1318349c17c6d44 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:14:18 2016 +0100 mauvais binding du nombre et du statut de l'espèce observé (see #7602). --- .../ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java index 52387ac..ee3308d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java @@ -24,8 +24,8 @@ public class ObjectObservedSpeciesBinder extends DataBinderSupport<ObjectObserve copyDtoDataFieldsToEntity(dto, entity); - entity.setCount(entity.getCount()); - entity.setStatut(entity.getStatut()); + entity.setCount(dto.getCount()); + entity.setStatut(dto.getStatut()); entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); entity.setSpeciesStatus(toEntity(dto.getSpeciesStatus(), SpeciesStatus.class)); -- 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/7602-PS-VerifFauneObserveSurObjetFlottant in repository tutti. See http://git.codelutin.com/tutti.git commit 6cb3380c69d98afc8bb35294d61dd69e82c95f94 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 7 18:16:40 2016 +0100 correction de traduction (see #7602). --- .../src/main/resources/i18n/observe-entities_fr_FR.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/observe-entities/src/main/resources/i18n/observe-entities_fr_FR.properties b/observe-entities/src/main/resources/i18n/observe-entities_fr_FR.properties index bae4b7e..09b5a24 100644 --- a/observe-entities/src/main/resources/i18n/observe-entities_fr_FR.properties +++ b/observe-entities/src/main/resources/i18n/observe-entities_fr_FR.properties @@ -209,8 +209,8 @@ validator.nonTargetSample.required.taille=La taille est obligatoire. validator.nonTargetSample.required.weight.or.taille=Au moins une des valeurs (taille / poids) doit être renseignée. validator.objectObservedSpecies.desactivated.species=L'espèce sélectionnée est désactivée. validator.objectObservedSpecies.desactivated.speciesStatus=Le statut espèce sélectionné est désactivé. -validator.objectObservedSpecies.positive.count=Le lastNamebre est un entier strictement positif. -validator.objectObservedSpecies.required.count=Le lastNamebre est obligatoire. +validator.objectObservedSpecies.positive.count=Le nombre est un entier strictement positif. +validator.objectObservedSpecies.required.count=Le nombre est obligatoire. validator.objectObservedSpecies.required.species=La sélection d'une espèce de faune est obligatoire. validator.objectObservedSpecies.required.speciesStatus=La sélection d'un statut d'espèce de faune est obligatoire. validator.organism.desactivated.country=Le pays est désactivé. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm