Index: lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java =================================================================== diff -u -r8e2e72a36d57288787cf76af6484e25c82b385c1 -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java (.../LogEventService.java) (revision 8e2e72a36d57288787cf76af6484e25c82b385c1) +++ lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java (.../LogEventService.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -97,16 +97,18 @@ public void logEvent(Integer logEventTypeId, Integer userId, Integer targetUserId, Long lessonId, Long activityId, String description, Date eventDate) { User user = (userId != null) ? (User) userManagementService.findById(User.class, userId) : null; - User targetUser = (targetUserId != null) ? (User) userManagementService.findById(User.class, targetUserId) : null; + User targetUser = (targetUserId != null) ? (User) userManagementService.findById(User.class, targetUserId) + : null; LogEvent logEvent = new LogEvent(); logEvent.setLogEventTypeId(logEventTypeId); logEvent.setUser(user); logEvent.setTargetUser(targetUser); logEvent.setLessonId(lessonId); logEvent.setActivityId(activityId); logEvent.setDescription(description); - if (eventDate != null) + if (eventDate != null) { logEvent.setOccurredDateTime(eventDate); + } logEventDAO.save(logEvent); } @@ -173,7 +175,7 @@ public void logChangeLearnerContent(Long learnerUserId, String learnerUserLogin, Long toolContentId, String originalText, String newText) { Object[] args = new Object[5]; - args[0] = learnerUserLogin + "(" + learnerUserId + ")"; + args[0] = learnerUserLogin + " (" + learnerUserId + ")"; args[1] = originalText; args[2] = newText; logLearnerChange(LogEvent.TYPE_LEARNER_CONTENT_UPDATED, learnerUserId, toolContentId, AUDIT_CHANGE_I18N_KEY, @@ -184,7 +186,7 @@ public void logMarkChange(Long learnerUserId, String learnerUserLogin, Long toolContentId, String originalMark, String newMark) { Object[] args = new Object[5]; - args[0] = learnerUserLogin + "(" + learnerUserId + ")"; + args[0] = learnerUserLogin + " (" + learnerUserId + ")"; args[1] = originalMark; args[2] = newMark; logLearnerChange(LogEvent.TYPE_MARK_UPDATED, learnerUserId, toolContentId, AUDIT_MARK_CHANGE_I18N_KEY, args); @@ -204,19 +206,19 @@ public void logShowLearnerContent(Long learnerUserId, String learnerUserLogin, Long toolContentId, String hiddenItem) { Object[] args = new Object[4]; - args[0] = learnerUserLogin + "(" + learnerUserId + ")"; + args[0] = learnerUserLogin + " (" + learnerUserId + ")"; args[1] = hiddenItem; logLearnerChange(LogEvent.TYPE_LEARNER_CONTENT_SHOW_HIDE, learnerUserId, toolContentId, AUDIT_SHOW_I18N_KEY, args); } - + @Override public void logToolEvent(int eventType, Long toolContentId, Long learnerUserId, String message) { Long[] ids = lessonDAO.getLessonActivityIdsForToolContentId(toolContentId); Long lessonId = ids[0]; Long activityId = ids[1]; Integer currentUserId = getCurrentUserId(); - + logEvent(eventType, currentUserId, learnerUserId != null ? learnerUserId.intValue() : null, lessonId, activityId, message); } @@ -227,7 +229,7 @@ Long lessonId = ids[0]; Long activityId = ids[1]; UserDTO currentUser = getCurrentUser(); - + args[args.length - 1] = currentUser.getUserID(); args[args.length - 2] = currentUser.getLogin(); logEvent(eventType, currentUser.getUserID(), learnerUserId != null ? learnerUserId.intValue() : null, lessonId, @@ -236,15 +238,16 @@ @Override // Use for unusual changes such as adding/removing file - public void logChangeLearnerArbitraryChange(Long learnerUserId, String learnerUserLogin, Long toolContentId, String message) { + public void logChangeLearnerArbitraryChange(Long learnerUserId, String learnerUserLogin, Long toolContentId, + String message) { Long[] ids = lessonDAO.getLessonActivityIdsForToolContentId(toolContentId); Long lessonId = ids[0]; Long activityId = ids[1]; - - logEvent(LogEvent.TYPE_LEARNER_CONTENT_UPDATED, getCurrentUserId(), learnerUserId != null ? learnerUserId.intValue() : null, lessonId, - activityId, message); + + logEvent(LogEvent.TYPE_LEARNER_CONTENT_UPDATED, getCurrentUserId(), + learnerUserId != null ? learnerUserId.intValue() : null, lessonId, activityId, message); } - + @Override public void logStartEditingActivityInMonitor(Long toolContentId) { logEditActivityInMonitor(toolContentId, AUDIT_STARTED_EDITING_I18N_KEY); Index: lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java =================================================================== diff -u -re71845f3bb0d02540f9c16bcc783a71ee924de51 -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java (.../IRatingService.java) (revision e71845f3bb0d02540f9c16bcc783a71ee924de51) +++ lams_common/src/java/org/lamsfoundation/lams/rating/service/IRatingService.java (.../IRatingService.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -126,7 +126,7 @@ ItemRatingCriteriaDTO rateItem(RatingCriteria criteria, Long toolSessionId, Integer userId, Long itemId, float ratingFloat); - void commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment); + String commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment); /** * Returns results for all items. If result is needed for only one item provide provide it as a single element in a Index: lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java =================================================================== diff -u -re71845f3bb0d02540f9c16bcc783a71ee924de51 -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java (.../RatingService.java) (revision e71845f3bb0d02540f9c16bcc783a71ee924de51) +++ lams_common/src/java/org/lamsfoundation/lams/rating/service/RatingService.java (.../RatingService.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -203,10 +203,10 @@ } @Override - public void commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, + public String commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment) { RatingComment ratingComment = ratingCommentDAO.getComment(ratingCriteria.getRatingCriteriaId(), userId, itemId); - + String previousComment = null; // persist MessageRating changes in DB if (ratingComment == null) { // add ratingComment = new RatingComment(); @@ -217,10 +217,14 @@ ratingComment.setRatingCriteria(ratingCriteria); ratingComment.setToolSessionId(toolSessionId); + } else { + previousComment = ratingComment.getComment(); } ratingComment.setComment(comment); ratingDAO.saveOrUpdate(ratingComment); + + return previousComment; } @Override Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java =================================================================== diff -u -r56c27b3189648840c72a62d403908a6e4378c7af -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java (.../IPeerreviewService.java) (revision 56c27b3189648840c72a62d403908a6e4378c7af) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java (.../IPeerreviewService.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -236,8 +236,8 @@ /** Save the ratings for ranking and hedging. */ int rateItems(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Map newRatings); - /** Save a comment made on a comment only page. */ - void commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment); + /** Save a comment made on a comment only page. Return previous comment, if overwritten. */ + String commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment); /** Get the details for a single criteria */ RatingCriteria getCriteriaByCriteriaId(Long ratingCriteriaId); Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java =================================================================== diff -u -r41594a8c66d6321b47d1c14ee6d591e09a57c503 -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 41594a8c66d6321b47d1c14ee6d591e09a57c503) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -350,9 +350,9 @@ } @Override - public void commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, + public String commentItem(RatingCriteria ratingCriteria, Long toolSessionId, Integer userId, Long itemId, String comment) { - ratingService.commentItem(ratingCriteria, toolSessionId, userId, itemId, comment); + return ratingService.commentItem(ratingCriteria, toolSessionId, userId, itemId, comment); } @Override Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java =================================================================== diff -u -rf9c593122ee2e6b2463a208dfd4b2ab035860af7 -r603269d5aab112e1179448fbb5596550ab39f009 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision f9c593122ee2e6b2463a208dfd4b2ab035860af7) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 603269d5aab112e1179448fbb5596550ab39f009) @@ -37,17 +37,20 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang.StringEscapeUtils; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.logevent.service.ILogEventService; import org.lamsfoundation.lams.rating.dto.StyledCriteriaRatingDTO; import org.lamsfoundation.lams.rating.model.RatingCriteria; import org.lamsfoundation.lams.tool.peerreview.PeerreviewConstants; import org.lamsfoundation.lams.tool.peerreview.dto.EmailPreviewDTO; import org.lamsfoundation.lams.tool.peerreview.dto.GroupSummary; import org.lamsfoundation.lams.tool.peerreview.model.Peerreview; +import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewSession; import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewUser; import org.lamsfoundation.lams.tool.peerreview.service.IPeerreviewService; import org.lamsfoundation.lams.tool.peerreview.service.PeerreviewServiceImpl; +import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.JsonUtil; @@ -91,6 +94,12 @@ @Qualifier("peerreviewService") private IPeerreviewService service; + @Autowired + private ILogEventService logEventService; + + @Autowired + private IUserManagementService userManagementService; + @RequestMapping("/summary") public String summary(HttpServletRequest request, HttpServletResponse response) { // initial Session Map @@ -352,7 +361,7 @@ userData.add((String) ratingDetails[4]); String commentText = HtmlUtils.htmlEscape(comment); commentText = commentText.replace("<BR>", "\n
").replace("<br>", "\n
"); - + userData.add(commentText); userData.add("Comments"); userData.add(ratingDetails[0].toString()); @@ -694,6 +703,12 @@ @RequestParam Integer userId, @RequestParam Long itemId, @RequestParam(name = "rating") String comment) { RatingCriteria criteria = service.getCriteriaByCriteriaId(criteriaId); comment = comment.replace("\n", "
"); - service.commentItem(criteria, toolSessionId, userId, itemId, comment); + String previousComment = service.commentItem(criteria, toolSessionId, userId, itemId, comment); + + User user = userManagementService.getUserById(userId); + PeerreviewSession session = service.getPeerreviewSessionBySessionId(toolSessionId); + + logEventService.logChangeLearnerContent(userId.longValue(), user.getLogin(), + session.getPeerreview().getContentId(), previousComment, comment); } } \ No newline at end of file