[Building Sakai] SCORM PLAYER INTEGRATION WITH SAKAI 2.6

Nicolaas Matthijs nicolaas.matthijs at caret.cam.ac.uk
Mon Aug 17 14:00:09 PDT 2009


Another step forward. I can now see the icodeon pack in my tomcat/components
folder and some database tables have been created.

However, when I try to open my SCORM package now, I get this stack trace
(I've also attached a screenshot of the error I get in the browser):

ERROR: IllegalArgumentException in class: com.icodeon.rte.model.Id, getter
method of property: id (2009-08-17 21:55:57,138
http-8080-Processor23_org.hibernate.property.BasicPropertyAccessor)
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling
getter of com.icodeon.rte.model.Id.id
	at
org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
	at
org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
	at
org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
	at
org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
	at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
	at
org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
	at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
	at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
	at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
	at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
	at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
	at com.icodeon.rte.dao.CourseDAO.insertObject(CourseDAO.java:69)
	at
com.icodeon.services.ss.dao.hibernate.ImportUtils.cacheManifestRecords(ImportUtils.java:103)
	at
com.icodeon.services.ss.dao.hibernate.ManifestDAOImpl.storeObject(ManifestDAOImpl.java:339)
	at
com.icodeon.rte.business.ResolverPluginFacade.dowloadAndStoreImsManifest(ResolverPluginFacade.java:177)
	at com.icodeon.rte.actions.MainAction.executeAction(MainAction.java:194)
	at com.icodeon.rte.actions.MainAction.execute(MainAction.java:72)
	at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	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
com.icodeon.rte.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
	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:174)
	at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	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:874)
	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:613)
Caused by: java.lang.IllegalArgumentException:
java.lang.ClassCastException at 375719
	at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
	... 43 more
ERROR: IllegalArgumentException in class: com.icodeon.rte.model.Id, getter
method of property: id (2009-08-17 21:55:57,140
http-8080-Processor23_org.hibernate.property.BasicPropertyAccessor)
2009-08-17 21:55:57,142 [http-8080-Processor23] ERROR
com.icodeon.rte.actions.MainAction - IllegalArgumentException occurred calling
getter of com.icodeon.rte.model.Id.id
 org.hibernate.PropertyAccessException: IllegalArgumentException occurred
calling getter of com.icodeon.rte.model.Id.id
	at
org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
	at
org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
	at
org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
	at
org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
	at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
	at
org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:218)
	at org.hibernate.type.EntityType.getIdentifier(EntityType.java:397)
	at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:87)
	at
org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:38)
	at
org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:491)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1563)
	at org.hibernate.loader.Loader.doQuery(Loader.java:673)
	at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
	at org.hibernate.loader.Loader.doList(Loader.java:2220)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
	at org.hibernate.loader.Loader.list(Loader.java:2099)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	at com.icodeon.rte.dao.ManifestDAO.findByCourse(ManifestDAO.java:115)
	at
com.icodeon.services.ss.dao.hibernate.ImportUtils.cacheManifestRecords(ImportUtils.java:117)
	at
com.icodeon.services.ss.dao.hibernate.ManifestDAOImpl.storeObject(ManifestDAOImpl.java:339)
	at
com.icodeon.rte.business.ResolverPluginFacade.dowloadAndStoreImsManifest(ResolverPluginFacade.java:177)
	at com.icodeon.rte.actions.MainAction.executeAction(MainAction.java:194)
	at com.icodeon.rte.actions.MainAction.execute(MainAction.java:72)
	at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	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
com.icodeon.rte.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
	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:174)
	at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	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:874)
	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:613)
Caused by: java.lang.IllegalArgumentException:
java.lang.ClassCastException at 201055
	at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
	... 53 more



Any immediate thoughts?

Nicolaas

> Quoting John Bush <john.bush at rsmart.com>:
>
> I think you need to run sakai:deploy inside the player2 folder so the
> icodeon component gets deployed correctly:
>
> mvn install sakai:deploy -Dmaven.test.skip=true
>
> John Bush
> Development Manager
> rSmart
>
>
>
>
> On Aug 17, 2009, at 12:52 PM, Nicolaas Matthijs wrote:
>
> > Thanks again, that moved us forward.
> >
> > The option now shows up in the resources tool and allows me to upload
> > a SCORM package. However, after having uploaded one and clicking on
> > it,
> > I get a blank screen at the following URL:
> >
> >
>
http://localhost:8080/player2/skins/main.do?learnerID=admin&courseID=b69c8a50-47a4-40c8-bd50-f7216dafecc0&sessionID=c7ff7688-61dc-4826-84ab-7257b3c45cce&domainID=sakai
> >
> > This is what we see in the logs. Is there something obvious we're
> > missing?
> > (I also can't see any tables being created for this SCORM player, is
> > this
> > normal?)
> >
> > 2009-08-17 20:38:54,498 [http-8080-Processor23] ERROR
> > com.icodeon.rte.actions.MainAction - Named query not known:
> > findCourseByCourseId
> > org.hibernate.MappingException: Named query not known:
> > findCourseByCourseId
> > 	at
> > org
> > .hibernate
> > .impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:70)
> > 	at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:
> > 1260)
> > 	at com.icodeon.rte.dao.CourseDAO.findByName(CourseDAO.java:143)
> > 	at
> > com
> > .icodeon
> > .services
> > .ss
> > .dao
> > .hibernate
> > .ManifestDAOImpl.findLastModifiedByName(ManifestDAOImpl.java:193)
> > 	at
> > com
> > .icodeon
> > .rte
> > .business
> > .ResolverPluginFacade
> > .dowloadAndStoreImsManifest(ResolverPluginFacade.java:123)
> > 	at com.icodeon.rte.actions.MainAction.executeAction(MainAction.java:
> > 194)
> > 	at com.icodeon.rte.actions.MainAction.execute(MainAction.java:72)
> > 	at
> > org
> > .apache
> > .struts
> > .action.RequestProcessor.processActionPerform(RequestProcessor.java:
> > 431)
> > 	at
> > org
> > .apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> > 236)
> > 	at
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:
> > 1196)
> > 	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
> > 414)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	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
> > com
> > .icodeon
> > .rte
> > .filters
> > .SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
> > 124)
> > 	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:
> > 174)
> > 	at
> > org
> > .apache
> > .catalina
> > .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> > 	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:
> > 874)
> > 	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:613)
> > 2009-08-17 20:38:54,506 [http-8080-Processor23] ERROR
> > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/
> > player2].[jsp]
> > - Servlet.service() for servlet jsp threw exception
> > javax.servlet.jsp.el.ELException: Unable to find a value for
> > "message" in
> > object of class "org.hibernate.MappingException" using operator "."
> > 	at org.apache.commons.el.Logger.logError(Logger.java:481)
> > 	at org.apache.commons.el.Logger.logError(Logger.java:498)
> > 	at org.apache.commons.el.Logger.logError(Logger.java:611)
> > 	at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340)
> > 	at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
> > 	at
> > org
> > .apache
> > .commons
> > .el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
> > 	at
> > org
> > .apache
> > .commons
> > .el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
> > 	at
> > org
> > .apache
> > .jasper
> > .runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:924)
> > 	at
> > org
> > .apache
> > .jsp.skins.LMSError_jsp._jspx_meth_c_005fout_005f1(LMSError_jsp.java:
> > 1029)
> > 	at
> > org
> > .apache
> > .jsp.skins.LMSError_jsp._jspx_meth_c_005fif_005f0(LMSError_jsp.java:
> > 1004)
> > 	at
> > org
> > .apache
> > .jsp
> > .skins.LMSError_jsp._jspx_meth_html_005fhtml_005f0(LMSError_jsp.java:
> > 230)
> > 	at org.apache.jsp.skins.LMSError_jsp._jspService(LMSError_jsp.java:
> > 127)
> > 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	at
> > org
> > .apache
> > .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
> > 	at
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
> > 329)
> > 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	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:
> > 561)
> > 	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:399)
> > 	at
> > org
> > .apache
> > .catalina
> > .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> > 	at
> > org
> > .apache
> > .struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> > 	at
> > org
> > .apache
> > .struts
> > .action.RequestProcessor.processForwardConfig(RequestProcessor.java:
> > 398)
> > 	at
> > org
> > .apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> > 241)
> > 	at
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:
> > 1196)
> > 	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
> > 414)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	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
> > com
> > .icodeon
> > .rte
> > .filters
> > .SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
> > 124)
> > 	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:
> > 174)
> > 	at
> > org
> > .apache
> > .catalina
> > .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> > 	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:
> > 874)
> > 	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:613)
> > WARN:  (2009-08-17 20:38:54,508
> > http-8080-Processor23_org.sakaiproject.util.RequestFilter)
> > org.apache.jasper.JasperException: Unable to find a value for
> > "message" in
> > object of class "org.hibernate.MappingException" using operator "."
> > 	at
> > org
> > .apache
> > .jasper
> > .servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:
> > 460)
> > 	at
> > org
> > .apache
> > .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
> > 	at
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
> > 329)
> > 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	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:
> > 561)
> > 	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:399)
> > 	at
> > org
> > .apache
> > .catalina
> > .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> > 	at
> > org
> > .apache
> > .struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> > 	at
> > org
> > .apache
> > .struts
> > .action.RequestProcessor.processForwardConfig(RequestProcessor.java:
> > 398)
> > 	at
> > org
> > .apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> > 241)
> > 	at
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:
> > 1196)
> > 	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
> > 414)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > 	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
> > com
> > .icodeon
> > .rte
> > .filters
> > .SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
> > 124)
> > 	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:
> > 174)
> > 	at
> > org
> > .apache
> > .catalina
> > .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> > 	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:
> > 874)
> > 	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:613)
> >
> >
> >
> > Thanks in advance,
> > Nicolaas
> >
> >> Quoting John Bush <john.bush at rsmart.com>:
> >>
> >> try adding this to your sakai.properties, let that off the
> >> instructions, oops
> >>
> >> enable.scorm=true
> >>
> >> John Bush
> >> Development Manager
> >> rSmart
> >>
> >>
> >>
> >>
> >> On Aug 17, 2009, at 10:46 AM, Nicolaas Matthijs wrote:
> >>
> >>> Thanks for your help, John!
> >>>
> >>> There was indeed a hibernate JAR file in there. We've removed it and
> >>> redeployed the WAR, and the
> >>> error message no longer passes by.
> >>>
> >>> However, when I'm now trying to go to the Resources tool (in a
> >>> project site), I can't find the "Upload Content Package"-link.
> >>> But I do think we have built the correct things.
> >>>
> >>> We have downloaded and built this:
> >> https://source.sakaiproject.org/contrib/rsmart/icodeon
> >>> icodeon
> >>>
> >>> When we redeploy, we see this in the logs:
> >>>
> >>> INFO: Undeploying context [/rsmart-scorm-helper] (2009-08-17
> >>> 18:32:18,718
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.startup.HostConfig)
> >>> INFO: Destroying Spring FrameworkServlet 'springmvc' (2009-08-17
> >>> 18:32:18,719
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase.
> >>> [Catalina].[localhost].[/rsmart-scorm-helper])
> >>> INFO: Closing Spring root WebApplicationContext (2009-08-17
> >>> 18:32:18,725
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase.
> >>> [Catalina].[localhost].[/rsmart-scorm-helper])
> >>> INFO: Destroying Components in rsmart-scorm-helper (2009-08-17
> >>> 18:32:18,725
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine
> >>> [Catalina]]_org.sakaiproject.util.ContextLoaderListener)
> >>> INFO: Deploying web application archive rsmart-scorm-helper.war
> >>> (2009-08-17 18:32:18,792
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.startup.HostConfig)
> >>> INFO: Initializing Spring root WebApplicationContext (2009-08-17
> >>> 18:32:19,432
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase.
> >>> [Catalina].[localhost].[/rsmart-scorm-helper])
> >>> INFO: registering tools from resource: /tools/
> >>> rsmart.scorm.helper.xml (2009-08-17 18:32:19,440
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.sakaiproject.util.ToolListener)
> >>> INFO: Initializing Spring FrameworkServlet 'springmvc' (2009-08-17
> >>> 18:32:19,442
> >>> ContainerBackgroundProcessor
> >>> [StandardEngine[Catalina]]_org.apache.catalina.core.ContainerBase.
> >>> [Catalina].[localhost].[/rsmart-scorm-helper])
> >>>
> >>>
> >>>
> >>> Any idea why it's not showing up in the Resources tool?
> >>>
> >>>
> >>> Thanks!
> >>>
> >>> Nicolaas
> >>>
> >>>
> >>>> John Bush wrote:
> >>>> do you have any hibernate jars in the icodeon player2/WEB-INF/lib?
> >>>> If  so you'll want to delete them since sakai loads hibernate from
> >>>> the  shared area.
> >>>>
> >>>> John Bush
> >>>> Development Manager
> >>>> rSmart
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Aug 17, 2009, at 7:28 AM, Raad Al-Rawi wrote:
> >>>>
> >>>>
> >>>>> OK, so here is a summary of how far I have got. I still can't get
> >>>>> the integration to work because of a hibernate problem - it's
> >>>>> possible there is some missing dependency; but I can't identify
> >>>>> what  that might be. Any help appreciated!
> >>>>>
> >>>>>
> >>>>> 1) downloaded Icodeon player2 files (includes pre-built war +
> >>>>> build  files) from Icodeon
> >>>>>
> >>>>> 2) downloaded rsmart-common + icodeon + icodeon-overlay from
> >>>>> rsmart
> >>>>>
> >>>>> 3) put rsmart-common + icodeon + player2 in my Sakai 2.5 source
> >>>>> tree  for building with maven2
> >>>>>
> >>>>> 4) fixed up dependencies in rsmart-common (or use 2.5.x branch of
> >>>>> rsmart-common)
> >>>>>
> >>>>> 5) ensured osp module was included in main Sakai pom.xml (because
> >>>>> of  dependencies - is OSP really needed?)
> >>>>>
> >>>>> 6) fixed main pom.xml, added the extra modules (rsmart-common +
> >>>>> icodeon) and ran maven build for Sakai
> >>>>>
> >>>>> 7) copied config, maven, and webapps directories from icodeon-
> >>>>> overlay to player2 directory (overlaying the files in those dirs)
> >>>>>
> >>>>> 8) added the icodeon-player-2.jar (from player2/webapps/player2/
> >>>>> WEB- INF/lib/) to our CARET m2 repo (the build does not find this
> >>>>> jar by  default)
> >>>>>
> >>>>> 9) in player2 maven dir, do a "mvn install -
> >>>>> Dmaven.test.skip=true" (skip the tests otherwise the build fails
> >>>>> with a set of compile failures)
> >>>>>
> >>>>> 10) 3 jar files are produced under the player2 maven dir:
> >>>>> ./vendor-player-plugins/m2-target/vendor-player-plugins-2.jar
> >>>>> ./icodeon-player-plugins/m2-target/icodeon-player-plugins-2.jar
> >>>>> ./component/model/m2-target/icodeon-player-api-2.jar
> >>>>>
> >>>>> These were copied to webapps/player2/WEB-INF/lib/ in the expanded
> >>>>> player2.war tree and the tree was jar-ed up into a new war.
> >>>>>
> >>>>> Starting sakai with the new player2.war in place produced the
> >>>>> following in the log:
> >>>>>
> >>>>> INFO: Deploying web application archive player2.war (2009-08-17
> >>>>> 14:40:30,930 main_org.apache.catalina.startup.HostConfig)
> >>>>>
> >>>>> *** Icodeon Player 2: Initializing... ***
> >>>>>
> >>>>> Icodeon SCORM Player 2 (Java Edition)
> >>>>> Version 2.0.5
> >>>>> $LastChangedDate: 2009-07-26 16:33:50 +0100 (Sun, 26 Jul 2009) $
> >>>>> $LastChangedRevision: 975 $
> >>>>>
> >>>>> *** Icodeon Player 2: Initialized ***
> >>>>>
> >>>>> 2009-08-17 14:40:31,257 [main] ERROR
> >>>>> com.icodeon.rte.dao.HibernateUtil - Hibernate configuration
> >>>>> initialization error
> >>>>> java.lang.ClassCastException: $Proxy2
> >>>>> at
> >>>>> com
> >>>>> .icodeon
> >>>>> .rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:
> >>>>> 122)
> >>>>> at
> >>>>> com
> >>>>> .icodeon
> >>>>> .rte
> >>>>> .listeners
> >>>>> .HibernateInitListener
> >>>>> .contextInitialized(HibernateInitListener.java: 76)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina
> >>>>> .core.StandardContext.listenerStart(StandardContext.java: 3764)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.StandardContext.start(StandardContext.java:
> >>>>> 4216)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
> >>>>> 760)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
> >>>>> 740)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
> >>>>> 544)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
> >>>>> 831)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
> >>>>> 720)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
> >>>>> 490)
> >>>>> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:
> >>>>> 1149)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina
> >>>>> .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
> >>>>> 120)
> >>>>> at
> >>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
> >>>>> 1022)
> >>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:
> >>>>> 736)
> >>>>> at
> >>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
> >>>>> 1014)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
> >>>>> 443)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.StandardService.start(StandardService.java:
> >>>>> 448)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:
> >>>>> 700)
> >>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> >>>>> 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:585)
> >>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> >>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> >>>>> 2009-08-17 14:40:31,259 [main] ERROR
> >>>>> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/
> >>>>> player2] - Exception sending context initialized event to
> >>>>> listener  instance of class
> >>>>> com.icodeon.rte.listeners.HibernateInitListener
> >>>>> java.lang.ExceptionInInitializerError
> >>>>> at
> >>>>> com
> >>>>> .icodeon
> >>>>> .rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:
> >>>>> 137)
> >>>>> at
> >>>>> com
> >>>>> .icodeon
> >>>>> .rte
> >>>>> .listeners
> >>>>> .HibernateInitListener
> >>>>> .contextInitialized(HibernateInitListener.java: 76)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina
> >>>>> .core.StandardContext.listenerStart(StandardContext.java: 3764)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.StandardContext.start(StandardContext.java:
> >>>>> 4216)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
> >>>>> 760)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
> >>>>> 740)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
> >>>>> 544)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
> >>>>> 831)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
> >>>>> 720)
> >>>>> at
> >>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
> >>>>> 490)
> >>>>> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:
> >>>>> 1149)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 311)
> >>>>> at
> >>>>> org
> >>>>> .apache
> >>>>> .catalina
> >>>>> .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
> >>>>> 120)
> >>>>> at
> >>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
> >>>>> 1022)
> >>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:
> >>>>> 736)
> >>>>> at
> >>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
> >>>>> 1014)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
> >>>>> 443)
> >>>>> at
> >>>>> org
> >>>>> .apache.catalina.core.StandardService.start(StandardService.java:
> >>>>> 448)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:
> >>>>> 700)
> >>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> >>>>> 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:585)
> >>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
> >>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> >>>>> Caused by: java.lang.ClassCastException: $Proxy2
> >>>>> at
> >>>>> com
> >>>>> .icodeon
> >>>>> .rte.dao.HibernateUtil.buildSessionFactories(HibernateUtil.java:
> >>>>> 122)
> >>>>> ... 25 more
> >>>>> ERROR: Error listenerStart (2009-08-17 14:40:31,260
> >>>>> main_org.apache.catalina.core.StandardContext)
> >>>>> ERROR: Context [/player2] startup failed due to previous errors
> >>>>> (2009-08-17 14:40:31,260
> >>>>> main_org.apache.catalina.core.StandardContext)
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 12-Aug-09 11:20, Raad Al-Rawi wrote:
> >>>>>
> >>>>>> Thanks Nuno - that is what I thought too :(
> >>>>>> Maybe it's a 2.5 vs 2.6 issue.
> >>>>>> I'll keep the list posted on a solution - it might help someone
> >>>>>> trying
> >>>>>> to do the same thing.
> >>>>>>
> >>>>>> Cheers
> >>>>>>
> >>>>>>
> >>>>>> R
> >>>>>>
> >>>>>>
> >>>>
> >>>> _______________________________________________
> >>>> sakai-dev mailing list
> >>>> sakai-dev at collab.sakaiproject.org
> >>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> >>>>
> >>>> TO UNSUBSCRIBE: send email to
> >> sakai-dev-unsubscribe at collab.sakaiproject.org
> >>>> with a subject of "unsubscribe"
> >>>>
> >>>
> >>
> >>
> >
> >
> >
> >
> > ----------------------------------------------------------------
> > This message was sent using IMP, the Internet Messaging Program.
> >
>
>




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Picture 6.png
Type: image/png
Size: 192069 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090817/2ac439b3/attachment.png 


More information about the sakai-dev mailing list