This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 90788a12aab91d3aff6f571697ba56d814367128 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Oct 18 20:11:30 2015 +0200 Filtrage des listes de références en une seule passe + fix cast --- .../ird/observe/services/ObserveServiceTopia.java | 44 ++++++++++------------ 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 9c82ada..baa2bb6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -27,7 +27,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multimap; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.Entities; @@ -288,8 +287,10 @@ public abstract class ObserveServiceTopia implements ObserveService { // build label sets detected while copy (keep the reference for each label, or nothing if value not set) ImmutableSet<ReferenceTypeName> referenceTypesNames = dtoBuilder.getReferenceTypesNames(); - Set<ObserveEntityFilter> entitiesFilters = Sets.newHashSet(); + ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); + for (ReferenceTypeName referenceDtoTypeName : referenceTypesNames) { + Class<TopiaEntity> entityParentType = getEntityType(referenceDtoTypeName.getParentType()); Class<TopiaEntity> entityChildType = getEntityType(referenceDtoTypeName.getType()); @@ -298,18 +299,15 @@ public abstract class ObserveServiceTopia implements ObserveService { entityChildType, referenceDtoTypeName.getType(), referenceDtoTypeName.getProperty()); - entitiesFilters.add(filter); - } - - ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); - for (ObserveEntityFilter filter : entitiesFilters) { ReferenceSetDto referentialLabelSet = ReferenceSetDtos.newEmptyReferenceSetDto( filter.getDtoType(), filter.getPropertyName()); labels.add(referentialLabelSet); + } + FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); return form; @@ -350,32 +348,28 @@ public abstract class ObserveServiceTopia implements ObserveService { // build label sets detected while copy ImmutableSet<ReferenceTypeName> referenceDtoTypesNames = dtoBuilder.getReferenceTypesNames(); + ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); - - Set<ObserveEntityFilter> entitiesFilters = Sets.newHashSet(); for (ReferenceTypeName referenceDtoTypeName : referenceDtoTypesNames) { + Class<TopiaEntity> entityParentType = getEntityType(referenceDtoTypeName.getParentType()); Class<TopiaEntity> entityChildType = getEntityType(referenceDtoTypeName.getType()); - ObserveEntityFilter filter = ObserveEntitiesFilters.getFilter( - entityParentType, - entityChildType, - referenceDtoTypeName.getType(), - referenceDtoTypeName.getProperty()); - entitiesFilters.add(filter); + ObserveEntityFilter filter = ObserveEntitiesFilters.getFilter(entityParentType, + entityChildType, + referenceDtoTypeName.getType(), + referenceDtoTypeName.getProperty()); - } + ReferenceSetDto referenceSet = getReferenceSet(filter.getDtoType(), + filter.getPropertyName(), + filter.getEntityType(), + filter.getEntitiesSet(), + dataContext); - ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); - for (ObserveEntityFilter filter : entitiesFilters) { - ReferenceSetDto referenceSet = getReferenceSet( - filter.getDtoType(), - filter.getPropertyName(), - filter.getEntityType(), - filter.getEntitiesSet(), - dataContext); labels.add(referenceSet); + } + FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); return form; @@ -472,7 +466,7 @@ public abstract class ObserveServiceTopia implements ObserveService { Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - ReferenceSetDto labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, propertyName, labels, lastUpdateOptional.orNull()); + ReferenceSetDto<D> labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, propertyName, labels, lastUpdateOptional.orNull()); return labelSetDto; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.