Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -99,7 +99,6 @@ public static final String IS_USERNAME_VISIBLE_MONITORING ="isUsernameVisibleMonitoring"; public static final String IS_SYNCH_INMONITOR_MONITORING ="isSynchInMonitorMonitoring"; public static final String IS_QUESTIONS_SEQUENCED_MONITORING ="isQuestionsSequencedMonitoring"; - public static final String USER_ID ="userId"; public static final String RICHTEXT_OFFLINEINSTRUCTIONS ="richTextOfflineInstructions"; public static final String RICHTEXT_ONLINEINSTRUCTIONS ="richTextOnlineInstructions"; public static final String RICHTEXT_TITLE ="richTextTitle"; @@ -265,18 +264,8 @@ public static final String FEEDBACK_TYPE_SEQUENTIAL ="You will be presented a total of : "; public static final String FEEDBACK_TYPE_COMBINED ="You are being presented a total of : "; public static final String QUESTIONS =" questions."; + /** - * refers to current tool user whether an author or a learner - */ - public static final String TOOL_USER ="toolUser"; - /** - * these indicate current user's reporting data - */ - public static final String CURRENT_TOOL_USER_FULLNAME ="currentToolUserFullname"; - public static final String CURRENT_TOOL_USER_ATTEMPTTIME ="currentToolUserAttemptTime"; - public static final String CURRENT_TOOL_USER_ANSWER ="currentToolUserAnswer"; - - /** * constants redundant for the moment */ public static final String DISPLAY_QUESTIONS ="display"; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java (.../QaUtils.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java (.../QaUtils.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -21,19 +21,22 @@ import java.util.TreeMap; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.contentrepository.NodeKey; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.web.QaAuthoringForm; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** * * - * The session attributes ATTR_USERDATA and TOOL_USER refer to the same User object. - * TOOL_USER is the one we consistently use across the application to obtain current user data. + * The session attributes ATTR_USERDATA refer to the same User object. * * Verify the assumption: * We make the assumption that the obtained User object will habe a userId property ready in it. @@ -143,13 +146,9 @@ request.getSession().removeAttribute(CHECK_ALL_SESSIONS_COMPLETED); request.getSession().removeAttribute(TOOL_CONTENT_ID); request.getSession().removeAttribute(ATTR_USERDATA); - request.getSession().removeAttribute(TOOL_USER); request.getSession().removeAttribute(TOOL_SERVICE); request.getSession().removeAttribute(TARGET_MODE); - - request.getSession().removeAttribute(CURRENT_TOOL_USER_FULLNAME); - request.getSession().removeAttribute(CURRENT_TOOL_USER_ATTEMPTTIME); - request.getSession().removeAttribute(CURRENT_TOOL_USER_ANSWER); + } public static void setDefaultSessionAttributes(HttpServletRequest request, QaContent defaultQaContent, QaAuthoringForm qaAuthoringForm) @@ -222,9 +221,11 @@ public static int getCurrentUserId(HttpServletRequest request) throws QaApplicationException { - User user=(User) request.getSession().getAttribute(TOOL_USER); - logger.debug(logger + " " + "QaUtils" + " Current user is: " + user + " with id: " + user.getUserId()); - return user.getUserId().intValue(); + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + logger.debug(logger + " " + "QaUtils" + " Current user is: " + user + " with id: " + user.getUserID()); + return user.getUserID().intValue(); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java (.../AuthoringUtil.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -15,6 +15,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.action.ActionForm; @@ -27,6 +28,9 @@ import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** * @@ -351,12 +355,14 @@ /**obtain user object from the session*/ - User toolUser=(User)request.getSession().getAttribute(TOOL_USER); + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); logger.debug("retrieving toolUser: " + toolUser); - logger.debug("retrieving toolUser userId: " + toolUser.getUserId()); + logger.debug("retrieving toolUser userId: " + toolUser.getUserID()); String fullName= toolUser.getFirstName() + " " + toolUser.getLastName(); logger.debug("retrieving toolUser fullname: " + fullName); - long userId=toolUser.getUserId().longValue(); + long userId=toolUser.getUserID().longValue(); /** create a new qa content and leave the default content intact*/ QaContent qa = new QaContent(); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java =================================================================== diff -u -r5583b96031dbb65e91d200b7121cc5cd49e26003 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java (.../LearningUtil.java) (revision 5583b96031dbb65e91d200b7121cc5cd49e26003) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java (.../LearningUtil.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -14,6 +14,7 @@ import java.util.TreeSet; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.qa.QaAppConstants; @@ -27,6 +28,9 @@ import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** * @@ -155,9 +159,11 @@ IQaService qaService =QaUtils.getToolService(request); logger.debug("createUsers-retrieving qaService: " + qaService); - User toolUser=(User)request.getSession().getAttribute(TOOL_USER); + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); logger.debug("retrieving toolUser: " + toolUser); - logger.debug("retrieving toolUser userId: " + toolUser.getUserId()); + logger.debug("retrieving toolUser userId: " + toolUser.getUserID()); logger.debug("retrieving toolUser username: " + toolUser.getLogin()); /** * !!double check this!! @@ -166,7 +172,7 @@ String fullName= toolUser.getFirstName() + " " + toolUser.getLastName(); logger.debug("retrieving toolUser fullname: " + fullName); - Long userId=new Long(toolUser.getUserId().longValue()); + Long userId=new Long(toolUser.getUserID().longValue()); /** * retrive contentId from the http session @@ -448,7 +454,9 @@ /** * find out whos is the current user. Important to know for reporting responses in learning mode */ - User toolUser=(User)request.getSession().getAttribute(TOOL_USER); + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); logger.debug("retrieving toolUser: " + toolUser + " userName: " + toolUser.getLogin()); /** * !!double check if String userName=toolUser.getLogin(); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java =================================================================== diff -u -r183fd9b105d8f11b7ab038be49e542499d28b970 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 183fd9b105d8f11b7ab038be49e542499d28b970) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java (.../MonitoringUtil.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -80,7 +80,6 @@ request.getSession().removeAttribute(CHECK_ALL_SESSIONS_COMPLETED); request.getSession().removeAttribute(TOOL_CONTENT_ID); request.getSession().removeAttribute(ATTR_USERDATA); - request.getSession().removeAttribute(TOOL_USER); request.getSession().removeAttribute(TOOL_SERVICE); request.getSession().removeAttribute(TARGET_MODE); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java (.../QAction.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QAction.java (.../QAction.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -27,6 +27,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.Globals; @@ -42,6 +43,9 @@ import org.lamsfoundation.lams.tool.qa.QaUtils; import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** @@ -562,7 +566,9 @@ */ Long toolSessionId=(Long)request.getSession().getAttribute(TOOL_SESSION_ID); - User user=(User)request.getSession().getAttribute(TOOL_USER); + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); logger.debug("simulating container behaviour by calling " + "leaveToolSession() with toolSessionId: " + toolSessionId + " and user: " + user); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java =================================================================== diff -u -r0609dfb2ce1f4bd0463cff44b56481f42bc6c7f1 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java (.../QaExportPortfolioStarterAction.java) (revision 0609dfb2ce1f4bd0463cff44b56481f42bc6c7f1) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaExportPortfolioStarterAction.java (.../QaExportPortfolioStarterAction.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -31,6 +31,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.Globals; @@ -51,6 +52,9 @@ import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; public class QaExportPortfolioStarterAction extends Action implements QaAppConstants { static Logger logger = Logger.getLogger(QaExportPortfolioStarterAction.class.getName()); @@ -81,32 +85,17 @@ * obtain and setup the current user's data */ - String userId=""; - userId=request.getParameter(USER_ID); - logger.debug("userId: " + userId); - try - { - User user=QaUtils.createSimpleUser(new Integer(userId)); - request.getSession().setAttribute(TOOL_USER, user); - } - catch(NumberFormatException e) - { - persistError(request,"error.userId.notNumeric"); - request.setAttribute(USER_EXCEPTION_USERID_NOTNUMERIC, new Boolean(true)); - logger.debug("forwarding to: " + PORTFOLIO_REPORT); - return (mapping.findForward(PORTFOLIO_REPORT)); - } - - - if ((userId == null) || (userId.length()==0)) - { + //get session from shared session. + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + if ((user == null) || (user.getUserID() == null)) + { logger.debug("error: The tool expects userId"); - persistError(request,"error.userId.required"); + persistError(request,"error.authoringUser.notAvailable"); request.setAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE, new Boolean(true)); - logger.debug("forwarding to: " + PORTFOLIO_REPORT); - return (mapping.findForward(PORTFOLIO_REPORT)); - } - logger.debug("TOOL_USER is:" + request.getSession().getAttribute(TOOL_USER)); + return (mapping.findForward(LOAD_QUESTIONS)); + } String mode=""; mode=request.getParameter(MODE); @@ -216,7 +205,7 @@ } /** - at this point we have session attributes TOOL_CONTENT_ID, TOOL_SESSION_ID and TOOL_USER AND MODE ready to use + at this point we have session attributes TOOL_CONTENT_ID, TOOL_SESSION_ID AND MODE ready to use */ mode=(String)request.getSession().getAttribute(MODE); @@ -241,11 +230,10 @@ logger.debug("IS_USERNAME_VISIBLE: " + qaContent.isUsernameVisible()); request.getSession().setAttribute(IS_USERNAME_VISIBLE, new Boolean(qaContent.isUsernameVisible())); - logger.debug("TOOL_USER is:" + request.getSession().getAttribute(TOOL_USER)); - User toolUser= (User)request.getSession().getAttribute(TOOL_USER); - logger.debug("TOOL_USER id:" + toolUser.getUserId()); + logger.debug("TOOL USER is:" + user); + logger.debug("TOOL USER id:" + user.getUserID()); - QaQueUsr qaQueUsr=qaService.loadQaQueUsr(new Long(toolUser.getUserId().longValue())); + QaQueUsr qaQueUsr=qaService.loadQaQueUsr(new Long(user.getUserID().longValue())); logger.debug("qaQueUsr:" + qaQueUsr); if (qaQueUsr != null) Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== diff -u -r2cf549098f28a78e5a5f18cdc1a7ec8eaa02787e -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 2cf549098f28a78e5a5f18cdc1a7ec8eaa02787e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -12,6 +12,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.Globals; @@ -33,6 +34,9 @@ import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; /** * TO DO: * remove line: @@ -151,30 +155,21 @@ /** * obtain and setup the current user's data */ - String userId=request.getParameter(USER_ID); - if ((userId == null) || (userId.length()==0)) - { + String userId = ""; + //get session from shared session. + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + if ((user == null) || (user.getUserID() == null)) + { logger.debug("error: The tool expects userId"); persistError(request,"error.authoringUser.notAvailable"); request.setAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE, new Boolean(true)); - logger.debug("forwarding to: " + LOAD); - return (mapping.findForward(LOAD)); - } + return (mapping.findForward(LOAD_QUESTIONS)); + }else + userId = user.getUserID().toString(); + - try - { - User user=QaUtils.createUser(new Integer(userId)); - request.getSession().setAttribute(TOOL_USER, user); - } - catch(NumberFormatException e) - { - persistError(request,"error.userId.notNumeric"); - request.setAttribute(USER_EXCEPTION_USERID_NOTNUMERIC, new Boolean(true)); - logger.debug("forwarding to: " + LOAD); - return (mapping.findForward(LOAD)); - } - logger.debug("TOOL_USER is:" + request.getSession().getAttribute(TOOL_USER)); - /** * process incoming tool session id and later derive toolContentId from it. */ Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java =================================================================== diff -u -r1213de28fa1704749c2b8cc7029667a5e944cef8 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 1213de28fa1704749c2b8cc7029667a5e944cef8) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -30,6 +30,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.Globals; @@ -49,6 +50,9 @@ import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; public class QaMonitoringStarterAction extends Action implements QaAppConstants { static Logger logger = Logger.getLogger(QaMonitoringStarterAction.class.getName()); @@ -84,38 +88,22 @@ /** * obtain and setup the current user's data */ - - String userId=""; - User toolUser=(User)request.getSession().getAttribute(TOOL_USER); - if (toolUser != null) - userId=toolUser.getUserId().toString(); - else - { - userId=request.getParameter(USER_ID); - try - { - User user=QaUtils.createSimpleUser(new Integer(userId)); - request.getSession().setAttribute(TOOL_USER, user); - } - catch(NumberFormatException e) - { - persistError(request,"error.userId.notNumeric"); - request.setAttribute(USER_EXCEPTION_USERID_NOTNUMERIC, new Boolean(true)); - logger.debug("forwarding to: " + MONITORING_REPORT); - return (mapping.findForward(MONITORING_REPORT)); - } - } - - if ((userId == null) || (userId.length()==0)) - { + String userId = ""; + //get session from shared session. + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + if ((user == null) || (user.getUserID() == null)) + { logger.debug("error: The tool expects userId"); persistError(request,"error.authoringUser.notAvailable"); request.setAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE, new Boolean(true)); - logger.debug("forwarding to: " + MONITORING_REPORT); - return (mapping.findForward(MONITORING_REPORT)); - } - logger.debug("TOOL_USER is:" + request.getSession().getAttribute(TOOL_USER)); + return (mapping.findForward(LOAD_QUESTIONS)); + }else + userId = user.getUserID().toString(); + logger.debug("TOOL_USER is:" + user); + String toolContentId=request.getParameter(TOOL_CONTENT_ID); logger.debug("TOOL_CONTENT_ID: " + toolContentId); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -76,6 +76,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts.Globals; @@ -94,6 +95,9 @@ import org.lamsfoundation.lams.tool.qa.service.IQaService; import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; public class QaStarterAction extends Action implements QaAppConstants { @@ -145,36 +149,18 @@ /** * obtain and setup the current user's data */ - String userId=""; - User toolUser=(User)request.getSession().getAttribute(TOOL_USER); - if (toolUser != null) - userId=toolUser.getUserId().toString(); - else - { - userId=request.getParameter(USER_ID); - if ((userId == null) || (userId.length()==0)) - { - logger.debug("error: The tool expects userId"); - persistError(request,"error.authoringUser.notAvailable"); - request.setAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE, new Boolean(true)); - return (mapping.findForward(LOAD_QUESTIONS)); - } - - try - { - /* Check QaUtils.createAuthoringUser again User Management Service is ready */ - User user=QaUtils.createSimpleUser(new Integer(userId)); - request.getSession().setAttribute(TOOL_USER, user); - } - catch(NumberFormatException e) - { - persistError(request,"error.userId.notNumeric"); - request.setAttribute(USER_EXCEPTION_USERID_NOTNUMERIC, new Boolean(true)); - return (mapping.findForward(LOAD_QUESTIONS)); - } - } + //get session from shared session. + HttpSession ss = SessionManager.getSession(); + //get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + if ((user == null) || (user.getUserID() == null)) + { + logger.debug("error: The tool expects userId"); + persistError(request,"error.authoringUser.notAvailable"); + request.setAttribute(USER_EXCEPTION_USERID_NOTAVAILABLE, new Boolean(true)); + return (mapping.findForward(LOAD_QUESTIONS)); + } - /** * retrieve the default content id based on tool signature */ Index: lams_tool_laqa/web/WEB-INF/web.xml =================================================================== diff -u -r8eb0ff15b8d67a73bbca9af09ca0486fa6f6eb63 -r3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86 --- lams_tool_laqa/web/WEB-INF/web.xml (.../web.xml) (revision 8eb0ff15b8d67a73bbca9af09ca0486fa6f6eb63) +++ lams_tool_laqa/web/WEB-INF/web.xml (.../web.xml) (revision 3b5a7ca8b9fe39d0ce74e4403356c817aa4a7f86) @@ -34,7 +34,20 @@ contentFilter /portfolioExport --> - + + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + + SystemSessionFilter + /* + + + exportPortfolio Export Portfolio