String eventName = request.getEvent().getQName().toString();
String eventName = request.getEvent().getQName().toString();
private static void _processEvents( HttpServletRequest request, HttpServletResponse response, List<Event> events) throws PortletContainerException { Layout layout = (Layout)request.getAttribute(WebKeys.LAYOUT); List<LayoutTypePortlet> layoutTypePortlets = getLayoutTypePortlets( layout); for (LayoutTypePortlet layoutTypePortlet : layoutTypePortlets) { List<Portlet> portlets = null; try { portlets = layoutTypePortlet.getAllPortlets(); } catch (Exception e) { throw new PortletContainerException(e); } for (Portlet portlet : portlets) { for (Event event : events) { javax.xml.namespace.QName qName = event.getQName(); QName processingQName = portlet.getProcessingEvent( qName.getNamespaceURI(), qName.getLocalPart()); if (processingQName == null) { continue; } processEvent( request, response, portlet, layoutTypePortlet.getLayout(), event); } } } }
@Override public String getName() { return request.getEvent().getQName().toString(); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Event)) { return false; } Event other = (Event) obj; if (this.qname == null) { if (other.getQName() != null) return false; } else if (!this.qname.equals(other.getQName())) return false; if (this.value == null) { if (other.getValue() != null) return false; } else if (!this.value.equals(other.getValue())) return false; return true; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Event)) { return false; } Event other = (Event) obj; if (this.qname == null) { if (other.getQName() != null) return false; } else if (!this.qname.equals(other.getQName())) return false; if (this.value == null) { if (other.getValue() != null) return false; } else if (!this.value.equals(other.getValue())) return false; return true; }
@Override public boolean match(PortletRequest request) { if (!PortletRequest.EVENT_PHASE.equals(request.getAttribute(PortletRequest.LIFECYCLE_PHASE))) { return false; } if ("".equals(this.eventName)) { return true; } Event event = ((EventRequest) request).getEvent(); return (this.eventName.equals(event.getName()) || this.eventName.equals(event.getQName().toString())); }
public boolean match(PortletRequest request) { if (!PortletRequest.EVENT_PHASE.equals(request.getAttribute(PortletRequest.LIFECYCLE_PHASE))) { return false; } if ("".equals(this.eventName)) { return true; } Event event = ((EventRequest) request).getEvent(); return (this.eventName.equals(event.getName()) || this.eventName.equals(event.getQName().toString())); }
String eventName = request.getEvent().getQName().toString();
@Override public void processEvent(EventRequest req, EventResponse resp) throws PortletException, IOException { QName qn = req.getEvent().getQName(); MethodIdentifier mi = new MethodIdentifier(portletName, qn, MethodType.EVENT); List<AnnotatedMethod> meths = getMethods(mi); if (meths.size() == 0) { // retry with empty string (for portlet class processEvent method, for // example) mi.setId(""); meths = getMethods(mi); if (meths.size() == 0) { // If an event to be processed, but event method could not be found, // add appropriate error string. StringBuilder txt = new StringBuilder(128); txt.append("Event method not found. Event qname=").append(qn); LOG.warn(txt.toString()); return; } } assert meths.size() == 1; AnnotatedMethod meth = meths.get(0); // Set up the method arguments and do the incovation Object[] args = new Object[] { req, resp }; invokePortletMethod(meth, args); }
if (!this.value.equals(event.getName()) && !this.value.equals(event.getQName().toString())) { return false;
if (!this.value.equals(event.getName()) && !this.value.equals(event.getQName().toString())) { return false;
protected boolean supportsEvent(Event event, IPortletDefinitionId portletDefinitionId) { final QName eventName = event.getQName();
protected boolean isGlobalEvent( HttpServletRequest request, IPortletWindowId sourceWindowId, Event event) { final IPortletWindow portletWindow = this.portletWindowRegistry.getPortletWindow(request, sourceWindowId); final IPortletEntity portletEntity = portletWindow.getPortletEntity(); final IPortletDefinition portletDefinition = portletEntity.getPortletDefinition(); final IPortletDefinitionId portletDefinitionId = portletDefinition.getPortletDefinitionId(); final PortletApplicationDefinition parentPortletApplicationDescriptor = this.portletDefinitionRegistry.getParentPortletApplicationDescriptor( portletDefinitionId); final ContainerRuntimeOption globalEvents = parentPortletApplicationDescriptor.getContainerRuntimeOption( GLOBAL_EVENT__CONTAINER_OPTION); if (globalEvents != null) { final QName qName = event.getQName(); final String qNameStr = qName.toString(); for (final String globalEvent : globalEvents.getValues()) { if (qNameStr.equals(globalEvent)) { return true; } } } return false; }
@Override public void processEvent(EventRequest request, EventResponse response) throws PortletException, IOException { qname = request.getEvent().getQName(); payload = request.getEvent().getValue(); count++; }
httpServletRequest, this, portletWindowId, executionTime, event.getQName());
private List<PortletWindow> getPortletsRegisteredOnPage(RequestContext rc, ContentFragment fragment, Event event, List<PortletWindow> eventTargets) { List<ContentFragment> fragments = fragment.getFragments(); if (fragments != null && fragments.size() > 0) { for (ContentFragment child : fragments) { getPortletsRegisteredOnPage(rc, child, event, eventTargets); } } // might need to create the PortletWindow if yet undefined PortletWindow portletWindow = rc.getPortletWindow(fragment); if (portletWindow == null || !portletWindow.isValid()) return eventTargets; PortletDefinition portlet = portletWindow.getPortletDefinition(); if (checkSecurityConstraints && !checkSecurityConstraint(portlet, fragment)) { return eventTargets; } if (portletTracking.isOutOfService(portletWindow)) { return eventTargets; } List<? extends EventDefinitionReference> processingEvents = portlet.getSupportedProcessingEvents(); if (isEventSupported(processingEvents, event.getQName(), portlet.getApplication().getDefaultNamespace())) { eventTargets.add(portletWindow); } return eventTargets; }