Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java,v diff -u -r1.3 -r1.4 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java 12 Aug 2005 04:26:51 -0000 1.3 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java 8 Dec 2005 00:12:21 -0000 1.4 @@ -25,6 +25,7 @@ import javax.servlet.ServletContext; +import org.lamsfoundation.lams.tool.ToolSessionManager; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -34,9 +35,21 @@ public class SubmitFilesServiceProxy { public static final ISubmitFilesService getSubmitFilesService(ServletContext servletContext){ + return (ISubmitFilesService) getService(servletContext); + } + + public static final ToolSessionManager getToolSessionManager(ServletContext servletContext){ + return (ToolSessionManager) getService(servletContext); + } + + /** + * @param servletContext + * @return + */ + private static Object getService(ServletContext servletContext) { WebApplicationContext context = WebApplicationContextUtils .getRequiredWebApplicationContext(servletContext); - return (ISubmitFilesService)context.getBean("submitFilesService"); + return context.getBean("submitFilesService"); } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java,v diff -u -r1.9 -r1.10 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java 18 Nov 2005 04:42:32 -0000 1.9 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java 8 Dec 2005 00:12:21 -0000 1.10 @@ -35,4 +35,5 @@ public static final String TOOL_URL_BASE = "/lams/tool/lasbmt11/"; public static final String ATTACHMENT_LIST = "attachmentList"; public static final String DELETED_ATTACHMENT_LIST = "deletedAttachmentList"; + public static final String READ_ONLY_MODE = "readOnlyMode"; } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java,v diff -u -r1.22 -r1.23 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java 17 Nov 2005 06:29:31 -0000 1.22 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java 8 Dec 2005 00:12:21 -0000 1.23 @@ -6,6 +6,7 @@ */ package org.lamsfoundation.lams.tool.sbmt.web; +import java.io.IOException; import java.util.Iterator; import java.util.List; @@ -23,6 +24,9 @@ import org.apache.struts.actions.DispatchAction; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.ToolSessionManager; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.sbmt.Learner; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesSession; @@ -194,22 +198,47 @@ ActionForm form, HttpServletRequest request, HttpServletResponse response){ - DynaActionForm authForm= (DynaActionForm)form; - Long sessionID =(Long) authForm.get(AttributeNames.PARAM_TOOL_SESSION_ID); - Long userID = (Long)authForm.get(SbmtConstants.USER_ID); - submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext()); - submitFilesService.finishSubmission(sessionID,userID); + + DynaActionForm authForm = (DynaActionForm) form; + ToolAccessMode mode = (ToolAccessMode) request.getSession().getAttribute(AttributeNames.ATTR_MODE); + if (mode == ToolAccessMode.LEARNER) { + ToolSessionManager sessionMgrService = SubmitFilesServiceProxy.getToolSessionManager(getServlet().getServletContext()); + submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext()); + Long sessionID = (Long) authForm.get(AttributeNames.PARAM_TOOL_SESSION_ID); + //get back login user DTO + //get session from shared session. + HttpSession ss = SessionManager.getSession(); + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + Long userID = new Long(user.getUserID().longValue()); + submitFilesService.finishSubmission(sessionID, userID); + + String nextActivityUrl; + try { + nextActivityUrl = sessionMgrService.leaveToolSession(sessionID, userID); + response.sendRedirect(nextActivityUrl); + } catch (DataMissingException e) { + throw new SubmitFilesException(e); + } catch (ToolException e) { + throw new SubmitFilesException(e); + } catch (IOException e) { + throw new SubmitFilesException(e); + } + return null; + } + request.getSession().setAttribute(SbmtConstants.READ_ONLY_MODE, "true"); return mapping.findForward("finish"); } /** - * This is a utily function for forwarding the errors to - * the respective JSP page indicated by forward + * This is a utily function for forwarding the errors to the respective JSP + * page indicated by forward * - * @param mapping + * @param mapping * @param request - * @param errorMessage The error message to be displayed - * @param forward The JSP page to which the errors would be forwarded + * @param errorMessage + * The error message to be displayed + * @param forward + * The JSP page to which the errors would be forwarded * @return ActionForward */ private ActionForward returnErrors(ActionMapping mapping, Index: lams_tool_sbmt/web/export/exportportfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/export/exportportfolio.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_sbmt/web/export/exportportfolio.jsp 7 Dec 2005 05:56:08 -0000 1.2 +++ lams_tool_sbmt/web/export/exportportfolio.jsp 8 Dec 2005 00:12:21 -0000 1.3 @@ -28,7 +28,7 @@ File Path: - File Path: + Index: lams_tool_sbmt/web/monitoring/viewallmarks.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/monitoring/Attic/viewallmarks.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_sbmt/web/monitoring/viewallmarks.jsp 13 Sep 2005 04:13:20 -0000 1.4 +++ lams_tool_sbmt/web/monitoring/viewallmarks.jsp 8 Dec 2005 00:12:21 -0000 1.5 @@ -28,7 +28,7 @@ File Path: - File Path: +