DerShung Yang wrote:
Just FYI that I posted the classloader issue on Jira, along with my analysis, although I don't know how to resolve it yet. I figure that this is a lower-priority issue since the problem would go away if they just relaunch Tomcat.
ok thanks ! for me it is a high priority. it is quite difficult to develop in this condition.
If I don't find something this evening, I will start a discussion on the J2 mailing list.
DerShung
-----Original Message----- From: LOMBART Christophe [mailto:[EMAIL PROTECTED] Sent: Thursday, February 24, 2005 5:13 AM To: [EMAIL PROTECTED] Subject: FW: Jetspeed deployment issue
Great ! I'm happy see that is running for you. FYI, The "Graffito News" document is not yet ready to run. I'm going to add it after some refactoring.
Concerning your classloader issues, I have also sometime this kind of errors when I redeploy the graffito application. When I restart Tomcat it works like a charm but sometime when redeploying the war, I got some strange errors. I'm going to investigate in more details this issues.
-----Original Message----- From: DerShung Yang [mailto:[EMAIL PROTECTED] Sent: Thu 2/24/2005 7:01 AM To: [EMAIL PROTECTED] Cc: Subject: RE: Jetspeed deployment issue Well, the classloader problem went away the second time I launched Tomcat. I don't know if there's anything to do with the fact that during the first launch of Tomcat, the graffito-browser.war was just unpacked from jetspeed/WEB-INF/deploy and deployed into webapps. Anyway, I'll experiment with this some more and enter a bug report if I can reproduce it.
BTW, the graffito browser now works great! I was able to add folders, a Word doc, and an HTML page.
DerShung
-----Original Message----- From: DerShung Yang [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 23, 2005 10:57 PM To: [EMAIL PROTECTED] Subject: RE: Jetspeed deployment issue
Hi, Christophe, I think the patch should work. However, I'm no longer able to get to the graffito portlet. Initially I had some problem with having both of graffito.war and graffito-browser.war at the same time. I removed all the old jar/war files and checked out the latest from both Graffito and Jetspeed and did clean builds. When I click on the Graffito tab, the following exception was what I got. Any clues? I'll also look at this some more tomorrow. I hope I didn't get some out-of-date files hidden somewhere...
VelocityViewServlet : Error processing the template Invocation of method 'getTitle' in class org.apache.jetspeed.velocity.JetspeedPowerTool threw exception class java.lang.IllegalStateException : No classloader has been defined for portlet application 1 java.lang.IllegalStateException: No classloader has been defined for portlet application 1 at org.apache.jetspeed.factory.JetspeedPortletFactory.getPortletClassLoader(Jet speedPortletFactory.java:216) at org.apache.jetspeed.request.JetspeedRequestContext.getPreferedLanguage(Jetsp eedRequestContext.java:497) at org.apache.jetspeed.velocity.JetspeedPowerTool.getTitle(JetspeedPowerTool.ja va:993) at org.apache.jetspeed.velocity.JetspeedPowerTool.getTitle(JetspeedPowerTool.ja va:972) at sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(Ub erspectImpl.java:267) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:197 ) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.ja va:175) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.jav a:220) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:23 0) at org.apache.velocity.runtime.directive.Parse.render(Parse.java:181) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.jav a:114) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement .java:70) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:166) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.jav a:114) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:166) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.jav a:114) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:23 0) at org.apache.velocity.Template.merge(Template.java:256) at org.apache.portals.bridges.velocity.BridgesVelocityViewServlet.mergeTemplate (BridgesVelocityViewServlet.java:118) at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown Source) at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:704) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch er.java:590) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher .java:510) at org.apache.jetspeed.dispatcher.JetspeedRequestDispatcher.include(JetspeedReq uestDispatcher.java:65) at org.apache.portals.bridges.common.GenericServletPortlet.doView(GenericServle tPortlet.java:363) at org.apache.jetspeed.portlets.layout.LayoutPortlet.doView(LayoutPortlet.java: 134) at org.apache.jetspeed.portlets.layout.MultiColumnPortlet.doView(MultiColumnPor tlet.java:120) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235) at javax.portlet.GenericPortlet.render(GenericPortlet.java:163) at org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContain erServlet.java:233) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:157) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:704) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch er.java:590) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher .java:510) at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPo rtletInvoker.java:215) at org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPo rtletInvoker.java:125) at sun.reflect.GeneratedMethodAccessor235.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflecti on(AopProxyUtils.java:61) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopPro xy.java:142) at $Proxy14.render(Unknown Source) at org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.jav a:103) at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet( JetspeedPortletContainerWrapper.java:88) at org.apache.jetspeed.aggregator.impl.RenderingJob.execute(RenderingJob.java:1 08) at org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRen dererImpl.java:103) at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(Pa geAggregatorImpl.java:261) at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorI mpl.java:148) at org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:4 8) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveIm pl.java:117) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl .java:133) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(Passwor dCredentialValveImpl.java:139) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecuri tyValve.java:117) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:437) at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecur ityValve.java:111) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLVa lveImpl.java:55) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityV alveImpl.java:127) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Localizat ionValveImpl.java:122) at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.ja va:209) at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:1 91) at org.apache.jetspeed.engine.AbstractEngine.service(AbstractEngine.java:257) at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext Valve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase .java:462) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118 ) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) at java.lang.Thread.run(Thread.java:534)
Thanks a lot, DerShung
-----Original Message----- From: Christophe Lombart [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 23, 2005 2:56 PM To: [EMAIL PROTECTED] Subject: Re: Jetspeed deployment issue
DerShung,
I just commited your patch for the jetspeed-spring config file. Can you check if it is ok for you ?
Thanks, Christophe
DerShung Yang wrote:
I checked out Jetspeed 2 on 2/16. Or maybe you have a newer version of Jetspeed? Anyway, hope the patch would allow us not to worry about keeping in sync with Jetspeed, unless they make some drastic structural changes.
Regarding the add folder/document buttons, I was again using the 2/16 snapshot, which was apparently out of date. I checked out the code today and the new code base does allow addition and viewing of folders/documents. Thanks a lot for the info!!
I'll continue learning and playing with new code base and report the things that I find on Jira.
Again, thanks a lot for the info, DerShung
-----Original Message----- From: Christophe Lombart [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 22, 2005 5:18 PM To: [EMAIL PROTECTED] Subject: Re: Jetspeed deployment issue
DerShung Yang wrote:
Hi, I just started trying to get Graffito up and running on my machine and ran into some problem deploying Graffito into Jetspeed 2. Basically, the current version of maven.xml in graffito/jetspeed2-deploy does a direct copy of src/assembly/jetspeed-spring.xml into the deployed Jetspeed directory (webapps/jetspeed/WEB-INF/assembly). However, the jetspeed-spring.xml in Graffito seems out of date compared to the latest one from Jetspeed, causing some conflicts at runtime.
That's strange, I'm using a recent Jetspeed 2 update.
I was able to fix this problem by modifying graffito/jetspeed2-deploy/maven.xml so that it dynamically inserts the two Graffito entries (i.e., ContentServer and ContentModel) into the deployed jetspeed-spring.xml. The modified maven.xml also has some rudimentary protection against re-insertion for re-deployment by checking if the word "graffito" is already present in the jetspeed-spring.xml file. Not a perfect solution, but should alleviate some of the issues associated with static file copying. The modified maven.xml is attached.
Thanks for the patch, I'm going to check it ASAP (probably tomorrow). I like your patch :-) It is always tedious to check if the jetspeed-spring.xml is still up to date.
I'm finally able to get the Graffito content browser portlet running inside of Jetspeed 2, although the buttons to add either folders or documents don't work yet (I'll continue digging into that problem).
Please give more info. What do you see in the edit mode ? The button are available only in the edit mode. I just commited new features in this portlet : In summrary, you can now : In the view mode : Browser and view folders & documents. In the edit mode : add, delete folders & documents, upload documents & use the HTML editor (currenlty Kupu).
I'm going to add more and more features in this portlet.
Anyway, I thought I might share my two cents. With limited exposure to Graffito, I hope this fix makes sense. Or if there's better way to handle this, please let me know.
All contribution makes sense ! You are welcome and thanks again.
I don't know if this is the right venue to communicate this type of issues. Or should I use Jira?
Yes, Jira is more appropriate to communicate this kind of issues.
Regards, Christophe
