[ 
https://issues.apache.org/jira/browse/PLUTO-538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ate Douma resolved PLUTO-538.
-----------------------------

    Resolution: Fixed

All fixed and implemented with the recent big bang refactoring and final 
commits r753592 and r753593

> New EventCoordinationService and merging EventContainer with PortletContainer
> -----------------------------------------------------------------------------
>
>                 Key: PLUTO-538
>                 URL: https://issues.apache.org/jira/browse/PLUTO-538
>             Project: Pluto
>          Issue Type: Improvement
>          Components: portlet container
>    Affects Versions: 2.0.0
>            Reporter: Ate Douma
>            Assignee: Ate Douma
>             Fix For: 2.0.0
>
>
> Below copied (in part) from email discussion on the Pluto dev list, see also: 
> http://www.nabble.com/More-required-Pluto-2.0-SPI-and-implementation-refactoring-issues-td21973310.html
> *** EventProvider SPI
> The EventProvider SPI also has "mixed" responsibilities.
> As a "-Provider" it is used to generate PortletEvent objects on behalf of the 
> ActionResponse and EventResponse implementations which is
> subsequently stores in an internal list.
> But, it is also responsible for dispatching (coordinating) these registered 
> PortletEvents after the container processAction or fireEvent
> invocation.
> The problem is that the EventProvider can only fireEvents which have been 
> registered by the portlet itself.
> Container initiated events (as described by JSR-286) cannot be handled 
> through this SPI, and Pluto currently doesn't have any support for
> them either.
> As the logic for event coordination (firing) is a very portal (and possibly 
> policy based) functionality, while the creation of events by a
> portlet is very "standards" based, these two responsibilities shouldn't be 
> "mixed" in one interface.
> I propose to remove the fireEvents handling from the EventProvider SPI and 
> introduce a new SPI for handling the event coordination.
> The EventProvider SPI needs to be extended to allow retrieving the 
> "registered" event queue after the portlet invocation by the container.
> (site note: the EventProvider as provided by the Pluto Portal Driver needs 
> some major internal refactoring as well as its implementation is
> rather inefficient right now)
> *** new: EventCoordinationService SPI
> As described above,  PortletEvent coordination should be dealt with 
> separately, which this new SPI will provide.
> It should as a minimum allow firing events based on a (also new to be 
> defined) PortletEventQueue, as provided by the EventProvider or
> created directly by the container or possibly even the Portal itself.
> ==================================================
> Some of the above steps have already been done or are in progress as result 
> of several other JIRA issues like PLUTO-532 and PLUTO-537.
> In addition tho that, I'll merge the current EventContainer interface with 
> the PortletContainer interface:
> as event handling is already implemented in the PortletContainerImpl, I see 
> no reason why to keep these separate, and using a different container for the 
> event handling simply makes no sense at all.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to