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 70458866f2c5734da6ee86f1c602d4e47bb561c9 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>.