Search in sources :

Example 16 with CandidateSessionContext

use of org.olat.ims.qti21.ui.CandidateSessionContext in project openolat by klemens.

the class AssessmentTreeComponentRenderer method render.

@Override
public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderResult renderResult, String[] args) {
    AssessmentTreeComponent component = (AssessmentTreeComponent) source;
    TestSessionController testSessionController = component.getTestSessionController();
    if (!testSessionController.getTestSessionState().isEnded()) {
        CandidateSessionContext candidateSessionContext = component.getCandidateSessionContext();
        final AssessmentTestSession candidateSession = candidateSessionContext.getCandidateSession();
        if (!candidateSession.isExploded() && !candidateSessionContext.isTerminated()) {
            CandidateEvent candidateEvent = candidateSessionContext.getLastEvent();
            CandidateTestEventType testEventType = candidateEvent.getTestEventType();
            RenderingRequest options;
            if (testEventType == CandidateTestEventType.REVIEW_ITEM) {
                options = RenderingRequest.getItemReview();
            } else if (testEventType == CandidateTestEventType.SOLUTION_ITEM) {
                options = RenderingRequest.getItemSolution();
            } else {
                options = RenderingRequest.getItem(testSessionController);
            }
            AssessmentRenderer renderHints = new AssessmentRenderer(renderer);
            renderTestEvent(testSessionController, renderHints, sb, component, ubu, translator, options);
        }
    }
}
Also used : CandidateSessionContext(org.olat.ims.qti21.ui.CandidateSessionContext) AssessmentTestSession(org.olat.ims.qti21.AssessmentTestSession) CandidateTestEventType(org.olat.ims.qti21.model.audit.CandidateTestEventType) TestSessionController(uk.ac.ed.ph.jqtiplus.running.TestSessionController) CandidateEvent(org.olat.ims.qti21.model.audit.CandidateEvent)

Aggregations

CandidateEvent (org.olat.ims.qti21.model.audit.CandidateEvent)14 TestSessionState (uk.ac.ed.ph.jqtiplus.state.TestSessionState)12 Date (java.util.Date)10 CandidateTestEventType (org.olat.ims.qti21.model.audit.CandidateTestEventType)10 CandidateSessionContext (org.olat.ims.qti21.ui.CandidateSessionContext)10 OLATRuntimeException (org.olat.core.logging.OLATRuntimeException)6 AssessmentTestSession (org.olat.ims.qti21.AssessmentTestSession)6 AssessmentResult (uk.ac.ed.ph.jqtiplus.node.result.AssessmentResult)6 NotificationRecorder (uk.ac.ed.ph.jqtiplus.notification.NotificationRecorder)6 TestSessionController (uk.ac.ed.ph.jqtiplus.running.TestSessionController)4 ItemSessionState (uk.ac.ed.ph.jqtiplus.state.ItemSessionState)4 TestPlanNode (uk.ac.ed.ph.jqtiplus.state.TestPlanNode)4 TestPlanNodeKey (uk.ac.ed.ph.jqtiplus.state.TestPlanNodeKey)4 QtiCandidateStateException (uk.ac.ed.ph.jqtiplus.exception.QtiCandidateStateException)3 File (java.io.File)2 HashMap (java.util.HashMap)2 List (java.util.List)2 AssessmentItemSession (org.olat.ims.qti21.AssessmentItemSession)2 AssessmentResponse (org.olat.ims.qti21.AssessmentResponse)2 ParentPartItemRefs (org.olat.ims.qti21.model.ParentPartItemRefs)2