* @see org.apache.jetspeed.events.JetspeedEventCoordinationService#processEvents(org.apache.pluto.container.PortletContainer, org.apache.pluto.container.PortletWindow, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.List)
*/
public void processEvents(PortletContainer container, org.apache.pluto.container.PortletWindow wnd,
HttpServletRequest servletRequest, HttpServletResponse servletResponse, List<Event> events)
{
PortletWindow portletWindow = (PortletWindow)wnd;
long start = System.currentTimeMillis();
for (Event portletEvent : events)
{
ProcessEvent event = (ProcessEvent)portletEvent;
if (event.isProcessed())
continue;
event.setProcessed(true);
List<PortletWindow> windows = getAllPortletsRegisteredForEvent(portletWindow.getRequestContext(), event);
for (PortletWindow window : windows)
{
try
{
container.doEvent(window, servletRequest, servletResponse, event);
}
catch (Exception e)
{
log.error("Failed to process event: " + event, e);
}
}
}
long end = System.currentTimeMillis();
if (statistics != null)
{
statistics.logPortletAccess(portletWindow.getRequestContext(), portletWindow.getPortletDefinition().getUniqueName(),
PortalStatistics.HTTP_EVENT, end - start);
}
}