-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Labels:None
Switching of tests and correction is not fully supported but:
- a user make a test A
- author switch the test A to test B
- the user make the test B
- author delete the results of user A (which only delete the last session, for test B)
- Author try to correct the previous session (test A) -> red screen
java.lang.NullPointerException at org.olat.ims.qti21.ui.assessment.CorrectionOverviewModel.getMetadata(CorrectionOverviewModel.java:234) at org.olat.ims.qti21.ui.assessment.CorrectionIdentityAssessmentItemListController.loadModel(CorrectionIdentityAssessmentItemListController.java:212) at org.olat.ims.qti21.ui.assessment.CorrectionIdentityAssessmentItemListController.(CorrectionIdentityAssessmentItemListController.java:133) at org.olat.ims.qti21.ui.QTI21AssessmentDetailsController.doCorrection(QTI21AssessmentDetailsController.java:424) at org.olat.ims.qti21.ui.QTI21AssessmentDetailsController.formInnerEvent(QTI21AssessmentDetailsController.java:391) at org.olat.core.gui.components.form.flexible.impl.FormBasicController.event(FormBasicController.java:430) at org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:206) at org.olat.core.gui.components.AbstractComponent$1.run(AbstractComponent.java:240) at org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller.runWithUserActivityLogger(ThreadLocalUserActivityLoggerInstaller.java:108) at org.olat.core.gui.components.AbstractComponent.fireEvent(AbstractComponent.java:238) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.fireFormEvent(FormWrapperContainer.java:131) at org.olat.core.gui.components.form.flexible.impl.Form.fireFormEvent(Form.java:717) at org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.doSelect(FlexiTableElementImpl.java:1660) at org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.doSelect(FlexiTableElementImpl.java:983) at org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableElementImpl.evalFormRequest(FlexiTableElementImpl.java:970) at org.olat.core.gui.components.form.flexible.impl.Form$EvaluatingFormComponentVisitor.visit(Form.java:626) at org.olat.core.util.component.FormComponentTraverser.doVisit(FormComponentTraverser.java:65) at org.olat.core.util.component.FormComponentTraverser.doVisit(FormComponentTraverser.java:70) at org.olat.core.util.component.FormComponentTraverser.visitAll(FormComponentTraverser.java:60) at org.olat.core.gui.components.form.flexible.impl.Form.evalFormRequest(Form.java:265) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.doDispatchRequest(FormWrapperContainer.java:100) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.core.gui.components.Window.doDispatchToComponent(Window.java:1218) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:400) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:284) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:263) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:184) at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:269) at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:216) at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at org.olat.core.servlets.OpenOLATServlet.service(OpenOLATServlet.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.olat.core.servlets.HeadersFilter.doFilter(HeadersFilter.java:95) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:476) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)