Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -rd926a01b391e585bd535135a7360205f36cde6e6 -rb47c0e627d4796a44dd02998ebd24ab4c1da57eb --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision d926a01b391e585bd535135a7360205f36cde6e6) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision b47c0e627d4796a44dd02998ebd24ab4c1da57eb) @@ -96,6 +96,7 @@ import org.lamsfoundation.lams.tool.rsrc.model.ResourceSession; import org.lamsfoundation.lams.tool.rsrc.model.ResourceUser; import org.lamsfoundation.lams.tool.rsrc.util.ReflectDTOComparator; +import org.lamsfoundation.lams.tool.rsrc.util.ResourceItemComparator; import org.lamsfoundation.lams.tool.rsrc.util.ResourceToolContentHandler; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; @@ -503,20 +504,24 @@ // get all item which is accessed by user Map visitCountMap = resourceItemVisitDao.getSummary(contentId); - Resource resource = resourceDao.getByContentId(contentId); - Set items = resource.getResourceItems(); // get all sessions in a resource and retrieve all resource items under this session // plus initial resource items by author creating (resItemList) List sessionList = resourceSessionDao.getByContentId(contentId); + for (ResourceSession session : sessionList) { // one new group for one session. GroupSummary group = new GroupSummary(); group.setSessionId(session.getSessionId()); group.setSessionName(session.getSessionName()); - + + Set items = new TreeSet(new ResourceItemComparator()); // firstly, put all initial resource item into this group. + items.addAll(resource.getResourceItems()); + // add this session's resource items + items.addAll(session.getResourceItems()); + for (ResourceItem item : items) { ItemSummary itemSummary = new ItemSummary(item); // set viewNumber according visit log @@ -526,20 +531,6 @@ group.getItems().add(itemSummary); } - // get this session's all resource items - Set sessItemList = session.getResourceItems(); - for (ResourceItem item : sessItemList) { - // to skip all item create by author - if (!item.isCreateByAuthor()) { - ItemSummary itemSummary = new ItemSummary(item); - // set viewNumber according visit log - if (visitCountMap.containsKey(item.getUid())) { - itemSummary.setViewNumber(visitCountMap.get(item.getUid()).intValue()); - } - group.getItems().add(itemSummary); - } - } - groupList.add(group); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/MonitoringAction.java =================================================================== diff -u -rf589f17dab46e9f86267fdb1e72f1957106752d9 -rb47c0e627d4796a44dd02998ebd24ab4c1da57eb --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision f589f17dab46e9f86267fdb1e72f1957106752d9) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision b47c0e627d4796a44dd02998ebd24ab4c1da57eb) @@ -144,14 +144,20 @@ JSONArray rows = new JSONArray(); for (ResourceUser user : userList) { - DateFormat sfm = new SimpleDateFormat("HH:mm:ss"); + DateFormat timeTakenFormatter = new SimpleDateFormat("H:mm:ss"); + DateFormat dateFormatter = new SimpleDateFormat("d-MMM-yyyy h:mm a"); JSONArray userData = new JSONArray(); userData.put(user.getUserId()); userData.put(user.getFirstName() + " " + user.getLastName()); - userData.put(user.getAccessDate()); - userData.put(user.getCompleteDate()); - String timeTaken = (user.getTimeTaken() == null) ? "" : sfm.format(DateUtil.convertToUTC(user.getTimeTaken())); + String accessDate = (user.getAccessDate() == null) ? "" : dateFormatter.format(DateUtil.convertToUTC(user + .getAccessDate())); + userData.put(accessDate); + String completeDate = (user.getCompleteDate() == null) ? "" : dateFormatter.format(DateUtil + .convertToUTC(user.getCompleteDate())); + userData.put(completeDate); + String timeTaken = (user.getTimeTaken() == null) ? "" : timeTakenFormatter.format(DateUtil + .convertToUTC(user.getTimeTaken())); userData.put(timeTaken); JSONObject userRow = new JSONObject();