[Building Sakai] Create Turnitin Class & Assignment Process Flow in SAKAI

David Horwitz david.horwitz at uct.ac.za
Mon Jan 9 00:52:16 PST 2012


It looks like you have updated to build against 2.9/Trunk? There has 
been a change to the kernel usage of the FormattedText class. You need 
to build against the 2.8 kernel so you pull in the 2.8 util class

D

On 01/09/2012 10:09 AM, Paul Mungai wrote:
> Another hiccup. When I try to add a new assignment2, the turnitin 
> options are not there. The assignment does not get saved, I get this 
> error:
>
>
> INFO: EntityEncodingManager: No entities to format (json) and output 
> for ref (/assignment2)
> 2012-01-09 10:02:50,116 WARN (RSFActionHandler.java:235) - <Error 
> invoking action>
> Target exception of class java.lang.NoClassDefFoundError
> Successive lines until stack trace show causes progressing to 
> exception site:
> org/sakaiproject/util/api/FormattedText
> java.lang.NoClassDefFoundError: org/sakaiproject/util/api/FormattedText
>     at 
> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.cleanUpAssignment(AssignmentAuthoringBean.java:391)
>     at 
> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.internalProcessPost(AssignmentAuthoringBean.java:171)
>     at 
> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.processActionPost(AssignmentAuthoringBean.java:127)
>     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 
> 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.reflect.ReflectiveCache.invokeMethod(ReflectiveCache.java:141)
>     at 
> uk.org.ponder.mapping.support.DARApplier.invokeBeanMethod(DARApplier.java:179)
>     at 
> uk.org.ponder.rsf.state.support.RSVCApplier.invokeAction(RSVCApplier.java:218)
>     at 
> uk.org.ponder.rsf.processor.support.RSFActionHandler$1.run(RSFActionHandler.java:189)
>     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:191)
>     at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>     at 
> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$100f0a2f.invokeRunnable(<generated>)
>     at 
> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
>     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
>     at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>     at 
> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$100f0a2f.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.RSFActionHandler.handle(RSFActionHandler.java:165)
>     at 
> uk.org.ponder.rsf.processor.support.RSFActionHandler$$FastClassByCGLIB$$e3b6899d.invoke(<generated>)
>     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
>     at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>     at 
> uk.org.ponder.rsf.processor.support.RSFActionHandler$$EnhancerByCGLIB$$a3edfaa8.handle(<generated>)
>     at 
> uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handlePost(RootHandlerBeanBase.java:125)
>     at 
> uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandlerBeanBase.java:82)
>     at sun.reflect.GeneratedMethodAccessor522.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:729)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>     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.coyote.http11.Http11Processor.process(Http11Processor.java:879)
>     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:662)
> Caused by: java.lang.ClassNotFoundException: 
> org.sakaiproject.util.api.FormattedText
>     at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
>     at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
>
>
>
>
> On Mon, Jan 9, 2012 at 9:40 AM, Paul Mungai <paulwando at gmail.com 
> <mailto:paulwando at gmail.com>> wrote:
>
>     Just checked the logs.
>
>     That error appears if one has not added gradebook as a tool to the
>     site in question. I presume in the next iteration, the warning be
>     more accurate to the users noting that they manage their sites and
>     not the admin.
>
>
>
>     On Mon, Jan 9, 2012 at 8:52 AM, Paul Mungai <paulwando at gmail.com
>     <mailto:paulwando at gmail.com>> wrote:
>
>         Thanks Wagner,
>
>         It built successfully when unit tests are turned off:
>
>         mvn clean install sakai:deploy -Dmaven.test.skip=true
>
>
>         However, am now getting this warning when I attempt to add a
>         new assignment (assignments2)
>
>         My apologies, but there seems to have been an error. Please
>         note the time/date and the server you are on (located in the
>         footer) and contact the support center for assistance
>         resolving this problem.
>
>
>         On Fri, Jan 6, 2012 at 9:19 PM, Wagner, Michelle R.
>         <wagnermr at iupui.edu <mailto:wagnermr at iupui.edu>> wrote:
>
>             Hi Paul,
>             It looks like your build failed because there is a new
>             method in the GradebookService for Sakai 2.9
>             (isPointsPossibleValid) that is not implemented in
>             org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub
>             in Assignment2 1.0.  Assignment2 uses a mock of the
>             GradebookService for its unit tests since the two tools
>             are so tightly integrated.  I believe for now you can
>             build with unit tests turned off to avoid this error (or
>             add the unimplemented method locally).  It may be time for
>             an updated release of Assignment2 to work against 2.9 with
>             unit tests turned on.
>
>             Have a great day,
>             Michelle
>             ------------------------------------------------------------------------
>             *From:* sakai-dev-bounces at collab.sakaiproject.org
>             <mailto:sakai-dev-bounces at collab.sakaiproject.org>
>             [sakai-dev-bounces at collab.sakaiproject.org
>             <mailto:sakai-dev-bounces at collab.sakaiproject.org>] on
>             behalf of Paul Mungai [paulwando at gmail.com
>             <mailto:paulwando at gmail.com>]
>             *Sent:* Friday, January 06, 2012 12:27 PM
>             *To:* sakai-dev Developers
>             *Subject:* Re: [Building Sakai] Create Turnitin Class &
>             Assignment Process Flow in SAKAI
>
>             Thanks David.
>
>             Just noted that for assignment2 (tag 1.0), one needs to
>             first deploy the following dependencies:
>
>             sakai-announcement-api-2.9-SNAPSHOT
>             sakai-assignment-api-2.9-SNAPSHOT
>             sakai-calendar-api-2.9-SNAPSHOT
>             sakai-message-api-2.9-SNAPSHOT
>             sakai-mock-2.9-SNAPSHOT
>             sakai-taggable-api-2.9-SNAPSHOT
>             slf4j-log4j12-1.4.3
>
>             However, the build (offline) for assignment2 still fails.
>             The following error appears:
>
>             [ERROR] COMPILATION ERROR :
>             [INFO]
>             -------------------------------------------------------------
>             [ERROR]
>             /opt/sakai-2.8.0/assignment-tags-1.0/impl/src/test/org/sakaiproject/assignment2/logic/test/stubs/GradebookServiceStub.java:[57,7]
>             org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub
>             is not abstract and does not override abstract method
>             isPointsPossibleValid(java.lang.String,org.sakaiproject.service.gradebook.shared.Assignment,java.lang.Double)
>             in org.sakaiproject.service.gradebook.shared.GradebookService
>             [INFO] 1 error
>             [INFO]
>             -------------------------------------------------------------
>             [INFO]
>             ------------------------------------------------------------------------
>             [ERROR] BUILD FAILURE
>             [INFO]
>             ------------------------------------------------------------------------
>             [INFO] Compilation failure
>             /opt/sakai-2.8.0/assignment-tags-1.0/impl/src/test/org/sakaiproject/assignment2/logic/test/stubs/GradebookServiceStub.java:[57,7]
>             org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub
>             is not abstract and does not override abstract method
>             isPointsPossibleValid(java.lang.String,org.sakaiproject.service.gradebook.shared.Assignment,java.lang.Double)
>             in org.sakaiproject.service.gradebook.shared.GradebookService
>
>
>             Could the previous deployment of assignment1 affect this?
>
>             -- 
>             Regards,
>             Paul Mungai
>
>             "Ability is what youre capable of doing. Motivation
>             determines what you do. Attitude determines how well you
>             do it" By Lou Holtz, Notre Dame Football Coach
>
>
>
>
>         -- 
>         Regards,
>         Paul Mungai
>
>         "Ability is what youre capable of doing. Motivation determines
>         what you do. Attitude determines how well you do it" By Lou
>         Holtz, Notre Dame Football Coach
>
>
>
>
>     -- 
>     Regards,
>     Paul Mungai
>
>     "Ability is what youre capable of doing. Motivation determines
>     what you do. Attitude determines how well you do it" By Lou Holtz,
>     Notre Dame Football Coach
>
>
>
>
> -- 
> Regards,
> Paul Mungai
>
> Skype: pwando
> Twitter: pwando
> Facebook: paulwando
> LinkedIn:http://za.linkedin.com/pub/paul-mungai/b/388/512
> Blog: http://pmungai.wordpress.com
> Flickr: http://bit.ly/b84lip
>
> "Ability is what youre capable of doing. Motivation determines what 
> you do. Attitude determines how well you do it" By Lou Holtz, Notre 
> Dame Football Coach
>
>
> _______________________________________________
> 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"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120109/492dcf43/attachment.html 


More information about the sakai-dev mailing list