Yeah, that was my origonal thought. I'll reopen MYFACES-1448 which is a
task to do just that. All we need is something simple to do the
"Non-Wrapper" initialization code. It would need an "init" and a
"destroy" as well as a pre-lifecycle and post-lifecycle call, but these
could be done with the PortletContext, PortletRequest/Response classes.
As for the wrappers, you get me wrong. I'm not wanting to tie myself to
HttpServlet stuff at all. Here is my theory about moving the
"functionality" of the wrapper objects to our existing ExternalContext
wrapper.
If we have an HttpServletRequest/Response then we can simply use the
provided wrapper objects. If we don't then we would need to get the
original request object and ExternalContext and wrap them overriding
only the functionality we need to. The wrapped external context would
return a wrapped PortletRequest/PortletResponse/PortletContext object of
the appropriate (Action or Render) type. For dispatching your wrapper
simply need to take the provided object's "wrapped" object and pass it
into the superclass. Therefore, the external context references a
wrapped PortletRequest and Response as well as it's underlying
implementation. We'd have to be a bit careful when the objects switch
from ActionRequests to RenderRequests, but this should be pretty easy to
do. This would allow us to create wrapper objects without actually
having them supported by JSR-168 or the need to cast to HttpServlet stuff.
Does this make sense?
Arash Rajaeeyan wrote:
Hi scott,
my post was generally about portlet support.
you are right the second type method can be fixed by a wrapper which
implements HttpServlet and wraps Portlet.
I prefer to use a method which works in all portals JSR168, or WSRP
and even
in future JSR 286, if some solution works for second type (Not Drived
Classes from HttpServlet) of portals it will work for first type (Drived
Portlet classes from HttpServlet)
I will test every thing with both kind of portals to make sure they both
work fine.
may be we can modify that "MyFaces Bridge" and add what ever we need to
support trinidad.
trindidad and tomahawk are both under myfaces, and many people including
myself are using both set of components.
On 10/10/06, Scott O'Bryan <[EMAIL PROTECTED]> wrote:
To answer Mitthias, I'm going to be testing against Pluto and Oracle's
WSRP. I *MAY* add Gridsphere to the test since it's Websphere like.
Now, Arash, you are replying to a different issue. I noticed that
Tomahawk has added support for PortletFilters and I guess I jumped the
gun on wanting to use it. By removing dependencies on the "wapper"
objects in the filters, we can remove any dependency we have on the
implementation of the particular portal for now. Perhaps we may even
have to depend on our own bridge portlet which (like tomahawk) is
derived off of the MyFaces Bridge. The things that concerns me is that
never will the two run together in a portal environment if we do this.
I have a requirement to allow this stuff to run in a WSRP container
which is more like type 2 of your scenario. Therefore, I am flat
against using an implied implementation (like taking advantage of the
fact that WebSphere wraps httpServletRequest/Response objects. I
*don't* mind providing an interface with various adapters (for each
portal maybe) that could implement these wrapper objects as hopefully
well have something similar in the spec in a year or so.
That being said, while LifeRay is not of the first type you recomended,
someone familiar with the system should be able to provide a wrapper
object for LifeRay's PortletRequest implementation object.
Scott
Arash Rajaeeyan wrote:
> there two kind of portals
> some use Servlet classes as a base for Portlet and other Portlet
Classes,
> and subclasses classes like PortletRequest from HttpServletRequest.
> some develop Portlet classes from scratch.
> lots of problems arise in second type of portlet API implementation
which
> the Portlet classes can not be casted to Servlet classes.
>
> IBM websphere is from first kind.
> Liferay is second type.
> pluto is some thing between:
>
> package org.apache.pluto.internal.impl;
> ....
> public abstract class PortletRequestImpl extends
> HttpServletRequestWrapper
> implements PortletRequest, InternalPortletRequest {
> ....
>
> as you see they have subclasses HttpServletRequestWrapper
> so they have all methods of HttpServlet
>
> so I think its better that we don't test portlet patch
implementation on
> pluto.
>
>
> On 10/10/06, Matthias Wessendorf <[EMAIL PROTECTED]> wrote:
>>
>> Scott,
>>
>> testing against Pluto (Portlet RI)?
>>
>> -M
>>
>> On 10/10/06, Scott O'Bryan <[EMAIL PROTECTED]> wrote:
>> > I added seven issues to the Trinidad Portlet component in Jira and
one
>> > to the MyFaces Portlet_Support component. That should get us
started.
>> > We'll have to have MYFACES-1448, MYFACES-1383, and ADFFACES-234
done
>> > before we can start, however.
>> >
>> > I do have a fix for MYFACES-1383, but it needs some testing.
>> Hopefully
>> > I'll be able to check it in soon.
>> >
>> > Scott
>> >
>>
>>
>> --
>> Matthias Wessendorf
>> http://tinyurl.com/fmywh
>>
>> further stuff:
>> blog: http://jroller.com/page/mwessendorf
>> mail: mwessendorf-at-gmail-dot-com
>>
>
>
>