branch feature/7458-LonglineTopiaService updated (7fc8a17 -> b5bafce)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7458-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git from 7fc8a17 implantation TripLonglineService (refs #7458). new 1040264 implantation GearUseFeaturesLonglineService (refs #7458). new b5bafce implantation ActivityLonglineService (refs #7458). 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 b5bafce535db9fa66993232963361d2a8a4bb1f3 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 11:19:47 2015 +0200 implantation ActivityLonglineService (refs #7458). commit 10402646d40b1f7f1754367b0c2acf43df4544ee Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 10:07:34 2015 +0200 implantation GearUseFeaturesLonglineService (refs #7458). Summary of changes: .../service/longline/ActivityLonglineService.java | 29 ++++ .../service/longline/ActivitySeineService.java | 29 ---- .../longline/GearUseFeaturesLonglineService.java | 4 +- .../main/xmi/observe-services-dto-longline.zargo | Bin 58090 -> 59030 bytes .../services/dto/ObserveDtosInitializer.java | 25 ++-- .../longline/ActivityLonglineServiceTopia.java | 161 +++++++++++++++++++++ .../GearUseFeaturesLonglineServiceTopia.java | 115 +++++++++++++++ 7 files changed, 322 insertions(+), 41 deletions(-) create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivitySeineService.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineServiceTopia.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 10402646d40b1f7f1754367b0c2acf43df4544ee Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 10:07:34 2015 +0200 implantation GearUseFeaturesLonglineService (refs #7458). --- .../longline/GearUseFeaturesLonglineService.java | 4 +- .../GearUseFeaturesLonglineServiceTopia.java | 115 +++++++++++++++++++++ 2 files changed, 117 insertions(+), 2 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineService.java index 29819c7..d7a344f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineService.java @@ -18,10 +18,10 @@ public interface GearUseFeaturesLonglineService extends ObserveService { FormDto<GearUseFeaturesLonglineDto> loadToEdit(String gearUseFeaturesLonglineId); - FormDto<GearUseFeaturesLonglineDto> preCreate(String tripLonglineId); + FormDto<GearUseFeaturesLonglineDto> preCreate(); @Write - String save(FormDto<GearUseFeaturesLonglineDto> form); + String save(String tripLonglineId, FormDto<GearUseFeaturesLonglineDto> form); @Write void delete(String tripLonglineId, String gearUseFeaturesLonglineId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineServiceTopia.java new file mode 100644 index 0000000..b71c04e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/GearUseFeaturesLonglineServiceTopia.java @@ -0,0 +1,115 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.TripLongline; +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.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.service.DataNotFoundException; + +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class GearUseFeaturesLonglineServiceTopia extends ObserveServiceTopia implements GearUseFeaturesLonglineService { + + @Override + public List<GearUseFeaturesLonglineDto> getGearUseFeaturesLonglineByTripLongline(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + List<GearUseFeaturesLonglineDto> dtos = Lists.newLinkedList(); + + for (GearUseFeaturesLongline features : tripLongline.getGearUseFeaturesLongline()) { + + GearUseFeaturesLonglineDto dto = entityToDto(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, features); + + dtos.add(dto); + } + + return dtos; + } + + @Override + public FormDto<GearUseFeaturesLonglineDto> loadToRead(String gearUseFeaturesLonglineId) { + + GearUseFeaturesLongline featuresLongline = loadEntity(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, gearUseFeaturesLonglineId); + + FormDto<GearUseFeaturesLonglineDto> form = entityToReadFormDto(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, featuresLongline); + + return form; + } + + @Override + public FormDto<GearUseFeaturesLonglineDto> loadToEdit(String gearUseFeaturesLonglineId) { + + GearUseFeaturesLongline featuresLongline = loadEntity(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, gearUseFeaturesLonglineId); + + FormDto<GearUseFeaturesLonglineDto> form = entityToEditFormDto( + GearUseFeaturesLonglineDto.class, + GearUseFeaturesLongline.class, + featuresLongline, + Sets.<Class<? extends IdDto>>newHashSet(GearDto.class, GearCaracteristicDto.class)); + + return form; + } + + @Override + public FormDto<GearUseFeaturesLonglineDto> preCreate() { + + GearUseFeaturesLongline featuresLongline = newEntity(GearUseFeaturesLongline.class); + + FormDto<GearUseFeaturesLonglineDto> form = entityToEditFormDto( + GearUseFeaturesLonglineDto.class, + GearUseFeaturesLongline.class, + featuresLongline, + Sets.<Class<? extends IdDto>>newHashSet(GearDto.class, GearCaracteristicDto.class)); + + return form; + } + + @Override + public String save(String tripLonglineId, FormDto<GearUseFeaturesLonglineDto> form) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + GearUseFeaturesLonglineDto featuresLonglineDto = form.getForm(); + + GearUseFeaturesLongline featuresLongline = dtoToEntity(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, featuresLonglineDto); + + featuresLongline = saveEntity(GearUseFeaturesLongline.class, featuresLongline); + + if (featuresLonglineDto.isNotPersisted()) { + + tripLongline.addGearUseFeaturesLongline(featuresLongline); + + saveEntity(TripLongline.class, tripLongline); + + } + + return featuresLongline.getTopiaId(); + } + + @Override + public void delete(String tripLonglineId, String gearUseFeaturesLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + GearUseFeaturesLongline featuresLongline = loadEntity(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, gearUseFeaturesLonglineId); + + if (! tripLongline.containsGearUseFeaturesLongline(featuresLongline)) { + throw new DataNotFoundException(GearUseFeaturesLonglineDto.class, gearUseFeaturesLonglineId); + } + + tripLongline.removeGearUseFeaturesLongline(featuresLongline); + + } + +} -- 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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit b5bafce535db9fa66993232963361d2a8a4bb1f3 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 11:19:47 2015 +0200 implantation ActivityLonglineService (refs #7458). --- .../service/longline/ActivityLonglineService.java | 29 ++++ .../service/longline/ActivitySeineService.java | 29 ---- .../main/xmi/observe-services-dto-longline.zargo | Bin 58090 -> 59030 bytes .../services/dto/ObserveDtosInitializer.java | 25 ++-- .../longline/ActivityLonglineServiceTopia.java | 161 +++++++++++++++++++++ 5 files changed, 205 insertions(+), 39 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java new file mode 100644 index 0000000..e31042e --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java @@ -0,0 +1,29 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.services.ObserveService; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.spi.Write; + +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public interface ActivityLonglineService extends ObserveService { + + List<ActivityLonglineStubDto> getActivityLonglineByRoute(String tripLonglineId); + + FormDto<ActivityLonglineDto> loadToRead(String activityLonglineId); + + FormDto<ActivityLonglineDto> loadToEdit(String activityLonglineId); + + FormDto<ActivityLonglineDto> preCreate(String tripLonglineId); + + @Write + String save(String tripLonglineId, FormDto<ActivityLonglineDto> form); + + @Write + void delete(String tripLonglineId, String activityLonglineId); +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivitySeineService.java deleted file mode 100644 index accb84f..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivitySeineService.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.ird.observe.services.service.longline; - -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.spi.Write; - -import java.util.List; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public interface ActivitySeineService extends ObserveService { - - FormDto<ActivitySeineDto> loadToRead(String activitySeineId); - - List<ReferenceDto<ActivitySeineDto>> getActivitySeineByRoute(String routeId); - - FormDto<ActivitySeineDto> loadToEdit(String activitySeineId); - - FormDto<ActivitySeineDto> preCreate(String routeId); - - @Write - String save(FormDto<ActivitySeineDto> form); - - @Write - void delete(String routeId, String activitySeineId); -} diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 54f806d..cf43c27 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.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 96dcef8..f4275b3 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 @@ -344,8 +344,8 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { @Override public void initActivityLonglineEncouterDto() { registerDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, - ActivityLonglineEncouterDto.PROPERTY_COMMENT, - ActivityLonglineEncouterDto.PROPERTY_ENCOUNTER + ActivityLonglineEncouterDto.PROPERTY_COMMENT, + ActivityLonglineEncouterDto.PROPERTY_ENCOUNTER ); } @@ -358,13 +358,18 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } @Override + public void initActivityLonglineStubDto() { + // la logique de copie est à ecrire directement dans le service + } + + @Override public void initBaitsCompositionDto() { registerMainDto(BaitsCompositionDto.class, BaitsComposition.class, - BaitsCompositionDto.PROPERTY_PROPORTION, - BaitsCompositionDto.PROPERTY_INDIVIDUAL_SIZE, - BaitsCompositionDto.PROPERTY_INDIVIDUAL_WEIGHT, - BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, - BaitsCompositionDto.PROPERTY_BAIT_TYPE + BaitsCompositionDto.PROPERTY_PROPORTION, + BaitsCompositionDto.PROPERTY_INDIVIDUAL_SIZE, + BaitsCompositionDto.PROPERTY_INDIVIDUAL_WEIGHT, + BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, + BaitsCompositionDto.PROPERTY_BAIT_TYPE ); } @@ -564,7 +569,7 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { @Override public void initSetLonglineCatchDto() { registerDto(SetLonglineCatchDto.class, SetLongline.class, - SetLonglineCatchDto.PROPERTY_CATCH_LONGLINE + SetLonglineCatchDto.PROPERTY_CATCH_LONGLINE ); } @@ -596,8 +601,8 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { @Override public void initSizeMeasureDto() { registerMainDto(SizeMeasureDto.class, SizeMeasure.class, - SizeMeasureDto.PROPERTY_SIZE, - SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE + SizeMeasureDto.PROPERTY_SIZE, + SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE ); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java new file mode 100644 index 0000000..9838f64 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -0,0 +1,161 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.service.DataNotFoundException; +import fr.ird.type.CoordinateHelper; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements ActivityLonglineService { + + @Override + public List<ActivityLonglineStubDto> getActivityLonglineByRoute(String tripLonglineId) { + + ReferenceLocale referenceLocale = getReferenceLocale(); + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + List<ActivityLonglineStubDto> stubs = Lists.newLinkedList(); + + for (ActivityLongline activityLongline : tripLongline.getActivityLongline()) { + + ActivityLonglineStubDto stub = new ActivityLonglineStubDto(); + + stub.setId(activityLongline.getTopiaId()); + + stub.setTimeStamp(activityLongline.getTimeStamp()); + + stub.setVesselActivityLonglineLabel(referenceLocale.getLabel(activityLongline.getVesselActivityLongline())); + + stub.setHasSetLongline(activityLongline.getSetLongline() != null); + + } + + return stubs; + + } + + @Override + public FormDto<ActivityLonglineDto> loadToRead(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineDto> form = entityToReadFormDto(ActivityLonglineDto.class, ActivityLongline.class, activityLongline); + + return form; + + } + + @Override + + public FormDto<ActivityLonglineDto> loadToEdit(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, ActivityLongline.class, activityLongline); + + return form; + + } + + @Override + public FormDto<ActivityLonglineDto> preCreate(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + ActivityLongline preCreated = newEntity(ActivityLongline.class); + + ActivityLongline lastActivityLongline = Iterables.getLast(tripLongline.getActivityLongline(), null); + + Date timestamp; + + if (lastActivityLongline == null) { + + // première activité, on utilise la date de début de marée (voir http://forge.codelutin.com/issues/6777) + Calendar calendar = Calendar.getInstance(); + calendar.setTime(tripLongline.getStartDate()); + timestamp = calendar.getTime(); + + } else { + + // on recupère le quadrant de cette activity + // et on l'affecte à la nouvelle activity + Integer quadrant = CoordinateHelper.getQuadrant( + lastActivityLongline.getLongitude(), + lastActivityLongline.getLatitude()); + + if (quadrant != null) { + + preCreated.setQuadrant(quadrant); + + } + + // on reprend la date et l'heure de la dernière activité + timestamp = lastActivityLongline.getTimeStamp(); + + } + + preCreated.setTimeStamp(timestamp); + + FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, ActivityLongline.class, preCreated); + + return form; + + } + + @Override + public String save(String tripLonglineId, FormDto<ActivityLonglineDto> form) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + ActivityLonglineDto activityLonglineDto = form.getForm(); + + ActivityLongline activityLongline = dtoToEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineDto); + + activityLongline = saveEntity(ActivityLongline.class, activityLongline); + + if (activityLonglineDto.isNotPersisted()) { + + tripLongline.addActivityLongline(activityLongline); + + saveEntity(TripLongline.class, tripLongline); + + } + + return activityLongline.getTopiaId(); + + } + + @Override + public void delete(String tripLonglineId, String activityLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + if (! tripLongline.containsActivityLongline(activityLongline)) { + + throw new DataNotFoundException(ActivityLonglineDto.class, activityLonglineId); + + } + + tripLongline.removeActivityLongline(activityLongline); + + } + + +} -- 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