Index: lams_build/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v diff -u -r1.420.2.112 -r1.420.2.113 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/rating/dao/IRatingCommentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/rating/dao/IRatingCommentDAO.java,v diff -u -r1.3.2.5 -r1.3.2.6 --- lams_common/src/java/org/lamsfoundation/lams/rating/dao/IRatingCommentDAO.java 10 Oct 2016 00:53:43 -0000 1.3.2.5 +++ lams_common/src/java/org/lamsfoundation/lams/rating/dao/IRatingCommentDAO.java 16 Feb 2017 16:12:11 -0000 1.3.2.6 @@ -68,5 +68,7 @@ List getRelatedCommentByCriteriaAndUser(Long ratingCriteriaId, Integer userId); RatingComment getComment(Long ratingCriteriaId, Integer userId, Long itemId); + + List getCommentsByContentAndUser(Long contentId, Integer userId); } Index: lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java,v diff -u -r1.4.2.8 -r1.4.2.9 --- lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java 24 Nov 2016 11:26:42 -0000 1.4.2.8 +++ lams_common/src/java/org/lamsfoundation/lams/rating/dao/hibernate/RatingCommentDAO.java 16 Feb 2017 16:12:11 -0000 1.4.2.9 @@ -55,11 +55,6 @@ private static final String FIND_RELATED_COMMENT_BY_CRITERIA_AND_USER = "SELECT r.itemId, r.learner.userId, r.comment FROM " + RatingComment.class.getName() + " AS r where r.ratingCriteria.ratingCriteriaId=:ratingCriteriaId AND r.learner.userId=:userId"; -// private static final String COUNT_COMMENTS_BY_ITEM_AND_USER = "SELECT COUNT(r) FROM " -// + RatingComment.class.getName() -// + " AS r " -// + " WHERE r.ratingCriteria.toolContentId = ? AND r.ratingCriteria.commentsEnabled IS TRUE AND r.itemId =? AND r.learner.userId =?"; - @Override public List getCommentsByCriteriaAndItem(Long ratingCriteriaId, Long itemId) { List results = (List) (doFind(FIND_COMMENTS_BY_CRITERIA_AND_ITEM, @@ -145,4 +140,12 @@ return null; } } + + @Override + public List getCommentsByContentAndUser(Long contentId, Integer userId) { + final String FIND_RATINGS_BY_USER = "FROM " + RatingComment.class.getName() + + " AS r where r.ratingCriteria.toolContentId=? AND r.learner.userId=?"; + + return (List) doFind(FIND_RATINGS_BY_USER, new Object[] { contentId, userId }); + } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java,v diff -u -r1.1.2.8 -r1.1.2.9 --- lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java 18 Oct 2016 00:20:57 -0000 1.1.2.8 +++ lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java 16 Feb 2017 16:12:11 -0000 1.1.2.9 @@ -161,6 +161,15 @@ int getCountItemsRatedByUserByCriteria(final Long criteriaId, final Integer userId); /** + * Removes all ratings and comments left by the specified user. + * + * @param contentId + * @param userId + * @return + */ + void removeUserCommitsByContent(final Long contentId, final Integer userId); + + /** * Count how many users rated and commented each item. * * @param contentId Index: lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java,v diff -u -r1.1.2.14 -r1.1.2.15 --- lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java 14 Feb 2017 12:33:32 -0000 1.1.2.14 +++ lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java 16 Feb 2017 16:12:11 -0000 1.1.2.15 @@ -95,6 +95,19 @@ public int getCountItemsRatedByUserByCriteria(final Long criteriaId, final Integer userId) { return ratingDAO.getCountItemsRatedByUserByCriteria(criteriaId, userId); } + + @Override + public void removeUserCommitsByContent(final Long contentId, final Integer userId) { + List ratings = ratingDAO.getRatingsByUser(contentId, userId); + for (Rating rating : ratings) { + ratingDAO.delete(rating); + } + + List comments = ratingCommentDAO.getCommentsByContentAndUser(contentId, userId); + for (RatingComment comment : comments) { + ratingDAO.delete(comment); + } + } @Override public Map countUsersRatedEachItem(final Long contentId, final Collection itemIds, @@ -625,7 +638,7 @@ userRow.put("comment", row[2] == null ? "" : (String) row[2]); userRow.put("itemDescription", row[numColumns - 1] == null ? "" : (String) row[numColumns - 1]); if ( ! isComment ) { - userRow.put("userRating", row[3] == null ? "" : numberFormat.format((Float) row[3])); + userRow.put("userRating", row[3] == null ? "" : numberFormat.format((Double) row[3])); userRow.put("averageRating", row[4] == null ? "" : numberFormat.format((Double) row[4])); userRow.put("numberOfVotes", row[5] == null ? "" : numberFormat.format((BigInteger) row[5])); } else {