Index: lams_build/build.xml =================================================================== diff -u -rb4a2d7d89c07d3251d108d7ef71849cbbed67f65 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_build/build.xml (.../build.xml) (revision b4a2d7d89c07d3251d108d7ef71849cbbed67f65) +++ lams_build/build.xml (.../build.xml) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -644,17 +644,6 @@ - - - - - - - - - - Index: lams_build/lib/xstream/xmlpull-1.1.3.1.jar =================================================================== diff -u -rc6b29814cfe36cd678a7cdd1d7ed0aab7d0fbec8 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 Binary files differ Fisheye: Tag 497b3a63c3c7672cf8cc46ebde1f251ae6388512 refers to a dead (removed) revision in file `lams_build/lib/xstream/xmlpull.module.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_build/lib/xstream/xpp3_min-1.1.4c.jar =================================================================== diff -u -rc6b29814cfe36cd678a7cdd1d7ed0aab7d0fbec8 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 Binary files differ Index: lams_build/lib/xstream/xstream.module.xml =================================================================== diff -u -r87b6dd451f89e2b103a6d111802fc2d7005946b6 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_build/lib/xstream/xstream.module.xml (.../xstream.module.xml) (revision 87b6dd451f89e2b103a6d111802fc2d7005946b6) +++ lams_build/lib/xstream/xstream.module.xml (.../xstream.module.xml) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -29,9 +29,10 @@ - + + + - \ No newline at end of file Index: lams_build/liblist.txt =================================================================== diff -u -r4d68bdf0f93ce20130e5b90b1230ede4cd7820bf -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_build/liblist.txt (.../liblist.txt) (revision 4d68bdf0f93ce20130e5b90b1230ede4cd7820bf) +++ lams_build/liblist.txt (.../liblist.txt) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -57,6 +57,4 @@ urlrewritefilter urlrewritefilter-4.0.3.jar 4.0.3 BSD License tuckey.org Java Web Filter which allows rewriting URLs -xstream xmlpull-1.1.3.1.jar 1.1.3.1 - xpp3_min-1.1.4c.jar 1.1.4c - xstream-1.5.0-SNAPSHOT.jar 1.5.0 XML serializer +xstream xstream-1.5.0-SNAPSHOT.jar 1.5.0 XML serializer Index: lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java =================================================================== diff -u -rfebc5ec394566f98439ce776a0be320b34310b0a -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision febc5ec394566f98439ce776a0be320b34310b0a) +++ lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -124,7 +124,7 @@ import org.springframework.web.context.support.WebApplicationContextUtils; import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -1181,7 +1181,7 @@ PedagogicalPlannerSequenceNode node = getPedagogicalPlannerDAO().getByUid(nodeUid); // exporting XML - XStream designXml = new XStream(new SunUnsafeReflectionProvider()); + XStream designXml = new XStream(new StaxDriver()); designXml.addPermission(AnyTypePermission.ANY); // do not serialize node's owner designXml.omitField(PedagogicalPlannerSequenceNode.class, "user"); Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -270,6 +270,9 @@ /******************************************************************************************************************* * Constructors ******************************************************************************************************************/ + public AuthoringActivityDTO() { + } + public AuthoringActivityDTO(Activity activity, ArrayList branchMappings, String languageCode) { activityID = activity.getActivityId(); Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== diff -u -r2f02ea654f2380229d55ffd2483ba21ac48856d8 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 2f02ea654f2380229d55ffd2483ba21ac48856d8) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -140,9 +140,10 @@ import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.converters.reflection.ReflectionConverter; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; + import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -476,7 +477,7 @@ } // exporting XML - XStream designXml = new XStream(new SunUnsafeReflectionProvider()); + XStream designXml = new XStream(new StaxDriver()); designXml.addPermission(AnyTypePermission.ANY); designXml.toXML(ldDto, ldFile); ldFile.close(); @@ -547,7 +548,7 @@ Writer toolFile = new OutputStreamWriter(new FileOutputStream(toolFileName), "UTF-8"); // serialize tool xml into local file. - XStream toolXml = new XStream(new SunUnsafeReflectionProvider()); + XStream toolXml = new XStream(new StaxDriver()); toolXml.addPermission(AnyTypePermission.ANY); FileConverter fileConverter = null; if (!fileHandleClassList.isEmpty()) { @@ -895,7 +896,7 @@ String toVersion) throws ImportToolContentException { Object toolPOJO = null; // change xml to Tool POJO - XStream toolXml = new XStream(new SunUnsafeReflectionProvider()); + XStream toolXml = new XStream(new StaxDriver()); toolXml.addPermission(AnyTypePermission.ANY); FileConverter fileConverter = null; if (!fileHandleClassList.isEmpty()) { Index: lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java =================================================================== diff -u -r2dbd1fb7d0a25cd427f5ad1a7e61b12610ee4c86 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision 2dbd1fb7d0a25cd427f5ad1a7e61b12610ee4c86) +++ lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -57,7 +57,7 @@ import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.ConversionException; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -67,7 +67,8 @@ private static Logger log = Logger.getLogger(FileUtil.class); public static final String ENCODING_UTF_8 = "UTF8"; - public static final SimpleDateFormat EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + public static final SimpleDateFormat EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT = new SimpleDateFormat( + "dd/MM/yyyy HH:mm:ss"); public static final SimpleDateFormat EXPORT_TO_SPREADSHEET_CELL_DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy"); public static final String LAMS_WWW_SECURE_DIR = "secure"; @@ -690,7 +691,7 @@ public static Object getObjectFromXML(XStream xStream, String fullFilePath) throws IOException { Reader file = null; - XStream conversionXml = xStream != null ? xStream : new XStream(new SunUnsafeReflectionProvider()); + XStream conversionXml = xStream != null ? xStream : new XStream(new StaxDriver()); // allow parsing all classes conversionXml.addPermission(AnyTypePermission.ANY); ConversionException finalException = null; Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== diff -u -ra8acf18e203ec2888e353d2eaef939f471252088 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision a8acf18e203ec2888e353d2eaef939f471252088) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -90,7 +90,7 @@ import org.springframework.web.context.support.WebApplicationContextUtils; import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -119,7 +119,7 @@ assessment.setDefineLater(true); service.saveOrUpdateAssessment(assessment); - + //audit log the teacher has started editing activity in monitor service.auditLogStartEditingActivityInMonitor(contentId); @@ -225,7 +225,7 @@ AssessmentForm assessmentForm = (AssessmentForm) form; // initial Session Map - SessionMap sessionMap = new SessionMap(); + SessionMap sessionMap = new SessionMap<>(); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); assessmentForm.setSessionMapID(sessionMap.getSessionID()); @@ -246,11 +246,11 @@ AuthoringAction.log.error(e); throw new ServletException(e); } - + if (assessment.getQuestions() != null) { questions = new ArrayList(assessment.getQuestions()); } else { - questions = new ArrayList(); + questions = new ArrayList<>(); } // init assessment question list @@ -339,9 +339,8 @@ } } - Set oldQuestions = (assessmentPO == null) ? new HashSet() - : assessmentPO.getQuestions(); - Set oldReferences = (assessmentPO == null) ? new HashSet() + Set oldQuestions = (assessmentPO == null) ? new HashSet<>() : assessmentPO.getQuestions(); + Set oldReferences = (assessmentPO == null) ? new HashSet<>() : assessmentPO.getQuestionReferences(); AssessmentUser assessmentUser = null; @@ -386,7 +385,7 @@ // ************************* Handle assessment questions ******************* // Handle assessment questions - Set questions = new LinkedHashSet(); + Set questions = new LinkedHashSet<>(); Set newQuestions = getQuestionList(sessionMap); for (AssessmentQuestion question : newQuestions) { removeNewLineCharacters(question); @@ -464,7 +463,7 @@ questionForm.setPenaltyFactor("0"); questionForm.setAnswerRequired(true); - List optionList = new ArrayList(); + List optionList = new ArrayList<>(); for (int i = 0; i < AssessmentConstants.INITIAL_OPTIONS_NUMBER; i++) { AssessmentQuestionOption option = new AssessmentQuestionOption(); option.setSequenceId(i + 1); @@ -473,7 +472,7 @@ } request.setAttribute(AssessmentConstants.ATTR_OPTION_LIST, optionList); - List unitList = new ArrayList(); + List unitList = new ArrayList<>(); AssessmentUnit unit = new AssessmentUnit(); unit.setSequenceId(1); unit.setMultiplier(1); @@ -515,7 +514,7 @@ AssessmentQuestion question = null; if (questionIdx != -1) { SortedSet assessmentList = getQuestionList(sessionMap); - List rList = new ArrayList(assessmentList); + List rList = new ArrayList<>(assessmentList); question = rList.get(questionIdx); if (question != null) { AssessmentQuestionForm questionForm = (AssessmentQuestionForm) form; @@ -611,8 +610,7 @@ String correctAnswer = null; if (question.getAnswers() != null) { - TreeSet optionList = new TreeSet( - new SequencableComparator()); + TreeSet optionList = new TreeSet<>(new SequencableComparator()); int orderId = 0; for (Answer answer : question.getAnswers()) { String answerText = QuestionParser.processHTMLField(answer.getText(), false, contentFolderID, @@ -671,8 +669,7 @@ } questionGrade = new Double(Math.round(totalScore)).intValue(); - TreeSet optionList = new TreeSet( - new SequencableComparator()); + TreeSet optionList = new TreeSet<>(new SequencableComparator()); int orderId = 1; for (Answer answer : question.getAnswers()) { String answerText = answer.getText(); @@ -730,8 +727,7 @@ } questionGrade = new Double(Math.round(totalScore)).intValue(); - TreeSet optionList = new TreeSet( - new SequencableComparator()); + TreeSet optionList = new TreeSet<>(new SequencableComparator()); int orderId = 1; for (int answerIndex = 0; answerIndex < question.getAnswers().size(); answerIndex++) { // QTI allows answers without a match, but LAMS assessment tool does not @@ -764,8 +760,7 @@ String correctAnswer = null; if (question.getAnswers() != null) { - TreeSet optionList = new TreeSet( - new SequencableComparator()); + TreeSet optionList = new TreeSet<>(new SequencableComparator()); int orderId = 1; for (Answer answer : question.getAnswers()) { String answerText = QuestionParser.processHTMLField(answer.getText(), false, contentFolderID, @@ -840,10 +835,10 @@ .getAttribute(sessionMapID); SortedSet questionList = getQuestionList(sessionMap); - List questions = new LinkedList(); + List questions = new LinkedList<>(); for (AssessmentQuestion assessmentQuestion : questionList) { Question question = new Question(); - List answers = new ArrayList(); + List answers = new ArrayList<>(); switch (assessmentQuestion.getType()) { @@ -860,10 +855,12 @@ } Float correctAnswerScore = correctAnswerCount > 0 - ? new Integer(100 / correctAnswerCount).floatValue() : null; + ? new Integer(100 / correctAnswerCount).floatValue() + : null; int incorrectAnswerCount = assessmentQuestion.getOptions().size() - correctAnswerCount; Float incorrectAnswerScore = incorrectAnswerCount > 0 - ? new Integer(-100 / incorrectAnswerCount).floatValue() : null; + ? new Integer(-100 / incorrectAnswerCount).floatValue() + : null; for (AssessmentQuestionOption assessmentAnswer : assessmentQuestion.getOptions()) { Answer answer = new Answer(); @@ -885,8 +882,9 @@ boolean isCorrectAnswer = assessmentAnswer.getGrade() == 1F; answer.setText(assessmentAnswer.getOptionString()); - answer.setScore(isCorrectAnswer - ? new Integer(assessmentQuestion.getDefaultGrade()).floatValue() : 0); + answer.setScore( + isCorrectAnswer ? new Integer(assessmentQuestion.getDefaultGrade()).floatValue() + : 0); answer.setFeedback(isCorrectAnswer ? assessmentQuestion.getFeedbackOnCorrect() : assessmentQuestion.getFeedbackOnIncorrect()); @@ -1021,7 +1019,7 @@ int questionIdx = NumberUtils.toInt(request.getParameter(AssessmentConstants.PARAM_QUESTION_INDEX), -1); if (questionIdx != -1) { SortedSet questionList = getQuestionList(sessionMap); - List rList = new ArrayList(questionList); + List rList = new ArrayList<>(questionList); AssessmentQuestion question = rList.remove(questionIdx); questionList.clear(); questionList.addAll(rList); @@ -1143,7 +1141,7 @@ .toInt(request.getParameter(AssessmentConstants.PARAM_QUESTION_REFERENCE_INDEX), -1); if (questionReferenceIdx != -1) { SortedSet questionReferences = getQuestionReferences(sessionMap); - List rList = new ArrayList(questionReferences); + List rList = new ArrayList<>(questionReferences); QuestionReference questionReference = rList.remove(questionReferenceIdx); questionReferences.clear(); questionReferences.addAll(rList); @@ -1197,7 +1195,7 @@ .toInt(request.getParameter(AssessmentConstants.PARAM_QUESTION_REFERENCE_INDEX), -1); if (questionReferenceIdx != -1) { SortedSet references = getQuestionReferences(sessionMap); - List rList = new ArrayList(references); + List rList = new ArrayList<>(references); // get current and the target item, and switch their sequnece QuestionReference reference = rList.get(questionReferenceIdx); QuestionReference repReference; @@ -1241,10 +1239,10 @@ request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID); SortedSet oldQuestions = getQuestionList(sessionMap); - List toolsErrorMsgs = new ArrayList(); + List toolsErrorMsgs = new ArrayList<>(); try { File designFile = null; - Map params = new HashMap(); + Map params = new HashMap<>(); String filename = null; String uploadPath = FileUtil.createTempDirectory("_uploaded_2questions_xml"); @@ -1272,7 +1270,8 @@ String filename2 = designFile.getName(); String fileExtension = (filename2 != null) && (filename2.length() >= 4) - ? filename2.substring(filename2.length() - 4) : ""; + ? filename2.substring(filename2.length() - 4) + : ""; if (!fileExtension.equalsIgnoreCase(".xml")) { throw new RuntimeException("Wrong file extension. Xml is expected"); } @@ -1323,14 +1322,14 @@ String errors = null; if (assessment != null) { try { - ArrayList questionsToExport = new ArrayList(); + ArrayList questionsToExport = new ArrayList<>(); for (AssessmentQuestion question : getQuestionList(sessionMap)) { AssessmentQuestion clonedQuestion = (AssessmentQuestion) question.clone(); questionsToExport.add(clonedQuestion); } // exporting XML - XStream designXml = new XStream(new SunUnsafeReflectionProvider()); + XStream designXml = new XStream(new StaxDriver()); designXml.addPermission(AnyTypePermission.ANY); String resultedXml = designXml.toXML(questionsToExport); @@ -1422,7 +1421,7 @@ Set optionList = getOptionsFromRequest(request, false); int optionIndex = NumberUtils.toInt(request.getParameter(AssessmentConstants.PARAM_OPTION_INDEX), -1); if (optionIndex != -1) { - List rList = new ArrayList(optionList); + List rList = new ArrayList<>(optionList); AssessmentQuestionOption question = rList.remove(optionIndex); optionList.clear(); optionList.addAll(rList); @@ -1469,7 +1468,7 @@ int optionIndex = NumberUtils.toInt(request.getParameter(AssessmentConstants.PARAM_OPTION_INDEX), -1); if (optionIndex != -1) { - List rList = new ArrayList(optionList); + List rList = new ArrayList<>(optionList); // get current and the target item, and switch their sequnece AssessmentQuestionOption option = rList.get(optionIndex); @@ -1540,8 +1539,7 @@ Assessment assessment = assessmentForm.getAssessment(); // initial Overall feedbacks list - SortedSet overallFeedbackList = new TreeSet( - new SequencableComparator()); + SortedSet overallFeedbackList = new TreeSet<>(new SequencableComparator()); if (!assessment.getOverallFeedbacks().isEmpty()) { overallFeedbackList.addAll(assessment.getOverallFeedbacks()); } else { @@ -1595,12 +1593,12 @@ private void reinitializeAvailableQuestions(SessionMap sessionMap) { SortedSet bankQuestions = getQuestionList(sessionMap); SortedSet references = getQuestionReferences(sessionMap); - Set questionsFromList = new LinkedHashSet(); + Set questionsFromList = new LinkedHashSet<>(); for (QuestionReference reference : references) { questionsFromList.add(reference.getQuestion()); } - Set availableQuestions = new TreeSet(new SequencableComparator()); + Set availableQuestions = new TreeSet<>(new SequencableComparator()); availableQuestions.addAll(CollectionUtils.subtract(bankQuestions, questionsFromList)); sessionMap.put(AssessmentConstants.ATTR_AVAILABLE_QUESTIONS, availableQuestions); @@ -1625,7 +1623,7 @@ SortedSet list = (SortedSet) sessionMap .get(AssessmentConstants.ATTR_QUESTION_LIST); if (list == null) { - list = new TreeSet(new SequencableComparator()); + list = new TreeSet<>(new SequencableComparator()); sessionMap.put(AssessmentConstants.ATTR_QUESTION_LIST, list); } return list; @@ -1641,7 +1639,7 @@ SortedSet list = (SortedSet) sessionMap .get(AssessmentConstants.ATTR_QUESTION_REFERENCES); if (list == null) { - list = new TreeSet(new SequencableComparator()); + list = new TreeSet<>(new SequencableComparator()); sessionMap.put(AssessmentConstants.ATTR_QUESTION_REFERENCES, list); } return list; @@ -1806,7 +1804,7 @@ question.setSequenceId(maxSeq); questionList.add(question); } else { // edit - List rList = new ArrayList(questionList); + List rList = new ArrayList<>(questionList); question = rList.get(questionIdx); } short type = questionForm.getQuestionType(); @@ -1822,7 +1820,8 @@ if (type == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) { question.setMultipleAnswersAllowed(questionForm.isMultipleAnswersAllowed()); boolean incorrectAnswerNullifiesMark = questionForm.isMultipleAnswersAllowed() - ? questionForm.isIncorrectAnswerNullifiesMark() : false; + ? questionForm.isIncorrectAnswerNullifiesMark() + : false; question.setIncorrectAnswerNullifiesMark(incorrectAnswerNullifiesMark); question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); question.setShuffle(questionForm.isShuffle()); @@ -1866,7 +1865,7 @@ || (type == AssessmentConstants.QUESTION_TYPE_NUMERICAL) || (type == AssessmentConstants.QUESTION_TYPE_MARK_HEDGING)) { Set optionList = getOptionsFromRequest(request, true); - Set options = new LinkedHashSet(); + Set options = new LinkedHashSet<>(); int seqId = 0; for (AssessmentQuestionOption option : optionList) { option.setSequenceId(seqId++); @@ -1877,7 +1876,7 @@ // set units if (type == AssessmentConstants.QUESTION_TYPE_NUMERICAL) { Set unitList = getUnitsFromRequest(request, true); - Set units = new LinkedHashSet(); + Set units = new LinkedHashSet<>(); int seqId = 0; for (AssessmentUnit unit : unitList) { unit.setSequenceId(seqId++); @@ -1928,8 +1927,7 @@ int questionType = WebUtil.readIntParam(request, AssessmentConstants.ATTR_QUESTION_TYPE); Integer correctOptionIndex = (paramMap.get(AssessmentConstants.ATTR_OPTION_CORRECT) == null) ? null : NumberUtils.toInt(paramMap.get(AssessmentConstants.ATTR_OPTION_CORRECT)); - TreeSet optionList = new TreeSet( - new SequencableComparator()); + TreeSet optionList = new TreeSet<>(new SequencableComparator()); for (int i = 0; i < count; i++) { if ((questionType == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) || (questionType == AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER)) { @@ -2028,7 +2026,7 @@ Map paramMap = splitRequestParameter(request, AssessmentConstants.ATTR_UNIT_LIST); int count = NumberUtils.toInt(paramMap.get(AssessmentConstants.ATTR_UNIT_COUNT)); - TreeSet unitList = new TreeSet(new SequencableComparator()); + TreeSet unitList = new TreeSet<>(new SequencableComparator()); for (int i = 0; i < count; i++) { String unitStr = paramMap.get(AssessmentConstants.ATTR_UNIT_UNIT_PREFIX + i); if (StringUtils.isBlank(unitStr) && isForSaving) { @@ -2055,8 +2053,7 @@ private TreeSet getOverallFeedbacksFromRequest(HttpServletRequest request, boolean skipBlankOverallFeedbacks) { int count = NumberUtils.toInt(request.getParameter(AssessmentConstants.ATTR_OVERALL_FEEDBACK_COUNT)); - TreeSet overallFeedbackList = new TreeSet( - new SequencableComparator()); + TreeSet overallFeedbackList = new TreeSet<>(new SequencableComparator()); for (int i = 0; i < count; i++) { String gradeBoundaryStr = request .getParameter(AssessmentConstants.ATTR_OVERALL_FEEDBACK_GRADE_BOUNDARY_PREFIX + i); @@ -2089,8 +2086,7 @@ Map paramMap = splitRequestParameter(request, AssessmentConstants.ATTR_OVERALL_FEEDBACK_LIST); int count = NumberUtils.toInt(paramMap.get(AssessmentConstants.ATTR_OVERALL_FEEDBACK_COUNT)); - TreeSet overallFeedbackList = new TreeSet( - new SequencableComparator()); + TreeSet overallFeedbackList = new TreeSet<>(new SequencableComparator()); for (int i = 0; i < count; i++) { String gradeBoundaryStr = paramMap.get(AssessmentConstants.ATTR_OVERALL_FEEDBACK_GRADE_BOUNDARY_PREFIX + i); String feedback = paramMap.get(AssessmentConstants.ATTR_OVERALL_FEEDBACK_FEEDBACK_PREFIX + i); @@ -2126,7 +2122,7 @@ } String[] params = list.split("&"); - Map paramMap = new HashMap(); + Map paramMap = new HashMap<>(); String[] pair; for (String item : params) { pair = item.split("="); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAdminAction.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAdminAction.java (.../QaAdminAction.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAdminAction.java (.../QaAdminAction.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -20,7 +20,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.qa.web; import java.io.IOException; @@ -56,7 +55,7 @@ import org.xml.sax.SAXException; import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -199,7 +198,7 @@ @SuppressWarnings("unchecked") public void updateWizardFromXML(String xmlStr) { //SortedSet currentCategories = getQaWizardCategories(); - SortedSet newCategories = new TreeSet(); + SortedSet newCategories = new TreeSet<>(); try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); @@ -298,13 +297,13 @@ } // now start the export - SortedSet exportCategories = new TreeSet(); + SortedSet exportCategories = new TreeSet<>(); for (QaWizardCategory category : getQaWizardCategories()) { exportCategories.add((QaWizardCategory) category.clone()); } // exporting XML - XStream designXml = new XStream(new SunUnsafeReflectionProvider()); + XStream designXml = new XStream(new StaxDriver()); designXml.addPermission(AnyTypePermission.ANY); String exportXml = designXml.toXML(exportCategories); @@ -373,7 +372,7 @@ // Now perform the import try { String xml = new String(adminForm.getImportFile().getFileData()); - XStream conversionXml = new XStream(new SunUnsafeReflectionProvider()); + XStream conversionXml = new XStream(new StaxDriver()); conversionXml.addPermission(AnyTypePermission.ANY); SortedSet exportCategories = (SortedSet) conversionXml.fromXML(xml); Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java =================================================================== diff -u -r2abc3485dc2d24ea02044a64271f3ee0d3b8c11b -r497b3a63c3c7672cf8cc46ebde1f251ae6388512 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision 2abc3485dc2d24ea02044a64271f3ee0d3b8c11b) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/service/MindmapService.java (.../MindmapService.java) (revision 497b3a63c3c7672cf8cc46ebde1f251ae6388512) @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.mindmap.service; import java.util.ArrayList; @@ -79,7 +78,7 @@ import org.lamsfoundation.lams.util.audit.IAuditService; import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider; +import com.thoughtworks.xstream.io.xml.StaxDriver; import com.thoughtworks.xstream.security.AnyTypePermission; /** @@ -90,7 +89,7 @@ private static Logger logger = Logger.getLogger(MindmapService.class.getName()); - private final XStream xstream = new XStream(new SunUnsafeReflectionProvider()); + private final XStream xstream = new XStream(new StaxDriver()); private IMindmapDAO mindmapDAO = null; private IMindmapSessionDAO mindmapSessionDAO = null; @@ -167,10 +166,10 @@ public ToolOutput getToolOutput(String name, Long toolSessionId, Long learnerId) { return getMindmapOutputFactory().getToolOutput(name, this, toolSessionId, learnerId); } - + @Override public List getToolOutputs(String name, Long toolContentId) { - return new ArrayList(); + return new ArrayList<>(); } @Override @@ -383,7 +382,7 @@ @Override public String getLanguageXML() { - ArrayList languageCollection = new ArrayList(); + ArrayList languageCollection = new ArrayList<>(); languageCollection.add(new String("local.title")); languageCollection.add(new String("local.delete_question")); languageCollection.add(new String("local.yes")); @@ -447,13 +446,13 @@ return; } - List nodesToDelete = new LinkedList(); + List nodesToDelete = new LinkedList<>(); for (MindmapSession session : (Set) mindmap.getMindmapSessions()) { List nodes = mindmapNodeDAO.getMindmapNodesBySessionIdAndUserId(session.getSessionId(), userId.longValue()); for (MindmapNode node : nodes) { - List descendants = new LinkedList(); + List descendants = new LinkedList<>(); if ((node.getUser() != null) && node.getUser().getUserId().equals(userId.longValue()) && !nodesToDelete.contains(node) && userOwnsChildrenNodes(node, userId.longValue(), descendants)) { @@ -858,10 +857,10 @@ public boolean isGroupedActivity(long toolContentID) { return toolService.isGroupedActivity(toolContentID); } - + @Override public void auditLogStartEditingActivityInMonitor(long toolContentID) { - toolService.auditLogStartEditingActivityInMonitor(toolContentID); + toolService.auditLogStartEditingActivityInMonitor(toolContentID); } public void setMindmapNodeDAO(IMindmapNodeDAO mindmapNodeDAO) {