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)); } /**