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 3133ba193bb3e3a3b2af40217348534455794a67 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 21:58:36 2015 +0200 Rebase de develop --- .../services/service/seine/TripSeineService.java | 1 + .../ird/observe/services/ObserveServiceTopia.java | 22 ++++++++-- .../service/seine/TripSeineServiceTopia.java | 6 +-- .../services/ApplicationContextResource.java | 15 ++++++- .../ird/observe/services/DataSourceResource.java | 2 +- .../services/ObserveServiceFactoryTopiaTaiste.java | 46 --------------------- .../service/seine/TripSeineServiceTopiaTest.java | 37 +++++++---------- .../src/main}/resources/db/4.0.1/test.sql.gz | Bin 8 files changed, 53 insertions(+), 76 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 ec204d9..d28f07b 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 @@ -13,6 +13,7 @@ import java.util.List; */ public interface TripSeineService extends ObserveService { + //FIXME Il serait mieux d'utiliser un ReferenceSetDto List<ReferenceDto<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 e8ee1c5..3b4f392 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 @@ -5,16 +5,31 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.builder.DtoToEntityBuilder; +import fr.ird.observe.services.builder.EntityToDtoBuilder; +import fr.ird.observe.services.builder.EntityToReferenceDtoBuilder; +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; 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.ReferenceSetDto; +import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.DataNotFoundException; +import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; +import java.util.Date; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Locale; import java.util.Map; /** @@ -87,7 +102,7 @@ public class ObserveServiceTopia implements ObserveService { return entities; } - protected <D extends ReferentialDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { + 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); Optional<E> entity = dao.forTopiaIdEquals(id).tryFindUnique(); @@ -171,7 +186,7 @@ public class ObserveServiceTopia implements ObserveService { entity = newEntity(entityType); - } else { + } else { entity = loadEntity(dtoType, entityType, dto.getId()); @@ -187,10 +202,9 @@ public class ObserveServiceTopia implements ObserveService { return entity; - } - protected <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet(Class<D> dtoType) { + 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<>(); 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 5e20d2f..9785b8d 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 @@ -4,7 +4,7 @@ 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.TripSeineDAO; +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; @@ -21,8 +21,8 @@ import java.util.List; */ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSeineService { - protected TripSeineDAO getDao() { - return (TripSeineDAO) getDao(TripSeine.class); + protected TripSeineTopiaDao getDao() { + return (TripSeineTopiaDao) serviceContext.getTopiaPersistenceContext().getDao(TripSeine.class); } @Override diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java index 5f5bac3..7a7a393 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java @@ -1,6 +1,7 @@ package fr.ird.observe.services; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; @@ -28,7 +29,19 @@ public class ApplicationContextResource implements TestRule { public ApplicationContextResource() { this.serviceApplicationContext = new ObserveServiceApplicationContext(); - this.serviceFactory = new ObserveServiceFactoryTopia(); + this.serviceFactory = new ObserveServiceFactoryTopia() { + + @Override + protected ObserveServiceContextTopia createServiceContext(ObserveServiceApplicationContext applicationContext, ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + ObserveServiceContextTopiaTaiste serviceContext = new ObserveServiceContextTopiaTaiste(); + serviceContext.setApplicationContext(applicationContext); + + serviceContext.setDataSourceConfiguration(dataSourceConfiguration); + serviceContext.setServiceFactory(this); + + return serviceContext; + } + }; } public String getScriptPath(String classifier, Version databaseVersion) { 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 874c0c8..66dcec2 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 @@ -51,7 +51,7 @@ public class DataSourceResource implements TestRule { public byte[] getDatabaseToImportContent(String scriptPath) throws IOException { URL url = getClass().getResource(scriptPath); - Preconditions.checkNotNull(scriptPath, "Could not find database at: " + scriptPath); + Preconditions.checkNotNull(url, "Could not find database at: " + scriptPath); try (InputStream inputStream = Resources.asByteSource(url).openStream()) { byte[] dumpContent = ByteStreams.toByteArray(inputStream); return dumpContent; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java deleted file mode 100644 index 1815560..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.ird.observe.services; - -import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; - -/** - * Created on 20/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveServiceFactoryTopiaTaiste extends ObserveServiceFactoryTopia { - - public ObserveTopiaApplicationContext getExistingDataSource(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) { - ObserveTopiaApplicationContext dataSource = topiaApplicationContextCache.getIfPresent(dataSourceConfiguration); - return dataSource; - } - - @Override - protected ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - - ObserveTopiaApplicationContext dataSource = super.getTopiaApplicationContext(dataSourceConfiguration); - - if (!dataSource.isClosed()) { - dataSource.close(); - } - return dataSource; - - } - - @Override - protected ObserveServiceContextTopia createServiceContext(ObserveServiceApplicationContext applicationContext, ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - - ObserveServiceContextTopia serviceContext = new ObserveServiceContextTopiaTaiste(); - serviceContext.setApplicationContext(applicationContext); - ObserveDataSourceConfigurationTopiaSupport dataSourceConfigurationTopia = dataSourceConfiguration; - - serviceContext.setDataSourceConfiguration(dataSourceConfigurationTopia); - - DataSource dataSource = getDataSource(dataSourceConfigurationTopia); - serviceContext.setDataSource(dataSource); - return serviceContext; - - } - -} 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 2736fa2..a28216b 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 @@ -1,11 +1,10 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.Collections2; -import fr.ird.observe.db.DataSourceException; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.ObserveServiceApplicationContext; -import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; +import fr.ird.observe.services.ApplicationContextResource; +import fr.ird.observe.services.DataSourceResource; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; @@ -16,8 +15,6 @@ import fr.ird.observe.services.dto.referential.OceanDto; 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.ApplicationContextResource; -import fr.ird.observe.services.service.DataSourceResource; import fr.ird.observe.services.service.ReferentialService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -26,9 +23,9 @@ import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.persistence.TopiaDAO; +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; @@ -41,30 +38,31 @@ public class TripSeineServiceTopiaTest { private static final Log log = LogFactory.getLog(TripSeineServiceTopiaTest.class); @ClassRule - public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(H2DataSourceMigration.V_4_0_1); + public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); public static final String TRIP_SEINE_ID = "fr.ird.observe.entities.seine.TripSeine#1412004815781#0.2859887799862254"; public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, applicationContextResource.getScriptPath("test")); + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource); protected TripSeineService service; + protected ReferentialService referentialService; @Before public void setUp() throws Exception { - ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); - - ObserveServiceApplicationContext serviceApplicationContext = applicationContextResource.getServiceApplicationContext(); + // Create database from script + String scriptPath = applicationContextResource.getScriptPath("test", H2DataSourceMigration.V_4_0_1); + dataSourceResource.createDataSourceFromScript(scriptPath); ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); - service = serviceFactory.newService(serviceApplicationContext, dataSourceConfiguration, TripSeineService.class); + service = applicationContextResource.newService(dataSourceConfiguration, TripSeineService.class); - referentialService = serviceFactory.newService(serviceApplicationContext, dataSourceConfiguration, ReferentialService.class); + referentialService = applicationContextResource.newService(dataSourceConfiguration, ReferentialService.class); } @@ -198,12 +196,12 @@ public class TripSeineServiceTopiaTest { } - protected <E extends TopiaEntity> E findById(Class<E> entityType, String id) throws DataSourceException { + protected <E extends TopiaEntity> E findById(Class<E> entityType, String id) { - TopiaContext tx = dataSourceResource.newTransaction("testGetReferentialLabelSet"); + TopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - TopiaDAO<E> dao = dataSourceResource.getDAO(tx, entityType); - E entity = dao.findByTopiaId(id); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + E entity = dao.forTopiaIdEquals(id).findUnique(); return entity; @@ -219,7 +217,4 @@ public class TripSeineServiceTopiaTest { } - - - } diff --git a/observe-business/src/test/resources/db/4.0.1/test.sql.gz b/observe-test-data/src/main/resources/db/4.0.1/test.sql.gz similarity index 100% rename from observe-business/src/test/resources/db/4.0.1/test.sql.gz rename to observe-test-data/src/main/resources/db/4.0.1/test.sql.gz -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.