Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/IMindmapService.java =================================================================== diff -u -r889137c66c1156153a5e8eaa1e250ae60024fc0a -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/IMindmapService.java (.../IMindmapService.java) (revision 889137c66c1156153a5e8eaa1e250ae60024fc0a) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/IMindmapService.java (.../IMindmapService.java) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -27,6 +27,7 @@ import java.util.List; import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.mindmap.dto.MindmapDTO; import org.lamsfoundation.lams.tool.mindmap.model.Mindmap; import org.lamsfoundation.lams.tool.mindmap.model.MindmapNode; import org.lamsfoundation.lams.tool.mindmap.model.MindmapRequest; @@ -136,6 +137,8 @@ XStream getXStream(); + void fillGalleryWalkRatings(MindmapDTO mindmapDTO, Long ratingUserId); + void createGalleryWalkRatingCriterion(long toolContentId); void startGalleryWalk(long toolContentId) throws IOException; Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java =================================================================== diff -u -r889137c66c1156153a5e8eaa1e250ae60024fc0a -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision 889137c66c1156153a5e8eaa1e250ae60024fc0a) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -29,8 +29,10 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.SortedMap; +import java.util.function.Function; import java.util.stream.Collectors; import org.apache.log4j.Logger; @@ -44,6 +46,7 @@ import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; +import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; import org.lamsfoundation.lams.rating.model.RatingCriteria; import org.lamsfoundation.lams.rating.model.ToolActivityRatingCriteria; import org.lamsfoundation.lams.rating.service.IRatingService; @@ -64,6 +67,8 @@ import org.lamsfoundation.lams.tool.mindmap.dao.IMindmapRequestDAO; import org.lamsfoundation.lams.tool.mindmap.dao.IMindmapSessionDAO; import org.lamsfoundation.lams.tool.mindmap.dao.IMindmapUserDAO; +import org.lamsfoundation.lams.tool.mindmap.dto.MindmapDTO; +import org.lamsfoundation.lams.tool.mindmap.dto.MindmapSessionDTO; import org.lamsfoundation.lams.tool.mindmap.model.Mindmap; import org.lamsfoundation.lams.tool.mindmap.model.MindmapNode; import org.lamsfoundation.lams.tool.mindmap.model.MindmapRequest; @@ -1060,6 +1065,35 @@ return xstream; } + public void fillGalleryWalkRatings(MindmapDTO mindmapDTO, Long ratingUserId) { + Map itemRatingDtoMap = null; + if (!mindmapDTO.isGalleryWalkReadOnly()) { + // it should have been created on lesson create, + // but in case Live Edit added Gallery Walk, we need to add it now, but just once + try { + createGalleryWalkRatingCriterion(mindmapDTO.getToolContentId()); + } catch (Exception e) { + logger.warn("Ignoring error while processing Mindmap Gallery Walk criteria for tool content ID " + + mindmapDTO.getToolContentId()); + } + } + + // Item IDs are WhiteboardSession session IDs, i.e. a single Whiteboard + Set itemIds = mindmapDTO.getSessionDTOs().stream() + .collect(Collectors.mapping(MindmapSessionDTO::getSessionID, Collectors.toSet())); + + List itemRatingDtos = ratingService.getRatingCriteriaDtos(mindmapDTO.getToolContentId(), null, + itemIds, true, ratingUserId); + // Mapping of Item ID -> DTO + itemRatingDtoMap = itemRatingDtos.stream() + .collect(Collectors.toMap(ItemRatingDTO::getItemId, Function.identity())); + + for (MindmapSessionDTO sessionDTO : mindmapDTO.getSessionDTOs()) { + sessionDTO.setItemRatingDto(itemRatingDtoMap.get(sessionDTO.getSessionID())); + } + } + + @Override public void createGalleryWalkRatingCriterion(long toolContentId) { List criteria = ratingService.getCriteriasByToolContentId(toolContentId); Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java =================================================================== diff -u -r889137c66c1156153a5e8eaa1e250ae60024fc0a -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java (.../LearningController.java) (revision 889137c66c1156153a5e8eaa1e250ae60024fc0a) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/LearningController.java (.../LearningController.java) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -28,11 +28,8 @@ import java.util.Date; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.TimeZone; -import java.util.function.Function; -import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -42,16 +39,13 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; -import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; -import org.lamsfoundation.lams.rating.service.IRatingService; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.mindmap.MindmapConstants; import org.lamsfoundation.lams.tool.mindmap.dto.IdeaJSON; import org.lamsfoundation.lams.tool.mindmap.dto.MindmapDTO; -import org.lamsfoundation.lams.tool.mindmap.dto.MindmapSessionDTO; import org.lamsfoundation.lams.tool.mindmap.dto.NotifyResponseJSON; import org.lamsfoundation.lams.tool.mindmap.dto.RootJSON; import org.lamsfoundation.lams.tool.mindmap.model.Mindmap; @@ -101,9 +95,6 @@ private IMindmapService mindmapService; @Autowired - private IRatingService ratingService; - - @Autowired @Qualifier("mindmapMessageService") private MessageService messageService; @@ -168,32 +159,8 @@ request); if (mindmap.isGalleryWalkStarted()) { - Map itemRatingDtoMap = null; - if (!mindmap.isGalleryWalkReadOnly()) { - // it should have been created on lesson create, - // but in case Live Edit added Gallery Walk, we need to add it now, but just once - try { - mindmapService.createGalleryWalkRatingCriterion(mindmap.getToolContentId()); - } catch (Exception e) { - log.warn("Ignoring error while processing Mindmap Gallery Walk criteria for tool content ID " - + mindmap.getToolContentId()); - } - } - // Item IDs are WhiteboardSession session IDs, i.e. a single Whiteboard - Set itemIds = mindmapDTO.getSessionDTOs().stream() - .collect(Collectors.mapping(MindmapSessionDTO::getSessionID, Collectors.toSet())); - - List itemRatingDtos = ratingService.getRatingCriteriaDtos(mindmap.getToolContentId(), null, - itemIds, true, mindmapUser.getUserId()); - // Mapping of Item ID -> DTO - itemRatingDtoMap = itemRatingDtos.stream() - .collect(Collectors.toMap(ItemRatingDTO::getItemId, Function.identity())); - - for (MindmapSessionDTO sessionDTO : mindmapDTO.getSessionDTOs()) { - sessionDTO.setItemRatingDto(itemRatingDtoMap.get(sessionDTO.getSessionID())); - } - + mindmapService.fillGalleryWalkRatings(mindmapDTO, mindmapUser.getUserId()); return "pages/learning/galleryWalk"; } Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/MonitoringController.java =================================================================== diff -u -r232372ca3bbe7a14d8ddb66e07516839ed0a97d6 -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 232372ca3bbe7a14d8ddb66e07516839ed0a97d6) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -100,6 +100,10 @@ DateUtil.convertToStringForJSON(submissionDeadline, request.getLocale())); } + if (mindmap.isGalleryWalkFinished() && !mindmap.isGalleryWalkReadOnly()) { + mindmapService.fillGalleryWalkRatings(mindmapDTO, null); + } + return "pages/monitoring/monitoring"; } @@ -121,7 +125,7 @@ MindmapUser mindmapUser = mindmapService.getUserByUID(userId); MindmapUserDTO userDTO = new MindmapUserDTO(mindmapUser); request.setAttribute("userDTO", userDTO); - request.setAttribute("userId", mindmapUser.getUid()); + request.setAttribute("userUid", mindmapUser.getUid()); } return "pages/monitoring/mindmapDisplay"; Index: lams_tool_mindmap/web/pages/learning/galleryWalk.jsp =================================================================== diff -u -r889137c66c1156153a5e8eaa1e250ae60024fc0a -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/web/pages/learning/galleryWalk.jsp (.../galleryWalk.jsp) (revision 889137c66c1156153a5e8eaa1e250ae60024fc0a) +++ lams_tool_mindmap/web/pages/learning/galleryWalk.jsp (.../galleryWalk.jsp) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -76,7 +76,7 @@ $(document).ready(function(){ $('[data-toggle="tooltip"]').bootstrapTooltip(); - // show Whiteboards only on Group expand + // show mindmaps only on Group expand $('.mindmap-collapse').on('show.bs.collapse', function(){ var mindmap = $('.mindmap-frame', this); if (mindmap.data('src')) { Index: lams_tool_mindmap/web/pages/monitoring/summary.jsp =================================================================== diff -u -r232372ca3bbe7a14d8ddb66e07516839ed0a97d6 -r065d718671157674c7665d3f6d68aab25eeabbe7 --- lams_tool_mindmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 232372ca3bbe7a14d8ddb66e07516839ed0a97d6) +++ lams_tool_mindmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 065d718671157674c7665d3f6d68aab25eeabbe7) @@ -34,7 +34,12 @@ #gallery-walk-rating-table td:first-child { text-align: right; } - + + .mindmap-frame { + width: 100%; + height: 700px; + border: none; + }