Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java,v diff -u -r1.37 -r1.38 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java 1 Nov 2006 23:46:49 -0000 1.37 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java 24 Nov 2006 00:28:46 -0000 1.38 @@ -1090,6 +1090,13 @@ } } + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } + /* ===============Methods implemented from ToolContentImport102Manager =============== */ Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java,v diff -u -r1.13 -r1.14 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java 17 Sep 2006 06:20:54 -0000 1.13 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java 24 Nov 2006 00:28:46 -0000 1.14 @@ -257,4 +257,6 @@ public NotebookEntry getEntry(Long id, Integer idType, String signature, Integer userID); + + public void updateEntry(NotebookEntry notebookEntry); } \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java,v diff -u -r1.22 -r1.23 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 23 Nov 2006 04:35:20 -0000 1.22 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 24 Nov 2006 00:28:47 -0000 1.23 @@ -25,6 +25,7 @@ package org.lamsfoundation.lams.tool.chat.web.actions; import java.io.IOException; +import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -242,12 +243,27 @@ LearningForm lrnForm = (LearningForm) form; ChatUser chatUser = chatService.getUserByUID(lrnForm.getChatUserUID()); + Long toolSessionID = chatUser.getChatSession().getSessionId(); + Integer userID = chatUser.getUserId().intValue(); - chatService.createNotebookEntry(chatUser.getChatSession() - .getSessionId(), CoreNotebookConstants.NOTEBOOK_TOOL, - ChatConstants.TOOL_SIGNATURE, chatUser.getUserId().intValue(), - lrnForm.getEntryText()); + // check for existing notebook entry + NotebookEntry entry = chatService.getEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + ChatConstants.TOOL_SIGNATURE, userID); + if (entry == null) { + // create new entry + chatService.createNotebookEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + ChatConstants.TOOL_SIGNATURE, userID, lrnForm + .getEntryText()); + } else { + // update existing entry + entry.setEntry(lrnForm.getEntryText()); + entry.setLastModified(new Date()); + chatService.updateEntry(entry); + } + return finishActivity(mapping, form, request, response); } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java,v diff -u -r1.82 -r1.83 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 1 Nov 2006 06:17:53 -0000 1.82 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 24 Nov 2006 00:28:36 -0000 1.83 @@ -602,6 +602,13 @@ return list.get(0); } } + + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } //*************************************************************************************************************** // ToolContentManager and ToolSessionManager methods //*************************************************************************************************************** Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java,v diff -u -r1.37 -r1.38 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java 1 Nov 2006 06:17:53 -0000 1.37 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java 24 Nov 2006 00:28:36 -0000 1.38 @@ -317,4 +317,9 @@ * @return */ public NotebookEntry getEntry(Long sessionId, Integer idType, String signature, Integer userID); + + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry); } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java,v diff -u -r1.53 -r1.54 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 20 Nov 2006 05:29:11 -0000 1.53 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 24 Nov 2006 00:28:38 -0000 1.54 @@ -322,12 +322,24 @@ SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); - forumService.createNotebookEntry(sessionId, + // check for existing notebook entry + NotebookEntry entry = forumService.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - ForumConstants.TOOL_SIGNATURE, - userId, - refForm.getEntryText()); + ForumConstants.TOOL_SIGNATURE, userId); + if (entry == null) { + // create new entry + forumService.createNotebookEntry(sessionId, + CoreNotebookConstants.NOTEBOOK_TOOL, + ForumConstants.TOOL_SIGNATURE, userId, refForm + .getEntryText()); + } else { + // update existing entry + entry.setEntry(refForm.getEntryText()); + entry.setLastModified(new Date()); + forumService.updateEntry(entry); + } + return finish(mapping, form, request, response); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java,v diff -u -r1.22 -r1.23 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java 17 Sep 2006 06:25:36 -0000 1.22 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java 24 Nov 2006 00:28:45 -0000 1.23 @@ -230,6 +230,11 @@ public NotebookEntry getEntry(Long sessionId, Integer idType, String signature, Integer userID); /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry); + + /** * Get Reflect DTO list grouped by sessionID. * @param contentId * @return Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java,v diff -u -r1.52 -r1.53 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java 7 Nov 2006 03:43:58 -0000 1.52 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java 24 Nov 2006 00:28:45 -0000 1.53 @@ -616,6 +616,13 @@ } } + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } + public ResourceUser getUser(Long uid){ return (ResourceUser) resourceUserDao.getObject(ResourceUser.class, uid); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java,v diff -u -r1.25 -r1.26 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 17 Nov 2006 02:06:35 -0000 1.25 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 24 Nov 2006 00:28:45 -0000 1.26 @@ -436,12 +436,25 @@ Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); IResourceService service = getResourceService(); - service.createNotebookEntry(sessionId, + + // check for existing notebook entry + NotebookEntry entry = service.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - ResourceConstants.TOOL_SIGNATURE, - userId, - refForm.getEntryText()); + ResourceConstants.TOOL_SIGNATURE, userId); + if (entry == null) { + // create new entry + service.createNotebookEntry(sessionId, + CoreNotebookConstants.NOTEBOOK_TOOL, + ResourceConstants.TOOL_SIGNATURE, userId, refForm + .getEntryText()); + } else { + // update existing entry + entry.setEntry(refForm.getEntryText()); + entry.setLastModified(new Date()); + service.updateEntry(entry); + } + return finish(mapping, form, request, response); } 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.18 -r1.19 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java 19 Sep 2006 06:37:23 -0000 1.18 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java 24 Nov 2006 00:28:44 -0000 1.19 @@ -327,5 +327,7 @@ public NotebookEntry getEntry(Long id, Integer idType, String signature, Integer userID); + public void updateEntry(NotebookEntry notebookEntry); + 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.39 -r1.40 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java 18 Oct 2006 02:18:21 -0000 1.39 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java 24 Nov 2006 00:28:44 -0000 1.40 @@ -1206,4 +1206,11 @@ return list.get(0); } } + + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } } \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java,v diff -u -r1.19 -r1.20 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 20 Nov 2006 23:45:14 -0000 1.19 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 24 Nov 2006 00:28:44 -0000 1.20 @@ -26,6 +26,7 @@ import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -145,9 +146,25 @@ // Create the notebook entry if reflection is set. NoticeboardContent nbContent = nbService.retrieveNoticeboardBySessionID(toolSessionID); if (nbContent.getReflectOnActivity()) { - nbService.createNotebookEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, - NoticeboardConstants.TOOL_SIGNATURE, userID.intValue(), learnerForm.getReflectionText()); - } + // check for existing notebook entry + NotebookEntry entry = nbService.getEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + NoticeboardConstants.TOOL_SIGNATURE, userID.intValue()); + + if (entry == null) { + // create new entry + nbService.createNotebookEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, + NoticeboardConstants.TOOL_SIGNATURE, userID + .intValue(), learnerForm + .getReflectionText()); + } else { + // update existing entry + entry.setEntry(learnerForm.getReflectionText()); + entry.setLastModified(new Date()); + nbService.updateEntry(entry); + } + } String nextActivityUrl; try Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java,v diff -u -r1.26 -r1.27 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java 17 Sep 2006 06:27:55 -0000 1.26 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java 24 Nov 2006 00:28:47 -0000 1.27 @@ -195,8 +195,13 @@ * @return */ public NotebookEntry getEntry(Long sessionId, Integer idType, String signature, Integer userID); - + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry); + + /** * Delete instruction file by UID * @param uid */ Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java,v diff -u -r1.69 -r1.70 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 18 Oct 2006 02:19:15 -0000 1.69 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 24 Nov 2006 00:28:47 -0000 1.70 @@ -141,6 +141,11 @@ return list.get(0); } } + + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } + /** * (non-Javadoc) * @@ -971,6 +976,4 @@ public void setUserManagementService(IUserManagementService userManagementService) { this.userManagementService = userManagementService; } - - } \ No newline at end of file Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java,v diff -u -r1.2 -r1.3 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java 15 Nov 2006 06:42:35 -0000 1.2 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java 24 Nov 2006 00:28:47 -0000 1.3 @@ -1,5 +1,6 @@ package org.lamsfoundation.lams.tool.sbmt.web; +import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -15,6 +16,7 @@ import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; +import org.lamsfoundation.lams.notebook.service.CoreNotebookService; import org.lamsfoundation.lams.tool.sbmt.form.ReflectionForm; import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService; import org.lamsfoundation.lams.tool.sbmt.service.SubmitFilesServiceProxy; @@ -107,15 +109,27 @@ Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); ISubmitFilesService submitFilesService = getService(); - submitFilesService.createNotebookEntry(sessionId, - CoreNotebookConstants.NOTEBOOK_TOOL, - SbmtConstants.TOOL_SIGNATURE, - userId, - refForm.getEntryText()); + + + // check for existing notebook entry + NotebookEntry entry = submitFilesService.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, SbmtConstants.TOOL_SIGNATURE, userId); + + if (entry == null) { + // create new entry + submitFilesService.createNotebookEntry(sessionId, + CoreNotebookConstants.NOTEBOOK_TOOL, + SbmtConstants.TOOL_SIGNATURE, + userId, + refForm.getEntryText()); + } else { + // update existing entry + entry.setEntry(refForm.getEntryText()); + entry.setLastModified(new Date()); + submitFilesService.updateEntry(entry); + } return mapping.findForward(SbmtConstants.SUCCESS); } - //********************************************************************************************** // Private mehtods Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java,v diff -u -r1.9 -r1.10 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java 28 Sep 2006 05:44:04 -0000 1.9 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java 24 Nov 2006 00:28:46 -0000 1.10 @@ -242,6 +242,11 @@ public NotebookEntry getEntry(Long sessionId, Integer idType, String signature, Integer userID); /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry); + + /** * Get Reflect DTO list grouped by sessionID. * @param contentId * @return Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java,v diff -u -r1.13 -r1.14 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java 18 Oct 2006 02:20:07 -0000 1.13 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java 24 Nov 2006 00:28:46 -0000 1.14 @@ -294,6 +294,13 @@ } } + /** + * @param notebookEntry + */ + public void updateEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } + public SurveyUser getUser(Long uid){ return (SurveyUser) surveyUserDao.getObject(SurveyUser.class, uid); } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java,v diff -u -r1.13 -r1.14 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 17 Nov 2006 02:06:44 -0000 1.13 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 24 Nov 2006 00:28:46 -0000 1.14 @@ -432,12 +432,25 @@ Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); ISurveyService service = getSurveyService(); - service.createNotebookEntry(sessionId, + + // check for existing notebook entry + NotebookEntry entry = service.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - SurveyConstants.TOOL_SIGNATURE, - userId, - refForm.getEntryText()); + SurveyConstants.TOOL_SIGNATURE, userId); + if (entry == null) { + // create new entry + service.createNotebookEntry(sessionId, + CoreNotebookConstants.NOTEBOOK_TOOL, + SurveyConstants.TOOL_SIGNATURE, userId, refForm + .getEntryText()); + } else { + // update existing entry + entry.setEntry(refForm.getEntryText()); + entry.setLastModified(new Date()); + service.updateEntry(entry); + } + return finish(mapping, form, request, response); }