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 e3c79cb3860615d478f80a9b3b48272eb0c9e5a9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 3 11:13:14 2015 +0200 recupération des différents types de dto --- .../ird/observe/services/ObserveServiceTopia.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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 de21753..7d2e310 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 @@ -91,6 +91,17 @@ public class ObserveServiceTopia implements ObserveService { public static <E extends TopiaEntity, M extends IdDto> Class<M> getDtoType(Class<E> entityType) { Class<?> modelType = ENTITY_TO_DTO_TYPES.get(entityType); + if (modelType == null && TopiaEntity.class.isAssignableFrom(entityType)) { + // Pour gérer le cas des proxy hibernate qui ne sont pas égale à la classe proxifiée + //FIXME Trouver une meilleure solution + String name = entityType.getName(); + for (Map.Entry<Class<?>, Class<?>> entry : ENTITY_TO_DTO_TYPES.entrySet()) { + if (name.startsWith(entry.getKey().getName())) { + modelType = entry.getKey(); + break; + } + } + } return (Class<M>) modelType; } @@ -98,6 +109,28 @@ public class ObserveServiceTopia implements ObserveService { return DTO_TO_ENTITY_TYPES.entrySet(); } + public static ImmutableSet<Class<? extends ReferentialDto>> getReferentialDtoTypes() { + ImmutableSet.Builder<Class<? extends ReferentialDto>> builder = new ImmutableSet.Builder<>(); + for (Map.Entry<Class<?>, Class<?>> entry : getDtoTypes()) { + Class<?> dtoType = entry.getKey(); + if (ReferentialDto.class.isAssignableFrom(dtoType)) { + builder.add((Class<? extends ReferentialDto>) dtoType); + } + } + return builder.build(); + } + + public static ImmutableSet<Class<? extends IdDto>> getDataDtoTypes() { + ImmutableSet.Builder<Class<? extends IdDto>> builder = new ImmutableSet.Builder<>(); + for (Map.Entry<Class<?>, Class<?>> entry : getDtoTypes()) { + Class<?> dtoType = entry.getKey(); + if (!ReferentialDto.class.isAssignableFrom(dtoType)) { + builder.add((Class<? extends IdDto>) dtoType); + } + } + return builder.build(); + } + public ReferenceLocale getReferenceLocale() { ReferentialLocale referentialLocale = serviceContext.getReferentialLocale(); Locale locale = referentialLocale.getLocale(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.