Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-44336

SAMIGO: Warning in logs when trying negative on Adjustment and Total Points are negative - needs UI message/banner

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: OPEN
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 20.2 [Tentative], 21.0 [Tentative], 22.0 [Tentative]
    • Fix Version/s: None
    • Labels:
      None
    • Test Plan:
      Hide

      1. Create an assessment with 1 question with 1 point and publish it
      2. Enter as student and send the assessment (fail the question)
      3. Enter as student and click Actions -> Scores
      4. Go to Student and enter Adjustement -1.0

      No error on log should be shown and tool shouldn't been restarted
      A warn at the top of the page should appear.

      Show
      1. Create an assessment with 1 question with 1 point and publish it 2. Enter as student and send the assessment (fail the question) 3. Enter as student and click Actions -> Scores 4. Go to Student and enter Adjustement -1.0 No error on log should be shown and tool shouldn't been restarted A warn at the top of the page should appear.

      Description

      Tool is restarted and a warning in the logs appears:

      22-Sep-2020 02:45:22.954 WARN [http-nio-20013-exec-14] org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent Failed to buffer content.
      org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: score raw (-1.0) must not be less than min (0.0)
      	at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:520)
      	at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1502)
      	at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1254)
      	at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1088)
      	at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:499)
      	at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:275)
      	at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:163)
      	at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69)
      	at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1175)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
      	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.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:496)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
      	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:200)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
      	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:679)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
      	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
      	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
      	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747)
      	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)
      Caused by: javax.servlet.ServletException: score raw (-1.0) must not be less than min (0.0)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:683)
      	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:53)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:447)
      	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
      	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
      	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
      	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
      	at org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:360)
      	at org.sakaiproject.jsf2.util.JsfTool.doPost(JsfTool.java:250)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
      	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.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
      	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
      	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:352)
      	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
      	at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:508)
      	... 35 more
      Caused by: java.lang.IllegalArgumentException: score raw (-1.0) must not be less than min (0.0)
      	at org.sakaiproject.event.api.LearningResourceStoreService$LRS_Result.setRawScore(LearningResourceStoreService.java:947)
      	at org.sakaiproject.event.api.LearningResourceStoreService$LRS_Result.setScore(LearningResourceStoreService.java:975)
      	at org.sakaiproject.event.api.LearningResourceStoreService$LRS_Result.<init>(LearningResourceStoreService.java:907)
      	at org.sakaiproject.tool.assessment.util.SamigoLRSStatements.getLRS_Result(SamigoLRSStatements.java:172)
      	at org.sakaiproject.tool.assessment.util.SamigoLRSStatements.getStatementForTotalScoreUpdate(SamigoLRSStatements.java:112)
      	at org.sakaiproject.tool.assessment.ui.listener.evaluation.TotalScoreUpdateListener.saveTotalScores(TotalScoreUpdateListener.java:291)
      	at org.sakaiproject.tool.assessment.ui.listener.evaluation.TotalScoreUpdateListener.processAction(TotalScoreUpdateListener.java:102)
      	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:96)
      	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:839)
      	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
      	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:870)
      	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1418)
      	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
      	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
      	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:201)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:670)
      	... 58 more

      Needs a UI message/banner on the page to inform the user.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                maintenanceteam Core Team
                Reporter:
                jesusmmp Jesus Maria Mendez
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:

                    Git Integration