Return the persistent instance of a NoticeboardUser @@ -96,4 +98,5 @@ */ public int getNumberOfUsers(NoticeboardSession nbSession); -} + public List getNbUsersBySession(Long sessionId); +} \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java,v diff -u -r1.8 -r1.9 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java 17 Sep 2006 06:26:26 -0000 1.8 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java 19 Sep 2006 06:37:25 -0000 1.9 @@ -48,11 +48,13 @@ /** @see org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardUserDAO#getNbUserByID(java.lang.Long) */ - public NoticeboardUser getNbUserByID(Long userId) + public NoticeboardUser getNbUser(Long userId, Long sessionId) { - String query = "from NoticeboardUser user where user.userId=?"; - List users = getHibernateTemplate().find(query,userId); - + String query = "from NoticeboardUser user where user.userId=? and user.nbSession.nbSessionId=?"; + Object[] values = new Object[2]; + values[0] = userId; + values[1] = sessionId; + List users = getHibernateTemplate().find(query,values); if(users!=null && users.size() == 0) { return null; @@ -126,5 +128,8 @@ nbSession)).size(); } - -} + public List getNbUsersBySession(Long sessionId) { + String query = "from NoticeboardUser user where user.nbSession.nbSessionId=?"; + return getHibernateTemplate().find(query,sessionId); + } +} \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dto/ReflectionDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dto/ReflectionDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dto/ReflectionDTO.java 19 Sep 2006 06:37:24 -0000 1.1 @@ -0,0 +1,84 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id: ReflectionDTO.java,v 1.1 2006/09/19 06:37:24 jliew Exp $ */ +package org.lamsfoundation.lams.tool.noticeboard.dto; + +import org.lamsfoundation.lams.notebook.model.NotebookEntry; + +/** + * @author jliew + * + */ +public class ReflectionDTO { + + private Long userId; + private String username; + private String fullName; + private String entry; + private Long externalId; + + public ReflectionDTO(NotebookEntry nbEntry) { + this.entry = nbEntry.getEntry(); + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getEntry() { + return entry; + } + + public void setEntry(String entry) { + this.entry = entry; + } + + public Long getExternalId() { + return externalId; + } + + public void setExternalId(Long externalId) { + this.externalId = externalId; + } + +} Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java,v diff -u -r1.17 -r1.18 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java 17 Sep 2006 06:26:25 -0000 1.17 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java 19 Sep 2006 06:37:23 -0000 1.18 @@ -29,6 +29,7 @@ import org.lamsfoundation.lams.contentrepository.NodeKey; import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardAttachment; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession; @@ -171,7 +172,7 @@ * @param nbUserId The user id of the instance of NoticeboardUser * @return the persistent instance of a NoticeboardUser or null if not found. */ - public NoticeboardUser retrieveNoticeboardUser(Long nbUserId); + public NoticeboardUser retrieveNoticeboardUser(Long nbUserId, Long toolSessionId); /** *
Return the persistent instance of a NoticeboardUser @@ -204,9 +205,10 @@ * that specified in the argument. * * @param nbUserId The id of the requested noticeboard object + * @param toolSessionId The id of the nbUser's associated nbSession * */ - public void removeUser(Long nbUserId); + public void removeUser(Long nbUserId, Long toolSessionId); /** *
Delete the given instance of NoticeboardUser
@@ -321,4 +323,9 @@ */ public Long getToolDefaultContentIdBySignature(String toolSignature); -} + public Long createNotebookEntry(Long id, Integer idType, String signature, Integer userID, String entry); + + public NotebookEntry getEntry(Long id, Integer idType, String signature, Integer userID); + + public List getUsersBySession(Long sessionId); +} \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java,v diff -u -r1.33 -r1.34 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java 17 Sep 2006 06:26:25 -0000 1.33 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java 19 Sep 2006 06:37:23 -0000 1.34 @@ -47,6 +47,8 @@ import org.lamsfoundation.lams.tool.exception.DataMissingException; import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.noticeboard.NbApplicationException; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardAttachment; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardConstants; @@ -89,6 +91,8 @@ private IExportToolContentService exportContentService; private static Logger log = Logger.getLogger(NoticeboardServicePOJO.class); + + private ICoreNotebookService coreNotebookService; /* ============================================================================== @@ -421,7 +425,7 @@ /** * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#retrieveNoticeboardUser(java.lang.Long) */ - public NoticeboardUser retrieveNoticeboardUser(Long nbUserId) + public NoticeboardUser retrieveNoticeboardUser(Long nbUserId, Long nbSessionId) { if (nbUserId == null) { @@ -432,7 +436,7 @@ try { - nbUser = nbUserDAO.getNbUserByID(nbUserId); + nbUser = nbUserDAO.getNbUser(nbUserId, nbSessionId); } catch (DataAccessException e) { @@ -523,7 +527,7 @@ /** * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#removeUser(java.lang.Long) */ - public void removeUser(Long nbUserId) + public void removeUser(Long nbUserId, Long toolSessionId) { if (nbUserId == null) { @@ -533,7 +537,7 @@ } try { - NoticeboardUser user = retrieveNoticeboardUser(nbUserId); + NoticeboardUser user = retrieveNoticeboardUser(nbUserId, toolSessionId); NoticeboardSession session = user.getNbSession(); session.getNbUsers().remove(user); nbUserDAO.removeNbUser(nbUserId); @@ -640,6 +644,21 @@ return totalNumberOfUsers; } + public List getUsersBySession(Long sessionId) { + + if (sessionId!=null) { + try { + return nbUserDAO.getNbUsersBySession(sessionId); + } catch (DataAccessException e) { + throw new NbApplicationException("EXCEPTION: An exception has occurred while trying to get the list of users in the session: " + + e.getMessage(), e); + } + } else { + log.error("Unable to continue. Session id is missing"); + } + return null; + } + /* ============================================================================== * Methods for access to NoticeboardUser objects * ============================================================================== @@ -1046,6 +1065,7 @@ toolContentObj.setOfflineInstructions(null); toolContentObj.setOnlineInstructions(null); toolContentObj.setTitle((String)importValues.get(ToolContentImport102Manager.CONTENT_TITLE)); + toolContentObj.setReflectOnActivity(false); // leave as empty, no need to set them to anything. //toolContentObj.setNbSessions(nbSessions); //toolContentObj.setNbAttachments(nbAttachments); @@ -1074,7 +1094,8 @@ return contentId; } - /* getter setter methods to obtain the service bean */ + /* =============== Used by Spring to "inject" the linked objects =============== */ + /*public INoticeboardContentDAO getNbContentDAO() { return nbContentDAO; @@ -1138,12 +1159,38 @@ public void setNbToolContentHandler(IToolContentHandler nbToolContentHandler) { this.nbToolContentHandler = nbToolContentHandler; } + public IExportToolContentService getExportContentService() { return exportContentService; } - public void setExportContentService(IExportToolContentService exportContentService) { this.exportContentService = exportContentService; } -} + + public ICoreNotebookService getCoreNotebookService() { + return coreNotebookService; + } + + public void setCoreNotebookService(ICoreNotebookService coreNotebookService) { + this.coreNotebookService = coreNotebookService; + } + + /* =============== Wrappers Methods for Notebook Service (Reflective Option) =============== */ + + public Long createNotebookEntry(Long id, Integer idType, String signature, + Integer userID, String entry) { + return coreNotebookService.createNotebookEntry(id, idType, signature, userID, "", entry); + } + + public NotebookEntry getEntry(Long id, Integer idType, String signature, + Integer userID) { + + List