From f41389f6b93bb9ab0c7e682015272025377285ed Mon Sep 17 00:00:00 2001 From: Neil McErlean Date: Wed, 14 Jul 2010 13:28:46 +0000 Subject: [PATCH] Rating Service. Added DELETE webscript and fixed bug. There is now a rating.delete webscript. Plus a bug was fixed where the ratings weren't actually being deleted. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21161 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/repo/rating/RatingServiceImpl.java | 4 ++++ .../alfresco/repo/rating/RatingServiceIntegrationTest.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/source/java/org/alfresco/repo/rating/RatingServiceImpl.java b/source/java/org/alfresco/repo/rating/RatingServiceImpl.java index 9f4b48573a..980333d7e6 100644 --- a/source/java/org/alfresco/repo/rating/RatingServiceImpl.java +++ b/source/java/org/alfresco/repo/rating/RatingServiceImpl.java @@ -268,6 +268,10 @@ public class RatingServiceImpl implements RatingService { // There is a rating and the associated data are at the index'th place in each property. RatingStruct removed = ratingProps.removeRatingAt(index); + + // Now apply the properties with one deleted. + Map props = ratingProps.toNodeProperties(); + nodeService.setProperties(lastChild.getChildRef(), props); return new Rating(this.getRatingScheme(removed.getScheme()), removed.getScore(), user, removed.getDate()); diff --git a/source/java/org/alfresco/repo/rating/RatingServiceIntegrationTest.java b/source/java/org/alfresco/repo/rating/RatingServiceIntegrationTest.java index 115b696619..98879c7a1e 100644 --- a/source/java/org/alfresco/repo/rating/RatingServiceIntegrationTest.java +++ b/source/java/org/alfresco/repo/rating/RatingServiceIntegrationTest.java @@ -276,6 +276,10 @@ public class RatingServiceIntegrationTest extends BaseAlfrescoSpringTest assertEquals("Wrong score for rating", updatedFiveStarScore, deletedStarRating.getScore()); assertEquals("Wrong user for rating", AuthenticationUtil.getFullyAuthenticatedUser(), deletedStarRating.getAppliedBy()); assertEquals("Wrong date for rating", updatedFiveStarRating.getAppliedAt(), deletedStarRating.getAppliedAt()); + + // And the deleted ratings should be gone. + assertNull("5* rating not null.", ratingService.getRatingByCurrentUser(testDoc_Admin, FIVE_STAR_SCHEME_NAME)); + assertNull("likes rating not null", ratingService.getRatingByCurrentUser(testDoc_Admin, LIKES_SCHEME_NAME)); } /**