";
+ str += "
";
+ str += option.getQuestion();
+ str += "
";
+ str += "
";
+ str += " - ";
+
+ for (AssessmentOptionAnswer optionAnswer : optionAnswers) {
+ if (option.getUid().equals(optionAnswer.getOptionUid())) {
+ for (AssessmentQuestionOption option2 : options) {
+ if (option2.getUid() == optionAnswer.getAnswerInt()) {
+ str += option2.getOptionString();
+ }
+ }
+ }
+ }
+
+ str += "
";
+ str += "
";
+ str += DELIMITER;
+
+ }
+ }
+ return str;
+
+ case AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE:
+
+ if (optionAnswers != null) {
+ for (AssessmentOptionAnswer optionAnswer : optionAnswers) {
+ if (optionAnswer.getAnswerBoolean()) {
+ for (AssessmentQuestionOption option : options) {
+ if (option.getUid().equals(optionAnswer.getOptionUid())) {
+ responseStr.append(option.getOptionString() + DELIMITER);
+ }
+ }
+ }
+ }
+ }
+ break;
+
+ case AssessmentConstants.QUESTION_TYPE_NUMERICAL:
+ case AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER:
+ case AssessmentConstants.QUESTION_TYPE_ESSAY:
+ responseStr.append(questionResult.getAnswerString());
+ break;
+
+ case AssessmentConstants.QUESTION_TYPE_ORDERING:
+ if (optionAnswers != null) {
+ for (int i = 0; i < optionAnswers.size(); i++) {
+ for (AssessmentOptionAnswer optionAnswer : optionAnswers) {
+ if (optionAnswer.getAnswerInt() == i) {
+ for (AssessmentQuestionOption option : options) {
+ if (option.getUid().equals(optionAnswer.getOptionUid())) {
+ responseStr.append(option.getOptionString());
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+
+ case AssessmentConstants.QUESTION_TYPE_TRUE_FALSE:
+ if (questionResult.getAnswerString() != null) {
+ responseStr.append(questionResult.getAnswerBoolean());
+ }
+ break;
+
+ case AssessmentConstants.QUESTION_TYPE_MARK_HEDGING:
+
+ if (optionAnswers != null) {
+ for (AssessmentQuestionOption option : options) {
+ responseStr.append("");
+ responseStr.append("
");
+ responseStr.append( option.getOptionString());
+ responseStr.append("
");
+
+ responseStr.append("
");
+ responseStr.append(" - ");
+ for (AssessmentOptionAnswer optionAnswer : optionAnswers) {
+ if (option.getUid().equals(optionAnswer.getOptionUid())) {
+ responseStr.append(optionAnswer.getAnswerInt());
+ }
+ }
+ responseStr.append("
");
+
+ responseStr.append("
");
+ responseStr.append(DELIMITER);
+
+ }
+
+ if (questionResult.getAssessmentQuestion().isHedgingJustificationEnabled()) {
+ responseStr.append(questionResult.getAnswerString());
+ responseStr.append(DELIMITER);
+ }
+ }
+ break;
+
+ default:
+ return null;
+ }
+ }
+ return responseStr.toString();
+ }
+
+ /**
+ * Used only for excell export (for getUserSummaryData() method).
+ */
+ public static Object printResponsesForExcelExport(AssessmentQuestionResult questionResult) {
+ Object ret = null;
+
+ if (questionResult != null) {
+ switch (questionResult.getAssessmentQuestion().getType()) {
+ case AssessmentConstants.QUESTION_TYPE_ESSAY:
+ String answerString = questionResult.getAnswerString();
+ return (answerString == null) ? "" : answerString.replaceAll("\\<.*?>", "").replaceAll(" ", " ");
+ case AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS:
+ return getOptionResponse(questionResult, AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS);
+ case AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE:
+ return getOptionResponse(questionResult, AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE);
+ case AssessmentConstants.QUESTION_TYPE_NUMERICAL:
+ return questionResult.getAnswerString();
+ case AssessmentConstants.QUESTION_TYPE_ORDERING:
+ return getOptionResponse(questionResult, AssessmentConstants.QUESTION_TYPE_ORDERING);
+ case AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER:
+ return questionResult.getAnswerString();
+ case AssessmentConstants.QUESTION_TYPE_TRUE_FALSE:
+ return questionResult.getAnswerBoolean();
+ case AssessmentConstants.QUESTION_TYPE_MARK_HEDGING:
+ return getOptionResponse(questionResult, AssessmentConstants.QUESTION_TYPE_MARK_HEDGING);
+ default:
+ return null;
+ }
+ }
+ return ret;
+ }
+
+ /**
+ * Used only for excell export (for getUserSummaryData() method).
+ */
+ private static String getOptionResponse(AssessmentQuestionResult questionResult, short type) {
+
+ StringBuilder sb = new StringBuilder();
+ //whether there is a need to remove last comma
+ boolean trimLastComma = false;
+
+ Set