This is an automated email from the git hooks/post-receive script. New change to branch feature/7458-topiaServices in repository observe. See http://git.codelutin.com/observe.git discards da5477a implantation NonTargetSampleService (refs #7458). discards aa4cdac implantation TargetSampleService + test (refs #7458). discards fc25b91 implantation NonTargetCatchService (refs #7458). discards 8a84560 implantation SchoolEstimateService (refs #7458). discards 00f7dd6 implantation SetSeineServiceTopia (refs #7458). discards 7466965 add referenceDtoTypes (refs #7458). discards 5a77c68 implantation ObjectObservedSpeciesService (refs #7458). discards 5cd08f8 implantation ObjectSchoolEstimateService (refs #7458). discards 7be6a86 implantation TransmittingBuoyOperationService (refs #7458). discards 1affe37 implantation floatingObjectService (refs #7458). discards 3f84e7b implantation ActivitySeineObservedSystemService (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 e131ac2 implantation ActivitySeineObservedSystemService (refs #7458). new 96b82c8 implantation floatingObjectService (refs #7458). new c84ce18 implantation TransmittingBuoyOperationService (refs #7458). new 509609d implantation ObjectSchoolEstimateService (refs #7458). new 22c5884 implantation ObjectObservedSpeciesService (refs #7458). new bf5dbab add referenceDtoTypes (refs #7458). new 729bb1a implantation SetSeineServiceTopia (refs #7458). new 706d0f3 implantation SchoolEstimateService (refs #7458). new 655d658 implantation NonTargetCatchService (refs #7458). new a6999c4 implantation TargetSampleService + test (refs #7458). new 3d58666 implantation NonTargetSampleService (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 (da5477a) \ N -- N -- N refs/heads/feature/7458-topiaServices (3d58666) 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 11 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 3d58666c662d4abefc7470a26d83d2880c6f2eb4 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 08:56:53 2015 +0200 implantation NonTargetSampleService (refs #7458). commit a6999c4b522b4b7562410d91819eb3ffd4ef4e43 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 17:44:26 2015 +0200 implantation TargetSampleService + test (refs #7458). commit 655d658a1ee4a598bc75209f6fc35b05a6d63936 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:40:15 2015 +0200 implantation NonTargetCatchService (refs #7458). commit 706d0f34cb334b06941f929ae954e0d664712ef6 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:35:02 2015 +0200 implantation SchoolEstimateService (refs #7458). commit 729bb1ab8fba6cc162867940459e277bdf549751 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:15:42 2015 +0200 implantation SetSeineServiceTopia (refs #7458). commit bf5dbaba4232281e5e9b34c1afe6f3e8f4b043e8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:53:01 2015 +0200 add referenceDtoTypes (refs #7458). commit 22c588492a9526f613d81e47637f7d179390b138 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:42:47 2015 +0200 implantation ObjectObservedSpeciesService (refs #7458). commit 509609db909b5c33f26d7857d8d61779abe72e6f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:39:41 2015 +0200 implantation ObjectSchoolEstimateService (refs #7458). commit c84ce1822b59ba44ac8731b1715af2fc5e9d81c8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:30:46 2015 +0200 implantation TransmittingBuoyOperationService (refs #7458). commit 96b82c8bec82d3c0f162f02518307be1b9e51f82 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:19:49 2015 +0200 implantation floatingObjectService (refs #7458). commit e131ac2e12cc1f7b6bcb7aa30f72bf872d339429 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:14:12 2015 +0200 implantation ActivitySeineObservedSystemService (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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit e131ac2e12cc1f7b6bcb7aa30f72bf872d339429 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:14:12 2015 +0200 implantation ActivitySeineObservedSystemService (refs #7458). --- .../ActivitySeineObservedSystemServiceTopia.java | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index b4a9b13..002fe24 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.service.seine; +import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; @@ -11,16 +12,31 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia @Override public FormDto<ActivitySeineObservedSystemDto> loadToRead(String activitySeineId) { - return null; + + ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeineId); + + FormDto<ActivitySeineObservedSystemDto> form = entityToReadFormDto(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeine); + + return form; } @Override public FormDto<ActivitySeineObservedSystemDto> loadToEdit(String activitySeineId) { - return null; + + ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeineId); + + FormDto<ActivitySeineObservedSystemDto> form = entityToEditFormDto(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeine); + + return form; } @Override public String save(FormDto<ActivitySeineObservedSystemDto> form) { - return null; + + ActivitySeine activitySeine = dtoToEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, form.getForm()); + + activitySeine = saveEntity(ActivitySeine.class, activitySeine); + + return activitySeine.getTopiaId(); } } -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 96b82c8bec82d3c0f162f02518307be1b9e51f82 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:19:49 2015 +0200 implantation floatingObjectService (refs #7458). --- .../service/seine/FloatingObjectService.java | 8 +-- .../service/seine/FloatingObjectServiceTopia.java | 82 +++++++++++++++++++--- 2 files changed, 76 insertions(+), 14 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index 05c7036..e129f7c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.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.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectStubDto; import fr.ird.observe.services.spi.Write; import java.util.List; @@ -13,16 +13,16 @@ import java.util.List; */ public interface FloatingObjectService extends ObserveService { - FormDto<FloatingObjectDto> loadToRead(String floatingObjectId); + List<FloatingObjectStubDto> getFloatingObjectByActivitySeine(String activitySeineId); - List<ReferenceDto<FloatingObjectDto>> getFloatingObjectByActivitySeine(String activitySeineId); + FormDto<FloatingObjectDto> loadToRead(String floatingObjectId); FormDto<FloatingObjectDto> loadToEdit(String floatingObjectId); FormDto<FloatingObjectDto> preCreate(String activitySeineId); @Write - String save(FormDto<FloatingObjectDto> form); + String save(String activitySeineId, FormDto<FloatingObjectDto> form); @Write void delete(String activitySeineId, String floatingObjectId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index 4b39898..9333c96 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -1,10 +1,15 @@ 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.seine.ActivitySeine; +import fr.ird.observe.entities.seine.FloatingObject; 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.FloatingObjectDto; -import fr.ird.observe.services.service.seine.FloatingObjectService; +import fr.ird.observe.services.dto.seine.FloatingObjectStubDto; +import fr.ird.observe.services.service.DataNotFoundException; import java.util.List; @@ -15,32 +20,89 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F @Override - public FormDto<FloatingObjectDto> loadToRead(String floatingObjectId) { - return null; + public List<FloatingObjectStubDto> getFloatingObjectByActivitySeine(String activitySeineId) { + + ReferenceLocale referenceLocale = getReferenceLocale(); + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + List<FloatingObjectStubDto> stubs = Lists.newLinkedList(); + + for(FloatingObject floatingObject : activitySeine.getFloatingObject()) { + + FloatingObjectStubDto stub = new FloatingObjectStubDto(); + stub.setId(floatingObject.getTopiaId()); + stub.setObjectTypeLabel(referenceLocale.getLabel(floatingObject.getObjectType())); + + } + + return stubs; } @Override - public List<ReferenceDto<FloatingObjectDto>> getFloatingObjectByActivitySeine(String activitySeineId) { - return null; + public FormDto<FloatingObjectDto> loadToRead(String floatingObjectId) { + + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectDto> form = entityToReadFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); + + return form; } @Override public FormDto<FloatingObjectDto> loadToEdit(String floatingObjectId) { - return null; + + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); + + return form; } @Override public FormDto<FloatingObjectDto> preCreate(String activitySeineId) { - return null; + + FloatingObject floatingObject = newEntity(FloatingObject.class); + + FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); + + return form; } @Override - public String save(FormDto<FloatingObjectDto> form) { - return null; + public String save(String activitySeineId, FormDto<FloatingObjectDto> form) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + FloatingObjectDto floatingObjectDto = form.getForm(); + + FloatingObject floatingObject = dtoToEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectDto); + + floatingObject = saveEntity(FloatingObject.class, floatingObject); + + if (floatingObjectDto.isNotPersisted()) { + + activitySeine.addFloatingObject(floatingObject); + + saveEntity(ActivitySeine.class, activitySeine); + + } + + return floatingObject.getTopiaId(); } @Override public void delete(String activitySeineId, String floatingObjectId) { + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + + if (! activitySeine.containsFloatingObject(floatingObject)) { + throw new DataNotFoundException(FloatingObjectDto.class, floatingObjectId); + } + + activitySeine.removeFloatingObject(floatingObject); + } } -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit c84ce1822b59ba44ac8731b1715af2fc5e9d81c8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:30:46 2015 +0200 implantation TransmittingBuoyOperationService (refs #7458). --- .../TransmittingBuoyOperationServiceTopia.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java new file mode 100644 index 0000000..480d5e1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.service.seine; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia implements TransmittingBuoyOperationService { + + @Override + public FormDto<FloatingObjectTransmittingBuoyDto> loadToRead(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectTransmittingBuoyDto> form = + entityToReadFormDto(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public FormDto<FloatingObjectTransmittingBuoyDto> loadToEdit(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectTransmittingBuoyDto> form = + entityToEditFormDto(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public String save(FormDto<FloatingObjectTransmittingBuoyDto> form) { + + FloatingObject floatingObject = + dtoToEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, form.getForm()); + + floatingObject = saveEntity(FloatingObject.class, floatingObject); + + return floatingObject.getTopiaId(); + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 509609db909b5c33f26d7857d8d61779abe72e6f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:39:41 2015 +0200 implantation ObjectSchoolEstimateService (refs #7458). --- .../seine/ObjectSchoolEstimateServiceTopia.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java new file mode 100644 index 0000000..8a013f7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.service.seine; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implements ObjectSchoolEstimateService { + + @Override + public FormDto<FloatingObjectSchoolEstimateDto> loadToRead(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectSchoolEstimateDto> form = + entityToReadFormDto(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public FormDto<FloatingObjectSchoolEstimateDto> loadToEdit(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectSchoolEstimateDto> form = + entityToEditFormDto(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public String save(FormDto<FloatingObjectSchoolEstimateDto> form) { + + FloatingObject floatingObject = + dtoToEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, form.getForm()); + + floatingObject = saveEntity(FloatingObject.class, floatingObject); + + return floatingObject.getTopiaId(); + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 22c588492a9526f613d81e47637f7d179390b138 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:42:47 2015 +0200 implantation ObjectObservedSpeciesService (refs #7458). --- .../seine/ObjectObservedSpeciesServiceTopia.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java new file mode 100644 index 0000000..4eef46a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.service.seine; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia implements ObjectObservedSpeciesService { + + @Override + public FormDto<FloatingObjectObservedSpeciesDto> loadToRead(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectObservedSpeciesDto> form = + entityToReadFormDto(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public FormDto<FloatingObjectObservedSpeciesDto> loadToEdit(String floatingObjectId) { + + FloatingObject floatingObject = + loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); + + FormDto<FloatingObjectObservedSpeciesDto> form = + entityToEditFormDto(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObject); + + return form; + } + + @Override + public String save(FormDto<FloatingObjectObservedSpeciesDto> form) { + + FloatingObject floatingObject = + dtoToEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, form.getForm()); + + floatingObject = saveEntity(FloatingObject.class, floatingObject); + + return floatingObject.getTopiaId(); + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit bf5dbaba4232281e5e9b34c1afe6f3e8f4b043e8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 14:53:01 2015 +0200 add referenceDtoTypes (refs #7458). --- .../service/seine/ObjectObservedSpeciesServiceTopia.java | 15 +++++++++++++-- .../service/seine/ObjectSchoolEstimateServiceTopia.java | 9 ++++++++- .../seine/TransmittingBuoyOperationServiceTopia.java | 10 +++++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 4eef46a..a5c1412 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -1,8 +1,12 @@ package fr.ird.observe.services.service.seine; +import com.google.common.collect.Sets; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; /** @@ -17,7 +21,10 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); FormDto<FloatingObjectObservedSpeciesDto> form = - entityToReadFormDto(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObject); + entityToReadFormDto( + FloatingObjectObservedSpeciesDto.class, + FloatingObject.class, + floatingObject); return form; } @@ -29,7 +36,11 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); FormDto<FloatingObjectObservedSpeciesDto> form = - entityToEditFormDto(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObject); + entityToEditFormDto( + FloatingObjectObservedSpeciesDto.class, + FloatingObject.class, + floatingObject, + Sets.<Class<? extends IdDto>>newHashSet(SpeciesDto.class, SpeciesStatusDto.class)); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 8a013f7..7934387 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -1,8 +1,11 @@ package fr.ird.observe.services.service.seine; +import com.google.common.collect.Sets; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; /** @@ -29,7 +32,11 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); FormDto<FloatingObjectSchoolEstimateDto> form = - entityToEditFormDto(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObject); + entityToEditFormDto( + FloatingObjectSchoolEstimateDto.class, + FloatingObject.class, + floatingObject, + Sets.<Class<? extends IdDto>>newHashSet(SpeciesDto.class)); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index 480d5e1..553cb96 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -1,8 +1,12 @@ package fr.ird.observe.services.service.seine; +import com.google.common.collect.Sets; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; /** @@ -29,7 +33,11 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); FormDto<FloatingObjectTransmittingBuoyDto> form = - entityToEditFormDto(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObject); + entityToEditFormDto( + FloatingObjectTransmittingBuoyDto.class, + FloatingObject.class, + floatingObject, + Sets.<Class<? extends IdDto>>newHashSet(TransmittingBuoyOperationDto.class, TransmittingBuoyTypeDto.class)); return form; } -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 729bb1ab8fba6cc162867940459e277bdf549751 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:15:42 2015 +0200 implantation SetSeineServiceTopia (refs #7458). --- .../services/service/seine/SetSeineService.java | 7 +- .../service/seine/SetSeineServiceTopia.java | 116 +++++++++++++++++++++ 2 files changed, 118 insertions(+), 5 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index 34665f7..7b22313 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -2,7 +2,6 @@ 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.SetSeineDto; import fr.ird.observe.services.spi.Write; @@ -11,16 +10,14 @@ import fr.ird.observe.services.spi.Write; */ public interface SetSeineService extends ObserveService { - ReferenceDto<SetSeineDto> getSetSeineByActivitySeine(String activitySeineId); - FormDto<SetSeineDto> loadToRead(String setSeineId); FormDto<SetSeineDto> loadToEdit(String setSeineId); - FormDto<SetSeineDto> preCreate(String activitySeineId); + FormDto<SetSeineDto> preCreate(String routeId, String activitySeineId); @Write - String save(FormDto<SetSeineDto> form); + String save(String activitySeineId, FormDto<SetSeineDto> form); @Write void delete(String activitySeineId, String setSeineId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java new file mode 100644 index 0000000..aedd910 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -0,0 +1,116 @@ +package fr.ird.observe.services.service.seine; + +import fr.ird.observe.entities.constants.seine.SchoolType; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.service.DataNotFoundException; +import org.nuiton.util.DateUtil; + +import java.util.Date; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSeineService { + + @Override + public FormDto<SetSeineDto> loadToRead(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineDto> form = entityToReadFormDto(SetSeineDto.class, SetSeine.class, setSeine); + + return form; + } + + @Override + public FormDto<SetSeineDto> loadToEdit(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, SetSeine.class, setSeine); + + return form; + } + + @Override + public FormDto<SetSeineDto> preCreate(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); + } + + + // on utilise l'heure de l'activité comme début de calée + Date date = DateUtil.getTime(activitySeine.getTime(), false, false); + + SetSeine preCreated = newEntity(SetSeine.class); + + preCreated.setStartTime(date); + + // pour les dates de fin on utilise la date de la route + Date routeDate = route.getDate(); + + preCreated.setEndSetTimeStamp(date); + preCreated.setEndPursingTimeStamp(date); + + preCreated.setEndSetDate(routeDate); + preCreated.setEndPursingDate(routeDate); + + // recuperation du type de set a partir de l'activity + SchoolType schoolType = activitySeine.getSchoolType(); + preCreated.setSchoolType(schoolType); + + FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, SetSeine.class, preCreated); + + return form; + + } + + @Override + public String save(String activitySeineId, FormDto<SetSeineDto> form) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + SetSeineDto setSeineDto = form.getForm(); + + SetSeine setSeine = dtoToEntity(SetSeineDto.class, SetSeine.class, setSeineDto); + + setSeine = saveEntity(SetSeine.class, setSeine); + + if (setSeineDto.isNotPersisted()) { + + activitySeine.setSetSeine(setSeine); + + saveEntity(ActivitySeine.class, activitySeine); + + } + + return setSeine.getTopiaId(); + } + + @Override + public void delete(String activitySeineId, String setSeineId) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + if (!activitySeine.getSetSeine().equals(setSeine)) { + throw new DataNotFoundException(SetSeineDto.class, setSeineId); + } + + activitySeine.setSetSeine(null); + + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 706d0f34cb334b06941f929ae954e0d664712ef6 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:35:02 2015 +0200 implantation SchoolEstimateService (refs #7458). --- .../service/seine/SchoolEstimateServiceTopia.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java new file mode 100644 index 0000000..37a517e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.Sets; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements SchoolEstimateService { + @Override + public FormDto<SetSeineSchoolEstimateDto> loadToRead(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineSchoolEstimateDto> form = entityToReadFormDto(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeine); + + return form; + } + + @Override + public FormDto<SetSeineSchoolEstimateDto> loadToEdit(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineSchoolEstimateDto> form = entityToEditFormDto( + SetSeineSchoolEstimateDto.class, + SetSeine.class, + setSeine, + Sets.<Class<? extends IdDto>>newHashSet(SpeciesDto.class)); + + return form; + } + + @Override + public String save(FormDto<SetSeineSchoolEstimateDto> form) { + + SetSeine setSeine = dtoToEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, form.getForm()); + + setSeine = saveEntity(SetSeine.class, setSeine); + + return setSeine.getTopiaId(); + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 655d658a1ee4a598bc75209f6fc35b05a6d63936 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 15:40:15 2015 +0200 implantation NonTargetCatchService (refs #7458). --- .../service/seine/NonTargetCatchServiceTopia.java | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java new file mode 100644 index 0000000..087cefc --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.Sets; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements NonTargetCatchService { + + @Override + public FormDto<SetSeineNonTargetCatchDto> loadToRead(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineNonTargetCatchDto> form = entityToReadFormDto(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeine); + + return form; + } + + @Override + public FormDto<SetSeineNonTargetCatchDto> loadToEdit(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeineId); + + FormDto<SetSeineNonTargetCatchDto> form = entityToEditFormDto( + SetSeineNonTargetCatchDto.class, + SetSeine.class, + setSeine, + Sets.<Class<? extends IdDto>>newHashSet(SpeciesFateDto.class, ReasonForDiscardDto.class)); + + return form; + } + + @Override + public String save(FormDto<SetSeineNonTargetCatchDto> form) { + + SetSeine setSeine = dtoToEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, form.getForm()); + + setSeine = saveEntity(SetSeine.class, setSeine); + + return setSeine.getTopiaId(); + } +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit a6999c4b522b4b7562410d91819eb3ffd4ef4e43 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Aug 26 17:44:26 2015 +0200 implantation TargetSampleService + test (refs #7458). --- .../service/seine/TargetSampleService.java | 4 +- .../service/seine/TargetSampleServiceTopia.java | 131 +++++++++++++++++++++ .../seine/TargetSampleServiceTopiaTest.java | 70 +++++++++++ 3 files changed, 204 insertions(+), 1 deletion(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java index 51a1f90..9163606 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java @@ -10,11 +10,13 @@ import fr.ird.observe.services.spi.Write; */ public interface TargetSampleService extends ObserveService { + boolean canUseTargetSample(String setSeineId, boolean discarded); + FormDto<TargetSampleDto> loadToRead(String setSeineId, boolean discarded); FormDto<TargetSampleDto> loadToEdit(String setSeineId, boolean discarded); @Write - String save(FormDto<TargetSampleDto> form); + String save(String setSeineId, FormDto<TargetSampleDto> form); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java new file mode 100644 index 0000000..6a1305d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -0,0 +1,131 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.Sets; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; + +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TargetSampleServiceTopia extends ObserveServiceTopia implements TargetSampleService { + + @Override + public boolean canUseTargetSample(String setSeineId, boolean discarded) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + return setSeine.canUseTargetSample(discarded); + } + + protected TargetSample getTargetSample(SetSeine setSeine, boolean discarded) { + + TargetSample targetSample = setSeine.getTargetSample(discarded); + + if (targetSample == null) { + targetSample = newEntity(TargetSample.class); + targetSample.setDiscarded(discarded); + } + + return targetSample; + + + } + + @Override + public FormDto<TargetSampleDto> loadToRead(String setSeineId, boolean discarded) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + TargetSample targetSample = getTargetSample(setSeine, discarded); + + FormDto<TargetSampleDto> form = entityToReadFormDto(TargetSampleDto.class, TargetSample.class, targetSample); + + return form; + } + + @Override + public FormDto<TargetSampleDto> loadToEdit(String setSeineId, boolean discarded) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + TargetSample targetSample = getTargetSample(setSeine, discarded); + + FormDto<TargetSampleDto> form = entityToEditFormDto( + TargetSampleDto.class, + TargetSample.class, + targetSample, + Sets.<Class<? extends IdDto>>newHashSet(SpeciesDto.class)); + + // on filtre la list des espéces cibles + Set<Species> speciesSet = Sets.newLinkedHashSet(); + + // on recupere la liste des espèces thon cible + Collection<TargetCatch> targetCatches = setSeine.getTargetCatch(); + + // on filtre sur les espèces montées sur le pont et rejetées + if (targetCatches != null) { + + for (TargetCatch targetCatch : targetCatches) { + + // si echantillon rejeté : on ne conserve que les espèces rejectées montées sur le pont + // sinon les espèce cible + if (discarded && targetCatch.isDiscarded() && targetCatch.getBroughtOnDeck() + || + !discarded && !targetCatch.isDiscarded()) { + + speciesSet.add(targetCatch.getWeightCategory().getSpecies()); + } + + } + + } + + LinkedHashSet<ReferenceDto> speciesRefs = Sets.newLinkedHashSet(); + + for (Species species : speciesSet ) { + speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); + } + + ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class); + speciesRreferenceSetDto.setReference(speciesRefs); + + + return form; + } + + @Override + public String save(String setSeineId, FormDto<TargetSampleDto> form) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + TargetSampleDto targetSampleDto = form.getForm(); + + TargetSample targetSample = dtoToEntity(TargetSampleDto.class, TargetSample.class, targetSampleDto); + + targetSample = saveEntity(TargetSample.class, targetSample); + + if (targetSampleDto.isNotPersisted()) { + + setSeine.addTargetSample(targetSample); + + saveEntity(SetSeine.class, setSeine); + + } + + return setSeine.getTopiaId(); + } +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java new file mode 100644 index 0000000..d55dbe2 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -0,0 +1,70 @@ +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.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { + + public static String SET_SEINE_ID = "fr.ird.observe.entities.seine.SetSeine#1359573677233#0.016313003525718517"; + + protected TargetSampleService 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(TargetSampleService.class); + + } + + @Test + public void canUseTargetSampleTest() { + + Assert.assertTrue(service.canUseTargetSample(SET_SEINE_ID, false)); + Assert.assertFalse(service.canUseTargetSample(SET_SEINE_ID, true)); + + } + + @Test + public void loadForEditTest() { + + FormDto<TargetSampleDto> formDto = service.loadToEdit(SET_SEINE_ID, false); + + Assert.assertNotNull(formDto); + + TargetSampleDto targetSampleDto = formDto.getForm(); + + Assert.assertNotNull(targetSampleDto); + Assert.assertFalse(targetSampleDto.getDiscarded()); + Assert.assertTrue(targetSampleDto.isTargetLengthEmpty()); + + ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = formDto.getReferenceSetDto(SpeciesDto.class); + Assert.assertEquals(1, speciesDtoReferenceSetDto.sizeReference()); + ReferenceDto referenceDto = speciesDtoReferenceSetDto.getReference(0); + Assert.assertEquals("fr.ird.observe.entities.referentiel.Species#1239832685474#0.8943253454598569", referenceDto.getId()); + + } + +} -- 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-topiaServices in repository observe. See http://git.codelutin.com/observe.git commit 3d58666c662d4abefc7470a26d83d2880c6f2eb4 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 08:56:53 2015 +0200 implantation NonTargetSampleService (refs #7458). --- .../service/seine/NonTargetSampleService.java | 4 +- .../service/seine/NonTargetSampleServiceTopia.java | 122 +++++++++++++++++++++ 2 files changed, 125 insertions(+), 1 deletion(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java index eebe81b..a4a7299 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java @@ -9,11 +9,13 @@ import fr.ird.observe.services.spi.Write; */ public interface NonTargetSampleService { + boolean canUseNonTargetSample(String setSeineId); + FormDto<NonTargetSampleDto> loadToRead(String setSeineId); FormDto<NonTargetSampleDto> loadToEdit(String setSeineId); @Write - String save(FormDto<NonTargetSampleDto> form); + String save(String setSeineId, FormDto<NonTargetSampleDto> form); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java new file mode 100644 index 0000000..d8adea5 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -0,0 +1,122 @@ +package fr.ird.observe.services.service.seine; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetSample; +import fr.ird.observe.entities.seine.SetSeine; +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.SpeciesDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; + +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements NonTargetSampleService { + + @Override + public boolean canUseNonTargetSample(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + return setSeine.canUseNonTargetSample(); + } + + protected NonTargetSample getNonTargetSample(SetSeine setSeine) { + + NonTargetSample nonTargetSample; + + if (setSeine.isNonTargetSampleEmpty()) { + + nonTargetSample = newEntity(NonTargetSample.class); + + } else { + + nonTargetSample = Iterables.get(setSeine.getNonTargetSample(), 0); + } + + return nonTargetSample; + + + } + + @Override + public FormDto<NonTargetSampleDto> loadToRead(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + NonTargetSample nonTargetSample = getNonTargetSample(setSeine); + + FormDto<NonTargetSampleDto> form = entityToReadFormDto(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSample); + + return form; + } + + @Override + public FormDto<NonTargetSampleDto> loadToEdit(String setSeineId) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + NonTargetSample nonTargetSample = getNonTargetSample(setSeine); + + FormDto<NonTargetSampleDto> form = entityToReadFormDto(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSample); + + // on filtre la list des espéces cibles + Set<Species> speciesSet = Sets.newLinkedHashSet(); + + // on recupere la liste des espèces thon cible + Collection<NonTargetCatch> nonTargetCatches = setSeine.getNonTargetCatch(); + + // on filtre sur les espèces montées sur le pont et rejetées + if (nonTargetCatches != null) { + + for (NonTargetCatch nonTargetCatch : nonTargetCatches) { + + speciesSet.add(nonTargetCatch.getSpecies()); + } + + } + + LinkedHashSet<ReferenceDto> speciesRefs = Sets.newLinkedHashSet(); + + for (Species species : speciesSet ) { + speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); + } + + ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class); + speciesRreferenceSetDto.setReference(speciesRefs); + + return form; + } + + @Override + public String save(String setSeineId, FormDto<NonTargetSampleDto> form) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + + NonTargetSampleDto nonTargetSampleDto = form.getForm(); + + NonTargetSample nonTargetSample = dtoToEntity(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSampleDto); + + nonTargetSample = saveEntity(NonTargetSample.class, nonTargetSample); + + if (nonTargetSampleDto.isNotPersisted()) { + + setSeine.addNonTargetSample(nonTargetSample); + + saveEntity(SetSeine.class, setSeine); + + } + + return setSeine.getTopiaId(); + } +} -- 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