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 730d5a55111a8bcecf89b9b61233205a5b5059d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 23:02:01 2015 +0200 Revue de code --- .../services/service/seine/TripSeineService.java | 7 +-- .../ird/observe/services/ObserveServiceTopia.java | 51 ++++++++++++---------- .../services/builder/DtoToEntityBuilder.java | 2 +- .../services/builder/EntityToDtoBuilder.java | 10 ++--- .../builder/EntityToReferenceDtoBuilder.java | 28 ++++++++++-- .../EntityToReferentialReferenceDtoBuilder.java | 6 ++- .../services/dto/ObserveDtosInitializer.java | 38 +++++++++++++++- .../service/seine/TripSeineServiceTopia.java | 11 +++-- .../ird/observe/services/DataSourceResource.java | 14 ++++++ .../service/seine/TripSeineServiceTopiaTest.java | 29 +++--------- 10 files changed, 128 insertions(+), 68 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index d28f07b..6920d78 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -2,19 +2,16 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.spi.Write; -import java.util.List; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public interface TripSeineService extends ObserveService { - //FIXME Il serait mieux d'utiliser un ReferenceSetDto - List<ReferenceDto<TripSeineDto>> getTripSeineByProgram(String programId); + ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId); FormDto<TripSeineDto> loadToRead(String tripSeineId); 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 3b4f392..464a606 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 @@ -96,15 +96,15 @@ public class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = transaction.getDao(entityType); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.findAll(); return entities; } protected <D extends IdDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = transaction.getDao(entityType); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); Optional<E> entity = dao.forTopiaIdEquals(id).tryFindUnique(); if (!entity.isPresent()) { throw new DataNotFoundException(dtoType, id); @@ -113,22 +113,22 @@ public class ObserveServiceTopia implements ObserveService { } public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = transaction.getDao(entityType); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); E entity = dao.newInstance(); return entity; } protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = transaction.getDao(entityType); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(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) { - ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = transaction.getDao(entityType); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); for (String id : ids) { E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); if (entity == null) { @@ -201,27 +201,34 @@ public class ObserveServiceTopia implements ObserveService { return entity; - } - protected <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet(Class<D> dtoType) { - Class<TopiaEntity> entityType = getEntityType(dtoType); - List<TopiaEntity> entities = loadEntities(entityType); - LinkedHashSet<ReferenceDto<D>> labels = new LinkedHashSet<>(); - for (TopiaEntity entity : entities) { + protected <E extends TopiaEntity, D extends IdDto> ReferenceDto<D> entityToReferenceDto(Class<D> dtoType, E entity) { - ReferenceDto<D> dto; + ReferenceDto<D> referenceDto; - if (entity instanceof ReferenceEntity) { + if (entity instanceof ReferenceEntity) { - dto = EntityToReferentialReferenceDtoBuilder.build(dtoType, serviceContext.getReferentialLocale(), entity); + referenceDto = EntityToReferentialReferenceDtoBuilder.build((Class)dtoType, serviceContext.getReferentialLocale(), entity); - } else { + } else { - dto = EntityToReferenceDtoBuilder.build(dtoType, entity); + referenceDto = EntityToReferenceDtoBuilder.build(dtoType, serviceContext.getReferentialLocale(), entity); - } + } + + return referenceDto; + + + } + + protected <D extends IdDto> ReferenceSetDto<D> getReferenceSet(Class<D> dtoType) { + Class<TopiaEntity> entityType = getEntityType(dtoType); + List<TopiaEntity> entities = loadEntities(entityType); + LinkedHashSet<ReferenceDto<D>> labels = new LinkedHashSet<>(); + for (TopiaEntity entity : entities) { + ReferenceDto<D> dto = entityToReferenceDto(dtoType, entity); labels.add(dto); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java index 4aaa78d..7e04f8d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java @@ -202,7 +202,7 @@ public class DtoToEntityBuilder<D extends IdDto, E extends TopiaEntity> implemen protected void addProperty(String propertyName, Object propertyValue, ImmutableMap.Builder<String, Object> entitiesPropertiesBuilder) { if (IdDto.PROPERTY_ID.equals(propertyName)) { - propertyName = TopiaEntity.TOPIA_ID; + propertyName = TopiaEntity.PROPERTY_TOPIA_ID; } entitiesPropertiesBuilder.put(propertyName, propertyValue); 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 259076f..b67145e 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 @@ -75,7 +75,7 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen if (propertyValue == null) { - if (! TopiaEntity.TOPIA_ID.equals(propertyName)) { + if (! TopiaEntity.PROPERTY_TOPIA_ID.equals(propertyName)) { Class dtoType = binder.getTargetPropertyType(propertyName); if (ReferenceDto.class.isAssignableFrom(dtoType)) { @@ -197,7 +197,7 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen } else { - dto = entityToRef(dtoType, entityValue, referenceTypesBuilder); + dto = entityToRef(dtoType, referentialLocale, entityValue, referenceTypesBuilder); } @@ -240,7 +240,7 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen protected void addProperty(String propertyName, Object propertyValue, ImmutableMap.Builder<String, Object> dtoPropertiesBuilder) { - if (TopiaEntity.TOPIA_ID.equals(propertyName)) { + if (TopiaEntity.PROPERTY_TOPIA_ID.equals(propertyName)) { propertyName = ReferentialDto.PROPERTY_ID; } @@ -248,10 +248,10 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen } - protected <EE extends TopiaEntity, R extends IdDto> ReferenceDto<R> entityToRef(Class<R> dtoType, EE entityValue, ImmutableSet.Builder<Class<? extends IdDto>> referenceTypesBuilder) { + protected <EE extends TopiaEntity, R extends IdDto> ReferenceDto<R> entityToRef(Class<R> dtoType, ReferentialLocale referentialLocale, EE entityValue, ImmutableSet.Builder<Class<? extends IdDto>> referenceTypesBuilder) { referenceTypesBuilder.add(dtoType); - ReferenceDto<R> dto = EntityToReferenceDtoBuilder.build(dtoType, entityValue); + ReferenceDto<R> dto = EntityToReferenceDtoBuilder.build(dtoType, referentialLocale, entityValue); dto.setId(entityValue.getTopiaId()); return dto; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java index f3b4899..f55e41d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java @@ -1,11 +1,13 @@ package fr.ird.observe.services.builder; import com.google.common.base.Preconditions; -import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDtoBinders; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.beans.Binder; @@ -21,13 +23,13 @@ import java.util.Set; */ public class EntityToReferenceDtoBuilder<E extends TopiaEntity, D extends IdDto> { - public static <E extends TopiaEntity, D extends IdDto> ReferenceDto<D> build(Class<D> dtoType, E entity) { + public static <E extends TopiaEntity, D extends IdDto> ReferenceDto<D> build(Class<D> dtoType, ReferentialLocale referentialLocale, E entity) { Preconditions.checkNotNull(dtoType, "'dtoType' can't be null"); Preconditions.checkArgument(!ReferentialDto.class.isAssignableFrom(dtoType), "'dtoType' can't be of type ReferentialDto, use the method buildReferential insteadnull"); Preconditions.checkNotNull(entity, "'entity' can't be null"); - Class<E> entityType = (Class<E>) ObserveEntityEnum.valueOf(entity).getContract(); + Class<E> entityType = (Class<E>) entity.getClass(); Binder<E, D> binder = ObserveDtoBinders.newEntityToReferenceBinder(entityType, dtoType); Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); @@ -40,8 +42,28 @@ public class EntityToReferenceDtoBuilder<E extends TopiaEntity, D extends IdDto> for (Map.Entry<String, Object> entry : entityProperties.entrySet()) { String propertyName = entry.getKey(); Object propertyValue = entry.getValue(); + + if (propertyValue instanceof ReferenceEntity) { + + ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); + propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); + + } else if (propertyValue instanceof TopiaEntity) { + + TopiaEntity topiaEntity = (TopiaEntity) propertyValue; + Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); + propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); + + } + result.setPropertyValue(propertyName, (Serializable) propertyValue); } + + result.setId(entity.getTopiaId()); + //FIXME +// result.setLastUpdate(entity.getLastUpdate()); + return result; } 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 4b9d625..b484558 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 @@ -1,7 +1,6 @@ package fr.ird.observe.services.builder; import com.google.common.base.Preconditions; -import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.services.dto.ObserveDtoBinders; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; @@ -27,7 +26,7 @@ public class EntityToReferentialReferenceDtoBuilder<E extends TopiaEntity, D ext Preconditions.checkNotNull(referentialLocale, "'referentialLocale' can't be null"); Preconditions.checkNotNull(entity, "'entity' can't be null"); - Class<E> entityType = (Class<E>) ObserveEntityEnum.valueOf(entity).getContract(); + Class<E> entityType = (Class<E>) entity.getClass(); Binder<E, D> binder = ObserveDtoBinders.newEntityToReferenceBinder(entityType, dtoType); Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); @@ -41,6 +40,9 @@ public class EntityToReferentialReferenceDtoBuilder<E extends TopiaEntity, D ext Object propertyValue = entry.getValue(); result.setPropertyValue(referentialLocale, propertyName, (Serializable) propertyValue); } + result.setId(entity.getTopiaId()); + //FIXME +// result.setLastUpdate(entity.getLastUpdate()); return result; 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 b08b10c..e39ad63 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 @@ -1513,6 +1513,13 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, TripSeineDto.PROPERTY_LANDING_HARBOUR ); + + registerReferenceBinder(TripSeineDto.class, TripSeine.class, + TripSeineDto.PROPERTY_OPEN, + TripSeineDto.PROPERTY_START_DATE, + TripSeineDto.PROPERTY_END_DATE, + TripSeineDto.PROPERTY_OBSERVER, + TripSeineDto.PROPERTY_VESSEL); } protected <R extends IdDto, E extends TopiaEntity> void registerDtoType(Class<R> dtoType, Class<E> entityType) { @@ -1582,7 +1589,7 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { protected static <R extends IdDto, E extends TopiaEntity> void registerDtoBinder(BinderModelBuilder<R, E> dtoToEntityBuilder) { - dtoToEntityBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.TOPIA_ID); + dtoToEntityBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.PROPERTY_TOPIA_ID); BinderModelBuilder<E, R> entityToDtoToBuilder = dtoToEntityBuilder.buildInverseModelBuilder(); @@ -1607,9 +1614,36 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } + protected static <R extends IdDto, E extends TopiaEntity> void registerReferenceBinder(Class<R> dtoType, Class<E> entityType, String... extraProperties) { + + BinderModelBuilder<R, E> dtoToReferenceBuilder = newBinderBuilder(dtoType, entityType, extraProperties); + + BinderModelBuilder<E, R> entityToReferenceBuilder = dtoToReferenceBuilder.buildInverseModelBuilder(); + + addDtoToEntityFunctions(dtoToReferenceBuilder); + addEntityToDtoFunctions(entityToReferenceBuilder); + + BinderFactory.registerBinderModel(dtoToReferenceBuilder, ObserveDtoBinders.DTO_TO_REFERENCE); + Binder.BinderModel<E, R> binderModel = + BinderFactory.registerBinderModel(entityToReferenceBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); + + // On enregistre aussi un binder depuis l'implantation de l'entité, pour ne pas à avoir à tout le temps + // revenir sur le contrat d'une entité + Class<E> entityImplementationType = (Class<E>) ObserveEntityEnum.valueOf(binderModel.getSourceType()).getImplementation(); + + BinderModelBuilder<E, R> entityImplToDtoToBuilder = newBinderBuilder(entityImplementationType, binderModel.getTargetType()); + for (String propertyName : binderModel.getSourceDescriptors()) { + if (binderModel.containsSourceProperty(propertyName)) { + entityImplToDtoToBuilder.addProperty(propertyName, binderModel.getTargetProperty(propertyName)); + } + } + BinderFactory.registerBinderModel(entityImplToDtoToBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); + + } + protected static <R extends ReferentialDto, E extends TopiaEntity> void registerReferenceBinder(BinderModelBuilder<R, E> dtoToReferenceBuilder) { - dtoToReferenceBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.TOPIA_ID); + dtoToReferenceBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.PROPERTY_TOPIA_ID); BinderModelBuilder<E, R> entityToReferenceBuilder = dtoToReferenceBuilder.buildInverseModelBuilder(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 9785b8d..2d3c553 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -1,14 +1,13 @@ package fr.ird.observe.services.service.seine; -import com.google.common.collect.Lists; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.builder.EntityToReferenceDtoBuilder; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.util.DateUtil; @@ -26,18 +25,18 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public List<ReferenceDto<TripSeineDto>> getTripSeineByProgram(String programId) { + public ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId) { ReferenceLocale referenceLocale = getReferenceLocale(); List<TripSeine> tripSeines = getDao().findAllStubByProgramId(programId, referenceLocale); - List<ReferenceDto<TripSeineDto>> result = Lists.newLinkedList(); + ReferenceSetDto<TripSeineDto> result = new ReferenceSetDto<>(TripSeineDto.class); for (TripSeine tripSeine : tripSeines) { - ReferenceDto<TripSeineDto> dto = EntityToReferenceDtoBuilder.build(TripSeineDto.class, tripSeine); - result.add(dto); + ReferenceDto<TripSeineDto> referenceDto = entityToReferenceDto(TripSeineDto.class, tripSeine); + result.addReference(referenceDto); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 66dcec2..e15f952 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -16,6 +16,9 @@ import org.apache.commons.logging.LogFactory; import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; +import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaPersistenceContext; import java.io.File; import java.io.IOException; @@ -80,6 +83,17 @@ public class DataSourceResource implements TestRule { return ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(dataSourceConfiguration); } + public <E extends TopiaEntity> E findById(Class<E> entityType, String id) { + + TopiaPersistenceContext persistenceContext = newPersistenceContext(); + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + E entity = dao.forTopiaIdEquals(id).findUnique(); + + return entity; + + } + @Override public Statement apply(final Statement base, final Description description) { return new Statement() { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index a28216b..46b379a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -16,27 +16,20 @@ import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.ReferentialService; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.TopiaPersistenceContext; import java.util.Collection; -import java.util.List; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public class TripSeineServiceTopiaTest { - private static final Log log = LogFactory.getLog(TripSeineServiceTopiaTest.class); - @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); @@ -69,18 +62,21 @@ public class TripSeineServiceTopiaTest { @Test public void getTripSeineByProgramTest() { - List<ReferenceDto<TripSeineDto>> tripSeineDtos = service.getTripSeineByProgram(PROGRAM_ID); + ReferenceSetDto<TripSeineDto> tripSeineDtos = service.getTripSeineByProgram(PROGRAM_ID); Assert.assertNotNull(tripSeineDtos); - Assert.assertEquals(13, tripSeineDtos.size()); + //FIXME A mieux tester, j'ai déjà fait des corrections, mais il reste des choses à revoir + //FIXME Mais surtout je pense qu'il faut un autre objet qui reflete exactement le besoin + //FIXME L'idée c'est de ne pas avoir des objets creux, ceux-là le sont bien... + Assert.assertEquals(13, tripSeineDtos.sizeReference()); } @Test public void loadToReadTest() throws Exception { - TripSeine tripSeine = findById(TripSeine.class, TRIP_SEINE_ID); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID); FormDto<TripSeineDto> formDto = service.loadToRead(TRIP_SEINE_ID); Assert.assertNotNull(formDto); @@ -120,7 +116,7 @@ public class TripSeineServiceTopiaTest { @Test public void loadToEditTest() throws Exception { - TripSeine tripSeine = findById(TripSeine.class, TRIP_SEINE_ID); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID); FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID); Assert.assertNotNull(formDto); @@ -196,17 +192,6 @@ public class TripSeineServiceTopiaTest { } - protected <E extends TopiaEntity> E findById(Class<E> entityType, String id) { - - TopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - - TopiaDao<E> dao = persistenceContext.getDao(entityType); - E entity = dao.forTopiaIdEquals(id).findUnique(); - - return entity; - - } - protected void assertEntityEqualsReferenceDto(TopiaEntity entity, ReferenceDto referenceDto) { if (entity == null) { Assert.assertNull(referenceDto); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.