- summary: /article/report can generate NPE for incomplete tests --> MAE: /article/report can generate NPE for incomplete tests
The /article/report action appears to generate a NullPointerException for tests containing <customInteraction/>s.
Item 85 in the samples (as of April 2010) demonstrates this.
Do /article/reset/85 then /article/report/85
This gives the following stacktrace:
java.lang.NullPointerException
at org.qtitools.qti.node.item.interaction.CustomInteraction.getResponseIdentifier(CustomInteraction.java:129)
at org.qtitools.qti.node.content.ItemBody.getInteraction(ItemBody.java:185)
at org.qtitools.qti.node.result.ResponseVariable.<init>(ResponseVariable.java:99)
at org.qtitools.qti.node.test.AssessmentItemRef.getItemResult(AssessmentItemRef.java:857)
at org.qtitools.qti.node.test.AssessmentItemRef.getItemResult(AssessmentItemRef.java:824)
at org.qtitools.qti.node.test.AssessmentTest.getAssessmentResult(AssessmentTest.java:493)
at org.qtitools.qti.controller.AssessmentTestController.getReport(AssessmentTestController.java:374)
at org.qtitools.mathassessengine.ArticleController.testReport(ArticleController.groovy:350)
at org.qtitools.mathassessengine.ArticleController.this$2$testReport(ArticleController.groovy)
at org.qtitools.mathassessengine.ArticleController$this$2$testReport.callCurrent(Unknown Source)
at org.qtitools.mathassessengine.ArticleController.articleReport(ArticleController.groovy:338)
at org.qtitools.mathassessengine.ArticleController.this$2$articleReport(ArticleController.groovy)
at org.qtitools.mathassessengine.ArticleController$_closure8.doCall(ArticleController.groovy:327)
at org.qtitools.mathassessengine.ArticleController$_closure8.doCall(ArticleController.groovy)
This is not especially serious, but the qtiplayr plugin calls up the report after each interaction so there's a lot of these appearing in the logs.