DerShung,

Now it works for me :-)
It seems to be a tomcat issue with the autoDeploy parameter. There is a bug in Tomcat 5.0.28. The autoDeploy parameter is not using correctly in this version.
With Tomcat 5.0.30, Graffito deployement into Jetspeed works like a charm on my PC. You don't have to change something, autoDeploy is set to true by default (see in the server.xml)
Can you tell me which tomcat version are you using ?


I don't advise you to use tomcat 5.5.x, this version provides other issues with J2.

Christophe


Christophe Lombart wrote:

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























Reply via email to