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 @@