use of uk.ac.ed.ph.jqtiplus.node.result.ItemVariable in project OpenOLAT by OpenOLAT.
the class AssessmentTestDisplayController method collectOutcomeVariablesForItemSession.
private void collectOutcomeVariablesForItemSession(ItemResult resultNode, AssessmentItemSession itemSession) {
BigDecimal score = null;
Boolean pass = null;
for (final ItemVariable itemVariable : resultNode.getItemVariables()) {
if (itemVariable instanceof OutcomeVariable) {
OutcomeVariable outcomeVariable = (OutcomeVariable) itemVariable;
Identifier identifier = outcomeVariable.getIdentifier();
if (QTI21Constants.SCORE_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof FloatValue) {
score = new BigDecimal(((FloatValue) value).doubleValue());
} else if (value instanceof IntegerValue) {
score = new BigDecimal(((IntegerValue) value).intValue());
}
} else if (QTI21Constants.PASS_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof BooleanValue) {
pass = ((BooleanValue) value).booleanValue();
}
}
}
}
if (score != null) {
itemSession.setScore(score);
}
if (pass != null) {
itemSession.setPassed(pass);
}
}
use of uk.ac.ed.ph.jqtiplus.node.result.ItemVariable in project OpenOLAT by OpenOLAT.
the class AssessmentResultController method extractOutcomeVariable.
private void extractOutcomeVariable(List<ItemVariable> itemVariables, Results results) {
for (ItemVariable itemVariable : itemVariables) {
if (itemVariable instanceof OutcomeVariable) {
if (QTI21Constants.SCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) {
Double score = getOutcomeNumberVariable(itemVariable);
results.setScore(score);
results.setAutoScore(score);
} else if (QTI21Constants.MAXSCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) {
results.setMaxScore(getOutcomeNumberVariable(itemVariable));
} else if (QTI21Constants.PASS_IDENTIFIER.equals(itemVariable.getIdentifier())) {
results.setPass(getOutcomeBooleanVariable(itemVariable));
}
}
}
}
use of uk.ac.ed.ph.jqtiplus.node.result.ItemVariable in project openolat by klemens.
the class AssessmentTestDisplayController method collectOutcomeVariablesForItemSession.
private void collectOutcomeVariablesForItemSession(ItemResult resultNode, AssessmentItemSession itemSession) {
BigDecimal score = null;
Boolean pass = null;
for (final ItemVariable itemVariable : resultNode.getItemVariables()) {
if (itemVariable instanceof OutcomeVariable) {
OutcomeVariable outcomeVariable = (OutcomeVariable) itemVariable;
Identifier identifier = outcomeVariable.getIdentifier();
if (QTI21Constants.SCORE_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof FloatValue) {
score = new BigDecimal(((FloatValue) value).doubleValue());
} else if (value instanceof IntegerValue) {
score = new BigDecimal(((IntegerValue) value).intValue());
}
} else if (QTI21Constants.PASS_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof BooleanValue) {
pass = ((BooleanValue) value).booleanValue();
}
}
}
}
if (score != null) {
itemSession.setScore(score);
}
if (pass != null) {
itemSession.setPassed(pass);
}
}
use of uk.ac.ed.ph.jqtiplus.node.result.ItemVariable in project OpenOLAT by OpenOLAT.
the class AssessmentTestDisplayController method processOutcomeVariables.
private void processOutcomeVariables(TestResult resultNode, TestPlanInfos testPlanInfos, boolean submit) {
Float score = null;
Boolean pass = null;
double completion = testPlanInfos.getCompletion();
for (final ItemVariable itemVariable : resultNode.getItemVariables()) {
if (itemVariable instanceof OutcomeVariable) {
OutcomeVariable outcomeVariable = (OutcomeVariable) itemVariable;
Identifier identifier = outcomeVariable.getIdentifier();
if (QTI21Constants.SCORE_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof NumberValue) {
score = (float) ((NumberValue) value).doubleValue();
}
} else if (QTI21Constants.PASS_IDENTIFIER.equals(identifier)) {
Value value = itemVariable.getComputedValue();
if (value instanceof BooleanValue) {
pass = ((BooleanValue) value).booleanValue();
}
}
}
}
if (submit) {
outcomesListener.submit(score, pass, completion, candidateSession.getKey());
} else if (candidateSession != null && candidateSession.getFinishTime() == null) {
// don't change the outcome if the test is finished
outcomesListener.updateOutcomes(score, pass, completion);
}
}
use of uk.ac.ed.ph.jqtiplus.node.result.ItemVariable in project openolat by klemens.
the class AssessmentResultController method extractOutcomeVariable.
private void extractOutcomeVariable(List<ItemVariable> itemVariables, Results results) {
for (ItemVariable itemVariable : itemVariables) {
if (itemVariable instanceof OutcomeVariable) {
if (QTI21Constants.SCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) {
Double score = getOutcomeNumberVariable(itemVariable);
results.setScore(score);
results.setAutoScore(score);
} else if (QTI21Constants.MAXSCORE_IDENTIFIER.equals(itemVariable.getIdentifier())) {
results.setMaxScore(getOutcomeNumberVariable(itemVariable));
} else if (QTI21Constants.PASS_IDENTIFIER.equals(itemVariable.getIdentifier())) {
results.setPass(getOutcomeBooleanVariable(itemVariable));
}
}
}
}
Aggregations