This is an automated email from the git hooks/post-receive script. New commit to branch feature/7624 in repository observe. See http://git.codelutin.com/observe.git commit 942f1df355f00933d1ce04d796605206563d4f92 Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 14:45:21 2015 +0100 on évite de sauver n fois les entités --- .../service/seine/ActivitySeineServiceTopia.java | 23 +++++++++++----------- .../services/service/seine/RouteServiceTopia.java | 18 +++++++++-------- 2 files changed, 21 insertions(+), 20 deletions(-) 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 7513163..c96e044 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 @@ -25,7 +25,6 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.seine.ActivitySeine; @@ -95,9 +94,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac ActivitySeine activitySeine = route.getActivitySeineByTopiaId(activitySeineId); - int position = Iterables.size(Iterables.filter( - route.getActivitySeine(), - ActivitySeines.newDateBeforePredicate(activitySeine.getTime()))); + int position = getActivitySeinePositionInRoute(route, activitySeine); return position; } @@ -240,13 +237,11 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac public int moveActivitySeineToRoute(String activitySeineId, String routeId) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); Route route = loadEntity(RouteDto.class, Route.class, routeId); + route.addActivitySeine(activitySeine); saveEntity(Route.class, route); - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - persistenceContext.flush(); - - return getActivitySeinePositionInRoute(routeId, activitySeineId); + return getActivitySeinePositionInRoute(route, activitySeine); } @Override @@ -254,18 +249,22 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, Route.class, routeId); List<Integer> result = new ArrayList<>(); - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); for (String activityId : activitySeineIds) { ActivitySeine activity = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activityId); route.addActivitySeine(activity); - saveEntity(Route.class, route); - persistenceContext.flush(); - result.add(getActivitySeinePositionInRoute(routeId, activityId)); } + saveEntity(Route.class, route); + return result; } + + protected int getActivitySeinePositionInRoute(Route route, ActivitySeine activitySeine) { + return Iterables.size(Iterables.filter( + route.getActivitySeine(), + ActivitySeines.newDateBeforePredicate(activitySeine.getTime()))); + } } 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 11d6c8f..2f3e494 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 @@ -89,9 +89,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi Route route = tripSeine.getRouteByTopiaId(routeId); - int position = Iterables.size(Iterables.filter( - tripSeine.getRoute(), - Routes.newDateBeforePredicate(route.getDate()))); + int position = getRoutePositionInTripSeine(tripSeine, route); return position; @@ -281,18 +279,22 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); List<Integer> result = new ArrayList<>(); - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); for (String routeId : routeIds) { Route route = loadEntity(RouteDto.class, Route.class, routeId); tripSeine.addRoute(route); - saveEntity(TripSeine.class, tripSeine); - persistenceContext.flush(); - - result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); + result.add(getRoutePositionInTripSeine(tripSeine, route)); } + saveEntity(TripSeine.class, tripSeine); + return result; } + + protected int getRoutePositionInTripSeine(TripSeine tripSeine, Route route) { + return Iterables.size(Iterables.filter( + tripSeine.getRoute(), + Routes.newDateBeforePredicate(route.getDate()))); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.