[Building Sakai] SCORM PLAYER INTEGRATION WITH SAKAI 2.6

John Bush john.bush at rsmart.com
Mon Aug 17 09:34:00 PDT 2009


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
>>



More information about the sakai-dev mailing list