branch feature/7458-4 updated (615fdd1 -> 0e30315)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7458-4 in repository observe. See http://git.codelutin.com/observe.git from 615fdd1 déplacement du stéréotype ordered du model zargo dans le fichier de propriétées (refs #7458). new 0e30315 ajout d'un DTO stub pour les tripSeine et modification des service + ajout du test du delete (refs #7458). The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 0e303154f3d596f9aa06d67b988bbab539326f00 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Aug 25 08:40:32 2015 +0200 ajout d'un DTO stub pour les tripSeine et modification des service + ajout du test du delete (refs #7458). Summary of changes: .../entities/constants/ReferenceLocale.java | 35 ++++++++++ .../services/service/seine/TripSeineService.java | 6 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 54397 -> 55301 bytes .../ird/observe/services/ObserveServiceTopia.java | 2 +- .../services/dto/ObserveDtosInitializer.java | 5 ++ .../service/seine/TripSeineServiceTopia.java | 25 ++++--- .../ird/observe/services/DataSourceResource.java | 12 ++++ .../services/builder/DtoToEntityBuilderTest.java | 3 +- .../service/seine/TripSeineServiceTopiaTest.java | 72 +++++++++++++++++---- 9 files changed, 132 insertions(+), 28 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7458-4 in repository observe. See http://git.codelutin.com/observe.git commit 0e303154f3d596f9aa06d67b988bbab539326f00 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Aug 25 08:40:32 2015 +0200 ajout d'un DTO stub pour les tripSeine et modification des service + ajout du test du delete (refs #7458). --- .../entities/constants/ReferenceLocale.java | 35 ++++++++++ .../services/service/seine/TripSeineService.java | 6 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 54397 -> 55301 bytes .../ird/observe/services/ObserveServiceTopia.java | 2 +- .../services/dto/ObserveDtosInitializer.java | 5 ++ .../service/seine/TripSeineServiceTopia.java | 25 ++++--- .../ird/observe/services/DataSourceResource.java | 12 ++++ .../services/builder/DtoToEntityBuilderTest.java | 3 +- .../service/seine/TripSeineServiceTopiaTest.java | 72 +++++++++++++++++---- 9 files changed, 132 insertions(+), 28 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java b/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java index b3f053f..6c55be8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java @@ -123,4 +123,39 @@ public enum ReferenceLocale { } } + + public <E extends I18nReferenceEntity> String getLabel(E i18nEntity) { + + String result = null; + + switch (ordinal() + 1) { + case 1: + result = i18nEntity.getLabel1(); + break; + case 2: + result = i18nEntity.getLabel1(); + break; + case 3: + result = i18nEntity.getLabel1(); + break; + case 4: + result = i18nEntity.getLabel1(); + break; + case 5: + result = i18nEntity.getLabel1(); + break; + case 6: + result = i18nEntity.getLabel1(); + break; + case 7: + result = i18nEntity.getLabel1(); + break; + case 8: + result = i18nEntity.getLabel1(); + break; + } + + return result; + + } } 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 6920d78..7de268c 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,16 +2,18 @@ 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.ReferenceSetDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineStubDto; import fr.ird.observe.services.spi.Write; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public interface TripSeineService extends ObserveService { - ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId); + List<TripSeineStubDto> getTripSeineByProgram(String programId); FormDto<TripSeineDto> loadToRead(String tripSeineId); diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo index 8e9c65e..e36346a 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo differ 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 464a606..404a192 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 @@ -126,7 +126,7 @@ public class ObserveServiceTopia implements ObserveService { return entity; } - protected <D extends ReferentialDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { + protected <D extends IdDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); for (String id : ids) { 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 e39ad63..f1b1019 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 @@ -1522,6 +1522,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { TripSeineDto.PROPERTY_VESSEL); } + @Override + public void initTripSeineStubDto() { + // la logique de copie est à ecrire directement dans le service + } + protected <R extends IdDto, E extends TopiaEntity> void registerDtoType(Class<R> dtoType, Class<E> entityType) { Class<? extends TopiaEntity> entityImplementationType = ObserveEntityEnum.valueOf(entityType).getImplementation(); DTO_TO_ENTITY_TYPE_BUILDER.put(dtoType, entityType); 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 a3476d7..8b74739 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,17 +1,18 @@ 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.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 fr.ird.observe.services.dto.seine.TripSeineStubDto; import org.nuiton.util.DateUtil; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -25,22 +26,28 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId) { + public List<TripSeineStubDto> getTripSeineByProgram(String programId) { ReferenceLocale referenceLocale = getReferenceLocale(); List<TripSeine> tripSeines = getDao().findAllStubByProgramId(programId, referenceLocale); - ReferenceSetDto<TripSeineDto> result = new ReferenceSetDto<>(TripSeineDto.class); + List<TripSeineStubDto> stubs = Lists.newLinkedList(); for (TripSeine tripSeine : tripSeines) { - ReferenceDto<TripSeineDto> referenceDto = entityToReferenceDto(TripSeineDto.class, tripSeine); - result.addReference(referenceDto); + TripSeineStubDto stub = new TripSeineStubDto(); + stub.setId(tripSeine.getTopiaId()); + stub.setStartDate(tripSeine.getStartDate()); + stub.setEndDate(tripSeine.getEndDate()); + stub.setVesselLabel(referenceLocale.getLabel(tripSeine.getVessel())); + stub.setObserverLabel(tripSeine.getObserverLabel()); + + stubs.add(stub); } - return result; + return stubs; } @Override @@ -103,9 +110,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public void delete(String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); - - getDao().delete(tripSeine); + deleteEntity(TripSeineDto.class, TripSeine.class, Collections.singleton(tripSeineId)); } } 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 0a9b351..30e774b 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 @@ -96,6 +96,18 @@ public class DataSourceResource implements TestRule { } + public <E extends TopiaEntity> boolean exists(Class<E> entityType, String id) { + + TopiaPersistenceContext persistenceContext = newPersistenceContext(); + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + + boolean exist = dao.forTopiaIdEquals(id).exists(); + + return exist; + + } + @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/builder/DtoToEntityBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java index 6dbf900..031cce4 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java @@ -1,6 +1,7 @@ package fr.ird.observe.services.builder; import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.referentiel.Organism; import fr.ird.observe.entities.referentiel.Program; @@ -159,7 +160,7 @@ public class DtoToEntityBuilderTest { Assert.assertEquals(featuresDto.getUsedInTrip(), features.getUsedInTrip()); Assert.assertEquals(featuresDto.sizeGearUseFeaturesMeasurement(), features.sizeGearUseFeaturesMeasurement()); - GearUseFeaturesMeasurementSeine measurement = features.getGearUseFeaturesMeasurement().get(0); + GearUseFeaturesMeasurementSeine measurement = Iterables.get(features.getGearUseFeaturesMeasurement(), 0); Assert.assertEquals(measurementDto.getId(), measurement.getTopiaId()); Assert.assertEquals(measurementDto.getMeasurementValue(), measurement.getMeasurementValue()); Assert.assertNotNull(measurement.getGearCaracteristic()); 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 760bc99..657422e 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 @@ -18,6 +18,7 @@ import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineStubDto; import fr.ird.observe.services.service.ReferentialService; import org.junit.Assert; import org.junit.Before; @@ -28,6 +29,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.DateUtil; import java.util.Collection; +import java.util.List; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -37,11 +39,16 @@ public class TripSeineServiceTopiaTest { @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - public static final String TRIP_SEINE_ID = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; + public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; + public static final String TRIP_SEINE_ID_2 = "fr.ird.observe.entities.seine.TripSeine#1360156698296#0.6097793743126777"; + public static final String TRIP_SEINE_ID_3 = "fr.ird.observe.entities.seine.TripSeine#1359280279156#0.41771067982188215"; public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; - public static final ImmutableList<String> TEST_NAMES_CHANGE_DATA_BASE = ImmutableList.of("saveCreateTest", "saveUpdateTest"); + public static final ImmutableList<String> TEST_NAMES_CHANGE_DATA_BASE = ImmutableList.of( + "saveCreateTest", + "saveUpdateTest", + "deleteTest"); @Rule public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, TEST_NAMES_CHANGE_DATA_BASE); @@ -70,22 +77,46 @@ public class TripSeineServiceTopiaTest { @Test public void getTripSeineByProgramTest() { - ReferenceSetDto<TripSeineDto> tripSeineDtos = service.getTripSeineByProgram(PROGRAM_ID); + List<TripSeineStubDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); - Assert.assertNotNull(tripSeineDtos); + Assert.assertNotNull(stubDtos); - //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(3, tripSeineDtos.sizeReference()); + Assert.assertEquals(3, stubDtos.size()); + + TripSeineStubDto tripSeineStubDto = stubDtos.get(0); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + + Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); + Assert.assertEquals(tripSeine.getStartDate(), tripSeineStubDto.getStartDate()); + Assert.assertEquals(tripSeine.getEndDate(), tripSeineStubDto.getEndDate()); + Assert.assertEquals(tripSeine.getVessel().getLabel2(), tripSeineStubDto.getVesselLabel()); + Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getObserverLabel()); + + tripSeineStubDto = stubDtos.get(1); + tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_2); + + Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); + Assert.assertEquals(tripSeine.getStartDate(), tripSeineStubDto.getStartDate()); + Assert.assertEquals(tripSeine.getEndDate(), tripSeineStubDto.getEndDate()); + Assert.assertEquals(tripSeine.getVessel().getLabel2(), tripSeineStubDto.getVesselLabel()); + Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getObserverLabel()); + + tripSeineStubDto = stubDtos.get(2); + tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_3); + + Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); + Assert.assertEquals(tripSeine.getStartDate(), tripSeineStubDto.getStartDate()); + Assert.assertEquals(tripSeine.getEndDate(), tripSeineStubDto.getEndDate()); + Assert.assertEquals(tripSeine.getVessel().getLabel2(), tripSeineStubDto.getVesselLabel()); + Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getObserverLabel()); } @Test public void loadToReadTest() throws Exception { - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID); - FormDto<TripSeineDto> formDto = service.loadToRead(TRIP_SEINE_ID); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); TripSeineDto tripSeineDto = formDto.getForm(); @@ -124,8 +155,8 @@ public class TripSeineServiceTopiaTest { @Test public void loadToEditTest() throws Exception { - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID); - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); TripSeineDto tripSeineDto = formDto.getForm(); @@ -257,7 +288,7 @@ public class TripSeineServiceTopiaTest { @Test public void saveUpdateTest() { - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID); + FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); TripSeineDto tripSeineDto = formDto.getForm(); @@ -285,7 +316,7 @@ public class TripSeineServiceTopiaTest { service.save(formDto); - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); assertReferenceDtoEqualsEntity(tripSeineDto.getCaptain(), tripSeine.getCaptain()); assertReferenceDtoEqualsEntity(tripSeineDto.getObserver(), tripSeine.getObserver()); @@ -303,6 +334,19 @@ public class TripSeineServiceTopiaTest { } + @Test + public void deleteTest() { + + service.delete(TRIP_SEINE_ID_1); + + List<TripSeineStubDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); + + Assert.assertEquals(2, tripSeineByProgram.size()); + + Assert.assertFalse(dataSourceResource.exists(TripSeine.class, TRIP_SEINE_ID_1)); + + } + protected void assertEntityEqualsReferenceDto(TopiaEntity entity, ReferenceDto referenceDto) { if (entity == null) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm