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 6cefceb7a91d5ec61bf7b2feff402112c467df6a Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 14:45:54 2015 +0100 ajout de la méthode pour déplacer une activité longline (refs #7624) --- .../longline/ActivityLonglineServiceController.java | 7 ++++++- .../service/longline/ActivityLonglineService.java | 4 ++++ .../longline/ActivityLonglineServiceTopia.java | 20 +++++++++++++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) 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 0c654b2..04ddf49 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 @@ -88,4 +88,9 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi public boolean delete(String tripLonglineId, String activityLonglineId) { return service.delete(tripLonglineId, activityLonglineId); } -} + + @Override + public int moveActivityLonglineToTripLongline(String activityLonglineId, String tripLonglineId) { + return service.moveActivityLonglineToTripLongline(activityLonglineId, 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 bf22503..d2207a3 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 @@ -76,4 +76,8 @@ public interface ActivityLonglineService extends ObserveService { */ boolean delete(String tripLonglineId, String activityLonglineId); + @Write + @WriteDataPermission + @PostRequest + int moveActivityLonglineToTripLongline(String activityLonglineId, 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 2fd8d7c..235410c 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 @@ -84,9 +84,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements ActivityLongline activityLongline = tripLongline.getActivityLonglineByTopiaId(activityLonglineId); - int position = Iterables.size(Iterables.filter( - tripLongline.getActivityLongline(), - ActivityLonglines.newTimeStampBeforePredicate(activityLongline.getTimeStamp()))); + int position = getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); return position; } @@ -235,4 +233,20 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements return wasEndDateUpdated; } + @Override + public int moveActivityLonglineToTripLongline(String activityLonglineId, String tripLonglineId) { + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + tripLongline.addActivityLongline(activityLongline); + saveEntity(TripLongline.class, tripLongline); + + return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); + } + + protected int getActivityLonglinePositionInTripLongline(TripLongline tripLongline, ActivityLongline activityLongline) { + return Iterables.size(Iterables.filter( + tripLongline.getActivityLongline(), + ActivityLonglines.newTimeStampBeforePredicate(activityLongline.getTimeStamp()))); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.