Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== diff -u -r1a02559e19419af9991eaeb9363f809355b39bc7 -r7095cfba4c04b9581b3615df808869f9b36d8117 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 1a02559e19419af9991eaeb9363f809355b39bc7) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 7095cfba4c04b9581b3615df808869f9b36d8117) @@ -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 -r35cf8bc552c7ec3b030123258466c0e2856dcc7e -r7095cfba4c04b9581b3615df808869f9b36d8117 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 35cf8bc552c7ec3b030123258466c0e2856dcc7e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 7095cfba4c04b9581b3615df808869f9b36d8117) @@ -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 -r0d77d361b9de3231610850be31c7f3aab60d675b -r7095cfba4c04b9581b3615df808869f9b36d8117 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 0d77d361b9de3231610850be31c7f3aab60d675b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 7095cfba4c04b9581b3615df808869f9b36d8117) @@ -397,21 +397,20 @@ // get back login user DTO HttpSession ss = SessionManager.getSession(); UserDTO toolUser = (UserDTO) ss.getAttribute(AttributeNames.USER); - Long userId = new Long(toolUser.getUserID().longValue()); + Integer userId = toolUser.getUserID(); - QaQueUsr qaUser = qaService.getUserByIdAndSession(userId, new Long(toolSessionId)); + 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; }