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 b362025f0da5ae84700ff2926e599fdc45fa94fe Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Oct 8 10:13:55 2015 +0200 corection des ensembles de valeurs en cas de lecture. --- .../ird/observe/services/dto/ReferenceSetDtos.java | 5 +++++ .../ird/observe/services/ObserveServiceTopia.java | 21 ++++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java index 9800782..e4980b1 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java @@ -34,7 +34,12 @@ public class ReferenceSetDtos extends AbstractReferenceSetDtos { protected static final Function<ReferenceSetDto, Class> TYPE_FUNCTION = newTypeFunction(); public static <D extends IdDto> ReferenceSetDto<D> newEmptyReferenceSetDto(Class<D> type) { + return newEmptyReferenceSetDto(type, null); + } + + public static <D extends IdDto> ReferenceSetDto<D> newEmptyReferenceSetDto(Class<D> type, String name) { ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); + dto.setName(name); dto.setReference(new LinkedHashSet<ReferenceDto>()); return dto; } 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 e16d8d5..3584780 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 @@ -288,12 +288,27 @@ public 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(); + for (ReferenceTypeName referenceDtoTypeName : referenceTypesNames) { + 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); + + } + ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); - for (ReferenceTypeName referenceTypeName : referenceTypesNames) { + for (ObserveEntityFilter filter : entitiesFilters) { + ReferenceSetDto referentialLabelSet = ReferenceSetDtos.newEmptyReferenceSetDto( + filter.getDtoType(), + filter.getPropertyName()); - ReferenceSetDto referentialLabelSet = ReferenceSetDtos.newEmptyReferenceSetDto(referenceTypeName.getType()); labels.add(referentialLabelSet); - } FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); return form; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.