Sven Thiergen commented on JS2-208:
I took Peter's example and integrated it against the current CVS HEAD. It was possible almost without changes, except that the "Fragment" type in "NotificationValveImpl" and "PortletStackValveImpl" needed to changed to "ContentFragment". This traces down to "request.getPage().getRootFragment()" which I changed to "...getRootContentFragment()". Hope this is no problem; I am unaware of real meaning of the methods.
My first example did not work, but it was the first try so maybe I am doing something wrong. I can put in another day or two to get the thing working.
The changes in the Pluto classes probably really need to change. They introduce a dependency to Jetspeed2 (usage of class "BasePortletEvent") which certainly isn't possible. Fortunately, only a static method is used which swaps around a parameter from a Map into a HttpServletRequest.
Ate suggested to synthesize an ActionRequest; instead of doing a real Redirect. Seems like the best solution regarding performance and cleanliness; so the Pluto code has not to be touched at all. Can someone give me some hints how to do this?
> Inter-portlet Communication
> Key: JS2-208
> URL: http://issues.apache.org/jira/browse/JS2-208 > Project: Jetspeed 2
> Type: New Feature
> Components: Assembly/Configuration, Components Core, Container, Other, Struts Portlet
> Versions: 2.0-M1
> Reporter: Peter Meier
> Attachments: jetspeed-2-diff.zip, portlet-event.zip, portlet-events-demos.zip
> As already announced elsewhere I would like to submit a working solution for inter-portlet communications between portlets that do not belong to the same portlet application.
> The implemented portlet communication is not part of JSR168 and therefore a proprietary extension. It utilises the JSR168 portlet API, though. Inter-portlet communication is achieved through portlet event notifications.