branch feature/7017 updated (ef9329a -> 884dfb6)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7017 in repository observe. See http://git.codelutin.com/observe.git from ef9329a refactor save action for longline new 884dfb6 refactor delete action for seine and longline 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 884dfb6e27807bc5806286b3c8ea3b55a6517eba Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Apr 28 08:29:47 2015 +0200 refactor delete action for seine and longline Summary of changes: .../observe/services/AbstractObserveService.java | 43 ++++++++++++++++++++++ .../data/longline/ActivityLonglineServiceImpl.java | 13 ++++--- .../data/longline/TripLonglineServiceImpl.java | 6 +-- .../data/seine/ActivitySeineServiceImpl.java | 12 +++--- .../services/data/seine/RouteServiceImpl.java | 18 +++++---- .../services/data/seine/TripSeineService.java | 2 +- .../services/data/seine/TripSeineServiceImpl.java | 8 +--- 7 files changed, 71 insertions(+), 31 deletions(-) -- 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/7017 in repository observe. See http://git.codelutin.com/observe.git commit 884dfb6e27807bc5806286b3c8ea3b55a6517eba Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Apr 28 08:29:47 2015 +0200 refactor delete action for seine and longline --- .../observe/services/AbstractObserveService.java | 43 ++++++++++++++++++++++ .../data/longline/ActivityLonglineServiceImpl.java | 13 ++++--- .../data/longline/TripLonglineServiceImpl.java | 6 +-- .../data/seine/ActivitySeineServiceImpl.java | 12 +++--- .../services/data/seine/RouteServiceImpl.java | 18 +++++---- .../services/data/seine/TripSeineService.java | 2 +- .../services/data/seine/TripSeineServiceImpl.java | 8 +--- 7 files changed, 71 insertions(+), 31 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 7af5a7a..0e6e506 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 @@ -273,6 +273,49 @@ public abstract class AbstractObserveService implements ObserveService { } + public <P extends TopiaEntity, E extends TopiaEntity> void doDelete(String parentId, String idToDelete, DeleteAction<P, E> deleteAction) { + + P parent = null; + + if (parentId != null) { + + parent = findByTopiaId(deleteAction.parentClass, parentId); + + checkNotNullAndExistingEntity(PARENT_BEAN, parent); + } + + E toDelete = findByTopiaId(deleteAction.entityClass, idToDelete); + + checkNotNullAndExistingEntity(BEAN, toDelete); + + deleteAction.onDelete(parent, toDelete); + + if (parentId != null) { + + getDao(deleteAction.parentClass).update(parent); + } + + + } + + protected class DeleteAction<P extends TopiaEntity, E extends TopiaEntity> { + + protected final Class<P> parentClass; + + protected final Class<E> entityClass; + + public DeleteAction(Class<P> parentClass, Class<E> entityClass) { + this.parentClass = parentClass; + this.entityClass = entityClass; + } + + public void onDelete(P parent, E toDelete) { + getDao(entityClass).delete(toDelete); + } + + } + + public <E extends TopiaEntity> void checkNotNullAndNoneExistingEntity(String variableName, E entity) { TopiaEntityHelper.checkNotNullAndNoneExistingEntity(variableName, entity); } 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 14a8e39..8e992bc 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 @@ -132,12 +132,13 @@ public class ActivityLonglineServiceImpl extends AbstractObserveService implemen @Override public void delete(String tripLonglineId, String activityLonglineId) { - - ActivityLonglineDAO dao = getDao(); - ActivityLongline toDelete = dao.findByTopiaId(activityLonglineId); - - TripLongline tripLongline = findByTopiaId(TripLongline.class, tripLonglineId); - tripLongline.removeActivityLongline(toDelete); + doDelete(tripLonglineId, activityLonglineId, new DeleteAction<TripLongline, ActivityLongline>(TripLongline.class, ActivityLongline.class) { + @Override + public void onDelete(TripLongline parent, ActivityLongline toDelete) { + super.onDelete(parent, toDelete); + parent.removeActivityLongline(toDelete); + } + }); } 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 98c20d2..1326d3e 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 @@ -131,11 +131,7 @@ public class TripLonglineServiceImpl extends AbstractObserveService implements T @Override public void delete(String tripLonglineId) { - - TripLonglineDAO dao = getDao(); - TripLongline toDelete = dao.findByTopiaId(tripLonglineId); - dao.delete(toDelete); - + doDelete(null, tripLonglineId, new DeleteAction<Program, TripLongline>(Program.class, TripLongline.class)); } @Override 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 59e4265..2dea317 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 @@ -194,12 +194,14 @@ public class ActivitySeineServiceImpl extends AbstractObserveService implements @Override public void delete(String routeId, String activitySeineId) { + doDelete(routeId, activitySeineId, new DeleteAction<Route, ActivitySeine>(Route.class, ActivitySeine.class) { + @Override + public void onDelete(Route parent, ActivitySeine toDelete) { + super.onDelete(parent, toDelete); + parent.removeActivitySeine(toDelete); - ActivitySeineDAO dao = getDao(); - ActivitySeine toDelete = dao.findByTopiaId(activitySeineId); - - Route route = findByTopiaId(Route.class, routeId); - route.removeActivitySeine(toDelete); + } + }); } 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 ea2414f..9b09339 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 @@ -146,16 +146,18 @@ public class RouteServiceImpl extends AbstractObserveService implements RouteSer @Override public void delete(String tripSeineId, String routeId) { + doDelete(tripSeineId, routeId, new DeleteAction<TripSeine, Route>(TripSeine.class, Route.class) { + @Override + public void onDelete(TripSeine parent, Route toDelete) { + super.onDelete(parent, toDelete); - RouteDAO dao = getDao(); - Route toDelete = dao.findByTopiaId(routeId); - - TripSeine tripSeine = findByTopiaId(TripSeine.class, tripSeineId); - tripSeine.removeRoute(toDelete); - tripSeine.updateDateFin(); - - dao.delete(toDelete); + // suppression de la route + parent.removeRoute(toDelete); + // mise à jour de la date de fin de marée + parent.updateDateFin(); + } + }); } @Override diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java index 924ea39..393159b 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/TripSeineService.java @@ -32,7 +32,7 @@ public interface TripSeineService extends ObserveService { String save(TripSeine toSave); @Commit - void delete(String tripSeineId); + void delete(String idToDelete); @NoTransaction TopiaEntityBinder<TripSeine> getBinderForEdit(); 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 2935943..4fb0ec0 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 @@ -133,12 +133,8 @@ public class TripSeineServiceImpl extends AbstractObserveService implements Trip } @Override - public void delete(String tripSeineId) { - - TripSeineDAO dao = getDao(); - TripSeine toDelete = dao.findByTopiaId(tripSeineId); - dao.delete(toDelete); - + public void delete(String idtoDelete) { + doDelete(null, idtoDelete, new DeleteAction<Program, TripSeine>(Program.class, TripSeine.class)); } @Override -- 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