Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java,v diff -u -r1.70 -r1.71 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 9 Sep 2014 16:38:40 -0000 1.70 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 10 Dec 2014 11:00:20 -0000 1.71 @@ -155,7 +155,7 @@ void removeToolSession(Long toolSessionId) throws DataMissingException, ToolException; - QaQueUsr createUser(Long toolSessionID); + QaQueUsr createUser(Long toolSessionID, Integer userId); void updateSession(QaSession qaSession); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java,v diff -u -r1.116 -r1.117 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 22 Sep 2014 13:50:47 -0000 1.116 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 10 Dec 2014 11:00:20 -0000 1.117 @@ -263,18 +263,16 @@ qaQuestionDAO.createQueContent(question); } - public QaQueUsr createUser(Long toolSessionID) { - HttpSession ss = SessionManager.getSession(); - UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); - Long userId = toolUser.getUserID().longValue(); - String userName = toolUser.getLogin(); - String fullName = toolUser.getFirstName() + " " + toolUser.getLastName(); + public QaQueUsr createUser(Long toolSessionID, Integer userId) { + User user = (User) userManagementService.findById(User.class, userId); + String userName = user.getLogin(); + String fullName = user.getFirstName() + " " + user.getLastName(); QaSession qaSession = getSessionById(toolSessionID.longValue()); - QaQueUsr user = new QaQueUsr(userId, userName, fullName, qaSession, new TreeSet()); - qaQueUsrDAO.createUsr(user); + QaQueUsr qaUser = new QaQueUsr(userId.longValue(), userName, fullName, qaSession, new TreeSet()); + qaQueUsrDAO.createUsr(qaUser); - return user; + return qaUser; } @Override Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java,v diff -u -r1.88 -r1.89 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 9 Sep 2014 16:38:40 -0000 1.88 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 10 Dec 2014 11:00:20 -0000 1.89 @@ -391,27 +391,26 @@ qaLearningForm.setMode(mode); } - private QaQueUsr getCurrentUser(String toolSessionId) { - // get back login user DTO + private QaQueUsr getCurrentUser(String toolSessionId) { + // get back login user DTO HttpSession ss = SessionManager.getSession(); UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); - Long userId = new Long(toolUser.getUserID().longValue()); - - QaQueUsr qaUser = qaService.getUserByIdAndSession(userId, new Long(toolSessionId)); + Integer userId = toolUser.getUserID(); + + QaQueUsr qaUser = qaService.getUserByIdAndSession(userId.longValue(), new Long(toolSessionId)); if (qaUser == null) { - qaUser = qaService.createUser(new Long(toolSessionId)); + qaUser = qaService.createUser(new Long(toolSessionId), userId); } return qaUser; } private QaQueUsr getSpecifiedUser(String toolSessionId, Integer userId) { - QaQueUsr qaUser = qaService.getUserByIdAndSession(new Long(userId.intValue()), new Long(toolSessionId)); + QaQueUsr qaUser = qaService.getUserByIdAndSession(userId.longValue(), new Long(toolSessionId)); if (qaUser == null) { - logger.error("Unable to find specified user for Q&A activity. Screens are likely to fail. SessionId=" - + new Long(toolSessionId) + " UserId=" + userId); + qaUser = qaService.createUser(new Long(toolSessionId), userId); } return qaUser; } -} +} \ No newline at end of file