Thanks very much for sharing your knowledge and struggles Bruce!
It seams to me that this thread's summarisation might make it to a fine wiki
page how to run cocoon in JetSpeed :-)
Regards Ard
>
>
> The struggle continues.
>
> The resolution to my last post was to do an XSL transform on all
> "action" URLs to prepend "portlet:action:" and to strip off
> the servlet
> path altogether, since the portal container provides it from
> the entry
> in portlet.xml (I believe).
>
> Now my problem is that my hibernate OpenSessionInViewFilter is never
> called when accessing cocoon as a portlet. This is because
> there are no
> equivalent portlet filters defined by JSR-168 (although they are
> apparently coming in JSR-268). The Spring Web Framework gets
> around this
> by wrapping its web processing with an OpenSessionInViewInterceptor.
>
> So my question is a rather basic Cocoon one. Is there a way
> to configure
> Cocoon to basically do the equivalent of a Servlet Filter
> without using
> a Servlet Filter? IOW, to wrap Cocoon.process(env) so that on
> entry it
> always calls a preprocess() type method, and on exit (no
> matter how it
> exits), to always call a postprocess() type method?
>
> I imagine the answer is "yes" since Cocoon 2.1 predates
> Servlet filters
> and has all that funky Avalon stuff, I'm just uncertain how to do it.
> The alternative is to write my own ManagedCocoonPortlet and wrap the
> processAction() and render() methods with the equivalent Hibernate
> Session creation and destruction that OpenSessionInView does.
> But that
> solution seems rather clunky to me.
>
> Does anyone have any suggestions?
>
> Bruce Atherton wrote:
> > Continuing my saga of trying to get a Cocoon application
> deployed as a
> > JSR-168 servlet into Jetspeed, I am experiencing the following odd
> > behaviour:
> >
> > When I call getServletPath() from a page that is called by
> the portal
> > container, it returns without a leading slash. The exact same page
> > when accessed through cocoon as a servlet results in
> getServletPath()
> > returning WITH a leading slash. The lack of the leading slash is
> > causing the EncodeURLTransformer to fail.
> >
> > To be clear, I deploy a webapp called "myapp" with a portlet
> > "myportlet". The root sitemap has:
> >
> > <map:match pattern="myportlet">
> > <map:mount check-reload="yes" src="myapp/portlet-sitemap.xmap"
> > uri-prefix="myportlet"/>
> > </map:match>
> > <map:match pattern="myportlet/**">
> > <map:mount check-reload="yes" src="myapp/portlet-sitemap.xmap"
> > uri-prefix="myportlet"/>
> > </map:match>
> >
> > The portlet-sitemap.xmap has:
> >
> > <map:match pattern="">
> > <map:call function="displayServletPath"/>
> > </map:match>
> >
> > The WEB-INF/portlet.xml has:
> >
> > <init-param>
> > <name>servlet-path</name>
> > <value>myportlet</value>
> > </init-param>
> >
> > I also tried changing the value to "/myportlet" but it had
> no effect.
> >
> > The displayServletPath flowscript function displays a form that
> > outputs the value of the expression
> > ${cocoon.request.getServletPath()}. When accessing
> > http://localhost:8080/myapp/myportlet/, getServletPath() returns
> > "/myportlet". When accessed through the portal, it returns
> "myportlet".
> >
> > Has anyone got any suggestions as to why that is occurring
> and how to
> > get around it? Could it have anything to do with the issues
> raised in
> > this blog entry? http://bluxte.net/blog/2006-03/29-40-33.html
> >
> > Again, any help appreciated.
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]