Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -ra2b7fcb20543d3f2433c4055cafa3037ef1b8dd0 -r6f59d1b57843500bf2a226bfea958cc2b9d795ee --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision a2b7fcb20543d3f2433c4055cafa3037ef1b8dd0) +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 6f59d1b57843500bf2a226bfea958cc2b9d795ee) @@ -107,6 +107,8 @@ label.learning.choose.one.answer = Choose one of the following answers. label.learning.choose.at.least.one.answer = Choose at least one answer. label.learning.matching.pairs.pick.up = Pick up the corresponding answers +label.learning.matching.pairs.possible = Possible answers: +label.learning.matching.pairs.chosen = Chosen: label.learning.matching.pairs.choose = Choose label.learning.short.answer.answer = Answer: label.learning.true.false.true = True Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java =================================================================== diff -u -r0dc7053a22593e90f9609deb45da9ceb202f496a -r6f59d1b57843500bf2a226bfea958cc2b9d795ee --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 0dc7053a22593e90f9609deb45da9ceb202f496a) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 6f59d1b57843500bf2a226bfea958cc2b9d795ee) @@ -138,6 +138,16 @@ @Autowired private ISecurityService securityService; + private static final Comparator MATCHING_PAIRS_OPTION_COMPARATOR = new Comparator<>() { + @Override + public int compare(OptionDTO o1, OptionDTO o2) { + String name1 = o1.getName() != null ? o1.getName() : ""; + String name2 = o2.getName() != null ? o2.getName() : ""; + + return AlphanumComparator.compareAlphnumerically(name1, name2); + } + }; + /** * Read assessment data from database and put them into HttpSession. It will redirect to init.do directly after this * method run successfully. @@ -368,17 +378,9 @@ } if (questionDto.getType() == QbQuestion.TYPE_MATCHING_PAIRS) { //sort answer options alphanumerically (as per LDEV-4326) - ArrayList optionsSortedByName = new ArrayList<>(questionDto.getOptionDtos()); - optionsSortedByName.sort(new Comparator() { - @Override - public int compare(OptionDTO o1, OptionDTO o2) { - String name1 = o1.getName() != null ? o1.getName() : ""; - String name2 = o2.getName() != null ? o2.getName() : ""; - - return AlphanumComparator.compareAlphnumerically(name1, name2); - } - }); - questionDto.setMatchingPairOptions(new LinkedHashSet<>(optionsSortedByName)); + Set optionsSortedByName = new TreeSet<>(MATCHING_PAIRS_OPTION_COMPARATOR); + optionsSortedByName.addAll(questionDto.getOptionDtos()); + questionDto.setMatchingPairOptions(optionsSortedByName); } } @@ -1286,6 +1288,14 @@ QuestionDTO questionDto = question.getQuestionDTO(); questionDto.setMaxMark(questionReference.getMaxMark()); + + if (questionDto.getType() == QbQuestion.TYPE_MATCHING_PAIRS) { + //sort answer options alphanumerically (as per LDEV-4326) + Set optionsSortedByName = new TreeSet<>(MATCHING_PAIRS_OPTION_COMPARATOR); + optionsSortedByName.addAll(questionDto.getOptionDtos()); + questionDto.setMatchingPairOptions(optionsSortedByName); + } + questionDtos.add(questionDto); } Index: lams_tool_assessment/web/pages/learning/parts/matchingpairs.jsp =================================================================== diff -u -r394f403c289f0fd7808c228840bead5c4e7d5d32 -r6f59d1b57843500bf2a226bfea958cc2b9d795ee --- lams_tool_assessment/web/pages/learning/parts/matchingpairs.jsp (.../matchingpairs.jsp) (revision 394f403c289f0fd7808c228840bead5c4e7d5d32) +++ lams_tool_assessment/web/pages/learning/parts/matchingpairs.jsp (.../matchingpairs.jsp) (revision 6f59d1b57843500bf2a226bfea958cc2b9d795ee) @@ -4,6 +4,15 @@ +
+ +
    + +
  • ${possibleOption.name}
  • +
    +
+
+
Index: lams_tool_assessment/web/pages/learning/results/matchingpairs.jsp =================================================================== diff -u -r3437878235018c207f602ea0464c109dd8e077c9 -r6f59d1b57843500bf2a226bfea958cc2b9d795ee --- lams_tool_assessment/web/pages/learning/results/matchingpairs.jsp (.../matchingpairs.jsp) (revision 3437878235018c207f602ea0464c109dd8e077c9) +++ lams_tool_assessment/web/pages/learning/results/matchingpairs.jsp (.../matchingpairs.jsp) (revision 6f59d1b57843500bf2a226bfea958cc2b9d795ee) @@ -2,38 +2,48 @@
- +
+
+ +
    + +
  • ${possibleOption.name}
  • +
    +
+
+
- + + + - + +
- - - - - - - + + + + + + + - +
+ + + ${possibleOption.name} + - -