public AssessmentResult computeTestAssessmentResult( final CandidateSession candidateSession, final TestSessionController testSessionController) { final URI sessionIdentifierSourceId = URI.create(qtiWorksDeploymentSettings.getBaseUrl()); final String sessionIdentifier = "testsession/" + candidateSession.getId(); return testSessionController.computeAssessmentResult( requestTimestampContext.getCurrentRequestTimestamp(), sessionIdentifier, sessionIdentifierSourceId); }
private String stringifyQtiValue(final Value value) { if (qtiWorksDeploymentSettings.isEnableMathAssessExtension() && GlueValueBinder.isMathsContentRecord(value)) { /* This is a special MathAssess "Maths Content" variable. In this case, we'll record * just the ASCIIMath input form or the Maxima form, if either are available. */ final RecordValue mathsValue = (RecordValue) value; final SingleValue asciiMathInput = mathsValue.get(MathAssessConstants.FIELD_CANDIDATE_INPUT_IDENTIFIER); if (asciiMathInput != null) { return "ASCIIMath[" + asciiMathInput.toQtiString() + "]"; } final SingleValue maximaForm = mathsValue.get(MathAssessConstants.FIELD_MAXIMA_IDENTIFIER); if (maximaForm != null) { return "Maxima[" + maximaForm.toQtiString() + "]"; } } /* Just convert to QTI string in the usual way */ return value.toQtiString(); }