branch feature/7458-ActivitySeineService updated (957c67c -> dbfbd66)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7458-ActivitySeineService in repository observe. See http://git.codelutin.com/observe.git discards 957c67c utilisation du isNotPersisted sur les DTO (refs #7458). discards f7342a2 implantation ActivitySeineService (refs #7458). adds cb0ab4d On doit travailler sur une copie lors de la fermetures des contextes applicatives car ils se déenregistre d'eux même du cache adds 737af7e Ajout d'un drapeau pour pouvoir créer des bases h2 vides adds 428ea83 Masquer une erreur technique lors de la création d'un répertoire temporaire adds f731035 récupération du persistence context dans les services adds 1facc96 Implantation de l'export du référentiel adds 9c7e8d7 Replication des référentiels et données ok \o/ (see #7476) adds a6cabb5 Mettre en place le service qui permet de repliquer des données (termine #7476) Merge branch 'feature/7476' into develop adds 69ff107 Utiliser le temps de calcul en nanosecondes et pas milisecondes new fc0f41b implantation ActivitySeineService (refs #7458). new dbfbd66 utilisation du isNotPersisted sur les DTO (refs #7458). This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (957c67c) \ N -- N -- N refs/heads/feature/7458-ActivitySeineService (dbfbd66) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 2 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 dbfbd66b0adc8d5add41cbcf00462e409a840e0c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:33:07 2015 +0200 utilisation du isNotPersisted sur les DTO (refs #7458). commit fc0f41b9f9789fbaa230fd5d12afb43fba2f1724 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 13:48:07 2015 +0200 implantation ActivitySeineService (refs #7458). Summary of changes: .../ird/observe/entities/longline/TdrTopiaDao.java | 82 +++++++ .../src/main/xmi/observe-common.properties | 6 +- .../services/ObserveServiceApplicationContext.java | 9 +- .../service/DataSourceDumpProducerService.java | 2 +- .../services/service/DataSourceService.java | 4 +- .../dto/DataSourceCreateConfigurationDto.java | 15 +- .../services/ObserveServiceContextTopia.java | 4 +- .../ird/observe/services/ObserveServiceTopia.java | 3 + .../ObserveTopiaApplicationContextFactory.java | 3 +- .../DataSourceDumpProducerServiceTopia.java | 237 ++++++++++++++++++++- .../services/service/DataSourceServiceTopia.java | 11 +- .../DataSourceDumpProducerServiceTopiaTest.java | 51 +++++ .../service/DataSourceServiceTopiaTest.java | 22 +- 13 files changed, 413 insertions(+), 36 deletions(-) create mode 100644 observe-entities/src/main/java/fr/ird/observe/entities/longline/TdrTopiaDao.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.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 feature/7458-ActivitySeineService in repository observe. See http://git.codelutin.com/observe.git commit fc0f41b9f9789fbaa230fd5d12afb43fba2f1724 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 13:48:07 2015 +0200 implantation ActivitySeineService (refs #7458). --- .../service/seine/ActivitySeineService.java | 8 +- .../service/seine/ActivitySeineServiceTopia.java | 130 +++++++++++++++++++-- 2 files changed, 125 insertions(+), 13 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java index 26368d5..c7f60ae 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.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.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.spi.Write; import java.util.List; @@ -13,16 +13,16 @@ import java.util.List; */ public interface ActivitySeineService extends ObserveService { - FormDto<ActivitySeineDto> loadToRead(String activitySeineId); + List<ActivitySeineStubDto> getActivitySeineByRoute(String routeId); - List<ReferenceDto<ActivitySeineDto>> getActivitySeineByRoute(String routeId); + FormDto<ActivitySeineDto> loadToRead(String activitySeineId); FormDto<ActivitySeineDto> loadToEdit(String activitySeineId); FormDto<ActivitySeineDto> preCreate(String routeId); @Write - String save(FormDto<ActivitySeineDto> form); + String save(String routeId, FormDto<ActivitySeineDto> form); @Write void delete(String routeId, String activitySeineId); 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 048309a..d17cb27 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 @@ -1,10 +1,22 @@ package fr.ird.observe.services.service.seine; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.Route; 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.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.service.DataNotFoundException; +import fr.ird.type.CoordinateHelper; +import org.apache.commons.lang3.StringUtils; +import org.nuiton.util.DateUtil; +import java.util.Date; import java.util.List; /** @@ -14,32 +26,132 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac @Override - public FormDto<ActivitySeineDto> loadToRead(String activitySeineId) { - return null; + public List<ActivitySeineStubDto> getActivitySeineByRoute(String routeId) { + + ReferenceLocale referenceLocale = getReferenceLocale(); + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + List<ActivitySeineStubDto> stubs = Lists.newLinkedList(); + + for (ActivitySeine activitySeine : route.getActivitySeine()) { + + ActivitySeineStubDto stub = new ActivitySeineStubDto(); + stub.setId(activitySeine.getTopiaId()); + stub.setTime(activitySeine.getTime()); + stub.setVesselActivitySeineLabel(referenceLocale.getLabel(activitySeine.getVesselActivitySeine())); + stub.setHasSetSeine(activitySeine.getSetSeine() != null); + + } + + return stubs; } @Override - public List<ReferenceDto<ActivitySeineDto>> getActivitySeineByRoute(String routeId) { - return null; + public FormDto<ActivitySeineDto> loadToRead(String activitySeineId) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + FormDto<ActivitySeineDto> form = entityToReadFormDto(ActivitySeineDto.class, ActivitySeine.class, activitySeine); + + return form; } @Override public FormDto<ActivitySeineDto> loadToEdit(String activitySeineId) { - return null; + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, ActivitySeine.class, activitySeine); + + return form; } @Override public FormDto<ActivitySeineDto> preCreate(String routeId) { - return null; + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + ActivitySeine preCreated = newEntity(ActivitySeine.class); + + ActivitySeine lastActivitySeine = Iterables.getLast(route.getActivitySeine(), null); + + Date time; + + FpaZone currentFpaZone = null; + + if (lastActivitySeine == null) { + + // première activité, on utilise l'heure courante + time = serviceContext.now(); + + } else { + + // on recupère le quadrant de cette activity + // et on l'affecte à la nouvelle activity + Integer quadrant = CoordinateHelper.getQuadrant( + lastActivitySeine.getLongitude(), + lastActivitySeine.getLatitude()); + + if (quadrant != null) { + + preCreated.setQuadrant(quadrant); + + } + + // on reprend l'heure de la dernière activité + time = lastActivitySeine.getTime(); + + // utilisation des zones fpa de la dernière activité + currentFpaZone = lastActivitySeine.getNextFpaZone(); + if (currentFpaZone == null) { + currentFpaZone = lastActivitySeine.getCurrentFpaZone(); + } + + } + + preCreated.setTime(DateUtil.getTime(time, false, false)); + preCreated.setCurrentFpaZone(currentFpaZone); + + FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, ActivitySeine.class, preCreated); + + return form; } @Override - public String save(FormDto<ActivitySeineDto> form) { - return null; + public String save(String routeId, FormDto<ActivitySeineDto> form) { + + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + ActivitySeineDto activitySeineDto = form.getForm(); + + ActivitySeine activitySeine = dtoToEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineDto); + + activitySeine = saveEntity(ActivitySeine.class, activitySeine); + + if (StringUtils.isBlank(activitySeineDto.getId())) { + + route.addActivitySeine(activitySeine); + + saveEntity(Route.class, route); + + } + + return activitySeine.getTopiaId(); } @Override public void delete(String routeId, String activitySeineId) { + Route route = loadEntity(RouteDto.class, Route.class, routeId); + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + if (! route.containsActivitySeine(activitySeine)) { + throw new DataNotFoundException(ActivitySeineDto.class, activitySeineId); + } + + route.removeActivitySeine(activitySeine); + } } -- 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-ActivitySeineService in repository observe. See http://git.codelutin.com/observe.git commit dbfbd66b0adc8d5add41cbcf00462e409a840e0c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:33:07 2015 +0200 utilisation du isNotPersisted sur les DTO (refs #7458). --- .../ird/observe/services/service/seine/ActivitySeineServiceTopia.java | 3 +-- 1 file changed, 1 insertion(+), 2 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 d17cb27..4bb861c 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 @@ -13,7 +13,6 @@ import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; -import org.apache.commons.lang3.StringUtils; import org.nuiton.util.DateUtil; import java.util.Date; @@ -129,7 +128,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac activitySeine = saveEntity(ActivitySeine.class, activitySeine); - if (StringUtils.isBlank(activitySeineDto.getId())) { + if (activitySeineDto.isNotPersisted()) { route.addActivitySeine(activitySeine); -- 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