Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== diff -u -r4d139bddc3cdd41d32d9f3033f2100c711d8c0c5 -r890f666ec88ba3ffd1679ac0d19243a947f9d940 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 4d139bddc3cdd41d32d9f3033f2100c711d8c0c5) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 890f666ec88ba3ffd1679ac0d19243a947f9d940) @@ -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 =================================================================== diff -u -rdae248e037001460259b6b0e63cac375cac79688 -r890f666ec88ba3ffd1679ac0d19243a947f9d940 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision dae248e037001460259b6b0e63cac375cac79688) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 890f666ec88ba3ffd1679ac0d19243a947f9d940) @@ -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 =================================================================== diff -u -r4d139bddc3cdd41d32d9f3033f2100c711d8c0c5 -r890f666ec88ba3ffd1679ac0d19243a947f9d940 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 4d139bddc3cdd41d32d9f3033f2100c711d8c0c5) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 890f666ec88ba3ffd1679ac0d19243a947f9d940) @@ -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