This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit d355416d1682b7f601733579e5ff8921de91071c Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 16:13:37 2015 +0100 ajout des méthodes pour déplacer plusieurs activites longline (refs #7624) --- .../longline/ActivityLonglineServiceController.java | 7 +++++++ .../service/longline/ActivityLonglineService.java | 7 +++++++ .../longline/ActivityLonglineServiceTopia.java | 19 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java index 04ddf49..078ba79 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -93,4 +95,9 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi public int moveActivityLonglineToTripLongline(String activityLonglineId, String tripLonglineId) { return service.moveActivityLonglineToTripLongline(activityLonglineId, tripLonglineId); } + + @Override + public List<Integer> moveActivityLonglinesToTripLongline(List<String> activityLonglineIds, String tripLonglineId) { + return service.moveActivityLonglinesToTripLongline(activityLonglineIds, tripLonglineId); + } } \ No newline at end of file diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java index d2207a3..b3a7093 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.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 */ @@ -80,4 +82,9 @@ public interface ActivityLonglineService extends ObserveService { @WriteDataPermission @PostRequest int moveActivityLonglineToTripLongline(String activityLonglineId, String tripLonglineId); + + @Write + @WriteDataPermission + @PostRequest + List<Integer> moveActivityLonglinesToTripLongline(List<String> activityLonglineIds, String tripLonglineId); } 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 235410c..69fd30b 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 @@ -43,6 +43,7 @@ import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.LinkedHashSet; @@ -244,6 +245,24 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); } + @Override + public List<Integer> moveActivityLonglinesToTripLongline(List<String> activityLonglineIds, String tripLonglineId) { + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + List<Integer> result = new ArrayList<>(); + + for (String activityId : activityLonglineIds) { + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityId); + tripLongline.addActivityLongline(activityLongline); + + result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); + } + + saveEntity(TripLongline.class, tripLongline); + + return result; + } + protected int getActivityLonglinePositionInTripLongline(TripLongline tripLongline, ActivityLongline activityLongline) { return Iterables.size(Iterables.filter( tripLongline.getActivityLongline(), -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.