Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -rfcfd501036d7f1a3a8d51b830b3d08bca9277b11 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java (.../ResourceItemVisitDAO.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/ResourceItemVisitDAO.java (.../ResourceItemVisitDAO.java) (revision fcfd501036d7f1a3a8d51b830b3d08bca9277b11) @@ -39,9 +39,10 @@ * Return list which contains key pair which key is resource item uid, value is number view. * * @param contentId + * @param sessionId * @return */ - Map getSummary(Long contentId); + Map getSummary(Long contentId, Long sessionId); List getResourceItemLogBySession(Long sessionId, Long itemUid); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -rfcfd501036d7f1a3a8d51b830b3d08bca9277b11 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (.../ResourceItemVisitDAOHibernate.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dao/hibernate/ResourceItemVisitDAOHibernate.java (.../ResourceItemVisitDAOHibernate.java) (revision fcfd501036d7f1a3a8d51b830b3d08bca9277b11) @@ -53,8 +53,8 @@ private static final String FIND_SUMMARY = "select v.resourceItem.uid, count(v.resourceItem) from " + ResourceItemVisitLog.class.getName() + " as v , " + ResourceSession.class.getName() + " as s, " - + Resource.class.getName() + " as r " + " where v.sessionId = s.sessionId " - + " and s.resource.uid = r.uid " + " and r.contentId =? " + " group by v.sessionId, v.resourceItem.uid "; + + Resource.class.getName() + " as r " + " where v.sessionId = :sessionId and v.sessionId = s.sessionId " + + " and s.resource.uid = r.uid " + " and r.contentId =:contentId " + " group by v.sessionId, v.resourceItem.uid "; @Override public ResourceItemVisitLog getResourceItemLog(Long itemUid, Long userId) { @@ -76,10 +76,14 @@ @Override @SuppressWarnings("unchecked") - public Map getSummary(Long contentId) { + public Map getSummary(Long contentId, Long sessionId) { // Note: Hibernate 3.1 query.uniqueResult() returns Integer, Hibernate 3.2 query.uniqueResult() returns Long - List result = (List) doFind(FIND_SUMMARY, contentId); + List result = getSession().createQuery(FIND_SUMMARY) + .setLong("sessionId", sessionId) + .setLong("contentId", contentId) + .list(); + Map summaryList = new HashMap(result.size()); for (Object[] list : result) { if (list[1] != null) { Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -rce9f4e0c6d1e5814bf0dcb0fa16ae888a8c854a3 -rfcfd501036d7f1a3a8d51b830b3d08bca9277b11 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision ce9f4e0c6d1e5814bf0dcb0fa16ae888a8c854a3) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision fcfd501036d7f1a3a8d51b830b3d08bca9277b11) @@ -420,8 +420,6 @@ public List getSummary(Long contentId) { List groupList = new ArrayList(); - // get all item which is accessed by user - Map visitCountMap = resourceItemVisitDao.getSummary(contentId); Resource resource = resourceDao.getByContentId(contentId); // get all sessions in a resource and retrieve all resource items under this session @@ -440,6 +438,9 @@ // add this session's resource items items.addAll(session.getResourceItems()); + // get all item which is accessed by users in this session + Map visitCountMap = resourceItemVisitDao.getSummary(contentId, session.getSessionId()); + for (ResourceItem item : items) { ResourceItemDTO resourceItemDTO = new ResourceItemDTO(item); // set viewNumber according visit log