[Building Sakai] Sakai 2.8.1 + gradebook add-to-site exceptions

Walters, Cynthia (cmw6s) cmw6s at eservices.virginia.edu
Tue Feb 21 13:45:33 PST 2012


Hello:

I'm setting up and building Sakai 2.8.1 on a new system.  I seeing exceptions in catalina.out related to Gradebook, when creating a course site that includes it (or adding Gradebook to a course site).  We're using MySQL 5.1 and Tomcat 5.5.35, and we build from source.  I'm looking for guidance to fix this, if anyone has thoughts on it.

Exceptions appear to be related to INFO "org.sakaiproject.component.gradebook.BaseHibernateManager - Default letter grade mapping hasn't been created in DB in BaseHibernateManager.getDefaultLetterGradePercentMapping".

How is the default letter grade mapping set up?  Is this something we should expect to see done via "auto.ddl=true" during first tomcat startup?  Or does some later activity trigger it?

>From catalina.out, when I create a new course site with Gradebook included:

2012-02-21 13:36:11,079  INFO TP-Processor47 org.sakaiproject.component.section.sakai.SectionManagerImpl - Synchronizing internal sections with externally defined sections in site 65a34a72-3e1c-4d66-b6d3-2e76c0bbbc52
2012-02-21 13:36:11,384  INFO TP-Processor47 org.sakaiproject.component.gradebook.BaseHibernateManager - Default letter grade mapping hasn't been created in DB in BaseHibernateManager.getDefaultLetterGradePercentMapping
2012-02-21 13:36:11,386 ERROR TP-Processor47 org.hibernate.property.BasicPropertyAccessor - IllegalArgumentException in class: org.sakaiproject.tool.gradebook.LetterGradePercentMapping, getter method of property: gradeMap
2012-02-21 13:36:11,389  WARN TP-Processor47 org.sakaiproject.site.impl.BaseSiteService - Error encountered while notifying ContextObserver of Site Change
org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred calling getter of org.sakaiproject.tool.gradebook.LetterGradePercentMapping.gradeMap; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of org.sakaiproject.tool.gradebook.LetterGradePercentMapping.gradeMap
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
    at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
    at org.sakaiproject.component.gradebook.GradebookFrameworkServiceImpl.createDefaultLetterGradeMapping(GradebookFrameworkServiceImpl.java:325)
    at org.sakaiproject.component.gradebook.GradebookFrameworkServiceImpl.addGradebook(GradebookFrameworkServiceImpl.java:67)
    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 $Proxy37.addGradebook(Unknown Source)
    at org.sakaiproject.tool.gradebook.facades.sakai2impl.GradebookEntityProducer.contextUpdated(GradebookEntityProducer.java:78)
    at org.sakaiproject.site.impl.BaseSiteService.enableRelated(BaseSiteService.java:1994)
    at org.sakaiproject.site.impl.BaseSiteService.doSave(BaseSiteService.java:924)
    at org.sakaiproject.site.impl.BaseSiteService.save(BaseSiteService.java:823)
    at org.sakaiproject.site.cover.SiteService.save(SiteService.java:167)
    at org.sakaiproject.site.tool.SiteAction.commitSite(SiteAction.java:9373)
    at org.sakaiproject.site.tool.SiteAction.saveFeatures(SiteAction.java:9030)
    at org.sakaiproject.site.tool.SiteAction.doFinish(SiteAction.java:4941)
    at org.sakaiproject.site.tool.SiteAction.doAdd_site_option(SiteAction.java:10716)
    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.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch(VelocityPortletPaneledAction.java:679)
    at org.sakaiproject.cheftool.VelocityPortletPaneledAction.processAction(VelocityPortletPaneledAction.java:555)
    at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:230)
    at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1086)
    at org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:154)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
    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:598)
    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:659)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
    at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
    at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1429)
    at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
    at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
    at org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:73)
    at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1224)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    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:659)
    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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of org.sakaiproject.tool.gradebook.LetterGradePercentMapping.gradeMap
    at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValue(AbstractEntityTuplizer.java:270)
    at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:3572)
    at org.hibernate.engine.Cascade.cascade(Cascade.java:131)
    at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:431)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:265)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
    at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
    at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
    at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:536)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:524)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:520)
    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.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1293)
    at $Proxy1.save(Unknown Source)
    at org.sakaiproject.component.gradebook.GradebookFrameworkServiceImpl$3.doInHibernate(GradebookFrameworkServiceImpl.java:309)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
    ... 70 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
    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.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
    ... 93 more

Thanks,
Cindy @ UVa


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120221/ac4a15b1/attachment.html 


More information about the sakai-dev mailing list