This is an automated email from the git hooks/post-receive script. New commit to branch feature/7017 in repository observe. See http://git.codelutin.com/observe.git commit 55f7dc0c0f86fc0c6123dd49dc73b527afea0d20 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 3 17:35:04 2015 +0200 amélioration de l'algorithme de sauvegarde (refs #7017) --- .../fr/ird/observe/services/AbstractObserveService.java | 13 ++++++++++--- .../services/data/longline/ActivityLonglineServiceImpl.java | 7 +++++-- .../services/data/longline/SetLonglineServiceImpl.java | 4 +++- .../services/data/longline/TripLonglineServiceImpl.java | 9 ++++++++- .../services/data/seine/ActivitySeineServiceImpl.java | 9 +++++++-- .../services/data/seine/FloatingObjectServiceImpl.java | 5 ++++- .../services/data/seine/NonTargetSampleServiceImpl.java | 5 ++++- .../ird/observe/services/data/seine/RouteServiceImpl.java | 5 ++++- .../observe/services/data/seine/SetSeineServiceImpl.java | 5 ++++- .../services/data/seine/TargetSampleServiceImpl.java | 5 ++++- .../observe/services/data/seine/TripSeineServiceImpl.java | 10 +++++++++- .../services/referential/ReferentialServiceImpl.java | 4 +++- 12 files changed, 65 insertions(+), 16 deletions(-) diff --git a/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java b/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java index f7dab53..40e6f0f 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/AbstractObserveService.java @@ -245,11 +245,10 @@ public abstract class AbstractObserveService implements ObserveService { checkNotNullAndExistingEntity(BEAN, toSave); - saved = findByTopiaId(saveAction.entityClass, toSave.getTopiaId()); + saved = saveAction.onUpdate(parent, toSave); checkNotNullAndExistingEntity(BEAN, saved); - saved = saveAction.onUpdate(parent, toSave, saved); } if (parent == null) { @@ -286,7 +285,13 @@ public abstract class AbstractObserveService implements ObserveService { public abstract E onCreate(P parent, E toCreate); - public abstract E onUpdate(P parent, E toSave, E beanToSave); + public E onUpdate(P parent, E toSave) { + + E saved = findByTopiaId(entityClass, toSave.getTopiaId()); + checkNotNullAndExistingEntity(BEAN, saved); + return saved; + + } } @@ -299,6 +304,7 @@ public abstract class AbstractObserveService implements ObserveService { parent = findByTopiaId(deleteAction.parentClass, parentId); checkNotNullAndExistingEntity(PARENT_BEAN, parent); + } E toDelete = findByTopiaId(deleteAction.entityClass, idToDelete); @@ -310,6 +316,7 @@ public abstract class AbstractObserveService implements ObserveService { if (parentId != null) { getDao(deleteAction.parentClass).update(parent); + } } diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java index 20a96c5..d2bb21a 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/ActivityLonglineServiceImpl.java @@ -107,14 +107,16 @@ public class ActivityLonglineServiceImpl extends AbstractObserveService implemen } @Override - public ActivityLongline onUpdate(TripLongline parent, ActivityLongline toUpdate, ActivityLongline updated) { + public ActivityLongline onUpdate(TripLongline parent, ActivityLongline toUpdate) { + + ActivityLongline updated = super.onUpdate(parent, toUpdate); copyExcluding(ActivityLongline.class, BinderService.EDIT, toUpdate, updated, ActivityLongline.PROPERTY_ENCOUNTER, ActivityLongline.PROPERTY_SENSOR_USED); - return updated; + } }); @@ -125,6 +127,7 @@ public class ActivityLonglineServiceImpl extends AbstractObserveService implemen @Override public void delete(String tripLonglineId, String activityLonglineId) { doDelete(tripLonglineId, activityLonglineId, new DeleteAction<TripLongline, ActivityLongline>(TripLongline.class, ActivityLongline.class) { + @Override public void onDelete(TripLongline parent, ActivityLongline toDelete) { super.onDelete(parent, toDelete); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java index b6e88aa..ad7c4da 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/SetLonglineServiceImpl.java @@ -133,7 +133,9 @@ public class SetLonglineServiceImpl extends AbstractObserveService implements Se } @Override - public SetLongline onUpdate(ActivityLongline parent, SetLongline toUpdate, SetLongline updated) { + public SetLongline onUpdate(ActivityLongline parent, SetLongline toUpdate) { + + SetLongline updated = super.onUpdate(parent, toUpdate); copyExcluding(SetLongline.class, BinderService.EDIT, toUpdate, updated, diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java index 6b6df6e..0ee1ac1 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/longline/TripLonglineServiceImpl.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.data.longline; import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.ActivityLonglines; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineDAO; @@ -90,6 +91,7 @@ public class TripLonglineServiceImpl extends AbstractObserveService implements T @Override public void beforeSave(String parentId, TripLongline toSave) { + super.beforeSave(parentId, toSave); Date startDate = DateUtil.getDay(toSave.getStartDate()); toSave.setStartDate(startDate); @@ -101,15 +103,20 @@ public class TripLonglineServiceImpl extends AbstractObserveService implements T @Override public TripLongline onCreate(Program parent, TripLongline toCreate) { + TripLongline created = getDao().create(); copy(TripLongline.class, BinderService.EDIT, toCreate, created, false); return created; + } @Override - public TripLongline onUpdate(Program parent, TripLongline toUpdate, TripLongline updated) { + public TripLongline onUpdate(Program parent, TripLongline toUpdate) { + + TripLongline updated = super.onUpdate(parent, toUpdate); copyExcluding(TripLongline.class, BinderService.EDIT, toUpdate, updated, TripLongline.PROPERTY_ACTIVITY_LONGLINE); return updated; + } }); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java index b23bb1b..75a2b9e 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/ActivitySeineServiceImpl.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.seine.SchoolType; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineDAO; @@ -155,18 +156,22 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements parent.addActivitySeine(created); return created; + } @Override - public ActivitySeine onUpdate(Route parent, ActivitySeine toUpdate, ActivitySeine updated) { + public ActivitySeine onUpdate(Route parent, ActivitySeine toUpdate) { + + ActivitySeine updated = super.onUpdate(parent, toUpdate); + Date d = DateUtil.getDateAndTime(parent.getDate(), toUpdate.getTime(), false, false); toUpdate.setTime(d); copyExcluding(ActivitySeine.class, BinderService.EDIT, toUpdate, updated, true, ActivitySeine.PROPERTY_OBSERVED_SYSTEM, ActivitySeine.PROPERTY_FLOATING_OBJECT); - return updated; + } }); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java index 7d937af..2d4a927 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/FloatingObjectServiceImpl.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.Country; import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; @@ -121,7 +122,9 @@ public class FloatingObjectServiceImpl extends AbstractObserveService implements } @Override - public FloatingObject onUpdate(ActivitySeine parent, FloatingObject toUpdate, FloatingObject updated) { + public FloatingObject onUpdate(ActivitySeine parent, FloatingObject toUpdate) { + + FloatingObject updated = super.onUpdate(parent, toUpdate); copy(FloatingObject.class, BinderService.EDIT, toUpdate, updated, true); return updated; diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java index caec214..48808fd 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetSampleServiceImpl.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.data.seine; import com.google.common.collect.Lists; import fr.ird.observe.BinderService; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.NonTargetLength; @@ -168,7 +169,9 @@ public class NonTargetSampleServiceImpl extends AbstractObserveService implement } @Override - public NonTargetSample onUpdate(SetSeine parent, NonTargetSample toUpdate, NonTargetSample updated) { + public NonTargetSample onUpdate(SetSeine parent, NonTargetSample toUpdate) { + + NonTargetSample updated = super.onUpdate(parent, toUpdate); copyExcluding(NonTargetSample.class, BinderService.EDIT, toUpdate, updated, NonTargetSample.PROPERTY_NON_TARGET_LENGTH); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java index 533f3a7..20de28b 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/RouteServiceImpl.java @@ -1,6 +1,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.seine.ActivitySeines; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.entities.seine.RouteDAO; @@ -107,7 +108,9 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer } @Override - public Route onUpdate(TripSeine parent, Route toUpdate, Route updated) { + public Route onUpdate(TripSeine parent, Route toUpdate) { + + Route updated = super.onUpdate(parent, toUpdate); // on conserve l'ancienne date d'observation Date oldDate = DateUtil.getDay(toUpdate.getDate()); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java index 87b0113..3d6dd56 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/SetSeineServiceImpl.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.seine.SchoolType; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.Route; @@ -108,7 +109,9 @@ public class SetSeineServiceImpl extends AbstractObserveService implements SetSe } @Override - public SetSeine onUpdate(ActivitySeine parent, SetSeine toUpdate, SetSeine updated) { + public SetSeine onUpdate(ActivitySeine parent, SetSeine toUpdate) { + + SetSeine updated = super.onUpdate(parent, toUpdate); copyExcluding(SetSeine.class, BinderService.EDIT, diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java index 67953b1..fc4682b 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TargetSampleServiceImpl.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.data.seine; import com.google.common.collect.Lists; import fr.ird.observe.BinderService; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TargetCatch; @@ -185,7 +186,9 @@ public class TargetSampleServiceImpl extends AbstractObserveService implements T } @Override - public TargetSample onUpdate(SetSeine parent, TargetSample toUpdate, TargetSample updated) { + public TargetSample onUpdate(SetSeine parent, TargetSample toUpdate) { + + TargetSample updated = super.onUpdate(parent, toUpdate); copyExcluding(TargetSample.class, BinderService.EDIT, toUpdate, updated, TargetSample.PROPERTY_TARGET_LENGTH); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java index 4f59498..8109c1e 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineServiceImpl.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.Routes; import fr.ird.observe.entities.seine.TripSeine; @@ -94,25 +95,32 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip @Override public void beforeSave(String parentId, TripSeine toSave) { + super.beforeSave(parentId, toSave); Date startDate = DateUtil.getDay(toSave.getStartDate()); toSave.setStartDate(startDate); // mise a jour de la date de fin toSave.updateDateFin(); + } @Override public TripSeine onCreate(Program parent, TripSeine toCreate) { + TripSeine created = getDao().create(); copy(TripSeine.class, BinderService.EDIT, toCreate, created); return created; + } @Override - public TripSeine onUpdate(Program parent, TripSeine toUpdate, TripSeine updated) { + public TripSeine onUpdate(Program parent, TripSeine toUpdate) { + + TripSeine updated = super.onUpdate(parent, toUpdate); copyExcluding(TripSeine.class, BinderService.EDIT, toUpdate, updated, TripSeine.PROPERTY_ROUTE); return updated; + } }); diff --git a/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java index 0202565..66eb904 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/referential/ReferentialServiceImpl.java @@ -7,6 +7,7 @@ import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.ObserveTechnicalException; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.ReferenceStatus; +import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.LengthWeightParameterDAO; import fr.ird.observe.entities.referentiel.LengthWeightParemeterHelper; @@ -360,8 +361,9 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re } @Override - public R onUpdate(R parentBean, R toUpdate, R updated) { + public R onUpdate(R parent, R toUpdate) { + R updated = super.onUpdate(parent, toUpdate); copyExcluding(entityClass, BinderService.EDIT, toUpdate, updated); return updated; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.