Index: lams_central/src/java/org/lamsfoundation/lams/authoring/web/LamsAuthoringFinishAction.java =================================================================== diff -u -re3c0c732e8418ab2338465e08ff3e77a5f5a9252 -r62210e3b3fc129093d235b83d585690eff4e0752 --- lams_central/src/java/org/lamsfoundation/lams/authoring/web/LamsAuthoringFinishAction.java (.../LamsAuthoringFinishAction.java) (revision e3c0c732e8418ab2338465e08ff3e77a5f5a9252) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/web/LamsAuthoringFinishAction.java (.../LamsAuthoringFinishAction.java) (revision 62210e3b3fc129093d235b83d585690eff4e0752) @@ -62,6 +62,7 @@ private static final String ACTION_NAME = "action"; private static final String ACTION_MODE = "mode"; + private static final String CUSTOMISE_SESSION_ID = "customiseSessionID"; private static final String TOOL_SIGNATURE = "signature"; private static final String CONFIRM_ACTION = "confirm"; @@ -78,12 +79,13 @@ HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String action = request.getParameter(ACTION_NAME); String modeStr = request.getParameter(ACTION_MODE); + String cSessionID = request.getParameter(CUSTOMISE_SESSION_ID); if(StringUtils.equals(ToolAccessMode.AUTHOR.toString(),modeStr)) - clearSession(request.getSession(),ToolAccessMode.AUTHOR); + clearSession(cSessionID,request.getSession(),ToolAccessMode.AUTHOR); if(StringUtils.equals(ToolAccessMode.LEARNER.toString(),modeStr)) - clearSession(request.getSession(),ToolAccessMode.LEARNER); + clearSession(cSessionID,request.getSession(),ToolAccessMode.LEARNER); if(StringUtils.equals(ToolAccessMode.TEACHER.toString(),modeStr)) - clearSession(request.getSession(),ToolAccessMode.TEACHER); + clearSession(cSessionID,request.getSession(),ToolAccessMode.TEACHER); if(StringUtils.equals(action,CONFIRM_ACTION)){ String nextUrl = getLamsUrl() + "authoringConfirm.jsp"; String signature = request.getParameter(TOOL_SIGNATURE); @@ -116,10 +118,11 @@ * All subclass will implements this method and execute clear HttpSession action to * remove obsolete session values. * + * @param customiseSessionID customised session ID. * @param session * @param mode ToolAccessMode to decide which role's session will be clear. */ - abstract public void clearSession(HttpSession session, ToolAccessMode mode); + abstract public void clearSession(String customiseSessionID,HttpSession session, ToolAccessMode mode); private String getLamsUrl(){ String serverURL = Configuration.get(ConfigurationKeys.SERVER_URL); Index: lams_central/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -rd2176db0287d43462f212bafffd8eed8bcd68e79 -r62210e3b3fc129093d235b83d585690eff4e0752 --- lams_central/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision d2176db0287d43462f212bafffd8eed8bcd68e79) +++ lams_central/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 62210e3b3fc129093d235b83d585690eff4e0752) @@ -45,6 +45,7 @@ <%@ attribute name="saveButtonLabelKey" required="false" rtexprvalue="true" %> <%@ attribute name="cancelConfirmMsgKey" required="false" rtexprvalue="true" %> <%@ attribute name="defineLater" required="false" rtexprvalue="true" %> +<%@ attribute name="customiseSessionID" required="false" rtexprvalue="true" %> <%-- Default value for message key --%> @@ -63,14 +64,14 @@