Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java =================================================================== diff -u -rda54b82e5ef860fe9f8872b75f2b1718cfb7de32 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision da54b82e5ef860fe9f8872b75f2b1718cfb7de32) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java (.../IChatService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/IChatService.java (.../IChatService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r7ed90c8aa3d2766ce648e9000f47c6a97f295812 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision 7ed90c8aa3d2766ce648e9000f47c6a97f295812) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r4526bc668178760326017e561b75a0358e10b4fb -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 4526bc668178760326017e561b75a0358e10b4fb) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r4526bc668178760326017e561b75a0358e10b4fb -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java (.../IForumService.java) (revision 4526bc668178760326017e561b75a0358e10b4fb) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java (.../IForumService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r99c920d6a9d32eb5bf47bcbba06c03b027f5b786 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision 99c920d6a9d32eb5bf47bcbba06c03b027f5b786) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java (.../IResourceService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java (.../IResourceService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -rf9b44d4cb2ce43593a3e9c144e02ba9907026885 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision f9b44d4cb2ce43593a3e9c144e02ba9907026885) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r1ee653aae7ac1b2ae1e30254a8e6bd2dcdf95bad -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java (.../LearningAction.java) (revision 1ee653aae7ac1b2ae1e30254a8e6bd2dcdf95bad) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java (.../LearningAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r4aae0391a4892385de3df761a655e0ab8b1c0183 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java (.../INoticeboardService.java) (revision 4aae0391a4892385de3df761a655e0ab8b1c0183) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/INoticeboardService.java (.../INoticeboardService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r40632908af1b31e1af4f1607b0ee4031ab098a84 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision 40632908af1b31e1af4f1607b0ee4031ab098a84) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r19be54d4ab8af4ef6e1fdb487e9e253f3478916d -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java (.../NbLearnerAction.java) (revision 19be54d4ab8af4ef6e1fdb487e9e253f3478916d) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java (.../NbLearnerAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java (.../ISubmitFilesService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java (.../ISubmitFilesService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r40632908af1b31e1af4f1607b0ee4031ab098a84 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 40632908af1b31e1af4f1607b0ee4031ab098a84) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r82513de88ed468a1efaa3f5cced49157933767f3 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java (.../ReflectAction.java) (revision 82513de88ed468a1efaa3f5cced49157933767f3) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ReflectAction.java (.../ReflectAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r103eacc68afe9e0df0c7bae49c482eb34873165a -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java (.../ISurveyService.java) (revision 103eacc68afe9e0df0c7bae49c482eb34873165a) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/ISurveyService.java (.../ISurveyService.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r40632908af1b31e1af4f1607b0ee4031ab098a84 -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision 40632908af1b31e1af4f1607b0ee4031ab098a84) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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 =================================================================== diff -u -r1ee653aae7ac1b2ae1e30254a8e6bd2dcdf95bad -rd07409f014674f056d1bd67d865ba77f0f8298e9 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java (.../LearningAction.java) (revision 1ee653aae7ac1b2ae1e30254a8e6bd2dcdf95bad) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java (.../LearningAction.java) (revision d07409f014674f056d1bd67d865ba77f0f8298e9) @@ -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); }