/** {@inheritDoc} */ public Component getViewDeliveryUi() { Text question = this.uiService.newText(); question.setText( null, this.uiService.newHtmlPropertyReference().setReference("question.presentation.text")); Attachments attachments = this.uiService.newAttachments(); attachments.setAttachments( this.uiService.newPropertyReference().setReference("question.presentation.attachments"), null); attachments.setIncluded( this.uiService .newHasValueDecision() .setProperty( this.uiService .newPropertyReference() .setReference("question.presentation.attachments"))); Selection selection = this.uiService.newSelection(); selection.addSelection( this.uiService.newMessage().setMessage("true"), this.uiService.newMessage().setTemplate("true")); selection.addSelection( this.uiService.newMessage().setMessage("false"), this.uiService.newMessage().setTemplate("false")); selection.setReadOnly(this.uiService.newTrueDecision()); Section first = this.uiService.newSection(); first.add(question).add(attachments).add(selection); return this.uiService.newFragment().setMessages(this.messages).add(first); }
/** {@inheritDoc} */ public Component getDeliveryUi() { Text question = this.uiService.newText(); question.setText( null, this.uiService .newHtmlPropertyReference() .setReference("answer.question.presentation.text")); Attachments attachments = this.uiService.newAttachments(); attachments.setAttachments( this.uiService .newPropertyReference() .setReference("answer.question.presentation.attachments"), null); attachments.setIncluded( this.uiService .newHasValueDecision() .setProperty( this.uiService .newPropertyReference() .setReference("answer.question.presentation.attachments"))); Selection selection = this.uiService.newSelection(); selection.setProperty( this.uiService.newPropertyReference().setReference("answer.typeSpecificAnswer.answer")); selection.addSelection( this.uiService.newMessage().setMessage("true"), this.uiService.newMessage().setTemplate("true")); selection.addSelection( this.uiService.newMessage().setMessage("false"), this.uiService.newMessage().setTemplate("false")); selection.setOnEmptyAlert( this.uiService .newDecision() .setReversed() .setProperty( this.uiService .newPropertyReference() .setReference("answer.submission.assessment.randomAccess")), "linear-missing"); Section section = this.uiService.newSection(); section.add(question).add(attachments).add(selection); return this.uiService.newFragment().setMessages(this.messages).add(section); }
/** {@inheritDoc} */ public Component getViewStatsUi() { Text question = this.uiService.newText(); question.setText( null, this.uiService.newHtmlPropertyReference().setReference("question.presentation.text")); Attachments attachments = this.uiService.newAttachments(); attachments.setAttachments( this.uiService.newPropertyReference().setReference("question.presentation.attachments"), null); attachments.setIncluded( this.uiService .newHasValueDecision() .setProperty( this.uiService .newPropertyReference() .setReference("question.presentation.attachments"))); EntityList entityList = this.uiService.newEntityList(); entityList.setStyle(EntityList.Style.form); entityList.setIterator( this.uiService.newPropertyReference().setReference("question.typeSpecificQuestion.choices"), "choice"); entityList.setEmptyTitle("no-answer"); SelectionColumn selCol = this.uiService.newSelectionColumn(); selCol.setSingle(); selCol.setValueProperty(this.uiService.newTextPropertyReference().setReference("choice.id")); selCol.setProperty( this.uiService .newPropertyReference() .setReference("question.typeSpecificQuestion.correctAnswer")); selCol.setReadOnly(this.uiService.newTrueDecision()); selCol.setCorrect( this.uiService .newPropertyReference() .setReference("question.typeSpecificQuestion.correctAnswer")); selCol.setCorrectDecision( this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("question.hasCorrect"))); entityList.addColumn(selCol); PropertyColumn propCol = this.uiService.newPropertyColumn(); propCol.setProperty(this.uiService.newHtmlPropertyReference().setReference("choice.text")); entityList.addColumn(propCol); propCol = this.uiService.newPropertyColumn(); propCol.setRight(); propCol.setProperty( this.uiService .newHtmlPropertyReference() .setReference("choice.id") .setFormatDelegate(this.uiService.getFormatDelegate("FormatPercent", "sakai.mneme"))); entityList.addColumn(propCol); propCol = this.uiService.newPropertyColumn(); propCol.setRight(); propCol.setProperty( this.uiService .newHtmlPropertyReference() .setReference("choice.id") .setFormatDelegate(this.uiService.getFormatDelegate("FormatCount", "sakai.mneme"))); entityList.addColumn(propCol); Text answerKey = this.uiService.newText(); PropertyReference[] refs = new PropertyReference[2]; refs[0] = this.uiService.newIconPropertyReference().setIcon("/icons/answer_key.png"); refs[1] = this.uiService .newHtmlPropertyReference() .setReference("question.typeSpecificQuestion.answerKey"); answerKey.setText("answer-key", refs); Text unanswered = this.uiService .newText() .setText( null, this.uiService .newHtmlPropertyReference() .setFormatDelegate( this.uiService.getFormatDelegate( "FormatUnansweredPercent", "sakai.mneme"))); Section first = this.uiService.newSection(); first.add(question).add(attachments).add(entityList).add(unanswered); Section second = this.uiService.newSection(); second.setIncluded( this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("question.hasCorrect"))); second.add(answerKey); return this.uiService.newFragment().setMessages(this.messages).add(first).add(second); }
/** {@inheritDoc} */ public Component getViewQuestionUi() { Text question = this.uiService.newText(); question.setText( null, this.uiService.newHtmlPropertyReference().setReference("question.presentation.text")); Attachments attachments = this.uiService.newAttachments(); attachments.setAttachments( this.uiService.newPropertyReference().setReference("question.presentation.attachments"), null); attachments.setIncluded( this.uiService .newHasValueDecision() .setProperty( this.uiService .newPropertyReference() .setReference("question.presentation.attachments"))); Selection selection = this.uiService.newSelection(); selection.setProperty( this.uiService .newPropertyReference() .setReference("question.typeSpecificQuestion.correctAnswer")); selection.addSelection( this.uiService.newMessage().setMessage("true"), this.uiService.newMessage().setTemplate("true")); selection.addSelection( this.uiService.newMessage().setMessage("false"), this.uiService.newMessage().setTemplate("false")); selection.setReadOnly(this.uiService.newTrueDecision()); selection.setCorrect( this.uiService .newPropertyReference() .setReference("question.typeSpecificQuestion.correctAnswer")); selection.setCorrectDecision( this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("question.hasCorrect"))); Text answerKey = this.uiService.newText(); PropertyReference[] refs = new PropertyReference[2]; refs[0] = this.uiService.newIconPropertyReference().setIcon("/icons/answer_key.png"); refs[1] = this.uiService .newHtmlPropertyReference() .setReference("question.typeSpecificQuestion.answerKey"); answerKey.setText("answer-key", refs); Section first = this.uiService.newSection(); first.add(question).add(attachments).add(selection); Section second = this.uiService.newSection(); second.setIncluded( this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("question.hasCorrect"))); second.add(answerKey); return this.uiService.newFragment().setMessages(this.messages).add(first).add(second); }
/** {@inheritDoc} */ public Component getReviewUi() { Text question = this.uiService.newText(); question.setText( null, this.uiService .newHtmlPropertyReference() .setReference("answer.question.presentation.text")); Attachments attachments = this.uiService.newAttachments(); attachments.setAttachments( this.uiService .newPropertyReference() .setReference("answer.question.presentation.attachments"), null); attachments.setIncluded( this.uiService .newHasValueDecision() .setProperty( this.uiService .newPropertyReference() .setReference("answer.question.presentation.attachments"))); Selection selection = this.uiService.newSelection(); selection.setProperty( this.uiService.newPropertyReference().setReference("answer.typeSpecificAnswer.answer")); selection.addSelection( this.uiService.newMessage().setMessage("true"), this.uiService.newMessage().setTemplate("true")); selection.addSelection( this.uiService.newMessage().setMessage("false"), this.uiService.newMessage().setTemplate("false")); selection.setReadOnly(this.uiService.newTrueDecision()); selection.setCorrect( this.uiService .newPropertyReference() .setReference("answer.question.typeSpecificQuestion.correctAnswer")); // should we show correct marks? AndDecision mayReviewAndShowCorrect = this.uiService.newAndDecision(); Decision[] decisionsMayReviewAndShowCorrect = new Decision[2]; decisionsMayReviewAndShowCorrect[0] = this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("answer.submission.mayReview")); decisionsMayReviewAndShowCorrect[1] = this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("answer.showCorrectReview")); mayReviewAndShowCorrect.setRequirements(decisionsMayReviewAndShowCorrect); OrDecision or = this.uiService.newOrDecision(); Decision[] decisionsOr = new Decision[2]; decisionsOr[0] = this.uiService .newDecision() .setProperty(this.uiService.newPropertyReference().setReference("grading")); decisionsOr[1] = mayReviewAndShowCorrect; or.setOptions(decisionsOr); Decision[] decisionsShowCorrect = new Decision[2]; decisionsShowCorrect[0] = this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("answer.question.hasCorrect")); decisionsShowCorrect[1] = or; Decision showCorrect = this.uiService.newAndDecision().setRequirements(decisionsShowCorrect); selection.setCorrectDecision(showCorrect); Text answerKey = this.uiService.newText(); PropertyReference[] refs = new PropertyReference[2]; refs[0] = this.uiService.newIconPropertyReference().setIcon("/icons/answer_key.png"); refs[1] = this.uiService .newHtmlPropertyReference() .setReference("answer.question.typeSpecificQuestion.answerKey"); answerKey.setText("answer-key", refs); Decision[] orInc = new Decision[2]; orInc[0] = this.uiService .newDecision() .setProperty(this.uiService.newPropertyReference().setReference("grading")); orInc[1] = this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("answer.showCorrectReview")); Decision[] andInc = new Decision[2]; andInc[0] = this.uiService .newDecision() .setProperty( this.uiService.newPropertyReference().setReference("answer.question.hasCorrect")); andInc[1] = this.uiService.newOrDecision().setOptions(orInc); answerKey.setIncluded(this.uiService.newAndDecision().setRequirements(andInc)); Section first = this.uiService.newSection(); first.add(question).add(attachments).add(selection); Section second = this.uiService.newSection(); second.add(answerKey); return this.uiService.newFragment().setMessages(this.messages).add(first).add(second); }