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 55f07ed8c03c929796e557c35c3fb9a3ac07c05e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 09:16:21 2015 +0100 Correction sur la récupération des fonctions de transformation de type entite -> dto --- .../services/builder/EntityToDtoBuilder.java | 2 +- .../EntityToReferentialReferenceDtoBuilder.java | 2 +- .../services/dto/ObserveDtosInitializer.java | 56 +++++++--------------- 3 files changed, 20 insertions(+), 40 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java index 9539491..32701b2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java @@ -322,7 +322,7 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen } protected static Object transform(Object propertyValue) { - Function function = ObserveDtosInitializer.ENTITY_TO_DTO_FUNCTIONS.get(propertyValue.getClass()); + Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); if (function != null) { propertyValue = function.apply(propertyValue); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java index 72a72c2..2283ad3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java @@ -111,7 +111,7 @@ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D } protected static Object transform(Object propertyValue) { - Function function = ObserveDtosInitializer.ENTITY_TO_DTO_FUNCTIONS.get(propertyValue.getClass()); + Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); if (function != null) { propertyValue = function.apply(propertyValue); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index f58fb21..7714707 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java @@ -312,6 +312,21 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { return ENTITY_TO_DTO_TYPES; } + public static Function getEntityToDtoFunction(Object propertyValue) { + Function function = null; + if (propertyValue!=null) { + for (Map.Entry<Class, Function> entry : ENTITY_TO_DTO_FUNCTIONS.entrySet()) { + Class type = entry.getKey(); + + if (type.isAssignableFrom(propertyValue.getClass())) { + function = entry.getValue(); + break; + } + } + } + return function; + } + @Override public void start() { DTO_TO_ENTITY_TYPE_BUILDER = new ImmutableMap.Builder<>(); @@ -894,42 +909,6 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { @Override public void initProgramDto() { -// { -// -// BinderModelBuilder<ProgramDto, Program> builder = newBinderBuilder( -// ProgramDto.class, -// Program.class, -// ProgramDto.PROPERTY_LABEL1, -// ProgramDto.PROPERTY_LABEL2, -// ProgramDto.PROPERTY_LABEL3, -// ProgramDto.PROPERTY_LABEL4, -// ProgramDto.PROPERTY_LABEL5, -// ProgramDto.PROPERTY_LABEL6, -// ProgramDto.PROPERTY_LABEL7, -// ProgramDto.PROPERTY_LABEL8 -// ); -// -// registerDtoBinder(builder); -// -// } - -// { -// -// BinderModelBuilder<ProgramDto, Program> builder = newBinderBuilder( -// ProgramDto.class, -// Program.class, -// ProgramDto.PROPERTY_LABEL1, -// ProgramDto.PROPERTY_LABEL2, -// ProgramDto.PROPERTY_LABEL3, -// ProgramDto.PROPERTY_LABEL4, -// ProgramDto.PROPERTY_LABEL5, -// ProgramDto.PROPERTY_LABEL6, -// ProgramDto.PROPERTY_LABEL7, -// ProgramDto.PROPERTY_LABEL8); -// -// registerTopiaBinder(Program.class, builder, DISPLAY_LIST); -// -// } registerDtoType(ProgramDto.class, Program.class); registerReferentialDtoBinder(ProgramDto.class, Program.class, ProgramDto.PROPERTY_ORGANISM, @@ -943,8 +922,9 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { ProgramDto.PROPERTY_OBJECTS_OBSERVATION, ProgramDto.PROPERTY_BIRDS_OBSERVATION, ProgramDto.PROPERTY_TARGET_DISCARDS_OBSERVATION, - ProgramDto.PROPERTY_GEAR_TYPE); - registerReferentialReferenceDtoBinder(ProgramDto.class, Program.class, ProgramDto.PROPERTY_GEAR_TYPE); + ProgramDto.PROPERTY_GEAR_TYPE, + ProgramDto.PROPERTY_GEAR_TYPE_PREFIX); + registerReferentialReferenceDtoBinder(ProgramDto.class, Program.class, ProgramDto.PROPERTY_GEAR_TYPE, ProgramDto.PROPERTY_GEAR_TYPE_PREFIX); } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.