diff --git a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java index 42d584c70efcc167fe9a0e8e088c50550a475c52..2004cd28864c2d30d57e4c3b32341db6b176bde3 100644 --- a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java @@ -88,6 +88,7 @@ import org.olat.repository.RepositoryEntryImportExport; import org.olat.repository.RepositoryManager; import org.olat.repository.handlers.RepositoryHandler; import org.olat.repository.handlers.RepositoryHandlerFactory; +import org.olat.resource.OLATResource; /** * Initial Date: Feb 9, 2004 @@ -131,20 +132,17 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) { Controller runController; - ModuleConfiguration config = getModuleConfiguration(); - AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); - boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); - if (onyx) { + RepositoryEntry testEntry = getReferencedRepositoryEntry(); + OLATResource ores = testEntry.getOlatResource(); + if (QTIResourceTypeModule.isOnyxTest(ores)) { Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx")); + } else if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) { + runController = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); } else { - RepositoryEntry testEntry = getReferencedRepositoryEntry(); - if(ImsQTI21Resource.TYPE_NAME.equals(testEntry.getOlatResource().getResourceableTypeName())) { - runController = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); - } else { - IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity()); - runController = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this); - } + AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); + IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity()); + runController = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this); } Controller ctrl = TitledWrapperHelper.getWrapper(ureq, wControl, runController, this, "o_iqself_icon"); diff --git a/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java b/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java index 3251ff2431168e563f9f1ea117ab1bea9cfd44df..db4a7b9d7da7481fa83a9cca648c46cab3ea85e2 100644 --- a/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQSURVCourseNode.java @@ -56,6 +56,7 @@ import org.olat.course.editor.StatusDescription; import org.olat.course.nodes.iq.CourseIQSecurityCallback; import org.olat.course.nodes.iq.IQEditController; import org.olat.course.nodes.iq.IQRunController; +import org.olat.course.nodes.iq.QTIResourceTypeModule; import org.olat.course.properties.CoursePropertyManager; import org.olat.course.run.navigation.NodeRunConstructionResult; import org.olat.course.run.userview.NodeEvaluation; @@ -138,14 +139,12 @@ public class IQSURVCourseNode extends AbstractAccessableCourseNode implements QT String message = trans.translate("guestnoaccess.message"); controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); } else { - ModuleConfiguration config = getModuleConfiguration(); - boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); - if (onyx) { + RepositoryEntry repositoryEntry = getReferencedRepositoryEntry(); + OLATResourceable ores = repositoryEntry.getOlatResource(); + if (QTIResourceTypeModule.isOnyxTest(ores)) { Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx")); } else { - RepositoryEntry repositoryEntry = getReferencedRepositoryEntry(); - OLATResourceable ores = repositoryEntry.getOlatResource(); Long resId = ores.getResourceableId(); SurveyFileResource fr = new SurveyFileResource(); fr.overrideResourceableId(resId); diff --git a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java index 83840c6b3fa9bf5c2d5036547cb2b7b8389b3849..85ea3586f73131a974009805c6ab3fde2cb9f1a6 100644 --- a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java @@ -176,30 +176,26 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements Pe controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); } } else { - ModuleConfiguration config = getModuleConfiguration(); - boolean onyx = IQEditController.CONFIG_VALUE_QTI2.equals(config.get(IQEditController.CONFIG_KEY_TYPE_QTI)); - if (onyx) { + RepositoryEntry testEntry = getReferencedRepositoryEntry(); + OLATResource ores = testEntry.getOlatResource(); + if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) { + //QTI 2.1 + controller = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); + } else if(QTIResourceTypeModule.isOnyxTest(ores)) { Translator transe = Util.createPackageTranslator(IQEditController.class, ureq.getLocale()); controller = MessageUIFactory.createInfoMessage(ureq, wControl, "", transe.translate("error.onyx")); } else { - RepositoryEntry testEntry = getReferencedRepositoryEntry(); - OLATResource ores = testEntry.getOlatResource(); - if(ImsQTI21Resource.TYPE_NAME.equals(ores.getResourceableTypeName())) { - //QTI 2.1 - controller = new QTI21AssessmentRunController(ureq, wControl, userCourseEnv, this); + //QTI 1.2 + TestFileResource fr = new TestFileResource(); + fr.overrideResourceableId(ores.getResourceableId()); + if(!CoordinatorManager.getInstance().getCoordinator().getLocker().isLocked(fr, null)) { + AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); + IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity()); + controller = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this, testEntry); } else { - //QTI 1.2 - TestFileResource fr = new TestFileResource(); - fr.overrideResourceableId(ores.getResourceableId()); - if(!CoordinatorManager.getInstance().getCoordinator().getLocker().isLocked(fr, null)) { - AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); - IQSecurityCallback sec = new CourseIQSecurityCallback(this, am, ureq.getIdentity()); - controller = new IQRunController(userCourseEnv, getModuleConfiguration(), sec, ureq, wControl, this, testEntry); - } else { - String title = trans.translate("editor.lock.title"); - String message = trans.translate("editor.lock.message"); - controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); - } + String title = trans.translate("editor.lock.title"); + String message = trans.translate("editor.lock.message"); + controller = MessageUIFactory.createInfoMessage(ureq, wControl, title, message); } } }