Add Assignment from Assignment tool into Gradebook2 crashes the Gradebook2 if Gradebook2 is set to use weighted categories
GENERAL
TESTING
GENERAL
TESTING
Description
To repeat:
1. add Assignments and Gradebook2 tools to a new site 2. In Gradebook2, set it up with Organize By with "weighted categories", then create couple of cateogories 3. In Assignment, create a new point-based assignment and select "Add to Gradebook" 4. The new assignment created correctly. However, nothing is shown in Gradebook2 now, not even the previously created categories. And you cannot create/modify anything afterwards.
This is triggered by a NullPointerException, see the following stack trace from log file. The getAssignmentWeight(Assignment) function inside GradeCalculationOOImpl.java returns null value for this assignment, but the null value is not handled well in line 559 afterwards.
SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container java.lang.NullPointerException at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.populateGradeRecordUnits(GradeCalculationsOOImpl.java:559) at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.calculatePointsCategoryPercentSum(GradeCalculationsOOImpl.java:85) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.calculateItemCategoryPercent(Gradebook2ServiceImpl.java:2938) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getItemModel(Gradebook2ServiceImpl.java:3962) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookItemModel(Gradebook2ServiceImpl.java:3208) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createGradebookModel(Gradebook2ServiceImpl.java:3038) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createOrRetrieveGradebookModel(Gradebook2ServiceImpl.java:3503) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookModels(Gradebook2ServiceImpl.java:3891) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ComponentServiceImpl.getApplicationMap(Gradebook2ComponentServiceImpl.java:356) at org.sakaiproject.gradebook.gwt.sakai.rest.resource.Application.get(Application.java:13) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:775) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:740) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:731) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:372) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:452) at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:72) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:633) at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:174) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430) at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565) at org.sakaiproject.gradebook.gwt.server.RequestFilter.doFilter(RequestFilter.java:24) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.gradebook.gwt.server.SecurityFilter.doFilter(SecurityFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486) at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216) at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188) at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93) at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768) at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:637) 2010-02-19 11:39:06,791 ERROR http-8080-Processor21 org.sakaiproject.gradebook.gwt.server.RestFilter - java.lang.NullPointerException 2010-02-19 11:39:37,656 INFO http-8080-Processor19 org.sakaiproject.site.util.SiteSetupQuestionFileParser - exists(): cannot find resource /group/setupQuestionsAdmin/config/questions.xmlorg.sakaiproject.exception.IdUnusedException id=/group/setupQuestionsAdmin/config/questions.xml 2010-02-19 11:39:39,016 INFO http-8080-Processor19 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@541e4eed.setTemplateListForContext: cannot find site with id template 2010-02-19 11:39:45,532 WARN http-8080-Processor24 org.sakaiproject.citation.impl.BaseConfigurationService - exists() failed find resource: org.sakaiproject.exception.IdUnusedException id=/group/citationsAdmin/config/config.xml 2010-02-19 11:39:57,190 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa 2010-02-19 11:39:57,486 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa 2010-02-19 11:39:57,707 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa 2010-02-19 11:39:58,248 WARN http-8080-Processor24 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@541e4eed - no 'setup.request' in configuration, using: postmaster@localhost 2010-02-19 11:39:58,253 WARN http-8080-Processor24 org.sakaiproject.email.impl.BasicEmailService - send: javax.mail.internet.AddressException: Illegal address in string ``'' 2010-02-19 11:39:58,256 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa 2010-02-19 11:40:07,409 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/application/ 2010-02-19 11:40:07,411 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/application/ 2010-02-19 11:40:08,420 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/roster/014206ed-015c-45ec-8ce2-586ecf0ca6aa/2/ 2010-02-19 11:40:08,420 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/roster/014206ed-015c-45ec-8ce2-586ecf0ca6aa/2/?sortField=LAST_NAME_FIRST&sortDir=ASC&offset=0&limit=19 2010-02-19 11:40:08,421 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.sakai.rest.resource.Roster - GET! 2010-02-19 11:40:14,628 INFO http-8080-Processor20 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/gradebook/rest/application/ 2010-02-19 11:40:14,628 INFO http-8080-Processor20 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/http://localhost:8080/portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/gradebook/rest/application/ Feb 19, 2010 11:40:14 AM com.sun.jersey.server.impl.application.WebApplicationImpl mapMappableContainerException SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container java.lang.NullPointerException at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.populateGradeRecordUnits(GradeCalculationsOOImpl.java:559) at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.calculatePointsCategoryPercentSum(GradeCalculationsOOImpl.java:85) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.calculateItemCategoryPercent(Gradebook2ServiceImpl.java:2938) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getItemModel(Gradebook2ServiceImpl.java:3962) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookItemModel(Gradebook2ServiceImpl.java:3208) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createGradebookModel(Gradebook2ServiceImpl.java:3038) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createOrRetrieveGradebookModel(Gradebook2ServiceImpl.java:3503) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookModels(Gradebook2ServiceImpl.java:3891) at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ComponentServiceImpl.getApplicationMap(Gradebook2ComponentServiceImpl.java:356) at org.sakaiproject.gradebook.gwt.sakai.rest.resource.Application.get(Application.java:13) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:775) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:740) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:731) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:372) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:452) at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:72) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:633) at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:174) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430) at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565) at org.sakaiproject.gradebook.gwt.server.RequestFilter.doFilter(RequestFilter.java:24) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.gradebook.gwt.server.SecurityFilter.doFilter(SecurityFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486) at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216) at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188) at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93) at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768) at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:637)
Sounds like we just need to merge in to our own branch?
James Renfro February 19, 2010 at 9:28 AM
I believe this is a duplicate ticket to GRBK-459.
It's caused by an interaction between the "not counted" flag that Assignments sets, and the "assignment weight" field being NULL in the database, as you've shown in your stack trace.
The fix is to add a check for "&& null != assignmentWeight" to that if statement "if (!isUnweighted)".
This fix is in place for 1.2.0 (which is currently in QA testing and will be released to our production early April)
Please let me know how critical this is to your system (i.e. whether you can wait for the 1.2.0 tag to be ready).
To repeat:
1. add Assignments and Gradebook2 tools to a new site
2. In Gradebook2, set it up with Organize By with "weighted categories", then create couple of cateogories
3. In Assignment, create a new point-based assignment and select "Add to Gradebook"
4. The new assignment created correctly. However, nothing is shown in Gradebook2 now, not even the previously created categories. And you cannot create/modify anything afterwards.
This is triggered by a NullPointerException, see the following stack trace from log file. The getAssignmentWeight(Assignment) function inside GradeCalculationOOImpl.java returns null value for this assignment, but the null value is not handled well in line 559 afterwards.
SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.populateGradeRecordUnits(GradeCalculationsOOImpl.java:559)
at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.calculatePointsCategoryPercentSum(GradeCalculationsOOImpl.java:85)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.calculateItemCategoryPercent(Gradebook2ServiceImpl.java:2938)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getItemModel(Gradebook2ServiceImpl.java:3962)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookItemModel(Gradebook2ServiceImpl.java:3208)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createGradebookModel(Gradebook2ServiceImpl.java:3038)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createOrRetrieveGradebookModel(Gradebook2ServiceImpl.java:3503)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookModels(Gradebook2ServiceImpl.java:3891)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ComponentServiceImpl.getApplicationMap(Gradebook2ComponentServiceImpl.java:356)
at org.sakaiproject.gradebook.gwt.sakai.rest.resource.Application.get(Application.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:775)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:740)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:731)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:372)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:452)
at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:72)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:633)
at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:174)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
at org.sakaiproject.gradebook.gwt.server.RequestFilter.doFilter(RequestFilter.java:24)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.gradebook.gwt.server.SecurityFilter.doFilter(SecurityFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:637)
2010-02-19 11:39:06,791 ERROR http-8080-Processor21 org.sakaiproject.gradebook.gwt.server.RestFilter - java.lang.NullPointerException
2010-02-19 11:39:37,656 INFO http-8080-Processor19 org.sakaiproject.site.util.SiteSetupQuestionFileParser - exists(): cannot find resource /group/setupQuestionsAdmin/config/questions.xmlorg.sakaiproject.exception.IdUnusedException id=/group/setupQuestionsAdmin/config/questions.xml
2010-02-19 11:39:39,016 INFO http-8080-Processor19 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@541e4eed.setTemplateListForContext: cannot find site with id template
2010-02-19 11:39:45,532 WARN http-8080-Processor24 org.sakaiproject.citation.impl.BaseConfigurationService - exists() failed find resource: org.sakaiproject.exception.IdUnusedException id=/group/citationsAdmin/config/config.xml
2010-02-19 11:39:57,190 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa
2010-02-19 11:39:57,486 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa
2010-02-19 11:39:57,707 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa
2010-02-19 11:39:58,248 WARN http-8080-Processor24 org.sakaiproject.site.tool.SiteAction - org.sakaiproject.site.tool.SiteAction@541e4eed - no 'setup.request' in configuration, using: postmaster@localhost
2010-02-19 11:39:58,253 WARN http-8080-Processor24 org.sakaiproject.email.impl.BasicEmailService - send: javax.mail.internet.AddressException: Illegal address in string ``''
2010-02-19 11:39:58,256 INFO http-8080-Processor24 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 014206ed-015c-45ec-8ce2-586ecf0ca6aa
2010-02-19 11:40:07,409 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/application/
2010-02-19 11:40:07,411 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/ http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/application/
2010-02-19 11:40:08,420 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/roster/014206ed-015c-45ec-8ce2-586ecf0ca6aa/2/
2010-02-19 11:40:08,420 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/ http://localhost:8080/portal/tool/e262e656-b6b4-4c9b-bc4b-fbaba45a16a1/gradebook/rest/roster/014206ed-015c-45ec-8ce2-586ecf0ca6aa/2/?sortField=LAST_NAME_FIRST&sortDir=ASC&offset=0&limit=19
2010-02-19 11:40:08,421 INFO http-8080-Processor22 org.sakaiproject.gradebook.gwt.sakai.rest.resource.Roster - GET!
2010-02-19 11:40:14,628 INFO http-8080-Processor20 org.sakaiproject.gradebook.gwt.server.RestFilter - service() /portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/gradebook/rest/application/
2010-02-19 11:40:14,628 INFO http-8080-Processor20 org.sakaiproject.gradebook.gwt.server.RestFilter - doService() http://localhost:8080/portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/ http://localhost:8080/portal/tool/5ef61b9a-6546-44d1-b4bf-bdd2e52f7564/gradebook/rest/application/
Feb 19, 2010 11:40:14 AM com.sun.jersey.server.impl.application.WebApplicationImpl mapMappableContainerException
SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.populateGradeRecordUnits(GradeCalculationsOOImpl.java:559)
at org.sakaiproject.gradebook.gwt.sakai.calculations.GradeCalculationsOOImpl.calculatePointsCategoryPercentSum(GradeCalculationsOOImpl.java:85)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.calculateItemCategoryPercent(Gradebook2ServiceImpl.java:2938)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getItemModel(Gradebook2ServiceImpl.java:3962)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookItemModel(Gradebook2ServiceImpl.java:3208)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createGradebookModel(Gradebook2ServiceImpl.java:3038)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.createOrRetrieveGradebookModel(Gradebook2ServiceImpl.java:3503)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ServiceImpl.getGradebookModels(Gradebook2ServiceImpl.java:3891)
at org.sakaiproject.gradebook.gwt.sakai.Gradebook2ComponentServiceImpl.getApplicationMap(Gradebook2ComponentServiceImpl.java:356)
at org.sakaiproject.gradebook.gwt.sakai.rest.resource.Application.get(Application.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:775)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:740)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:731)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:372)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:452)
at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:72)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:633)
at org.sakaiproject.gradebook.gwt.server.RestFilter.service(RestFilter.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:174)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
at org.sakaiproject.gradebook.gwt.server.RequestFilter.doFilter(RequestFilter.java:24)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.gradebook.gwt.server.SecurityFilter.doFilter(SecurityFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:637)