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 discards a7093f4 implantation SetLonglineDetailCompositionService (refs #7458). discards b11dad6 implantation SetLonglineGlobalCompositionService (refs #7458). discards e84f5c0 implantation SetLonglineService (refs #7458). discards 6e869d9 implantation ActivityLongLineSensorUsedService (refs #7458). discards e7c9224 implantation ActivityLongLineEncouterService (refs #7458). discards 95ad74d implantation ActivityLongLineEncouterService (refs #7458). discards 15f1936 changement d'implantaton de la transformation de l'entité en formulaire. discards ec4ea49 implantation ActivityLonglineService (refs #7458). discards f9cbbfc implantation GearUseFeaturesLonglineService (refs #7458). discards 6586984 implantation TripLonglineService (refs #7458). adds b940674 implantation ActivitySeineObservedSystemService (refs #7458). adds 7045886 implantation floatingObjectService (refs #7458). adds 83420f2 implantation TransmittingBuoyOperationService (refs #7458). adds 72f194b implantation ObjectSchoolEstimateService (refs #7458). adds 90c7139 implantation ObjectObservedSpeciesService (refs #7458). adds 1259bbc add referenceDtoTypes (refs #7458). adds 1e18a90 implantation SetSeineServiceTopia (refs #7458). adds 6213435 implantation SchoolEstimateService (refs #7458). adds ecf7a1b implantation NonTargetCatchService (refs #7458). adds bef150e implantation TargetSampleService + test (refs #7458). adds f70ed0d implantation NonTargetSampleService (refs #7458). adds bd0a651 changement d'implantaton de la transformation de l'entité en formulaire. adds d03058d Eviter de créer une liste pour rien adds 852bf26 Renommage méthode adds b4f49fa Retour sur develop Merge branch 'feature/7458-topiaServices' into develop adds d09ff41 correction du nom repetoire des bases de test. new e1088d7 implantation TripLonglineService (refs #7458). new 0490a30 implantation GearUseFeaturesLonglineService (refs #7458). new 2769925 implantation ActivityLonglineService (refs #7458). new 3328c50 changement d'implantaton de la transformation de l'entité en formulaire. new 6ad0727 implantation ActivityLongLineEncouterService (refs #7458). new 01fe408 implantation ActivityLongLineEncouterService (refs #7458). new 706a9ac implantation ActivityLongLineSensorUsedService (refs #7458). new 607ac2a implantation SetLonglineService (refs #7458). new da08194 implantation SetLonglineGlobalCompositionService (refs #7458). new 1c0e909 implantation SetLonglineDetailCompositionService (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 (a7093f4) \ N -- N -- N refs/heads/feature/7458-LonglineTopiaService (1c0e909) 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 10 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 1c0e909b4178325b00768652a44bcd6178a8af9e Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 15:27:13 2015 +0200 implantation SetLonglineDetailCompositionService (refs #7458). commit da08194df0b89e1dbef6b03c79341fb0be8494ea Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:54:45 2015 +0200 implantation SetLonglineGlobalCompositionService (refs #7458). commit 607ac2a68acb323d34a2c5c2beff9014e3d7fd1c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:42:33 2015 +0200 implantation SetLonglineService (refs #7458). commit 706a9acfc032f8f142b3c4d87374f3120390bcf1 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:29:02 2015 +0200 implantation ActivityLongLineSensorUsedService (refs #7458). commit 01fe408adb7178b0b3484b0adcd4570e69dedf01 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:25:27 2015 +0200 implantation ActivityLongLineEncouterService (refs #7458). commit 6ad07270750993aaabcc5a1d465ebc4a8fff8961 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:23:19 2015 +0200 implantation ActivityLongLineEncouterService (refs #7458). commit 3328c50dd509bfd09974162f2872cfcb91c09567 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:16:32 2015 +0200 changement d'implantaton de la transformation de l'entité en formulaire. commit 276992532118283e383b3b84618fe3ada22fdcd6 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 11:19:47 2015 +0200 implantation ActivityLonglineService (refs #7458). commit 0490a30bcb499358c625a2b6b6cda79873619519 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 10:07:34 2015 +0200 implantation GearUseFeaturesLonglineService (refs #7458). commit e1088d7a98cb16df4f70e7e77a8537182ae9fab0 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 09:38:21 2015 +0200 implantation TripLonglineService (refs #7458). Summary of changes: .../service/seine/FloatingObjectService.java | 8 +- .../service/seine/NonTargetSampleService.java | 4 +- .../services/service/seine/SetSeineService.java | 7 +- .../service/seine/TargetSampleService.java | 4 +- .../services/builder/EntityToDtoBuilder.java | 5 +- .../ActivitySeineObservedSystemServiceTopia.java | 22 +++- .../service/seine/FloatingObjectServiceTopia.java | 82 +++++++++++-- .../service/seine/NonTargetCatchServiceTopia.java | 48 ++++++++ .../service/seine/NonTargetSampleServiceTopia.java | 122 +++++++++++++++++++ .../seine/ObjectObservedSpeciesServiceTopia.java | 56 +++++++++ .../seine/ObjectSchoolEstimateServiceTopia.java | 52 +++++++++ .../service/seine/SchoolEstimateServiceTopia.java | 46 ++++++++ .../service/seine/SetSeineServiceTopia.java | 116 ++++++++++++++++++ .../service/seine/TargetSampleServiceTopia.java | 130 +++++++++++++++++++++ .../TransmittingBuoyOperationServiceTopia.java | 54 +++++++++ .../services/ApplicationContextResource.java | 6 +- .../ird/observe/services/DataSourceResource.java | 2 +- .../seine/TargetSampleServiceTopiaTest.java | 70 +++++++++++ 18 files changed, 804 insertions(+), 30 deletions(-) create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.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 e1088d7a98cb16df4f70e7e77a8537182ae9fab0 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 09:38:21 2015 +0200 implantation TripLonglineService (refs #7458). --- .../entities/longline/TripLonglineTopiaDao.java | 4 +- .../service/longline/TripLonglineService.java | 4 +- .../main/xmi/observe-services-dto-longline.zargo | Bin 57340 -> 58090 bytes .../services/dto/ObserveDtosInitializer.java | 5 + .../service/longline/TripLonglineServiceTopia.java | 114 +++++++++++++++++++++ 5 files changed, 123 insertions(+), 4 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index d82baed..bba6edd 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -302,8 +302,8 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl trip.setStartDate(set.getTimestamp(2)); trip.setEndDate(set.getTimestamp(3)); - String observerFirstName = set.getString(4); - String observerLastName = set.getString(5); + String observerLastName = set.getString(4); + String observerFirstName = set.getString(5); Person observer = new PersonImpl(); observer.setFirstName(observerFirstName); observer.setLastName(observerLastName); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 336df82..bbca5df 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -2,8 +2,8 @@ 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.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineStubDto; import fr.ird.observe.services.spi.Write; import java.util.List; @@ -13,7 +13,7 @@ import java.util.List; */ public interface TripLonglineService extends ObserveService { - List<ReferenceDto<TripLonglineDto>> getTripLonglineByProgram(String programId); + List<TripLonglineStubDto> getTripLonglineByProgram(String programId); FormDto<TripLonglineDto> loadToRead(String tripLonglineId); 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 348b6d6..54f806d 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 3cebef7..96dcef8 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 @@ -653,6 +653,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } @Override + public void initTripLonglineStubDto() { + // la logique de copie est à ecrire directement dans le service + } + + @Override public void initWeightMeasureDto() { registerMainDto(WeightMeasureDto.class, WeightMeasure.class, WeightMeasureDto.PROPERTY_WEIGHT, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java new file mode 100644 index 0000000..a0363cb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -0,0 +1,114 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.Lists; +import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.TripLonglineTopiaDao; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineStubDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import org.nuiton.util.DateUtil; + +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TripLonglineServiceTopia extends ObserveServiceTopia implements TripLonglineService { + + protected TripLonglineTopiaDao getDao() { + return (TripLonglineTopiaDao) serviceContext.getTopiaPersistenceContext().getDao(TripLongline.class); + } + + @Override + public List<TripLonglineStubDto> getTripLonglineByProgram(String programId) { + + ReferenceLocale referenceLocale = getReferenceLocale(); + + List<TripLongline> tripLonglines = getDao().findAllStubByProgramId(programId, referenceLocale); + + List<TripLonglineStubDto> stubs = Lists.newLinkedList(); + + for (TripLongline tripLongline : tripLonglines) { + + TripLonglineStubDto stub = new TripLonglineStubDto(); + stub.setId(tripLongline.getTopiaId()); + stub.setStartDate(tripLongline.getStartDate()); + stub.setEndDate(tripLongline.getEndDate()); + stub.setVesselLabel(referenceLocale.getLabel(tripLongline.getVessel())); + stub.setObserverLabel(tripLongline.getObserverLabel()); + + stubs.add(stub); + + } + + return stubs; + } + + @Override + public FormDto<TripLonglineDto> loadToRead(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + FormDto<TripLonglineDto> form = entityToReadFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + return form; + } + + @Override + public FormDto<TripLonglineDto> loadToEdit(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + TripLonglineDto tripLonglineDto = form.getForm(); + + if (tripLonglineDto.getEndDate() == null) { + Date date = DateUtil.getEndOfDay(now()); + tripLonglineDto.setEndDate(date); + } + + return form; + } + + @Override + public FormDto<TripLonglineDto> preCreate(String programId) { + + TripLongline tripLongline = newEntity(TripLongline.class); + + Program program = loadEntity(ProgramDto.class, Program.class, programId); + + Date date = DateUtil.getDay(now()); + + tripLongline.setStartDate(date); + + tripLongline.setEndDate(date); + + tripLongline.setProgram(program); + + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + return form; + } + + @Override + public String save(FormDto<TripLonglineDto> form) { + + TripLongline tripLongline = dtoToEntity(TripLonglineDto.class, TripLongline.class, form.getForm()); + + tripLongline = saveEntity(TripLongline.class, tripLongline); + + return tripLongline.getTopiaId(); + } + + @Override + public void delete(String tripLonglineId) { + deleteEntity(TripLonglineDto.class, TripLongline.class, Collections.singleton(tripLonglineId)); + } +} -- 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 0490a30bcb499358c625a2b6b6cda79873619519 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 276992532118283e383b3b84618fe3ada22fdcd6 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 11:19:47 2015 +0200 implantation ActivityLonglineService (refs #7458). --- .../service/longline/ActivityLonglineService.java | 29 ++++ .../main/xmi/observe-services-dto-longline.zargo | Bin 58090 -> 59030 bytes .../services/dto/ObserveDtosInitializer.java | 25 ++-- .../longline/ActivityLonglineServiceTopia.java | 161 +++++++++++++++++++++ 4 files changed, 205 insertions(+), 10 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-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>.
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 3328c50dd509bfd09974162f2872cfcb91c09567 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:16:32 2015 +0200 changement d'implantaton de la transformation de l'entité en formulaire. --- .../service/longline/GearUseFeaturesLonglineServiceTopia.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 index b71c04e..5a33c76 100644 --- 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 @@ -1,12 +1,10 @@ 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; @@ -56,7 +54,8 @@ public class GearUseFeaturesLonglineServiceTopia extends ObserveServiceTopia imp GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, featuresLongline, - Sets.<Class<? extends IdDto>>newHashSet(GearDto.class, GearCaracteristicDto.class)); + GearDto.class, + GearCaracteristicDto.class); return form; } @@ -70,7 +69,8 @@ public class GearUseFeaturesLonglineServiceTopia extends ObserveServiceTopia imp GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, featuresLongline, - Sets.<Class<? extends IdDto>>newHashSet(GearDto.class, GearCaracteristicDto.class)); + GearDto.class, + GearCaracteristicDto.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 6ad07270750993aaabcc5a1d465ebc4a8fff8961 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:23:19 2015 +0200 implantation ActivityLongLineEncouterService (refs #7458). --- .../ActivityLongLineEncouterServiceTopia.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java new file mode 100644 index 0000000..97713a4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia implements ActivityLongLineEncouterService { + + @Override + public FormDto<ActivityLonglineEncouterDto> loadToRead(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineEncouterDto> form = entityToReadFormDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLongline); + + return form; + + } + + @Override + public FormDto<ActivityLonglineEncouterDto> loadToEdit(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineEncouterDto> form = entityToEditFormDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLongline); + + return form; + + } + + @Override + public String save(FormDto<ActivityLonglineEncouterDto> form) { + + ActivityLongline activityLongline = dtoToEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, form.getForm()); + + activityLongline = saveEntity(ActivityLongline.class, activityLongline); + + return activityLongline.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 01fe408adb7178b0b3484b0adcd4570e69dedf01 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:25:27 2015 +0200 implantation ActivityLongLineEncouterService (refs #7458). --- .../service/longline/ActivityLongLineEncouterServiceTopia.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index 97713a4..cf2fe1e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -4,6 +4,8 @@ import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -26,7 +28,12 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); - FormDto<ActivityLonglineEncouterDto> form = entityToEditFormDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLongline); + FormDto<ActivityLonglineEncouterDto> form = entityToEditFormDto( + ActivityLonglineEncouterDto.class, + ActivityLongline.class, + activityLongline, + EncounterTypeDto.class, + SpeciesDto.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 706a9acfc032f8f142b3c4d87374f3120390bcf1 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:29:02 2015 +0200 implantation ActivityLongLineSensorUsedService (refs #7458). --- .../ActivityLongLineSensorUsedService.java | 3 +- .../ActivityLongLineSensorUsedServiceTopia.java | 54 ++++++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java index 41ed246..c7f5388 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java @@ -2,7 +2,6 @@ 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.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.spi.Write; @@ -16,6 +15,6 @@ public interface ActivityLongLineSensorUsedService extends ObserveService { FormDto<ActivityLonglineSensorUsedDto> loadToEdit(String activityLonglineId); @Write - String save(FormDto<ActivityLonglineEncouterDto> form); + String save(FormDto<ActivityLonglineSensorUsedDto> form); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java new file mode 100644 index 0000000..547d474 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia implements ActivityLongLineSensorUsedService { + + @Override + public FormDto<ActivityLonglineSensorUsedDto> loadToRead(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineSensorUsedDto> form = entityToReadFormDto(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLongline); + + return form; + + } + + @Override + public FormDto<ActivityLonglineSensorUsedDto> loadToEdit(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLonglineId); + + FormDto<ActivityLonglineSensorUsedDto> form = entityToEditFormDto( + ActivityLonglineSensorUsedDto.class, + ActivityLongline.class, + activityLongline, + SensorTypeDto.class, + SensorBrandDto.class, + SensorDataFormatDto.class); + + return form; + + } + + @Override + public String save(FormDto<ActivityLonglineSensorUsedDto> form) { + + ActivityLongline activityLongline = dtoToEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, form.getForm()); + + activityLongline = saveEntity(ActivityLongline.class, activityLongline); + + return activityLongline.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 607ac2a68acb323d34a2c5c2beff9014e3d7fd1c Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:42:33 2015 +0200 implantation SetLonglineService (refs #7458). --- .../service/longline/SetLonglineService.java | 5 +- .../service/longline/SetLonglineServiceTopia.java | 112 +++++++++++++++++++++ 2 files changed, 113 insertions(+), 4 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java index b95c7ff..8f37657 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java @@ -2,7 +2,6 @@ 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.longline.SetLonglineDto; import fr.ird.observe.services.spi.Write; @@ -11,8 +10,6 @@ import fr.ird.observe.services.spi.Write; */ public interface SetLonglineService extends ObserveService { - ReferenceDto<SetLonglineDto> getSetLonglineByActivityLongline(String activityLonglineId); - FormDto<SetLonglineDto> loadToRead(String setLonglineId); FormDto<SetLonglineDto> loadToEdit(String setLonglineId); @@ -20,7 +17,7 @@ public interface SetLonglineService extends ObserveService { FormDto<SetLonglineDto> preCreate(String activityLonglineId); @Write - String save(FormDto<SetLonglineDto> form); + String save(String activityLonglineId, FormDto<SetLonglineDto> form); @Write void delete(String activityLonglineId, String setLonglineId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java new file mode 100644 index 0000000..de64f79 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -0,0 +1,112 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.SetLongline; +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.SetLonglineDto; +import fr.ird.observe.services.service.DataNotFoundException; +import org.apache.commons.lang3.time.DateUtils; + +import java.util.Date; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetLonglineService { + + @Override + public FormDto<SetLonglineDto> loadToRead(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDto> form = entityToReadFormDto(SetLonglineDto.class, SetLongline.class, setLongline); + + return form; + + } + + @Override + public FormDto<SetLonglineDto> loadToEdit(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, setLongline); + + return form; + + } + + @Override + public FormDto<SetLonglineDto> preCreate(String activityLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + SetLongline preCreated = newEntity(SetLongline.class); + + // on utilise la date - heure de l'activité pour initialiser les horodatages + // de l'opération de peche + Date timeStamp = activityLongline.getTimeStamp(); + preCreated.setSettingStartTimeStamp(timeStamp); + preCreated.setSettingEndTimeStamp(DateUtils.addHours(timeStamp, 1)); + preCreated.setHaulingStartTimeStamp(DateUtils.addHours(timeStamp, 2)); + preCreated.setHaulingEndTimeStamp(DateUtils.addHours(timeStamp, 3)); + + // on reporte la position de l'activité pour la position de début de filage + Float latitude = activityLongline.getLatitude(); + Float longitude = activityLongline.getLongitude(); + + // On enregistre deux fois les coordonnées car la première fois on perd le signe à cause de l'éditeur + preCreated.setSettingStartLatitude(latitude); + preCreated.setSettingStartLongitude(longitude); + preCreated.setSettingStartLatitude(latitude); + preCreated.setSettingStartLongitude(longitude); + + FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, preCreated); + + return form; + + } + + @Override + public String save(String activityLonglineId, FormDto<SetLonglineDto> form) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + SetLonglineDto setLonglineDto = form.getForm(); + + SetLongline setLongline = dtoToEntity(SetLonglineDto.class, SetLongline.class, setLonglineDto); + + setLongline = saveEntity(SetLongline.class, setLongline); + + if (setLonglineDto.isNotPersisted()) { + + activityLongline.setSetLongline(setLongline); + + saveEntity(ActivityLongline.class, activityLongline); + + } + + return setLongline.getTopiaId(); + + } + + @Override + public void delete(String activityLonglineId, String setLonglineId) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + + SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + + if (!activityLongline.getSetLongline().equals(setLongline)) { + + throw new DataNotFoundException(SetLonglineDto.class, setLonglineId); + + } + + activityLongline.setSetLongline(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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit da08194df0b89e1dbef6b03c79341fb0be8494ea Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 12:54:45 2015 +0200 implantation SetLonglineGlobalCompositionService (refs #7458). --- .../SetLonglineGlobalCompositionServiceTopia.java | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java new file mode 100644 index 0000000..ea6fa75 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -0,0 +1,62 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineGlobalCompositionService { + + @Override + public FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineGlobalCompositionDto> form = entityToReadFormDto( + SetLonglineGlobalCompositionDto.class, + SetLongline.class, + setLongline); + + return form; + } + + @Override + public FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineGlobalCompositionDto> form = entityToEditFormDto( + SetLonglineGlobalCompositionDto.class, + SetLongline.class, + setLongline, + LineTypeDto.class, + HookTypeDto.class, + HookSizeDto.class, + BaitSettingStatusDto.class, + BaitTypeDto.class, + MitigationTypeDto.class); + + return form; + } + + @Override + public String save(FormDto<SetLonglineGlobalCompositionDto> form) { + + SetLonglineGlobalCompositionDto setLonglineGlobalCompositionDto = form.getForm(); + + SetLongline setLongline = dtoToEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineGlobalCompositionDto); + + setLongline = saveEntity(SetLongline.class, setLongline); + + return setLongline.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-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 1c0e909b4178325b00768652a44bcd6178a8af9e Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 15:27:13 2015 +0200 implantation SetLonglineDetailCompositionService (refs #7458). --- .../SetLonglineDetailCompositionService.java | 8 +- .../SetLonglineDetailCompositionServiceTopia.java | 63 ++++++++ ...tLonglineDetailCompositionServiceTopiaTest.java | 168 +++++++++++++++++++++ 3 files changed, 235 insertions(+), 4 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java index 4058f75..8f35d2f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java @@ -2,7 +2,7 @@ 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.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.spi.Write; /** @@ -10,11 +10,11 @@ import fr.ird.observe.services.spi.Write; */ public interface SetLonglineDetailCompositionService extends ObserveService { - FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId); + FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId); - FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId); @Write - String save(FormDto<SetLonglineGlobalCompositionDto> form); + String save(FormDto<SetLonglineDetailCompositionDto> form); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java new file mode 100644 index 0000000..de52dc3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -0,0 +1,63 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineDetailCompositionService { + + @Override + public FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDetailCompositionDto> form = entityToReadFormDto( + SetLonglineDetailCompositionDto.class, + SetLongline.class, + setLongline); + + return form; + } + + @Override + public FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDetailCompositionDto> form = entityToEditFormDto( + SetLonglineDetailCompositionDto.class, + SetLongline.class, + setLongline, + LineTypeDto.class, + HookTypeDto.class, + HookSizeDto.class, + BaitTypeDto.class, + BaitSettingStatusDto.class, + BaitHaulingStatusDto.class); + + return form; + } + + @Override + public String save(FormDto<SetLonglineDetailCompositionDto> form) { + + SetLonglineDetailCompositionDto setLonglineDetailCompositionDto = form.getForm(); + + SetLongline setLongline = dtoToEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineDetailCompositionDto); + + setLongline = saveEntity(SetLongline.class, setLongline); + + return setLongline.getTopiaId(); + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java new file mode 100644 index 0000000..bf5ae25 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -0,0 +1,168 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.util.DateUtil; + +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { + + protected SetLonglineDetailCompositionService service; + + public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of( + "saveTest"); + } + + @Override + public String getScriptName() { + return "dataForTestLongline"; + } + + @Override + public void setUp() throws Exception { + + super.setUp(); + + service = newService(SetLonglineDetailCompositionService.class); + + } + + @Test + public void loadToEditTest() { + + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + + Assert.assertNotNull(formDto); + + SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + Assert.assertNotNull(compositionDto); + + Assert.assertEquals(18, compositionDto.sizeSection()); + + SectionDto sectionDto = compositionDto.getSection(0); + Assert.assertEquals(new Integer(1), sectionDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(18), sectionDto.getHaulingIdentifier()); + Assert.assertEquals(13, sectionDto.sizeBasket()); + + BasketDto basketDto = sectionDto.getBasket(0); + Assert.assertEquals(new Integer(1), basketDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(13), basketDto.getHaulingIdentifier()); + Assert.assertEquals(6, basketDto.sizeBranchline()); + + BranchlineDto branchlineDto = basketDto.getBranchline(0); + Assert.assertEquals(new Integer(1), branchlineDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(6), branchlineDto.getHaulingIdentifier()); + } + + @Test + public void saveTest() { + + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + + SectionDto sectionDto = compositionDto.getSection(4); + + BasketDto basketDto = sectionDto.getBasket(3); + basketDto.setFloatline1Length(4.4f); + basketDto.setFloatline2Length(5.5f); + + BranchlineDto branchlineDto = basketDto.getBranchline(0); + branchlineDto.setBranchlineLength(1.2f); + branchlineDto.setTracelineLength(2.8f); + + ReferentialReferenceDto<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); + branchlineDto.setTopType(topType); + ReferentialReferenceDto<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); + branchlineDto.setTracelineType(tracelineType); + branchlineDto.setDepthRecorder(true); + branchlineDto.setHookLost(false); + branchlineDto.setTraceCutOff(false); + branchlineDto.setTimer(true); + branchlineDto.setTimeSinceContact(25478l); + branchlineDto.setTimerTimeOnBoard(DateUtil.createDate(14, 57, 10, 2, 8, 2009)); + branchlineDto.setWeightedSnap(true); + branchlineDto.setSnapWeight(0.8f); + branchlineDto.setWeightedSwivel(true); + branchlineDto.setSwivelWeight(0.45f); + + ReferentialReferenceDto<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); + branchlineDto.setHookType(hookType); + ReferentialReferenceDto<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); + branchlineDto.setHookSize(hookSize); + branchlineDto.setHookOffset(24); + ReferentialReferenceDto<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); + branchlineDto.setBaitType(baitType); + ReferentialReferenceDto<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); + branchlineDto.setBaitSettingStatus(baitSettingStatus); + ReferentialReferenceDto<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); + branchlineDto.setBaitHaulingStatus(baitHaulingStatus); + + service.save(formDto); + + SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID); + + Section section = setLongline.getSectionByTopiaId(sectionDto.getId()); + Assert.assertEquals(sectionDto.getSettingIdentifier(), section.getSettingIdentifier()); + Assert.assertEquals(sectionDto.getHaulingIdentifier(), section.getHaulingIdentifier()); + + Basket basket = section.getBasketByTopiaId(basketDto.getId()); + Assert.assertEquals(basketDto.getSettingIdentifier(), basket.getSettingIdentifier()); + Assert.assertEquals(basketDto.getHaulingIdentifier(), basket.getHaulingIdentifier()); + Assert.assertEquals(basketDto.getFloatline1Length(), basket.getFloatline1Length()); + Assert.assertEquals(basketDto.getFloatline2Length(), basket.getFloatline2Length()); + + Branchline branchline = basket.getBranchlineByTopiaId(branchlineDto.getId()); + Assert.assertEquals(branchlineDto.getSettingIdentifier(), branchline.getSettingIdentifier()); + Assert.assertEquals(branchlineDto.getHaulingIdentifier(), branchline.getHaulingIdentifier()); + Assert.assertEquals(branchlineDto.getBranchlineLength(), branchline.getBranchlineLength()); + Assert.assertEquals(branchlineDto.getTracelineLength(), branchline.getTracelineLength()); + + assertReferenceDtoEqualsEntity(topType, branchline.getTopType()); + assertReferenceDtoEqualsEntity(tracelineType, branchline.getTracelineType()); + Assert.assertEquals(branchlineDto.getDepthRecorder(), branchline.getDepthRecorder()); + Assert.assertEquals(branchlineDto.getHookLost(), branchline.getHookLost()); + Assert.assertEquals(branchlineDto.getTraceCutOff(), branchline.getTraceCutOff()); + Assert.assertEquals(branchlineDto.getTimer(), branchline.getTimer()); + Assert.assertEquals(branchlineDto.getTimeSinceContact().longValue(), branchline.getTimeSinceContact()); + Assert.assertEquals(branchlineDto.getTimerTimeOnBoard(), branchline.getTimerTimeOnBoard()); + Assert.assertEquals(branchlineDto.getWeightedSnap(), branchline.getWeightedSnap()); + Assert.assertEquals(branchlineDto.getSnapWeight(), branchline.getSnapWeight()); + Assert.assertEquals(branchlineDto.getWeightedSwivel(), branchline.getWeightedSwivel()); + Assert.assertEquals(branchlineDto.getSwivelWeight(), branchline.getSwivelWeight()); + + assertReferenceDtoEqualsEntity(hookType, branchline.getHookType()); + assertReferenceDtoEqualsEntity(hookSize, branchline.getHookSize()); + Assert.assertEquals(branchlineDto.getSwivelWeight(), branchline.getSwivelWeight()); + assertReferenceDtoEqualsEntity(baitType, branchline.getBaitType()); + assertReferenceDtoEqualsEntity(baitSettingStatus, branchline.getBaitSettingStatus()); + assertReferenceDtoEqualsEntity(baitHaulingStatus, branchline.getBaitHaulingStatus()); + + } + +} -- 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