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 ebf58daf77949cafa19b3d75218277d58a9f6f4a Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 19 14:05:04 2015 +0200 Deplacement de code réutilisable dans le service de base + mise en place de la transformation dto vers entite (à finir) --- .../ird/observe/services/ObserveServiceTopia.java | 57 ++++++++++++++++++++++ .../services/service/ReferentialServiceTopia.java | 52 ++------------------ 2 files changed, 60 insertions(+), 49 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 bf2d0da..b0836f7 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 @@ -3,11 +3,18 @@ package fr.ird.observe.services; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDtosInitializer; import fr.ird.observe.services.dto.ObserveModelInitializerRunner; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.service.DataNotFoundException; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; +import java.util.List; import java.util.Map; /** @@ -56,4 +63,54 @@ public class ObserveServiceTopia implements ObserveService { return DTO_TO_ENTITY_TYPES.entrySet(); } + public TopiaEntity getEntityFromReference(ReferenceDto referenceDto) { + Preconditions.checkNotNull(referenceDto,"'referenceDto' can't be null"); + String id = referenceDto.getId(); + Class entityType = getEntityType(referenceDto.getType()); + TopiaEntity entity = loadEntity(referenceDto.getType(), entityType, id); + return entity; + } + + protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { + TopiaContext transaction = serviceContext.getTransaction(); + TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + List<E> entities = dao.findAll(); + return entities; + } + + protected <D extends ReferentialDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { + TopiaContext transaction = serviceContext.getTransaction(); + TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + E entity = dao.findByTopiaId(id); + if (entity == null) { + throw new DataNotFoundException(dtoType, id); + } + return entity; + } + + public <E extends TopiaEntity> E newEntity(Class<E> entityType) { + TopiaContext transaction = serviceContext.getTransaction(); + TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + E entity = dao.newInstance(); + return entity; + } + + protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { + TopiaContext transaction = serviceContext.getTransaction(); + TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + entity = dao.update(entity); + return entity; + } + + protected <D extends ReferentialDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { + TopiaContext transaction = serviceContext.getTransaction(); + TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + for (String id : ids) { + E entity = dao.findByTopiaId(id); + if (entity == null) { + throw new DataNotFoundException(dtoType, id); + } + dao.delete(entity); + } + } } 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 393cd4a..402947f 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 @@ -1,10 +1,9 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.EntityToDtoBuilder; -import fr.ird.observe.services.dto.EntityToReferenceDtoBuilder; +import fr.ird.observe.services.builder.EntityToDtoBuilder; +import fr.ird.observe.services.builder.EntityToReferentialReferenceDtoBuilder; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.FormDtos; import fr.ird.observe.services.dto.IdDto; @@ -12,8 +11,6 @@ import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import java.util.Collection; @@ -35,7 +32,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe LinkedHashSet<ReferentialReferenceDto<D>> labels = new LinkedHashSet<>(); for (TopiaEntity entity : entities) { - ReferentialReferenceDto<D> dto = EntityToReferenceDtoBuilder.buildReferential(dtoType, serviceContext.getReferentialLocale(), entity); + ReferentialReferenceDto<D> dto = EntityToReferentialReferenceDtoBuilder.build(dtoType, serviceContext.getReferentialLocale(), entity); labels.add(dto); } @@ -90,49 +87,6 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe deleteEntity(dtoType, entityType, ids); } - protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTransaction(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); - List<E> entities = dao.findAll(); - return entities; - } - - protected <D extends ReferentialDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - TopiaContext transaction = serviceContext.getTransaction(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); - E entity = dao.findByTopiaId(id); - if (entity == null) { - throw new DataNotFoundException(dtoType, id); - } - return entity; - } - - protected <E extends TopiaEntity> E newEntity(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTransaction(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); - E entity = dao.newInstance(); - return entity; - } - - protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - TopiaContext transaction = serviceContext.getTransaction(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); - entity = dao.update(entity); - return entity; - } - - protected <D extends ReferentialDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { - TopiaContext transaction = serviceContext.getTransaction(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); - for (String id : ids) { - E entity = dao.findByTopiaId(id); - if (entity == null) { - throw new DataNotFoundException(dtoType, id); - } - dao.delete(entity); - } - } - protected <E extends TopiaEntity, D extends ReferentialDto> FormDto<D> entityToEditReferentialFormDto(Class<D> dtoType, Class<E> entityType, E entity) { try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.