branch develop updated (0362580 -> 6a9c95a)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See http://git.codelutin.com/observe.git from 0362580 Retour sur develop Merge branch 'feature/7458-GearUseFeaturesSeineService' into develop new 3c8ac9d Ajout de méthodes utiles pour savoir quelle type de datasource on utilise new 7dd3e9b RouteService (impl + test) (refs #7458). new 226b41e Ajout de méthodes utiles du IdDto new 6a9c95a Retour sur develop Merge branch 'feature/7458-RouteService' into develop The 4 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 6a9c95a2d7c0f11ebbfcdac8a10fd07671f1fa27 Merge: 3c8ac9d 226b41e Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:56:46 2015 +0200 Retour sur develop Merge branch 'feature/7458-RouteService' into develop commit 226b41e6eff26d17d4cb934ec9c7541c60dc4cc1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:56:41 2015 +0200 Ajout de méthodes utiles du IdDto commit 7dd3e9bd0013628d75b35dfad4071e6118016a4c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 11:26:26 2015 +0200 RouteService (impl + test) (refs #7458). commit 3c8ac9d84c20fa94d6fc63b12b492cb9d7ded67a Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:39:06 2015 +0200 Ajout de méthodes utiles pour savoir quelle type de datasource on utilise Summary of changes: .../services/service/seine/RouteService.java | 8 +- .../ObserveDataSourceConfigurationTopiaH2.java | 10 ++ .../ObserveDataSourceConfigurationTopiaPG.java | 10 ++ ...ObserveDataSourceConfigurationTopiaSupport.java | 4 + .../src/main/xmi/observe-services-dto-seine.zargo | Bin 55273 -> 55794 bytes .../services/dto/ObserveDtosInitializer.java | 5 + .../service/seine/ActivitySeineServiceTopia.java | 1 - .../seine/GearUseFeaturesSeineServiceTopia.java | 2 +- .../services/service/seine/RouteServiceTopia.java | 137 +++++++++++++++++++++ .../services/service/seine/RouteServiceTest.java | 57 +++++++++ 10 files changed, 228 insertions(+), 6 deletions(-) create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTest.java -- 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 develop in repository observe. See http://git.codelutin.com/observe.git commit 3c8ac9d84c20fa94d6fc63b12b492cb9d7ded67a Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:39:06 2015 +0200 Ajout de méthodes utiles pour savoir quelle type de datasource on utilise --- .../configuration/ObserveDataSourceConfigurationTopiaH2.java | 10 ++++++++++ .../configuration/ObserveDataSourceConfigurationTopiaPG.java | 10 ++++++++++ .../ObserveDataSourceConfigurationTopiaSupport.java | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java index 957bf64..d17e5c6 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java @@ -25,6 +25,16 @@ public class ObserveDataSourceConfigurationTopiaH2 extends ObserveDataSourceConf protected String dbName; @Override + public boolean isH2Database() { + return true; + } + + @Override + public boolean isPostgresDatabase() { + return false; + } + + @Override public boolean datasourceExists() { return new File(directory, dbName + ".h2.db").exists(); } diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaPG.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaPG.java index fe5f700..4aa7fc1 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaPG.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaPG.java @@ -24,6 +24,16 @@ public class ObserveDataSourceConfigurationTopiaPG extends ObserveDataSourceConf protected boolean useSsl; @Override + public boolean isH2Database() { + return false; + } + + @Override + public boolean isPostgresDatabase() { + return true; + } + + @Override public boolean datasourceExists() { //FIXME tenter une connection pour voir si la base existe return true; diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java index 733cc1a..08309c0 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java @@ -44,6 +44,10 @@ public abstract class ObserveDataSourceConfigurationTopiaSupport implements Obse protected boolean autoMigrate; + public abstract boolean isH2Database(); + + public abstract boolean isPostgresDatabase(); + public String getUsername() { return username; } -- 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 develop in repository observe. See http://git.codelutin.com/observe.git commit 7dd3e9bd0013628d75b35dfad4071e6118016a4c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 11:26:26 2015 +0200 RouteService (impl + test) (refs #7458). --- .../services/service/seine/RouteService.java | 8 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 55273 -> 55794 bytes .../services/dto/ObserveDtosInitializer.java | 5 + .../services/service/seine/RouteServiceTopia.java | 138 +++++++++++++++++++++ .../services/service/seine/RouteServiceTest.java | 57 +++++++++ 5 files changed, 204 insertions(+), 4 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index e1e595c..9a80e93 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -2,8 +2,8 @@ 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.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; import fr.ird.observe.services.spi.Write; import java.util.List; @@ -13,16 +13,16 @@ import java.util.List; */ public interface RouteService extends ObserveService { - FormDto<RouteDto> loadToRead(String routeId); + List<RouteStubDto> getRouteByTripSeine(String tripSeineId); - List<ReferenceDto<RouteDto>> getRouteByTripSeine(String tripSeineId); + FormDto<RouteDto> loadToRead(String routeId); FormDto<RouteDto> loadToEdit(String routeId); FormDto<RouteDto> preCreate(String tripSeineId); @Write - String save(FormDto<RouteDto> form); + String save(String tripSeineId, FormDto<RouteDto> form); @Write void delete(String tripSeineId, String routeId); 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 3c802d5..f8651f7 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/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index 680574b..22201bb 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 @@ -1387,6 +1387,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } @Override + public void initRouteStubDto() { + // la logique de copie est à ecrire directement dans le service + } + + @Override public void initSchoolEstimateDto() { registerMainDto(SchoolEstimateDto.class, SchoolEstimate.class, SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java new file mode 100644 index 0000000..123bba5 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -0,0 +1,138 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.DataNotFoundException; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.nuiton.util.DateUtil; + +import java.util.Date; +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class RouteServiceTopia extends ObserveServiceTopia implements RouteService{ + + @Override + public List<RouteStubDto> getRouteByTripSeine(String tripSeineId) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + List<RouteStubDto> stubs = Lists.newLinkedList(); + + for (Route route : tripSeine.getRoute()) { + + RouteStubDto stub = new RouteStubDto(); + stub.setId(route.getTopiaId()); + stub.setDate(route.getDate()); + + stubs.add(stub); + + } + + return stubs; + + } + + @Override + public FormDto<RouteDto> loadToRead(String routeId) { + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + FormDto<RouteDto> form = entityToReadFormDto(RouteDto.class, Route.class, route); + + return form; + } + + @Override + public FormDto<RouteDto> loadToEdit(String routeId) { + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, Route.class, route); + + return form; + } + + @Override + public FormDto<RouteDto> preCreate(String tripSeineId) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + Route preCreated = newEntity(Route.class); + + Route lastRoute = Iterables.getLast(tripSeine.getRoute(), null); + + Date date; + if (lastRoute == null) { + + // aucune route defini, on utilise la date courante + date = now(); + + } else { + + // une route precedente est definie sur la maree + // le jour d'observation est le jour suivant celui de la + // derniere route + date = DateUtils.addDays(lastRoute.getDate(), 1); + + // le loch du matin est le loch du soir de la derniere route + preCreated.setStartLogValue(lastRoute.getEndLogValue()); + } + + preCreated.setDate(DateUtil.getDay(date)); + + FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, Route.class, preCreated); + + return form; + } + + @Override + public String save(String tripSeineId, FormDto<RouteDto> form) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + RouteDto routeDto = form.getForm(); + + Route route = dtoToEntity(RouteDto.class, Route.class, routeDto); + + route = saveEntity(Route.class, route); + + if (StringUtils.isBlank(routeDto.getId())) { + + tripSeine.addRoute(route); + + saveEntity(TripSeine.class, tripSeine); + + } + + return route.getTopiaId(); + } + + @Override + public void delete(String tripSeineId, String routeId) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + if (! tripSeine.containsRoute(route)) { + + throw new DataNotFoundException(RouteDto.class, routeId); + + } + + tripSeine.removeRoute(route); + + + } +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTest.java new file mode 100644 index 0000000..a945090 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTest.java @@ -0,0 +1,57 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.util.DateUtil; + +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class RouteServiceTest extends AbstractServiceTopiaTest{ + + protected RouteService service; + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of(); + } + + @Override + public String getScriptName() { + return "dataForTestSeine"; + } + + @Override + public void setUp() throws Exception { + super.setUp(); + + service = newService(RouteService.class); + + } + + @Test + public void preCreateTest() { + + FormDto<RouteDto> formDto = service.preCreate(TRIP_SEINE_ID_1); + + Assert.assertNotNull(formDto); + RouteDto routeDto = formDto.getForm(); + + Assert.assertNotNull(routeDto); + + Assert.assertEquals(0, DateUtil.createDate(28, 2, 2013).compareTo(routeDto.getDate())); + Assert.assertEquals(new Float(5953.03), routeDto.getStartLogValue()); + Assert.assertNull(routeDto.getEndLogValue()); + Assert.assertNull(routeDto.getComment()); + + + + } + +} -- 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 develop in repository observe. See http://git.codelutin.com/observe.git commit 226b41e6eff26d17d4cb934ec9c7541c60dc4cc1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:56:41 2015 +0200 Ajout de méthodes utiles du IdDto --- .../observe/services/service/seine/ActivitySeineServiceTopia.java | 1 - .../services/service/seine/GearUseFeaturesSeineServiceTopia.java | 2 +- .../fr/ird/observe/services/service/seine/RouteServiceTopia.java | 7 +++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 211c3e2..048309a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -4,7 +4,6 @@ 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.seine.ActivitySeineDto; -import fr.ird.observe.services.service.seine.ActivitySeineService; import java.util.List; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/GearUseFeaturesSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/GearUseFeaturesSeineServiceTopia.java index 01b4228..f40e8dd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/GearUseFeaturesSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/GearUseFeaturesSeineServiceTopia.java @@ -93,7 +93,7 @@ public class GearUseFeaturesSeineServiceTopia extends ObserveServiceTopia implem featuresSeine = saveEntity(GearUseFeaturesSeine.class, featuresSeine); - if (StringUtils.isBlank(featuresSeineDto.getId())) { + if (featuresSeineDto.isNotPersisted()) { tripSeine.addGearUseFeaturesSeine(featuresSeine); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 123bba5..0678918 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -10,7 +10,6 @@ import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.RouteStubDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.DataNotFoundException; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.nuiton.util.DateUtil; @@ -20,7 +19,7 @@ import java.util.List; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class RouteServiceTopia extends ObserveServiceTopia implements RouteService{ +public class RouteServiceTopia extends ObserveServiceTopia implements RouteService { @Override public List<RouteStubDto> getRouteByTripSeine(String tripSeineId) { @@ -107,7 +106,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi route = saveEntity(Route.class, route); - if (StringUtils.isBlank(routeDto.getId())) { + if (routeDto.isNotPersisted()) { tripSeine.addRoute(route); @@ -125,7 +124,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi Route route = loadEntity(RouteDto.class, Route.class, routeId); - if (! tripSeine.containsRoute(route)) { + if (!tripSeine.containsRoute(route)) { throw new DataNotFoundException(RouteDto.class, routeId); -- 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 develop in repository observe. See http://git.codelutin.com/observe.git commit 6a9c95a2d7c0f11ebbfcdac8a10fd07671f1fa27 Merge: 3c8ac9d 226b41e Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 26 11:56:46 2015 +0200 Retour sur develop Merge branch 'feature/7458-RouteService' into develop .../services/service/seine/RouteService.java | 8 +- .../src/main/xmi/observe-services-dto-seine.zargo | Bin 55273 -> 55794 bytes .../services/dto/ObserveDtosInitializer.java | 5 + .../service/seine/ActivitySeineServiceTopia.java | 1 - .../seine/GearUseFeaturesSeineServiceTopia.java | 2 +- .../services/service/seine/RouteServiceTopia.java | 137 +++++++++++++++++++++ .../services/service/seine/RouteServiceTest.java | 57 +++++++++ 7 files changed, 204 insertions(+), 6 deletions(-) -- 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