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.7 -r1.8 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 26 Aug 2005 02:44:50 -0000 1.7 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 14 Sep 2005 01:46:03 -0000 1.8 @@ -31,6 +31,8 @@ import java.util.HashMap; import java.util.Map; +import javax.servlet.ServletException; +import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.lamsfoundation.lams.web.action.LamsLookupDispatchAction; @@ -93,7 +95,7 @@ * @param response * @return */ - public ActionForward finish(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws NbApplicationException, ToolException, DataMissingException { + public ActionForward finish(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws NbApplicationException, ToolException, DataMissingException, ServletException, IOException { NbLearnerForm learnerForm = (NbLearnerForm)form; Long toolSessionID = NbWebUtil.convertToLong(learnerForm.getToolSessionId()); @@ -130,10 +132,32 @@ * 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 */ - sessionMgrService.leaveToolSession(NbWebUtil.convertToLong(learnerForm.getToolSessionId()), user); + String nextActivityUrl; + try + { + nextActivityUrl = sessionMgrService.leaveToolSession(NbWebUtil.convertToLong(learnerForm.getToolSessionId()), user); + } + catch (DataMissingException e) + { + // TODO Auto-generated catch block + throw new ServletException(e); + } + catch (ToolException e) + { + // TODO Auto-generated catch block + throw new ServletException(e); + } + + response.sendRedirect(nextActivityUrl); + + return null; + + } request.getSession().setAttribute(NoticeboardConstants.READ_ONLY_MODE, "true");