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 2f63e0b41cfc83a31580c4796d4f4c7b3cc0d2df Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 18 15:01:47 2015 +0200 On retourne des universes de références vides en mode lecture --- .../dto/referential/ReferentialLabelSetDtos.java | 6 ++++++ .../services/service/ReferentialDtoBuilder.java | 19 ++++++++----------- .../services/service/ReferentialServiceTopia.java | 19 +++++++------------ .../services/service/ReferentialDtoBuilderTest.java | 5 ++--- .../services/service/ReferentialServiceTopiaTest.java | 3 +-- 5 files changed, 24 insertions(+), 28 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialLabelSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialLabelSetDtos.java index 0baa167..db70705 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialLabelSetDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialLabelSetDtos.java @@ -4,6 +4,12 @@ import java.util.LinkedHashSet; public class ReferentialLabelSetDtos extends AbstractReferentialLabelSetDtos { + public static <R extends ReferentialDto> ReferentialLabelSetDto<R> newEmptyReferentialLabelSetDto(Class<R> type) { + ReferentialLabelSetDto<R> dto = new ReferentialLabelSetDto<>(type); + dto.setReferentialLabel(new LinkedHashSet<ReferentialLabelDto>()); + return dto; + } + public static <R extends ReferentialDto> ReferentialLabelSetDto<R> newReferentialLabelSetDto(Class<R> type, LinkedHashSet<ReferentialLabelDto<R>> labels) { ReferentialLabelSetDto<R> dto = new ReferentialLabelSetDto<>(type); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialDtoBuilder.java index 726663c..b373bca 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialDtoBuilder.java @@ -13,7 +13,6 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialLabelDto; import fr.ird.observe.services.dto.referential.ReferentialLabelDtos; -import org.apache.commons.lang3.tuple.Pair; import org.nuiton.topia.persistence.EntityVisitor; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.beans.Binder; @@ -40,16 +39,16 @@ public class ReferentialDtoBuilder<M extends ReferentialDto> implements Closeabl private final EntityVisitor visitor; - private ImmutableSet.Builder<Pair<Class<? extends ReferentialDto>, String>> referentialDtoTypesBuilder; + private ImmutableSet.Builder<Class<? extends ReferentialDto>> referentialDtoTypesBuilder; - public static <M extends ReferentialDto> ReferentialDtoBuilder<M> create(Class<M> modelType, ReferentialLocale referentialLocale) { + public static <M extends ReferentialDto> ReferentialDtoBuilder<M> create(Class<M> dtoType, ReferentialLocale referentialLocale) { - Preconditions.checkNotNull(modelType, "modelType can't be null."); + Preconditions.checkNotNull(dtoType, "dtoType can't be null."); M result; try { - result = modelType.newInstance(); + result = dtoType.newInstance(); } catch (InstantiationException | IllegalAccessException e) { - throw new IllegalStateException("Could not instanciate model of type: " + modelType.getName()); + throw new IllegalStateException("Could not instanciate dto of type: " + dtoType.getName()); } ReferentialDtoBuilder<M> visitor = new ReferentialDtoBuilder<>(result, referentialLocale); return visitor; @@ -68,7 +67,7 @@ public class ReferentialDtoBuilder<M extends ReferentialDto> implements Closeabl } - public ImmutableSet<Pair<Class<? extends ReferentialDto>, String>> getReferentialDtoTypes() { + public ImmutableSet<Class<? extends ReferentialDto>> getReferentialDtoTypes() { return referentialDtoTypesBuilder.build(); } @@ -123,11 +122,9 @@ public class ReferentialDtoBuilder<M extends ReferentialDto> implements Closeabl protected <R extends ReferentialDto> ReferentialLabelDto<R> entityToRef(Class<R> dtoType, TopiaEntity entityValue) { - String id = entityValue.getTopiaId(); - Pair<Class<R>, String> ref = Pair.of(dtoType, id); - referentialDtoTypesBuilder.add((Pair) ref); + referentialDtoTypesBuilder.add(dtoType); ReferentialLabelDto<R> label = ReferentialLabelDtos.newReferentialLabelDto(dtoType, referentialLocale, entityValue); - label.setId(id); + label.setId(entityValue.getTopiaId()); return label; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 32e6d52..ee9a73f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -129,7 +129,6 @@ import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.referential.seine.WindDto; -import org.apache.commons.lang3.tuple.Pair; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; @@ -346,10 +345,10 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe D dto = dtoBuilder.build(); // build label sets detected while copy - ImmutableSet<Pair<Class<? extends ReferentialDto>, String>> referentialDtoTypes = dtoBuilder.getReferentialDtoTypes(); + ImmutableSet<Class<? extends ReferentialDto>> referentialDtoTypes = dtoBuilder.getReferentialDtoTypes(); ImmutableSet.Builder<ReferentialLabelSetDto> labels = new ImmutableSet.Builder<>(); - for (Pair<Class<? extends ReferentialDto>, String> ref : referentialDtoTypes) { - ReferentialLabelSetDto referentialLabelSet = getReferentialLabelSet(ref.getKey()); + for (Class<? extends ReferentialDto> referenceDtoType : referentialDtoTypes) { + ReferentialLabelSetDto referentialLabelSet = getReferentialLabelSet(referenceDtoType); labels.add(referentialLabelSet); } FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); @@ -366,16 +365,12 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe D dto = dtoBuilder.build(); // build label sets detected while copy (keep the reference for each label, or nothing if value not set) - ImmutableSet<Pair<Class<? extends ReferentialDto>, String>> referentialDtoTypes = dtoBuilder.getReferentialDtoTypes(); + ImmutableSet<Class<? extends ReferentialDto>> referentialDtoTypes = dtoBuilder.getReferentialDtoTypes(); ImmutableSet.Builder<ReferentialLabelSetDto> labels = new ImmutableSet.Builder<>(); - for (Pair<Class<? extends ReferentialDto>, String> ref : referentialDtoTypes) { - String id = ref.getRight(); - if (id != null) { + for (Class<? extends ReferentialDto> referentialDtoType : referentialDtoTypes) { - ReferentialLabelSetDto referentialLabelSet = getReferentialLabelSet(ref.getLeft(), id); - labels.add(referentialLabelSet); - - } + ReferentialLabelSetDto referentialLabelSet = ReferentialLabelSetDtos.newEmptyReferentialLabelSetDto(referentialDtoType); + labels.add(referentialLabelSet); } FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialDtoBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialDtoBuilderTest.java index 169ba30..3e54fa1 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialDtoBuilderTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialDtoBuilderTest.java @@ -14,7 +14,6 @@ import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialLabelDto; import fr.ird.observe.services.dto.referential.ReferentielLabelValueNotFoundException; -import org.apache.commons.lang3.tuple.Pair; import org.junit.Assert; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -62,13 +61,13 @@ public class ReferentialDtoBuilderTest { ReferentialDtoBuilder<ProgramDto> builder = ReferentialDtoBuilder.create(ProgramDto.class, ReferentialLocale.FR); builder.copyEntity(program); ProgramDto programDto = builder.build(); - ImmutableSet<Pair<Class<? extends ReferentialDto>, String>> referentialDtoTypes = builder.getReferentialDtoTypes(); + ImmutableSet<Class<? extends ReferentialDto>> referentialDtoTypes = builder.getReferentialDtoTypes(); // On verifie les types de listes de labels détectées Assert.assertNotNull(referentialDtoTypes); Assert.assertEquals(1, referentialDtoTypes.size()); - Assert.assertTrue(referentialDtoTypes.contains(Pair.of(OrganismDto.class,"Organism1"))); + Assert.assertTrue(referentialDtoTypes.contains(OrganismDto.class)); // On vérife que le program a bien été copié Assert.assertEquals(program.getCode(), programDto.getCode()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 3bcb151..cbcf107 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -145,8 +145,7 @@ public class ReferentialServiceTopiaTest { Assert.assertEquals(o.getTopiaId(), form.getId()); for (ReferentialLabelSetDto labelSetDto : formDto.getLabels()) { - Assert.assertTrue(0 <= labelSetDto.sizeReferentialLabel()); - Assert.assertTrue(labelSetDto.sizeReferentialLabel() < 2); + Assert.assertTrue(labelSetDto.isReferentialLabelEmpty()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.