use of uk.ac.ed.ph.jqtiplus.value.Value in project OpenOLAT by OpenOLAT.
the class AssessmentRenderFunctions method isVisible.
// <xsl:sequence select="boolean($element[$overrideTemplate
// or not(@templateIdentifier)
// or (qw:value-contains(qw:get-template-value(@templateIdentifier), @identifier) and not(@showHide='hide'))])"/>
public static boolean isVisible(Choice choice, ItemSessionState iSessionState) {
if (choice.getTemplateIdentifier() == null)
return true;
Value templateValue = iSessionState.getTemplateValue(choice.getTemplateIdentifier());
boolean visible = templateValue instanceof IdentifierValue && ((IdentifierValue) templateValue).identifierValue().equals(choice.getIdentifier()) && choice.getVisibilityMode() != VisibilityMode.HIDE_IF_MATCH;
return visible;
}
use of uk.ac.ed.ph.jqtiplus.value.Value in project OpenOLAT by OpenOLAT.
the class AssessmentItemComponentRenderer method renderPrintedVariable.
@Override
protected void renderPrintedVariable(AssessmentRenderer renderer, StringOutput sb, AssessmentObjectComponent component, ResolvedAssessmentItem resolvedAssessmentItem, ItemSessionState itemSessionState, PrintedVariable printedVar) {
Identifier identifier = printedVar.getIdentifier();
Value templateValue = itemSessionState.getTemplateValues().get(identifier);
Value outcomeValue = itemSessionState.getOutcomeValues().get(identifier);
sb.append("<span class='printedVariable'>");
if (outcomeValue != null) {
OutcomeDeclaration outcomeDeclaration = resolvedAssessmentItem.getRootNodeLookup().extractIfSuccessful().getOutcomeDeclaration(identifier);
renderPrintedVariable(renderer, sb, printedVar, outcomeDeclaration, outcomeValue);
} else if (templateValue != null) {
TemplateDeclaration templateDeclaration = resolvedAssessmentItem.getRootNodeLookup().extractIfSuccessful().getTemplateDeclaration(identifier);
renderPrintedVariable(renderer, sb, printedVar, templateDeclaration, templateValue);
} else {
sb.append("(variable ").append(identifier.toString()).append(" was not found)");
}
sb.append("</span>");
}
use of uk.ac.ed.ph.jqtiplus.value.Value in project OpenOLAT by OpenOLAT.
the class AssessmentObjectComponent method isFeedback.
public boolean isFeedback(ModalFeedback feedbackElement, ItemSessionState itemSessionState) {
Identifier outcomeIdentifier = feedbackElement.getOutcomeIdentifier();
Identifier identifier = feedbackElement.getIdentifier();
Value outcomeValue = itemSessionState.getOutcomeValues().get(outcomeIdentifier);
boolean identifierMatch = valueContains(outcomeValue, identifier);
return (identifierMatch && feedbackElement.getVisibilityMode() == VisibilityMode.SHOW_IF_MATCH) || (!identifierMatch && feedbackElement.getVisibilityMode() == VisibilityMode.HIDE_IF_MATCH);
}
use of uk.ac.ed.ph.jqtiplus.value.Value in project OpenOLAT by OpenOLAT.
the class AssessmentRenderFunctionsTest method valueContains_multipleValues.
@Test
public void valueContains_multipleValues() {
Value identifierValues = MultipleValue.createMultipleValue(new IdentifierValue(Identifier.parseString("reference-id")), new IdentifierValue(Identifier.parseString("reference-id")));
Assert.assertTrue(AssessmentRenderFunctions.valueContains(identifierValues, Identifier.parseString("reference-id")));
Assert.assertFalse(AssessmentRenderFunctions.valueContains(identifierValues, Identifier.parseString("noid")));
}
use of uk.ac.ed.ph.jqtiplus.value.Value in project OpenOLAT by OpenOLAT.
the class AssessmentRenderFunctionsTest method valueContains_multipleAlienValues.
@Test
public void valueContains_multipleAlienValues() {
Value identifierValues = MultipleValue.createMultipleValue(new IntegerValue(6), new IntegerValue(7));
Assert.assertFalse(AssessmentRenderFunctions.valueContains(identifierValues, Identifier.parseString("6")));
Assert.assertFalse(AssessmentRenderFunctions.valueContains(identifierValues, Identifier.parseString("noid")));
}
Aggregations