Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java,v diff -u -r1.36.2.10 -r1.36.2.11 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 9 Jan 2017 11:49:09 -0000 1.36.2.10 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 11 Jan 2017 07:39:34 -0000 1.36.2.11 @@ -364,6 +364,7 @@ : assessmentPO.getQuestions(); Set oldReferences = (assessmentPO == null) ? new HashSet() : assessmentPO.getQuestionReferences(); + AssessmentUser assessmentUser = null; if (assessmentPO == null) { // new Assessment, create it. @@ -372,6 +373,7 @@ } else { Long uid = assessmentPO.getUid(); + assessmentUser = assessmentPO.getCreatedBy(); PropertyUtils.copyProperties(assessmentPO, assessment); // copyProperties() above may result in "collection assigned to two objects in a session" exception @@ -390,14 +392,16 @@ } // *******************************Handle user******************* - // try to get form system session - HttpSession ss = SessionManager.getSession(); - // get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - AssessmentUser assessmentUser = service.getUserByIDAndContent(new Long(user.getUserID().intValue()), - assessmentPO.getContentId()); if (assessmentUser == null) { - assessmentUser = new AssessmentUser(user, assessmentPO); + // try to get form system session + HttpSession ss = SessionManager.getSession(); + // get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + assessmentUser = service.getUserByIDAndContent(new Long(user.getUserID().intValue()), + assessmentPO.getContentId()); + if (assessmentUser == null) { + assessmentUser = new AssessmentUser(user, assessmentPO); + } } assessmentPO.setCreatedBy(assessmentUser);