Search in sources :

Example 6 with Value

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;
}
Also used : DurationValue(uk.ac.ed.ph.jqtiplus.value.DurationValue) IdentifierValue(uk.ac.ed.ph.jqtiplus.value.IdentifierValue) FloatValue(uk.ac.ed.ph.jqtiplus.value.FloatValue) ListValue(uk.ac.ed.ph.jqtiplus.value.ListValue) MultipleValue(uk.ac.ed.ph.jqtiplus.value.MultipleValue) Value(uk.ac.ed.ph.jqtiplus.value.Value) IntegerValue(uk.ac.ed.ph.jqtiplus.value.IntegerValue) RecordValue(uk.ac.ed.ph.jqtiplus.value.RecordValue) OrderedValue(uk.ac.ed.ph.jqtiplus.value.OrderedValue) BooleanValue(uk.ac.ed.ph.jqtiplus.value.BooleanValue) SingleValue(uk.ac.ed.ph.jqtiplus.value.SingleValue) StringValue(uk.ac.ed.ph.jqtiplus.value.StringValue) NullValue(uk.ac.ed.ph.jqtiplus.value.NullValue) FileValue(uk.ac.ed.ph.jqtiplus.value.FileValue) IdentifierValue(uk.ac.ed.ph.jqtiplus.value.IdentifierValue)

Example 7 with Value

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>");
}
Also used : Identifier(uk.ac.ed.ph.jqtiplus.types.Identifier) Value(uk.ac.ed.ph.jqtiplus.value.Value) TemplateDeclaration(uk.ac.ed.ph.jqtiplus.node.item.template.declaration.TemplateDeclaration) OutcomeDeclaration(uk.ac.ed.ph.jqtiplus.node.outcome.declaration.OutcomeDeclaration)

Example 8 with Value

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);
}
Also used : Identifier(uk.ac.ed.ph.jqtiplus.types.Identifier) Value(uk.ac.ed.ph.jqtiplus.value.Value)

Example 9 with Value

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")));
}
Also used : OrderedValue(uk.ac.ed.ph.jqtiplus.value.OrderedValue) IntegerValue(uk.ac.ed.ph.jqtiplus.value.IntegerValue) MultipleValue(uk.ac.ed.ph.jqtiplus.value.MultipleValue) NullValue(uk.ac.ed.ph.jqtiplus.value.NullValue) Value(uk.ac.ed.ph.jqtiplus.value.Value) IdentifierValue(uk.ac.ed.ph.jqtiplus.value.IdentifierValue) IdentifierValue(uk.ac.ed.ph.jqtiplus.value.IdentifierValue) Test(org.junit.Test)

Example 10 with Value

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")));
}
Also used : IntegerValue(uk.ac.ed.ph.jqtiplus.value.IntegerValue) OrderedValue(uk.ac.ed.ph.jqtiplus.value.OrderedValue) IntegerValue(uk.ac.ed.ph.jqtiplus.value.IntegerValue) MultipleValue(uk.ac.ed.ph.jqtiplus.value.MultipleValue) NullValue(uk.ac.ed.ph.jqtiplus.value.NullValue) Value(uk.ac.ed.ph.jqtiplus.value.Value) IdentifierValue(uk.ac.ed.ph.jqtiplus.value.IdentifierValue) Test(org.junit.Test)

Aggregations

Value (uk.ac.ed.ph.jqtiplus.value.Value)70 IdentifierValue (uk.ac.ed.ph.jqtiplus.value.IdentifierValue)46 Identifier (uk.ac.ed.ph.jqtiplus.types.Identifier)34 IntegerValue (uk.ac.ed.ph.jqtiplus.value.IntegerValue)32 SingleValue (uk.ac.ed.ph.jqtiplus.value.SingleValue)32 FloatValue (uk.ac.ed.ph.jqtiplus.value.FloatValue)30 MultipleValue (uk.ac.ed.ph.jqtiplus.value.MultipleValue)28 OrderedValue (uk.ac.ed.ph.jqtiplus.value.OrderedValue)24 NullValue (uk.ac.ed.ph.jqtiplus.value.NullValue)18 ResponseDeclaration (uk.ac.ed.ph.jqtiplus.node.item.response.declaration.ResponseDeclaration)16 FieldValue (uk.ac.ed.ph.jqtiplus.node.shared.FieldValue)16 BooleanValue (uk.ac.ed.ph.jqtiplus.value.BooleanValue)16 CorrectResponse (uk.ac.ed.ph.jqtiplus.node.item.CorrectResponse)14 ArrayList (java.util.ArrayList)12 DirectedPairValue (uk.ac.ed.ph.jqtiplus.value.DirectedPairValue)12 Test (org.junit.Test)11 RecordValue (uk.ac.ed.ph.jqtiplus.value.RecordValue)10 File (java.io.File)8 IOException (java.io.IOException)8 AssessmentRenderFunctions.contentAsString (org.olat.ims.qti21.ui.components.AssessmentRenderFunctions.contentAsString)8