[Building Sakai] Assignments2 on 2.9.1 exception for deleted gradebook item

Kusnetz, Jeremy JKusnetz at APUS.EDU
Tue Mar 26 12:35:53 PDT 2013


I have the exact same Assignment2 source in our Sakai 2.8 (rSmart CLE) and Sakai 2.9.1 (community CLE).

When deleting the underlying gradebook item for an existing assignment and then editing that assignment.  In 2.8 it gives a nice user friendly error and allows you to edit the assignment and add a new gradebook item back.

In 2.9 we get the exception below.  I'm guessing it's due to changes in either the underlying gradebook or edu-services.  To be honest, looking at the code I'm not sure how it's working in 2.8 without throwing an exception, but clearly I'm missing something.

Is anyone else using Assignments2 on Sakai 2.9.1?

2013-03-26 11:35:18,487  WARN ajp-bio-45009-exec-15 PonderUtilCore - Exception rendering view:
org.sakaiproject.assignment2.exception.GradebookItemNotFoundException: No gradebook item exists with gradebookItemId 323477 in context 159928
                at org.sakaiproject.assignment2.logic.impl.ExternalGradebookLogicImpl.getGradebookItemById(ExternalGradebookLogicImpl.java:461)
                at org.sakaiproject.assignment2.tool.producers.AssignmentProducer.fillComponents(AssignmentProducer.java:506)
                at uk.org.ponder.rsf.view.support.ViewCollector.fillComponents(ViewCollector.java:56)
                at org.sakaiproject.assignment2.tool.producers.LayoutProducer.fillComponents(LayoutProducer.java:110)
                at sun.reflect.GeneratedMethodAccessor1332.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
                at $Proxy203.fillComponents(Unknown Source)
                at uk.org.ponder.rsf.view.support.ViewGenerator.generateView(ViewGenerator.java:53)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$1.run(RSFRenderHandler.java:79)
                at uk.org.ponder.rsf.processor.support.RequestInvoker$1.run(RequestInvoker.java:46)
                at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:25)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.invokeRunnable(BasicScopedAlterationWrapper.java:59)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$715b903c.invokeRunnable(<generated>)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$715b903c.invokeRunnable(<generated>)
                at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:29)
                at uk.org.ponder.util.CollectingRunnableInvoker.invokeWrappers(CollectingRunnableInvoker.java:22)
                at uk.org.ponder.util.CollectingRunnableInvoker.invokeRunnable(CollectingRunnableInvoker.java:14)
                at uk.org.ponder.rsf.processor.support.RequestInvoker.invokeRunnable(RequestInvoker.java:39)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler.handle(RSFRenderHandler.java:75)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$FastClassByCGLIB$$5bda3a3d.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$EnhancerByCGLIB$$5de8c3b7.handle(<generated>)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer.handle(RenderHandlerBracketer.java:82)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$FastClassByCGLIB$$3055fa0f.invoke(<generated>)
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
                at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$EnhancerByCGLIB$$2b7e4b09.handle(<generated>)
                at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handleGet(RootHandlerBeanBase.java:97)
                at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandlerBeanBase.java:79)
                at sun.reflect.GeneratedMethodAccessor1203.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:23)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:17)
                at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:77)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:553)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.access$000(RSACBeanLocatorImpl.java:75)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl$1.run(RSACBeanLocatorImpl.java:449)
                at uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:38)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:447)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getLocalBean(RSACBeanLocatorImpl.java:348)
                at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getBean(RSACBeanLocatorImpl.java:379)
                at uk.org.ponder.rsac.support.PerRequestInfo$1.locateBean(PerRequestInfo.java:49)
                at uk.ac.cam.caret.sakai.rsf.servlet.ReasonableSakaiServlet.service(ReasonableSakaiServlet.java:65)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
                at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
                at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
                at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
                at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
                at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1504)
                at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
                at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
                at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:885)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
Caused by: org.sakaiproject.service.gradebook.shared.AssessmentNotFoundException: No gradebook item exists with gradable object id = 323477
                at org.sakaiproject.component.gradebook.GradebookServiceHibernateImpl.getAssignment(GradebookServiceHibernateImpl.java:221)
                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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
                at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
                at $Proxy40.getAssignment(Unknown Source)
                at org.sakaiproject.assignment2.logic.impl.ExternalGradebookLogicImpl.getGradebookItemById(ExternalGradebookLogicImpl.java:458)
                ... 85 more
2013-03-26 11:35:18,489  WARN ajp-bio-45009-exec-15 PonderUtilCore - Got target exception of class org.sakaiproject.assignment2.exception.GradebookItemNotFoundException
2013-03-26 11:35:18,489  WARN ajp-bio-45009-exec-15 PonderUtilCore - Error creating view tree - token q_OcB8eWHqjwoj1Y(TZPnH3e
This message is private and confidential. If you have received it in error, please notify the sender and remove it from your system.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20130326/1a47f686/attachment.html 


More information about the sakai-dev mailing list