branch feature/refactor_reference updated (053452c -> 19a0f2e)
This is an automated email from the git hooks/post-receive script. New change to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git from 053452c Quelques corrections sur les Binders + début de mise en place dans l'application swin new 19a0f2e Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) The 1 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 19a0f2e6e6a3103e2c8d2324080dcf628030edaf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:14:52 2015 +0100 Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) Summary of changes: .../LonglineDetailCompositionUIHandler.java | 2 +- .../LonglineGlobalCompositionUIHandler.java | 3 +- .../impl/longline/SetLonglineUIHandler.java | 3 +- .../ActivitySeineObservedSystemUIHandler.java | 5 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 6 +- .../impl/seine/FloatingObjectUIHandler.java | 6 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 5 +- .../impl/longline/ActivityLonglineUIHandler.java | 3 +- .../open/impl/longline/TripLonglineUIHandler.java | 5 +- .../open/impl/seine/ActivitySeineUIHandler.java | 5 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 3 +- .../open/impl/seine/TripSeineUIHandler.java | 3 +- .../ui/content/ref/ContentReferenceUIHandler.java | 16 ++-- .../impl/longline/CatchLonglineUIHandler.java | 8 +- .../table/impl/longline/EncounterUIHandler.java | 6 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 4 +- .../table/impl/longline/SensorUsedUIHandler.java | 6 +- .../content/table/impl/longline/TdrUIHandler.java | 4 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 4 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 6 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 6 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 6 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 6 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 5 +- .../table/impl/seine/TargetCatchUIHandler.java | 6 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 6 +- .../table/impl/seine/TargetSampleUIHandler.java | 6 +- .../v1/ReferentialServiceController.java | 3 +- .../v1/longline/BranchlineServiceController.java | 9 +- .../v1/seine/FloatingObjectServiceController.java | 3 +- .../v1/seine/NonTargetSampleServiceController.java | 3 +- .../ObjectObservedSpeciesServiceController.java | 3 +- .../ObjectSchoolEstimateServiceController.java | 3 +- .../v1/seine/SchoolEstimateServiceController.java | 3 +- .../v1/seine/SetSeineServiceController.java | 3 +- ...TransmittingBuoyOperationServiceController.java | 3 +- .../observe/ObserveTopiaPersistenceContext.java | 15 ++++ .../services/service/ReferentialService.java | 3 +- .../service/longline/BranchlineService.java | 5 +- .../service/seine/FloatingObjectService.java | 3 +- .../service/seine/NonTargetSampleService.java | 3 +- .../seine/ObjectObservedSpeciesService.java | 3 +- .../service/seine/ObjectSchoolEstimateService.java | 3 +- .../service/seine/SchoolEstimateService.java | 3 +- .../services/service/seine/SetSeineService.java | 3 +- .../seine/TransmittingBuoyOperationService.java | 3 +- .../observe/services/dto/result/SaveResultDto.java | 15 ++++ .../ird/observe/services/ObserveServiceTopia.java | 99 +++++++++++++++------- .../services/service/ReferentialServiceTopia.java | 14 +-- .../ActivityLongLineEncouterServiceTopia.java | 10 ++- .../ActivityLongLineSensorUsedServiceTopia.java | 10 ++- .../longline/ActivityLonglineServiceTopia.java | 14 ++- .../service/longline/BranchlineServiceTopia.java | 34 +++++--- .../longline/SetLonglineCatchServiceTopia.java | 11 ++- .../SetLonglineDetailCompositionServiceTopia.java | 10 ++- .../SetLonglineGlobalCompositionServiceTopia.java | 10 ++- .../service/longline/SetLonglineServiceTopia.java | 12 ++- .../services/service/longline/TdrServiceTopia.java | 11 ++- .../longline/TripLonglineGearUseServiceTopia.java | 16 ++-- .../service/longline/TripLonglineServiceTopia.java | 12 +-- .../ActivitySeineObservedSystemServiceTopia.java | 11 ++- .../service/seine/ActivitySeineServiceTopia.java | 14 ++- .../service/seine/FloatingObjectServiceTopia.java | 16 ++-- .../service/seine/NonTargetCatchServiceTopia.java | 11 +-- .../service/seine/NonTargetSampleServiceTopia.java | 18 ++-- .../seine/ObjectObservedSpeciesServiceTopia.java | 15 ++-- .../seine/ObjectSchoolEstimateServiceTopia.java | 15 ++-- .../services/service/seine/RouteServiceTopia.java | 15 ++-- .../service/seine/SchoolEstimateServiceTopia.java | 16 ++-- .../service/seine/SetSeineServiceTopia.java | 17 ++-- .../service/seine/TargetCatchServiceTopia.java | 8 +- .../service/seine/TargetSampleServiceTopia.java | 18 ++-- .../TransmittingBuoyOperationServiceTopia.java | 14 +-- .../seine/TripSeineGearUseServiceTopia.java | 16 ++-- .../service/seine/TripSeineServiceTopia.java | 12 +-- 75 files changed, 448 insertions(+), 267 deletions(-) create mode 100644 observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.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/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 19a0f2e6e6a3103e2c8d2324080dcf628030edaf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:14:52 2015 +0100 Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) --- .../LonglineDetailCompositionUIHandler.java | 2 +- .../LonglineGlobalCompositionUIHandler.java | 3 +- .../impl/longline/SetLonglineUIHandler.java | 3 +- .../ActivitySeineObservedSystemUIHandler.java | 5 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 6 +- .../impl/seine/FloatingObjectUIHandler.java | 6 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 5 +- .../impl/longline/ActivityLonglineUIHandler.java | 3 +- .../open/impl/longline/TripLonglineUIHandler.java | 5 +- .../open/impl/seine/ActivitySeineUIHandler.java | 5 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 3 +- .../open/impl/seine/TripSeineUIHandler.java | 3 +- .../ui/content/ref/ContentReferenceUIHandler.java | 16 ++-- .../impl/longline/CatchLonglineUIHandler.java | 8 +- .../table/impl/longline/EncounterUIHandler.java | 6 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 4 +- .../table/impl/longline/SensorUsedUIHandler.java | 6 +- .../content/table/impl/longline/TdrUIHandler.java | 4 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 4 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 6 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 6 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 6 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 6 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 5 +- .../table/impl/seine/TargetCatchUIHandler.java | 6 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 6 +- .../table/impl/seine/TargetSampleUIHandler.java | 6 +- .../v1/ReferentialServiceController.java | 3 +- .../v1/longline/BranchlineServiceController.java | 9 +- .../v1/seine/FloatingObjectServiceController.java | 3 +- .../v1/seine/NonTargetSampleServiceController.java | 3 +- .../ObjectObservedSpeciesServiceController.java | 3 +- .../ObjectSchoolEstimateServiceController.java | 3 +- .../v1/seine/SchoolEstimateServiceController.java | 3 +- .../v1/seine/SetSeineServiceController.java | 3 +- ...TransmittingBuoyOperationServiceController.java | 3 +- .../observe/ObserveTopiaPersistenceContext.java | 15 ++++ .../services/service/ReferentialService.java | 3 +- .../service/longline/BranchlineService.java | 5 +- .../service/seine/FloatingObjectService.java | 3 +- .../service/seine/NonTargetSampleService.java | 3 +- .../seine/ObjectObservedSpeciesService.java | 3 +- .../service/seine/ObjectSchoolEstimateService.java | 3 +- .../service/seine/SchoolEstimateService.java | 3 +- .../services/service/seine/SetSeineService.java | 3 +- .../seine/TransmittingBuoyOperationService.java | 3 +- .../observe/services/dto/result/SaveResultDto.java | 15 ++++ .../ird/observe/services/ObserveServiceTopia.java | 99 +++++++++++++++------- .../services/service/ReferentialServiceTopia.java | 14 +-- .../ActivityLongLineEncouterServiceTopia.java | 10 ++- .../ActivityLongLineSensorUsedServiceTopia.java | 10 ++- .../longline/ActivityLonglineServiceTopia.java | 14 ++- .../service/longline/BranchlineServiceTopia.java | 34 +++++--- .../longline/SetLonglineCatchServiceTopia.java | 11 ++- .../SetLonglineDetailCompositionServiceTopia.java | 10 ++- .../SetLonglineGlobalCompositionServiceTopia.java | 10 ++- .../service/longline/SetLonglineServiceTopia.java | 12 ++- .../services/service/longline/TdrServiceTopia.java | 11 ++- .../longline/TripLonglineGearUseServiceTopia.java | 16 ++-- .../service/longline/TripLonglineServiceTopia.java | 12 +-- .../ActivitySeineObservedSystemServiceTopia.java | 11 ++- .../service/seine/ActivitySeineServiceTopia.java | 14 ++- .../service/seine/FloatingObjectServiceTopia.java | 16 ++-- .../service/seine/NonTargetCatchServiceTopia.java | 11 +-- .../service/seine/NonTargetSampleServiceTopia.java | 18 ++-- .../seine/ObjectObservedSpeciesServiceTopia.java | 15 ++-- .../seine/ObjectSchoolEstimateServiceTopia.java | 15 ++-- .../services/service/seine/RouteServiceTopia.java | 15 ++-- .../service/seine/SchoolEstimateServiceTopia.java | 16 ++-- .../service/seine/SetSeineServiceTopia.java | 17 ++-- .../service/seine/TargetCatchServiceTopia.java | 8 +- .../service/seine/TargetSampleServiceTopia.java | 18 ++-- .../TransmittingBuoyOperationServiceTopia.java | 14 +-- .../seine/TripSeineGearUseServiceTopia.java | 16 ++-- .../service/seine/TripSeineServiceTopia.java | 12 +-- 75 files changed, 448 insertions(+), 267 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 608d4fe..3089436 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -516,7 +516,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong } SaveResultDto saveResult = getSetLonglineDetailCompositionService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 54620da..f0d857a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -218,8 +218,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong bean.setBaitsComposition(getUi().getBaitsCompositionModel().getBean().getBaitsComposition()); SaveResultDto saveResult = getSetLonglineGlobalCompositionService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index ef90f9c..40f213c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -337,8 +337,7 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { String activityId = getSelectedParentId(); SaveResultDto saveResult = getSetLonglineService().save(activityId, bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 1153c7d..dd90b56 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -107,10 +107,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ @Override protected boolean doSave(ActivitySeineObservedSystemDto bean) throws Exception { - // on sauvegarde l'activity (mais pas la set) + // on sauvegarde l'activity (mais pas la calée) SaveResultDto saveResult = getActivitySeineObservedSystemService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 9bac199..a7bf8bf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -24,13 +24,14 @@ package fr.ird.observe.ui.content.impl.seine; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDtos; @@ -212,7 +213,8 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH @Override protected boolean doSave(FloatingObjectTransmittingBuoyDto bean) throws Exception { - getTransmittingBuoyOperationService().save(bean); + SaveResultDto saveResult = getTransmittingBuoyOperationService().save(bean); + saveResult.toDto(bean); //FIXME, il faut declancher un evenement dans le cache du storage pour pouvoir redessiner le noeud return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 29f70a6..e0a2f4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -27,6 +27,7 @@ import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.FloatingObjectDtos; @@ -164,10 +165,11 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> String activityId = getSelectedParentId(); - String floatingObjectId = getFloatingObjectService().save(activityId, bean); - bean.setId(floatingObjectId); + SaveResultDto saveResult = getFloatingObjectService().save(activityId, bean); + saveResult.toDto(bean); return true; + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 7252aec..837453b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.SchoolType; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -246,8 +247,8 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { String activityId = getSelectedParentId(); - String beanId = getSetSeineService().save(activityId, bean); - bean.setId(beanId); + SaveResultDto saveResult = getSetSeineService().save(activityId, bean); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 8b7a80c..34ae2f0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -243,8 +243,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity String tripId = getSelectedParentId(); TripChildSaveResultDto saveResult = getActivityLonglineService().save(tripId, getModel().getBean()); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 169cbf4..e5a845b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -267,8 +267,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline @Override protected boolean doSave(TripLonglineDto bean) throws Exception { - String programId = getDataContext().getSelectedProgramId(); - // on force toujours la date a etre sans heure, minute,... Date startDate = DateUtil.getDay(bean.getStartDate()); if (log.isDebugEnabled()) { @@ -282,8 +280,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } SaveResultDto saveResult = getTripLonglineService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); // recuperation de la position de la maree dans le program obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 684dfcd..5f003f1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -278,9 +278,8 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei bean.setOpen(true); - SaveResultDto result = getActivitySeineService().save(routeId, getModel().getBean()); - bean.setId(result.getId()); - bean.setLastUpdate(result.getLastUpdate()); + SaveResultDto saveResult = getActivitySeineService().save(routeId, getModel().getBean()); + saveResult.toDto(bean); obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 032a298..3b314d6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -205,8 +205,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { bean.setOpen(true); TripChildSaveResultDto saveResult = getRouteService().save(tripId, bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 7098d7f..63f6280 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -278,8 +278,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } SaveResultDto saveResult = getTripSeineService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); // recuperation de la position de la maree dans le program obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index a33b29e..dba5d4b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -34,6 +34,7 @@ import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; @@ -677,15 +678,17 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content log.info("Create referentiel " + bean); } - String beanId = getReferentialService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getReferentialService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); if (bean instanceof ProgramDto) { // add the program in tree ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - //FIXME ReferentialReference -// treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); + ReferentialReference<ProgramDto> reference = ObserveSwingApplicationContext.get().getReferenceBinderEngine().transformReferentialDtoToReference(getDecoratorService().getReferentialLocale(), (ProgramDto) bean); + treeHelper.addProgram(reference); + } return true; @@ -731,8 +734,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // sauvegarde du bean d'edition dans le bean de la base - String beanId = getReferentialService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getReferentialService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); if (bean instanceof ProgramDto) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index f02817d..ab0c5e6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -240,7 +240,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat BranchlineDto branchline = ui.getBranchlineBean(); - getBranchLineService().save(branchline); + String openSetLonglineId = getDataContext().getOpenSetLonglineId(); + SaveResultDto saveResult = getBranchLineService().save(openSetLonglineId, branchline); + saveResult.toDto(branchline); getUi().getBranchlineValidator().setChanged(false); @@ -729,7 +731,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat log.info("Use branchline: " + newValue); } - Form<BranchlineDto> form = getBranchLineService().loadForm(newValue.getId()); + String setLonglineId = getDataContext().getSelectedSetLonglineId(); + + Form<BranchlineDto> form = getBranchLineService().loadForm(setLonglineId, newValue.getId()); BranchlineDtos.copyBranchlineDto(form.getObject(), branchline); if (ui.getValidator().getBean() == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index cb04e43..a6269e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -99,8 +99,10 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void doPersist(ActivityLonglineEncouterDto bean) { - SaveResultDto saveResultDtoave = getActivityLongLineEncouterService().save(bean); - bean.setLastUpdate(saveResultDtoave.getLastUpdate()); + + SaveResultDto saveResult = getActivityLongLineEncouterService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 18dcfc5..51d55bf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -483,8 +483,10 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void doPersist(TripLonglineGearUseDto bean) { + SaveResultDto saveResult = getTripLonglineGearUseService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index e52cab6..84c860c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.services.dto.longline.SensorUsedDto; 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; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.UIHelper; @@ -229,7 +230,10 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void doPersist(ActivityLonglineSensorUsedDto bean) { - getActivityLonglineSensorUsedService().save(bean); + + SaveResultDto saveResult= getActivityLonglineSensorUsedService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 55c5aad..2a83b3d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -462,8 +462,10 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void doPersist(SetLonglineTdrDto bean) { + SaveResultDto saveResult = getTdrService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index c6b62a5..1c00447 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -480,8 +480,10 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void doPersist(TripSeineGearUseDto bean) { + SaveResultDto saveResult = getTripSeineGearUseService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index a3f93d7..d1ed6c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDtos; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; @@ -360,7 +361,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa @Override protected void doPersist(SetSeineNonTargetCatchDto bean) { - getNonTargetCatchService().save(bean); + + SaveResultDto saveResult = getNonTargetCatchService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index ceeb826..c3db701 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDtos; @@ -295,7 +296,10 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void doPersist(NonTargetSampleDto bean) { - getNonTargetSampleService().save(getSelectedParentId(), bean); + + SaveResultDto saveResult = getNonTargetSampleService().save(getSelectedParentId(), bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 9a22a1b..bf044ed 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -26,6 +26,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDtos; import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; @@ -93,7 +94,10 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void doPersist(FloatingObjectObservedSpeciesDto bean) { - getObjectObservedSpeciesService().save(bean); + + SaveResultDto saveResult = getObjectObservedSpeciesService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 346be86..b59ce24 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -25,6 +25,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; @@ -89,7 +90,10 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void doPersist(FloatingObjectSchoolEstimateDto bean) { - getObjectSchoolEstimateService().save(bean); + + SaveResultDto saveResult = getObjectSchoolEstimateService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index 9facd2d..11d6629 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -30,6 +30,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDtos; @@ -127,7 +128,9 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo @Override protected void doPersist(SetSeineSchoolEstimateDto bean) { - getSchoolEstimateService().save(bean); + + SaveResultDto saveResult = getSchoolEstimateService().save(bean); + saveResult.toDto(bean); } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 9c8c68c..f2d8303 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -277,8 +277,10 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @Override protected void doPersist(SetSeineTargetCatchDto bean) { - SaveResultDto save = getTargetCatchService().save(bean); - bean.setLastUpdate(save.getLastUpdate()); + + SaveResultDto saveResult = getTargetCatchService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index afde7c5..3c7480b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -483,8 +483,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override protected void doPersist(SetSeineTargetCatchDto bean) { - SaveResultDto save = getTargetCatchService().save(bean); - bean.setLastUpdate(save.getLastUpdate()); + + SaveResultDto saveResult = getTargetCatchService().save(bean); + saveResult.toDto(bean); + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 7e871c6..1e70b0e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -312,8 +312,10 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void doPersist(TargetSampleDto bean) { - SaveResultDto saveResultDto = getTargetSampleService().save(getSelectedParentId(), bean); - bean.setLastUpdate(saveResultDto.getLastUpdate()); + + SaveResultDto saveResult = getTargetSampleService().save(getSelectedParentId(), bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index 8044135..6e44588 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferenceSetsRequest; import fr.ird.observe.services.service.ReferentialService; @@ -78,7 +79,7 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override - public <R extends ReferentialDto> String save(R bean) { + public <R extends ReferentialDto> SaveResultDto save(R bean) { return service.save(bean); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java index ad6e4e5..db7726d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java @@ -3,6 +3,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.BranchlineService; /** @@ -15,12 +16,12 @@ public class BranchlineServiceController extends ObserveAuthenticatedServiceCont } @Override - public Form<BranchlineDto> loadForm(String branchlineId) { - return service.loadForm(branchlineId); + public Form<BranchlineDto> loadForm(String setLonglineId, String id) { + return service.loadForm(setLonglineId, id); } @Override - public String save(BranchlineDto dto) { - return service.save(dto); + public SaveResultDto save(String setLonglineId, BranchlineDto dto) { + return service.save(setLonglineId, dto); } } \ No newline at end of file diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index 7014276..7efe03c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -26,6 +26,7 @@ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceC import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.seine.FloatingObjectService; @@ -69,7 +70,7 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public String save(String activitySeineId, FloatingObjectDto dto) { + public SaveResultDto save(String activitySeineId, FloatingObjectDto dto) { return service.save(activitySeineId, dto); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java index 3448203..3eb55e5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.service.seine.NonTargetSampleService; @@ -47,7 +48,7 @@ public class NonTargetSampleServiceController extends ObserveAuthenticatedServic } @Override - public String save(String setSeineId, NonTargetSampleDto dto) { + public SaveResultDto save(String setSeineId, NonTargetSampleDto dto) { return service.save(setSeineId, dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java index a1a112d..83362ff 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.service.seine.ObjectObservedSpeciesService; @@ -42,7 +43,7 @@ public class ObjectObservedSpeciesServiceController extends ObserveAuthenticated } @Override - public String save(FloatingObjectObservedSpeciesDto dto) { + public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java index 0754a74..1fe707a 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.service.seine.ObjectSchoolEstimateService; @@ -42,7 +43,7 @@ public class ObjectSchoolEstimateServiceController extends ObserveAuthenticatedS } @Override - public String save(FloatingObjectSchoolEstimateDto dto) { + public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java index bec5d5c..98bf121 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.service.seine.SchoolEstimateService; @@ -42,7 +43,7 @@ public class SchoolEstimateServiceController extends ObserveAuthenticatedService } @Override - public String save(SetSeineSchoolEstimateDto dto) { + public SaveResultDto save(SetSeineSchoolEstimateDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java index 22b6633..79c45bc 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.seine.SetSeineService; @@ -63,7 +64,7 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public String save(String activitySeineId, SetSeineDto dto) { + public SaveResultDto save(String activitySeineId, SetSeineDto dto) { return service.save(activitySeineId, dto); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java index c9a861f..583cfd5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.service.seine.TransmittingBuoyOperationService; @@ -42,7 +43,7 @@ public class TransmittingBuoyOperationServiceController extends ObserveAuthentic } @Override - public String save(FloatingObjectTransmittingBuoyDto dto) { + public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { return service.save(dto); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java index 5b87f16..f3d777c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -22,6 +22,9 @@ package fr.ird.observe; * #L% */ +import com.google.common.base.Preconditions; +import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { @@ -34,4 +37,16 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste getHibernateSupport().getHibernateSession().flush(); } + public <E extends TopiaEntity> Class<E> getType(E entity) { + + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entity); + Preconditions.checkNotNull(entityEnum, "Entity " + entity + " is not managed by ToPIA"); + return (Class<E>) entityEnum.getContract(); + + } + + public <E extends TopiaEntity> TopiaDao<E> getDao(E entity) { + return getDao(getType(entity)); + } + } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index d5c4bf6..fed9025 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -30,6 +30,7 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -69,7 +70,7 @@ public interface ReferentialService extends ObserveService { @WriteReferentialPermission @Write @PostRequest - <R extends ReferentialDto> String save(R bean); + <R extends ReferentialDto> SaveResultDto save(R bean); @WriteReferentialPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java index f6583d7..0f8924f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; @@ -14,11 +15,11 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface BranchlineService extends ObserveService { @ReadDataPermission - Form<BranchlineDto> loadForm(String branchlineId); + Form<BranchlineDto> loadForm(String setLonglineId, String id); @Write @WriteDataPermission @PostRequest - String save(BranchlineDto dto); + SaveResultDto save(String setLonglineId, BranchlineDto dto); } \ No newline at end of file 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 cdb6479..7d54f3e 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 @@ -26,6 +26,7 @@ import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -59,7 +60,7 @@ public interface FloatingObjectService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String activitySeineId, FloatingObjectDto dto); + SaveResultDto save(String activitySeineId, FloatingObjectDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java index 754d06f..f16ee01 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -44,6 +45,6 @@ public interface NonTargetSampleService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String setSeineId, NonTargetSampleDto dto); + SaveResultDto save(String setSeineId, NonTargetSampleDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java index 3196fb6..9a6a7b1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface ObjectObservedSpeciesService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectObservedSpeciesDto dto); + SaveResultDto save(FloatingObjectObservedSpeciesDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java index b887381..7783e1d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,5 +42,5 @@ public interface ObjectSchoolEstimateService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectSchoolEstimateDto dto); + SaveResultDto save(FloatingObjectSchoolEstimateDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java index 41e5c50..135334d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface SchoolEstimateService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(SetSeineSchoolEstimateDto dto); + SaveResultDto save(SetSeineSchoolEstimateDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index d8439aa..db1f331 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -55,7 +56,7 @@ public interface SetSeineService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String activitySeineId, SetSeineDto dto); + SaveResultDto save(String activitySeineId, SetSeineDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java index a394c82..180dadb 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface TransmittingBuoyOperationService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectTransmittingBuoyDto dto); + SaveResultDto save(FloatingObjectTransmittingBuoyDto dto); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java new file mode 100644 index 0000000..bd7d551 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java @@ -0,0 +1,15 @@ +package fr.ird.observe.services.dto.result; + +import fr.ird.observe.services.dto.FollowedUpdateDto; +import fr.ird.observe.services.dto.IdDto; + +public class SaveResultDto extends AbstractSaveResultDto { + + private static final long serialVersionUID = 1L; + + public <D extends IdDto & FollowedUpdateDto> void toDto(D dto) { + dto.setId(getId()); + dto.setLastUpdate(getLastUpdate()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 0ede089..df37fb8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -127,7 +127,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); E entity = dao.newInstance(); return entity; @@ -138,38 +138,38 @@ public abstract class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.findAll(); return entities; } - //FIXME A voir si ça sert à quelque chose ? - protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - Preconditions.checkArgument(!(entity instanceof FollowedUpdateEntity)); + protected <E extends TopiaEntity & FollowedUpdateEntity> Date saveFollowedEntity(E entity) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); - entity = dao.update(entity); - return entity; + Date lastUpdateDate = setLastUpdate(entity); - } + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + dao.update(entity); - protected <E extends TopiaEntity & FollowedUpdateEntity> E saveFollowedEntity(Class<E> entityType, E entity) { + return lastUpdateDate; - entity.setLastUpdate(now()); + } - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créée) - TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); - entity = dao.update(entity); + protected <P extends TopiaEntity & FollowedUpdateEntity, E extends TopiaEntity> Date saveFollowedEntity(P parentEntity, E entity) { - setLastUpdate(entityType, entity.getLastUpdate()); + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + dao.update(entity); - return entity; + Date lastUpdateDate = setLastUpdate(parentEntity); + return lastUpdateDate; } - protected <E extends FollowedUpdateEntity> void setLastUpdate(Class<E> entityType, Date lastUpdate) { + protected <E extends FollowedUpdateEntity> Date setLastUpdate(Class<E> entityType) { + + Date lastUpdate = now(); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); @@ -186,10 +186,42 @@ public abstract class ObserveServiceTopia implements ObserveService { } lastUpdateType.setLastUpdate(lastUpdate); + dao.update(lastUpdateType); + + return lastUpdate; + + } + + protected <E extends TopiaEntity & FollowedUpdateEntity> Date setLastUpdate(E entity) { + + Date lastUpdate = now(); + entity.setLastUpdate(lastUpdate); + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + + Class<E> entityType = persistenceContext.getType(entity); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUniqueOrNull(); + + if (lastUpdateType == null) { + + lastUpdateType = dao.newInstance(); + + lastUpdateType.setType(entityType.getCanonicalName()); + + } + + lastUpdateType.setLastUpdate(lastUpdate); dao.update(lastUpdateType); + + return lastUpdate; + } + protected <E extends TopiaEntity> Optional<Date> getLastUpdate(Class<E> entityType) { Optional<Date> result = Optional.absent(); @@ -222,7 +254,7 @@ public abstract class ObserveServiceTopia implements ObserveService { dao.delete(entity); if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; - setLastUpdate(followedUpdateType, now()); + setLastUpdate(followedUpdateType); } } } @@ -251,29 +283,24 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends TopiaEntity, D extends DataDto> E dataDtoToEntity(Class<D> dtoType, Class<E> entityType, D dto) { - - E entity = loadOrCreateEntity(dtoType, entityType, dto); + protected <E extends TopiaEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); - return entity; - } - protected <E extends TopiaEntity, D extends DataDto> void dataDtoToEntity(D dto, E entity) { + protected <E extends ReferenceEntity, D extends ReferentialDto> void copyReferentialDtoToEntity(D dto, E entity) { - BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); + BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); } - protected <E extends ReferenceEntity, D extends ReferentialDto> void referentialDtoToEntity(D dto, E entity) { + protected <E extends TopiaEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { - BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); + Class<D> dtoType = (Class<D>) dto.getClass(); - } + Class<E> entityType = getDataEntityType(dtoType); - protected <E extends TopiaEntity, D extends IdDto> E loadOrCreateEntity(Class<D> dtoType, Class<E> entityType, D dto) { E entity; if (dto.isPersisted()) { entity = loadEntity(dtoType, dto.getId()); @@ -283,13 +310,23 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(Class<D> dtoType, Class<E> entityType, D dto) { + protected <E extends ReferenceEntity, D extends ReferentialDto> E loadOrCreateEntityFromReferentialDto(D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + + Class<E> entityType = getReferentialEntityType(dtoType); + E entity; if (dto.isPersisted()) { entity = loadEntity(dtoType, dto.getId()); } else { entity = newEntity(entityType); } + return entity; + } + + protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(D dto) { + E entity = loadOrCreateEntityFromDataDto(dto); checkLastUpdateDate(entity, dto); return entity; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 81865f2..0af61c7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -44,6 +44,8 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; @@ -158,18 +160,18 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe return form; } - public <D extends ReferentialDto> String save(D dto) { + public <D extends ReferentialDto> SaveResultDto save(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); - ReferenceEntity entity = loadOrCreateEntity(dtoType, entityType, dto); + ReferenceEntity entity = loadOrCreateEntityFromReferentialDto(dto); - referentialDtoToEntity(dto, entity); + copyReferentialDtoToEntity(dto, entity); - saveFollowedEntity(entityType, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - //FIXME Il faut aussi renvoyer la nouvelle date de dernière mist à jour - return entity.getTopiaId(); } @Override 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 d2eb6d5..39cf17f 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 @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -52,13 +54,13 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im @Override public SaveResultDto save(ActivityLonglineEncouterDto dto) { - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineEncouterDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } 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 index f52745e..649a9df 100644 --- 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 @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -51,13 +53,13 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivityLonglineSensorUsedDto dto) { - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } 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 index 6360edd..460e63e 100644 --- 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 @@ -163,21 +163,19 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); result.setId(entity.getTopiaId()); - result.setLastUpdate(entity.getLastUpdate()); + result.setLastUpdate(lastUpdateDate); if (dto.isNotPersisted()) { tripLongline.addActivityLongline(entity); - saveFollowedEntity(TripLongline.class, tripLongline); - } TripLonglineTopiaDao tripLonglineTopiaDao = getTopiaPersistenceContext().getTripLonglineDao(); @@ -217,7 +215,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.addActivityLongline(activityLongline); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); @@ -237,7 +235,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); } - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); return result; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java index d196bb9..df98b9c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java @@ -1,10 +1,16 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; + +import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -12,28 +18,32 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti public class BranchlineServiceTopia extends ObserveServiceTopia implements BranchlineService { @Override - public Form<BranchlineDto> loadForm(String branchlineId) { + public Form<BranchlineDto> loadForm(String setLonglineId, String id) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); + + Branchline entity = loadEntity(BranchlineDto.class, id); - Branchline entity = loadEntity(BranchlineDto.class, branchlineId); + Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, entity, ReferenceSetRequestDefinitions.BRANCHLINE_FORM); + form.getObject().setLastUpdate(setLongline.getLastUpdate()); - Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, - entity, - ReferenceSetRequestDefinitions.BRANCHLINE_FORM); return form; } @Override - public String save(BranchlineDto dto) { + public SaveResultDto save(String setLonglineId, BranchlineDto dto) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); + checkLastUpdateDate(setLongline, dto); + + Branchline entity = loadOrCreateEntityFromDataDto(dto); - //FIXME La branchline n'est pas connecté à un parent (la calée) - Branchline entity = loadOrCreateEntity(BranchlineDto.class, Branchline.class, dto); -// Branchline entity = loadOrCreateEntityAndCheckLastUpdate(BranchlineDto.class, Branchline.class, dto); + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(setLongline, entity); - entity = saveEntity(Branchline.class, entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 00331d4..3085880 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -98,13 +100,14 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements @Override public SaveResultDto save(SetLonglineCatchDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineCatchDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(SetLongline.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } 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 index 394e1df..949b718 100644 --- 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 @@ -36,6 +36,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -97,17 +99,17 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi @Override public SaveResultDto save(SetLonglineDetailCompositionDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDetailCompositionDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); for (Section section : entity.getSection()) { section.setSetLongline(entity); } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } 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 index a4e3895..6f99b5d 100644 --- 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 @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -51,13 +53,13 @@ public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopi @Override public SaveResultDto save(SetLonglineGlobalCompositionDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineGlobalCompositionDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } 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 index 368f5dd..8e03be4 100644 --- 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 @@ -132,21 +132,19 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activityLongline.setSetLongline(entity); - saveFollowedEntity(ActivityLongline.class, activityLongline); - } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -187,7 +185,7 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL otherSetDto.setId(otherSetLongline.getTopiaId()); otherSetDto.setHomeId(otherSetLongline.getHomeId()); otherSetDto.setNumber(otherSetLongline.getNumber()); - + DataReference<ActivityLonglineDto> reference = binder.toDataReference(getReferentialLocale(), activityLongline); otherSetDto.setActivityLongline(reference); otherSetLonglineDtos.add(otherSetDto); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java index 788266b..01ccff0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -99,13 +101,14 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { @Override public SaveResultDto save(SetLonglineTdrDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineTdrDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(SetLongline.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java index fcc6c6c..5da1029 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.entities.longline.TripLongline; -import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; @@ -31,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,16 +54,17 @@ public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia impleme @Override public SaveResultDto save(TripLonglineGearUseDto dto) { - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineGearUseDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); - dao.updateEndDate(entity); + //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller +// TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); +// dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } 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 index b486d7b..7a31e8c 100644 --- 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 @@ -159,16 +159,16 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri @Override public SaveResultDto save(TripLonglineDto dto) { - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -185,7 +185,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri Program program = loadEntity(ProgramDto.class, programId); tripLongline.setProgram(program); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -207,7 +207,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.setProgram(program); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); persistenceContext.flush(); result.add(getTripLonglinePositionInProgram(programId, tripLonglineId)); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index 5ab8797..a1edbab 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,12 +52,13 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivitySeineObservedSystemDto dto) { - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineObservedSystemDto.class, ActivitySeine.class, dto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(ActivitySeine.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index c638f80..5416d8e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -177,21 +177,19 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineDto.class, ActivitySeine.class, dto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivitySeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { route.addActivitySeine(entity); - saveFollowedEntity(Route.class, route); - } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -217,7 +215,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); route.addActivitySeine(activitySeine); - saveFollowedEntity(Route.class, route); + saveFollowedEntity(route); return getActivitySeinePositionInRoute(route, activitySeine); @@ -237,7 +235,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac result.add(getActivitySeinePositionInRoute(routeId, activityId)); } - saveFollowedEntity(Route.class, route); + saveFollowedEntity(route); return result; 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 dc269b4..ab7235e 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 @@ -31,10 +31,13 @@ import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.DataNotFoundException; +import java.util.Date; import java.util.List; /** @@ -97,25 +100,24 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public String save(String activitySeineId, FloatingObjectDto dto) { + public SaveResultDto save(String activitySeineId, FloatingObjectDto dto) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activitySeine.addFloatingObject(entity); - saveFollowedEntity(ActivitySeine.class, activitySeine); - } - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 50ddca0..267503a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -43,6 +43,7 @@ import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; +import java.util.Date; import java.util.Set; /** @@ -97,9 +98,9 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N @Override public SaveResultDto save(SetSeineNonTargetCatchDto dto) { - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineNonTargetCatchDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); // mise a jour de la propriete nonTargetDiscarded @@ -113,7 +114,6 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } entity.setNonTargetDiscarded(hasRejet); - // on supprime les échantillons qui ne correspondent plus a des capture if (entity.sizeNonTargetSample() > 0) { NonTargetSample nonTargetSample = Iterables.get(entity.getNonTargetSample(), 0); @@ -144,8 +144,9 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } } - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 0db4a2c..039633c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -31,10 +31,13 @@ import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import java.util.Collection; +import java.util.Date; import java.util.Set; /** @@ -109,26 +112,25 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } @Override - public String save(String setSeineId, NonTargetSampleDto dto) { + public SaveResultDto save(String setSeineId, NonTargetSampleDto dto) { SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); checkLastUpdateDate(setSeine, dto); - NonTargetSample entity = loadOrCreateEntity(NonTargetSampleDto.class, NonTargetSample.class, dto); + NonTargetSample entity = loadOrCreateEntityFromDataDto(dto); - dataDtoToEntity(dto, entity); - - entity = saveEntity(NonTargetSample.class, entity); + copyDataDtoToEntity(dto, entity); if (dto.isNotPersisted()) { setSeine.addNonTargetSample(entity); + + } - saveFollowedEntity(SetSeine.class, setSeine); + Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - } + return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); - return setSeine.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 6031e11..024ae98 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -49,14 +53,15 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple } @Override - public String save(FloatingObjectObservedSpeciesDto dto) { + public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { + + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, dto); + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return entity.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 032922f..579266c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,14 +54,15 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem } @Override - public String save(FloatingObjectSchoolEstimateDto dto) { + public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 5dda21e..9b2eafd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -194,19 +194,20 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi oldRouteDate = dto.getDate(); } - Route entity = loadOrCreateEntityAndCheckLastUpdate(RouteDto.class, Route.class, dto); + Route entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); + + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(Route.class, entity); result.setId(entity.getTopiaId()); - result.setLastUpdate(entity.getLastUpdate()); + result.setLastUpdate(lastUpdateDate); if (dto.isNotPersisted()) { tripSeine.addRoute(entity); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); } else { Date oldDate = DateUtil.getDay(oldRouteDate); @@ -254,7 +255,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi Route route = loadEntity(RouteDto.class, routeId); TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.addRoute(route); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -275,7 +276,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi result.add(getRoutePositionInTripSeine(tripSeine, route)); } - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java index d5b7523..c0f5694 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -29,9 +29,13 @@ import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -57,18 +61,18 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S } @Override - public String save(SetSeineSchoolEstimateDto dto) { + public SaveResultDto save(SetSeineSchoolEstimateDto dto) { - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineSchoolEstimateDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); for (SchoolEstimate schoolEstimate : entity.getSchoolEstimate()) { schoolEstimate.setSetSeine(entity); } - entity = saveFollowedEntity(SetSeine.class, entity); - - return entity.getTopiaId(); + Date lastUpdateDate = saveFollowedEntity(entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index fe53ef4..6e516dd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -117,25 +119,24 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } @Override - public String save(String activitySeineId, SetSeineDto dto) { + public SaveResultDto save(String activitySeineId, SetSeineDto dto) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activitySeine.setSetSeine(entity); - saveFollowedEntity(ActivitySeine.class, activitySeine); - } - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } @Override @@ -152,6 +153,8 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein activitySeine.setSetSeine(null); //FIXME kmorin : faudrait pas sauver quelquechose là ? parcequ'on n'a rien supprimé... + //FIXME tchemit: normalement c'est une composition donc ça doit être supprimé tout seul (à vérifier) + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index 7fbfcf3..a27ef1f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -25,6 +25,7 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Set; @@ -106,7 +107,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ dto.addAllTargetCatch(otherTargetCatchDtos); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); // on supprime les échantillons qui ne correspondent plus a des capture TargetSample targetSample = entity.getTargetSample(dto.isDiscarded()); @@ -147,9 +148,10 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 2323636..8697d4d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -38,6 +38,7 @@ import fr.ird.observe.services.dto.seine.TargetSampleDto; import org.apache.commons.lang3.BooleanUtils; import java.util.Collection; +import java.util.Date; import java.util.Set; /** @@ -93,8 +94,8 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar // si echantillon rejeté : on ne conserve que les espèces rejectées montées sur le pont // sinon les espèce cible - if ( discarded && targetCatch.isDiscarded() && BooleanUtils.isTrue(targetCatch.getBroughtOnDeck()) - || !discarded && !targetCatch.isDiscarded()) { + if (discarded && targetCatch.isDiscarded() && BooleanUtils.isTrue(targetCatch.getBroughtOnDeck()) + || !discarded && !targetCatch.isDiscarded()) { speciesSet.add(targetCatch.getWeightCategory().getSpecies()); } @@ -118,23 +119,22 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); checkLastUpdateDate(setSeine, dto); - TargetSample entity = loadOrCreateEntity(TargetSampleDto.class, TargetSample.class, dto); - dataDtoToEntity(dto, entity); + TargetSample entity = loadOrCreateEntityFromDataDto(dto); + copyDataDtoToEntity(dto, entity); for (TargetLength targetLength : entity.getTargetLength()) { targetLength.setTargetSample(entity); } - entity = saveEntity(TargetSample.class, entity); - if (dto.isNotPersisted()) { setSeine.addTargetSample(entity); - saveFollowedEntity(SetSeine.class, setSeine); - } - return SaveResultDtos.of(setSeine.getTopiaId(), setSeine.getLastUpdate()); + Date lastUpdateDate = saveFollowedEntity(setSeine, entity); + + return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index da6db22..821e03f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,15 +54,15 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i } @Override - public String save(FloatingObjectTransmittingBuoyDto dto) { + public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java index a838b11..4fd50ae 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; @@ -31,6 +30,8 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,16 +54,17 @@ public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements @Override public SaveResultDto save(TripSeineGearUseDto dto) { - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineGearUseDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); - dao.updateEndDate(entity); + //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller +// TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); +// dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 927b5a2..8649932 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -165,16 +165,16 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public SaveResultDto save(TripSeineDto dto) { - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - saveFollowedEntity(TripSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -191,7 +191,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Program program = loadEntity(ProgramDto.class, programId); tripSeine.setProgram(program); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); getTopiaPersistenceContext().flush(); @@ -211,7 +211,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.setProgram(program); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); getTopiaPersistenceContext().flush(); result.add(getTripSeinePositionInProgram(programId, tripSeineId)); -- 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