This is an automated email from the git hooks/post-receive script. New commit to branch feature/7622 in repository observe. See http://git.codelutin.com/observe.git commit 61e3841003577098f0c188d7cac9cde6303ecfc2 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:55:45 2015 +0100 ajout d'une methode pour déplacer plusieurs routes (refs #7622) --- .../v1/seine/RouteServiceController.java | 7 +++++++ .../services/service/seine/RouteService.java | 6 ++++++ .../services/service/seine/RouteServiceTopia.java | 24 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index 7b402f9..eb8c949 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -93,4 +95,9 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle public int moveRouteToTripSeine(String routeId, String tripSeineId) { return service.moveRouteToTripSeine(routeId, tripSeineId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + return service.moveRoutesToTripSeine(routeIds, tripSeineId); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 2a321c0..b055129 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -34,6 +34,8 @@ import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteDataPermission; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -76,4 +78,8 @@ public interface RouteService extends ObserveService { @Write @WriteDataPermission int moveRouteToTripSeine(String routeId, String tripSeineId); + + @Write + @WriteDataPermission + List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId); } 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 70d71a4..1efd4ee 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 @@ -25,6 +25,7 @@ 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.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineImpl; import fr.ird.observe.entities.seine.Route; @@ -47,6 +48,7 @@ import org.apache.commons.lang3.time.DateUtils; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.DateUtil; +import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; @@ -269,4 +271,26 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi saveEntity(TripSeine.class, tripSeine); return getRoutePositionInTripSeine(tripSeineId, routeId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + 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(); + + for (String routeId : routeIds) { + result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); + } + + return result; + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.