Search in sources :

Example 81 with Event

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

the class CorrectionIdentityAssessmentItemController method formInnerEvent.

@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
    if (saveNextQuestionButton == source) {
        doSave();
        fireEvent(ureq, new NextAssessmentItemEvent());
    } else {
        super.formInnerEvent(ureq, source, event);
    }
}
Also used : NextAssessmentItemEvent(org.olat.ims.qti21.ui.assessment.event.NextAssessmentItemEvent)

Example 82 with Event

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

the class AssessmentTreeFormItem method evalFormRequest.

@Override
public void evalFormRequest(UserRequest ureq) {
    String uri = ureq.getModuleURI();
    if (uri == null) {
        QTIWorksAssessmentTestEvent event = null;
        String cmd = ureq.getParameter("cid");
        if (StringHelper.containsNonWhitespace(cmd)) {
            switch(QTIWorksAssessmentTestEvent.Event.valueOf(cmd)) {
                case selectItem:
                    {
                        String selectedItem = ureq.getParameter("item");
                        event = new QTIWorksAssessmentTestEvent(selectItem, selectedItem, this);
                        getRootForm().fireFormEvent(ureq, event);
                        component.setDirty(true);
                        testComponent.setDirty(true);
                        break;
                    }
                case mark:
                    {
                        String selectedItem = ureq.getParameter("item");
                        event = new QTIWorksAssessmentTestEvent(mark, selectedItem, this);
                        getRootForm().fireFormEvent(ureq, event);
                        break;
                    }
                default:
                    break;
            }
        }
    }
}
Also used : QTIWorksAssessmentTestEvent(org.olat.ims.qti21.ui.QTIWorksAssessmentTestEvent)

Example 83 with Event

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

the class AssessmentTestComposerController method event.

@Override
protected void event(UserRequest ureq, Controller source, Event event) {
    if (event instanceof AssessmentTestEvent) {
        AssessmentTestEvent ate = (AssessmentTestEvent) event;
        if (ate == AssessmentTestEvent.ASSESSMENT_TEST_CHANGED_EVENT) {
            doSaveAssessmentTest(ureq, null);
        }
    } else if (event instanceof AssessmentTestPartEvent) {
        AssessmentTestPartEvent atpe = (AssessmentTestPartEvent) event;
        if (atpe == AssessmentTestPartEvent.ASSESSMENT_TEST_PART_CHANGED_EVENT) {
            doSaveAssessmentTest(ureq, null);
        }
    } else if (event instanceof AssessmentSectionEvent) {
        AssessmentSectionEvent ase = (AssessmentSectionEvent) event;
        if (AssessmentSectionEvent.ASSESSMENT_SECTION_CHANGED.equals(ase.getCommand())) {
            doSaveAssessmentTest(ureq, null);
            doUpdate(ase.getSection().getIdentifier(), ase.getSection().getTitle());
            doSaveManifest();
        }
    } else if (event instanceof AssessmentItemEvent) {
        AssessmentItemEvent aie = (AssessmentItemEvent) event;
        if (AssessmentItemEvent.ASSESSMENT_ITEM_CHANGED.equals(aie.getCommand())) {
            assessmentChanged(ureq);
            doSaveAssessmentTest(ureq, null);
            doUpdate(aie.getAssessmentItemRef().getIdentifier(), aie.getAssessmentItem().getTitle());
            doSaveManifest();
        } else if (AssessmentItemEvent.ASSESSMENT_ITEM_METADATA_CHANGED.equals(aie.getCommand())) {
            doSaveManifest();
        } else if (AssessmentItemEvent.ASSESSMENT_ITEM_NEED_RELOAD.equals(aie.getCommand())) {
            doReloadItem(ureq);
        }
    } else if (event instanceof DetachFromPoolEvent) {
        DetachFromPoolEvent dfpe = (DetachFromPoolEvent) event;
        doDetachItemFromPool(ureq, dfpe.getItemRef());
    } else if (selectQItemCtrl == source) {
        cmc.deactivate();
        cleanUp();
        if (event instanceof QItemViewEvent) {
            QItemViewEvent e = (QItemViewEvent) event;
            List<QuestionItemView> items = e.getItemList();
            doInsert(ureq, items);
        }
    } else if (importTableWizard == source) {
        AssessmentItemsPackage importPackage = (AssessmentItemsPackage) importTableWizard.getRunContext().get("importPackage");
        getWindowControl().pop();
        cleanUp();
        if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
            doInsert(ureq, importPackage);
        }
    } else if (confirmDeleteCtrl == source) {
        if (DialogBoxUIFactory.isYesEvent(event)) {
            // yes, delete
            doDelete(ureq, (TreeNode) confirmDeleteCtrl.getUserObject());
        }
        cleanUp();
    } else if (cmc == source) {
        cleanUp();
    }
    super.event(ureq, source, event);
}
Also used : AssessmentTestEvent(org.olat.ims.qti21.ui.editor.events.AssessmentTestEvent) DetachFromPoolEvent(org.olat.ims.qti21.ui.editor.events.DetachFromPoolEvent) TreeNode(org.olat.core.gui.components.tree.TreeNode) GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) AssessmentItemsPackage(org.olat.ims.qti21.questionimport.AssessmentItemsPackage) ArrayList(java.util.ArrayList) List(java.util.List) QItemViewEvent(org.olat.modules.qpool.ui.events.QItemViewEvent) AssessmentSectionEvent(org.olat.ims.qti21.ui.editor.events.AssessmentSectionEvent) AssessmentTestPartEvent(org.olat.ims.qti21.ui.editor.events.AssessmentTestPartEvent) AssessmentItemEvent(org.olat.ims.qti21.ui.editor.events.AssessmentItemEvent)

Example 84 with Event

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

the class AssessmentTestComposerController method event.

@Override
protected void event(UserRequest ureq, Component source, Event event) {
    if (menuTree == source) {
        if (event instanceof TreeEvent) {
            TreeEvent te = (TreeEvent) event;
            String cmd = te.getCommand();
            if (MenuTree.COMMAND_TREENODE_CLICKED.equals(cmd)) {
                TreeNode selectedNode = menuTree.getTreeModel().getNodeById(te.getNodeId());
                partEditorFactory(ureq, selectedNode);
            }
        } else if (event.getCommand().equals(MenuTree.COMMAND_TREENODE_DROP)) {
            TreeDropEvent tde = (TreeDropEvent) event;
            doDrop(ureq, tde.getDroppedNodeId(), tde.getTargetNodeId(), tde.isAsChild());
        }
    } else if (newSectionLink == source) {
        doNewSection(ureq, menuTree.getSelectedNode());
    } else if (newTestPartLink == source) {
        doNewTestPart(ureq);
    } else if (newSingleChoiceLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new SingleChoiceAssessmentItemBuilder(translate("new.sc"), translate("new.answer"), qtiService.qtiSerializer()));
    } else if (newMultipleChoiceLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new MultipleChoiceAssessmentItemBuilder(translate("new.mc"), translate("new.answer"), qtiService.qtiSerializer()));
    } else if (newKPrimLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new KPrimAssessmentItemBuilder(translate("new.kprim"), translate("new.answer"), qtiService.qtiSerializer()));
    } else if (newMatchLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new MatchAssessmentItemBuilder(translate("new.match"), QTI21Constants.CSS_MATCH_MATRIX, qtiService.qtiSerializer()));
    } else if (newMatchDragAndDropLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new MatchAssessmentItemBuilder(translate("new.matchdraganddrop"), QTI21Constants.CSS_MATCH_DRAG_AND_DROP, qtiService.qtiSerializer()));
    } else if (newMatchTrueFalseLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new MatchAssessmentItemBuilder(translate("new.matchtruefalse"), QTI21Constants.CSS_MATCH_TRUE_FALSE, translate("match.unanswered"), translate("match.true"), translate("match.false"), qtiService.qtiSerializer()));
    } else if (newFIBLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new FIBAssessmentItemBuilder(translate("new.fib"), EntryType.text, qtiService.qtiSerializer()));
    } else if (newNumericalLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new FIBAssessmentItemBuilder(translate("new.fib.numerical"), EntryType.numerical, qtiService.qtiSerializer()));
    } else if (newHotspotLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new HotspotAssessmentItemBuilder(translate("new.hotspot"), qtiService.qtiSerializer()));
    } else if (newHottextLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new HottextAssessmentItemBuilder(translate("new.hottext"), translate("new.hottext.start"), translate("new.hottext.text"), qtiService.qtiSerializer()));
    } else if (newEssayLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new EssayAssessmentItemBuilder(translate("new.essay"), qtiService.qtiSerializer()));
    } else if (newUploadLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new UploadAssessmentItemBuilder(translate("new.upload"), qtiService.qtiSerializer()));
    } else if (newDrawingLink == source) {
        doNewAssessmentItem(ureq, menuTree.getSelectedNode(), new DrawingAssessmentItemBuilder(translate("new.drawing"), qtiService.qtiSerializer()));
    } else if (importFromPoolLink == source) {
        doSelectQItem(ureq);
    } else if (importFromTableLink == source) {
        doImportTable(ureq);
    } else if (exportToPoolLink == source) {
        doExportPool();
    } else if (exportToDocxLink == source) {
        doExportDocx(ureq);
    } else if (deleteLink == source) {
        doConfirmDelete(ureq);
    } else if (copyLink == source) {
        doCopy(ureq);
    } else if (reloadInCacheLink == source) {
        doForceReloadFiles(ureq);
    }
}
Also used : HottextAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.HottextAssessmentItemBuilder) SingleChoiceAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.SingleChoiceAssessmentItemBuilder) EssayAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.EssayAssessmentItemBuilder) MultipleChoiceAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.MultipleChoiceAssessmentItemBuilder) MatchAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.MatchAssessmentItemBuilder) TreeEvent(org.olat.core.gui.components.tree.TreeEvent) FIBAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder) KPrimAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.KPrimAssessmentItemBuilder) TreeNode(org.olat.core.gui.components.tree.TreeNode) GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) HotspotAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.HotspotAssessmentItemBuilder) TreeDropEvent(org.olat.core.gui.components.tree.TreeDropEvent) UploadAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.UploadAssessmentItemBuilder) DrawingAssessmentItemBuilder(org.olat.ims.qti21.model.xml.interactions.DrawingAssessmentItemBuilder)

Aggregations

CandidateEvent (org.olat.ims.qti21.model.audit.CandidateEvent)46 Date (java.util.Date)36 NotificationRecorder (uk.ac.ed.ph.jqtiplus.notification.NotificationRecorder)32 TestSessionState (uk.ac.ed.ph.jqtiplus.state.TestSessionState)32 ItemSessionState (uk.ac.ed.ph.jqtiplus.state.ItemSessionState)22 AssessmentResult (uk.ac.ed.ph.jqtiplus.node.result.AssessmentResult)20 QtiCandidateStateException (uk.ac.ed.ph.jqtiplus.exception.QtiCandidateStateException)19 OLATRuntimeException (org.olat.core.logging.OLATRuntimeException)18 TestPlanNodeKey (uk.ac.ed.ph.jqtiplus.state.TestPlanNodeKey)16 TestPlanNode (uk.ac.ed.ph.jqtiplus.state.TestPlanNode)14 HashMap (java.util.HashMap)12 List (java.util.List)10 RetrieveAssessmentTestSessionEvent (org.olat.ims.qti21.ui.event.RetrieveAssessmentTestSessionEvent)10 OLATResourceable (org.olat.core.id.OLATResourceable)8 AssessmentResponse (org.olat.ims.qti21.AssessmentResponse)8 AssessmentTestSession (org.olat.ims.qti21.AssessmentTestSession)8 StringInput (org.olat.ims.qti21.ui.ResponseInput.StringInput)8 FileResponseData (uk.ac.ed.ph.jqtiplus.types.FileResponseData)8 Identifier (uk.ac.ed.ph.jqtiplus.types.Identifier)8 ResponseData (uk.ac.ed.ph.jqtiplus.types.ResponseData)8