Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-2882

RS wrong CSV data for 2.1 questions in question pool import

    XMLWordPrintable

    Details

      Description

      The idea is to catch the exceptions and show the line were it happened. It's only a quick fix, to give the reason of the error would take more time to develop.

      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
      **RedScreen** For input string: "Nur eine Antwort ist richtig."
      
      <dispatchinfo>	
      	<componentinfo> 
      		<compname>ffo_main_stepslayout</compname>
      		<compclass>org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer</compclass>
      		<extendedinfo>n/a</extendedinfo>
      		<event>
      			<class&gt;org.olat.core.gui.components.form.flexible.impl.FormEvent</class&gt;
      			<command>done</command>
      			<tostring>com:done,org.olat.core.gui.components.form.flexible.impl.FormEvent@2f23a1</tostring>
      		</event>
      	</componentinfo>
      	<controllerinfo>
      		<controllername>org.olat.core.gui.control.generic.wizard.StepsMainRunController</controllername>
      		<controllername>org.olat.modules.qpool.ui.QuestionListController</controllername>
      		<controllername>org.olat.modules.qpool.ui.QuestionPoolMainEditorController</controllername>
      		<controllername>org.olat.core.commons.fullWebApp.BaseFullWebappController</controllername>
      	</controllerinfo>
      </dispatchinfo>
      
      >>> stack of 1.cause::org.olat.core.logging.OLATRuntimeException: For input string: "Nur eine Antwort ist richtig."
      -> at org.olat.core.gui.exception.ExceptionWindowController.<init>(ExceptionWindowController.java:116)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:57)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:46)
         at org.olat.core.gui.components.Window.dispatchRequest(Window.java:549)
         at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:242)
         at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193)
         at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:273)
         at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:190)
         at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:292)
         at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:235)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
      >>> stack of 2.cause::java.lang.NumberFormatException: For input string: "Nur eine Antwort ist richtig."
      -> at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
         at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
         at java.lang.Float.parseFloat(Float.java:451)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.parseFloat(CSVToAssessmentItemConverter.java:532)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.processPoints(CSVToAssessmentItemConverter.java:409)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.processLine(CSVToAssessmentItemConverter.java:112)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.parse(CSVToAssessmentItemConverter.java:89)
         at org.olat.ims.qti21.questionimport.TextInputController.convertInputField(TextInputController.java:111)
         at org.olat.ims.qti21.questionimport.TextInputController.validateFormLogic(TextInputController.java:95)
         at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:476)
         at org.olat.core.gui.components.form.flexible.impl.Form.submitAndNext(Form.java:455)
      
      <dispatchinfo>
      	<componentinfo>
      		<compname>ffo_main_stepslayout</compname>
      		<compclass>org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer</compclass>
      		<extendedinfo>n/a</extendedinfo>
      		<event>
      			<class&gt;org.olat.core.gui.components.form.flexible.impl.FormEvent</class&gt;
      			<command>done</command>
      			<tostring>com:done,org.olat.core.gui.components.form.flexible.impl.FormEvent@2f23a1</tostring>
      		</event>
      	</componentinfo>
      	<controllerinfo>
      		<controllername>org.olat.core.gui.control.generic.wizard.StepsMainRunController</controllername>
      		<controllername>org.olat.modules.qpool.ui.QuestionListController</controllername>
      		<controllername>org.olat.modules.qpool.ui.QuestionPoolMainEditorController</controllername>
      		<controllername>org.olat.core.commons.fullWebApp.BaseFullWebappController</controllername>
      	</controllerinfo>
      </dispatchinfo>
      
      >>> stack of 1.cause::org.olat.core.logging.OLATRuntimeException: Index: 4, Size: 4
      -> at org.olat.core.gui.exception.ExceptionWindowController.<init>(ExceptionWindowController.java:116)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:57)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:46)
         at org.olat.core.gui.components.Window.dispatchRequest(Window.java:549)
         at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:242)
         at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193)
         at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:273)
         at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:190)
         at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:292)
         at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:235)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
      >>> stack of 2.cause::java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
      -> at java.util.ArrayList.rangeCheck(ArrayList.java:653)
         at java.util.ArrayList.get(ArrayList.java:429)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.processChoice_kprim(CSVToAssessmentItemConverter.java:502)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.processChoice(CSVToAssessmentItemConverter.java:435)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.processLine(CSVToAssessmentItemConverter.java:138)
         at org.olat.ims.qti21.questionimport.CSVToAssessmentItemConverter.parse(CSVToAssessmentItemConverter.java:89)
         at org.olat.ims.qti21.questionimport.TextInputController.convertInputField(TextInputController.java:111)
         at org.olat.ims.qti21.questionimport.TextInputController.validateFormLogic(TextInputController.java:95)
         at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:476)
         at org.olat.core.gui.components.form.flexible.impl.Form.submitAndNext(Form.java:455)
         at org.olat.core.gui.control.generic.wizard.StepsMainRunController.formInnerEvent(StepsMainRunController.java:210)   
      

        Attachments

          Activity

            People

            Assignee:
            srosse Stéphane Rossé
            Reporter:
            srosse Stéphane Rossé
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 40 minutes
                40m