Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java =================================================================== diff -u -rf34fe94dfdf0e7794d5845d1cc63f2d72de2f0cb -r3743012683d8ece971118e4bfc03996fc829aa2f --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java (.../NbLearnerAction.java) (revision f34fe94dfdf0e7794d5845d1cc63f2d72de2f0cb) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java (.../NbLearnerAction.java) (revision 3743012683d8ece971118e4bfc03996fc829aa2f) @@ -135,34 +135,25 @@ if (mode == ToolAccessMode.LEARNER || mode == ToolAccessMode.AUTHOR) { NoticeboardSession nbSession = nbService.retrieveNoticeboardSession(toolSessionID); - NoticeboardUser nbUser = nbService.retrieveNoticeboardUser(userID); + NoticeboardUser nbUser = nbService.retrieveNbUserBySession(userID,toolSessionID); nbUser.setUserStatus(NoticeboardUser.COMPLETED); nbService.updateNoticeboardSession(nbSession); nbService.updateNoticeboardUser(nbUser); - /** - * TODO: when this method is called, it throws a NullPointerException. - * This is an error due to the learner service method completeToolSession(). - * It is not tested yet, however it is left in the code, to indicate that a learner has completed an activity. - * - * get the url that is returned from leavetoolsession and redirect to this url - */ - - String nextActivityUrl; try { nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, getUserID(request)); } catch (DataMissingException e) { - // TODO Auto-generated catch block + log.error(e); throw new ServletException(e); } catch (ToolException e) { - // TODO Auto-generated catch block + log.error(e); throw new ServletException(e); } Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java =================================================================== diff -u -rf34fe94dfdf0e7794d5845d1cc63f2d72de2f0cb -r3743012683d8ece971118e4bfc03996fc829aa2f --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java (.../NbLearnerStarterAction.java) (revision f34fe94dfdf0e7794d5845d1cc63f2d72de2f0cb) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java (.../NbLearnerStarterAction.java) (revision 3743012683d8ece971118e4bfc03996fc829aa2f) @@ -186,35 +186,8 @@ public ActionForward author(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws NbApplicationException { - /* will show a different screen if defineLater flag is set and running in preview mode */ - NoticeboardContent nbContent = null; - NbWebUtil.cleanLearnerSession(request); - saveMessages(request, null); - - NbLearnerForm learnerForm = (NbLearnerForm)form; - - ActionMessages message = new ActionMessages(); - INoticeboardService nbService = NoticeboardServiceProxy.getNbService(getServlet().getServletContext()); - - Long toolSessionId = WebUtil.readLongParam(request, NoticeboardConstants.TOOL_SESSION_ID,false); + return learner(mapping, form, request, response); - nbContent = nbService.retrieveNoticeboardBySessionID(toolSessionId); - - if(nbContent == null) - { - String error = "An Internal error has occurred. Please exit and retry this sequence"; - logger.error(error); - throw new NbApplicationException(error); - } - - if (displayMessageToAuthor(nbContent, message)) - { - saveMessages(request, message); - return mapping.findForward(NoticeboardConstants.DISPLAY_MESSAGE); - } - - learnerForm.copyValuesIntoForm(nbContent); - return mapping.findForward(NoticeboardConstants.DISPLAY_LEARNER_CONTENT); }