Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/DokumaranUserDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r3b951be8d201e41a829d079895d30c9b51fd1dce --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/DokumaranUserDAO.java (.../DokumaranUserDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/DokumaranUserDAO.java (.../DokumaranUserDAO.java) (revision 3b951be8d201e41a829d079895d30c9b51fd1dce) @@ -33,11 +33,14 @@ DokumaranUser getUserByUserIDAndContentID(Long userId, Long contentId); + DokumaranUser getUserByUserIDAndContentIDViaSession(Long userId, Long contentId); + List getBySessionID(Long sessionId); - + /** - * Get the list of all leaders in the specified session. This method is applicable only in case allowMultipleLeaders option is ON. - * + * Get the list of all leaders in the specified session. This method is applicable only in case allowMultipleLeaders + * option is ON. + * * @param sessionId * @return */ Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/hibernate/DokumaranUserDAOHibernate.java =================================================================== diff -u -rae5ca71cff855dcaa48d5b4f2989e5411fcaac04 -r3b951be8d201e41a829d079895d30c9b51fd1dce --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/hibernate/DokumaranUserDAOHibernate.java (.../DokumaranUserDAOHibernate.java) (revision ae5ca71cff855dcaa48d5b4f2989e5411fcaac04) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dao/hibernate/DokumaranUserDAOHibernate.java (.../DokumaranUserDAOHibernate.java) (revision 3b951be8d201e41a829d079895d30c9b51fd1dce) @@ -35,6 +35,8 @@ private static final String FIND_BY_USER_ID_CONTENT_ID = "from " + DokumaranUser.class.getName() + " as u where u.userId =? and u.dokumaran.contentId=?"; + private static final String FIND_BY_USER_ID_CONTENT_ID_VIA_SESSION = "from " + DokumaranUser.class.getName() + + " as u where u.userId =? and u.session.dokumaran.contentId=?"; private static final String FIND_BY_USER_ID_SESSION_ID = "from " + DokumaranUser.class.getName() + " as u where u.userId =? and u.session.sessionId=?"; private static final String FIND_BY_SESSION_ID = "from " + DokumaranUser.class.getName() @@ -61,14 +63,23 @@ } @Override + public DokumaranUser getUserByUserIDAndContentIDViaSession(Long userId, Long contentId) { + List list = this.doFind(FIND_BY_USER_ID_CONTENT_ID_VIA_SESSION, new Object[] { userId, contentId }); + if (list == null || list.size() == 0) { + return null; + } + return (DokumaranUser) list.get(0); + } + + @Override @SuppressWarnings("unchecked") public List getBySessionID(Long sessionId) { - return (List) this.doFind(FIND_BY_SESSION_ID, sessionId); + return this.doFind(FIND_BY_SESSION_ID, sessionId); } - + @Override public List getLeadersBySessionId(Long sessionId) { - return (List) this.doFind(FIND_LEADERS_BY_SESSION_ID, sessionId); + return this.doFind(FIND_LEADERS_BY_SESSION_ID, sessionId); } } Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java =================================================================== diff -u -r5ce80833bb0828de219fc5b59e9e73c365da8559 -r3b951be8d201e41a829d079895d30c9b51fd1dce --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision 5ce80833bb0828de219fc5b59e9e73c365da8559) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision 3b951be8d201e41a829d079895d30c9b51fd1dce) @@ -327,12 +327,12 @@ return dokumaranUserDao.getUserByUserIDAndContentID(userId, contentId); } - @SuppressWarnings("unchecked") @Override public DokumaranUser getUserByLoginAndContent(String login, long contentId) { List user = dokumaranUserDao.findByProperty(User.class, "login", login); return user.isEmpty() ? null - : dokumaranUserDao.getUserByUserIDAndContentID(user.get(0).getUserId().longValue(), contentId); + : dokumaranUserDao.getUserByUserIDAndContentIDViaSession(user.get(0).getUserId().longValue(), + contentId); } @Override