Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/INoticeboardUserDAO.java =================================================================== diff -u -rc37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1 -r981a75a7b464b24a0bd26b9864624fd34c534607 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/INoticeboardUserDAO.java (.../INoticeboardUserDAO.java) (revision c37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/INoticeboardUserDAO.java (.../INoticeboardUserDAO.java) (revision 981a75a7b464b24a0bd26b9864624fd34c534607) @@ -56,6 +56,18 @@ public NoticeboardUser getNbUserByID(Long userId); /** + *
Return the persistent instance of a NoticeboardUser
+ * who has the user id userId
and tool session id
+ * sessionId
+ * returns null if not found.
Persist the given persistent instance of NoticeboardUser.
* * @param nbUser The instance of NoticeboardUser to persist. Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java =================================================================== diff -u -rc37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1 -r981a75a7b464b24a0bd26b9864624fd34c534607 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java (.../NoticeboardUserDAO.java) (revision c37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java (.../NoticeboardUserDAO.java) (revision 981a75a7b464b24a0bd26b9864624fd34c534607) @@ -38,8 +38,9 @@ public class NoticeboardUserDAO extends HibernateDaoSupport implements INoticeboardUserDAO { private static final String COUNT_USERS_IN_SESSION = "select nu.userId from NoticeboardUser nu where nu.nbSession= :nbSession"; - + + /** @see org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardUserDAO#getNbUserByUID(java.lang.Long) */ public NoticeboardUser getNbUserByUID(Long uid) { @@ -62,7 +63,27 @@ return (NoticeboardUser)users.get(0); } } + + /** @see org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardUserDAO#getNbUserBySession(java.lang.Long, java.lang.Long)*/ + public NoticeboardUser getNbUserBySession(Long userId, Long sessionId) + { + String query = "select nu from NoticeboardUser nu where nu.userId=? and nu.nbSession.nbSessionId=?"; + Long[] bindingValues = new Long[2]; + bindingValues[0] = userId; + bindingValues[1] = sessionId; + List usersReturned = getHibernateTemplate().find(query, bindingValues); //although only one or no users should be returned + + if (usersReturned!= null && usersReturned.size() == 0) + { + return null; + } + else + { + return (NoticeboardUser)usersReturned.get(0); + } + } + /** @see org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardUserDAO#saveNbUser(org.lamsfoundation.lams.tool.noticeboard.NoticeboardUser) */ public void saveNbUser(NoticeboardUser nbUser) {