[
https://issues.jboss.org/browse/GTNPC-109?page=com.atlassian.jira.plugin....
]
Adam Kovari edited comment on GTNPC-109 at 8/7/13 7:49 AM:
-----------------------------------------------------------
The reproducer. The behavior before and after the pull request can be seen when you change
EventConsumerPortlet.customProcessEvent() - notice:
{code}
if (!event.isParentCalled()) {
// return as the parent should not be called
return;
}
{code}
This does not need to be there with the patch proposed.
https://issues.jboss.org/browse/GTNPORTAL-3182 should also be applied, to prevent some
other unrelated issues.
To reproduce you need to deploy the project,
add "producer portlet" to the page layout and 3 consumers portlet with info bar
on the homepage. Then try to maximize portlets and play with
EventConsumerPortlet.customProcessEvent().
Modify EventResponse Interface to preserve window state changes
accross multiple event invocations
--------------------------------------------------------------------------------------------------
Key: GTNPC-109
URL:
https://issues.jboss.org/browse/GTNPC-109
Project: GateIn Portlet Container
Issue Type: Enhancement
Components: API
Affects Versions: 2.4.1.Final
Reporter: Adam Kovari
Priority: Minor
Attachments: 00905214-src.zip
If a portlet changes it's window state in the event processing phase, this state is
not preserved as other portlets/events can be processed on the same page and then portal
will override this changes.
The spec says:
PLT.12.4 EventResponse Interface
================================
The EventResponse interface extends the StateAwareResponse interface and adds the
additional method setRenderParameters(EventRequest request). One thing to note is that if
a portlet receives multiple processEvent calls while processing one client request the new
portlet mode or window state that the portlet may have set, may be not validated by the
portal between these multiple processEvent calls. This means that even if the portlet
container may not throw an exception when the portlet sets a new portlet mode or window
state that the portal may still not approve this portlet mode or window state change and
call the portlet render method with a different portlet mode or window state.
So the window state change can be preserved even accross multiple events invocation.
Seems to be fine by the spec as shown above.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira