Package org.jasig.portal.portlet.om

Examples of org.jasig.portal.portlet.om.IPortletWindowId


            if (queuedEvent == null) {
                //no more queued events, done resolving
                return;
            }
           
            final IPortletWindowId sourceWindowId = queuedEvent.getPortletWindowId();
            final Event event = queuedEvent.getEvent();
           
          final boolean globalEvent = isGlobalEvent(request, sourceWindowId, event);
         
          final Set<IPortletDefinition> portletDefinitions = new LinkedHashSet<IPortletDefinition>();
          if (globalEvent) {
            portletDefinitions.addAll(this.portletDefinitionRegistry.getAllPortletDefinitions());
          }
           
            //Check each subscription to see what events it is registered to see
            for (final Iterator<String> layoutNodeIdItr = allLayoutNodeIds.iterator(); layoutNodeIdItr.hasNext(); ) {
                final String layoutNodeId = layoutNodeIdItr.next();
               
                IPortletEntity portletEntity = portletEntityCache.get(layoutNodeId);
                if (portletEntity == null) {
                    portletEntity = this.portletEntityRegistry.getOrCreatePortletEntity(request, userInstance, layoutNodeId);
                   
                    // if portlet entity registry returned null, then portlet has been deleted - remove it (see UP-3378)
                    if (portletEntity == null) {
                      layoutNodeIdItr.remove();
                      continue;
                    }
                   
                    final IPortletDefinitionId portletDefinitionId = portletEntity.getPortletDefinitionId();
                    final PortletDefinition portletDescriptor = this.portletDefinitionRegistry.getParentPortletDescriptor(portletDefinitionId);
                    if (portletDescriptor == null) {
                        //Missconfigured portlet, remove it from the list so we don't check again and ignore it
                        layoutNodeIdItr.remove();
                        continue;
                    }
                   
                    final List<? extends EventDefinitionReference> supportedProcessingEvents = portletDescriptor.getSupportedProcessingEvents();
                    //Skip portlets that don't handle any events and remove them from the set so they are not checked again
                    if (supportedProcessingEvents == null || supportedProcessingEvents.size() == 0) {
                        layoutNodeIdItr.remove();
                        continue;
                    }
                   
                    portletEntityCache.put(layoutNodeId, portletEntity);
                }
               
                final IPortletDefinition portletDefinition = portletEntity.getPortletDefinition();
                final IPortletDefinitionId portletDefinitionId = portletDefinition.getPortletDefinitionId();
                if (this.supportsEvent(event, portletDefinitionId)) {
                  this.logger.debug("{} supports event {}", portletDefinition, event);
                 
                  //If this is the default portlet entity remove the definition from the all defs set to avoid duplicate processing
                  final IPortletEntity defaultPortletEntity = this.portletEntityRegistry.getOrCreateDefaultPortletEntity(request, portletDefinitionId);
                  if (defaultPortletEntity.equals(portletEntity)) {
                    portletDefinitions.remove(portletDefinition);
                  }
                 
                    final IPortletEntityId portletEntityId = portletEntity.getPortletEntityId();
                    final Set<IPortletWindow> portletWindows = this.portletWindowRegistry.getAllPortletWindowsForEntity(request, portletEntityId);
                   
                    for (final IPortletWindow portletWindow : portletWindows) {
                        this.logger.debug("{} resolved target {}", event, portletWindow);
                        final IPortletWindowId portletWindowId = portletWindow.getPortletWindowId();
                        final Event unmarshalledEvent = this.unmarshall(portletWindow, event);
                        portletEventQueue.offerEvent(portletWindowId, new QueuedEvent(sourceWindowId, unmarshalledEvent) );
                    }
                }
                else {
                  portletDefinitions.remove(portletDefinition);
                }
            }
           
            if (!portletDefinitions.isEmpty()) {
              final IPerson user = userInstance.getPerson();
            final EntityIdentifier ei = user.getEntityIdentifier();
            final IAuthorizationPrincipal ap = AuthorizationService.instance().newPrincipal(ei.getKey(), ei.getType());
             
              //If the event is global there might still be portlet definitions that need targeting
              for (final IPortletDefinition portletDefinition : portletDefinitions) {
                final IPortletDefinitionId portletDefinitionId = portletDefinition.getPortletDefinitionId();
                //Check if the user can render the portlet definition before doing event tests
                if (ap.canRender(portletDefinitionId.getStringId())) {
                  if (this.supportsEvent(event, portletDefinitionId)) {
                    this.logger.debug("{} supports event {}", portletDefinition, event);
                     
                      final IPortletEntity portletEntity = this.portletEntityRegistry.getOrCreateDefaultPortletEntity(request, portletDefinitionId);
                        final IPortletEntityId portletEntityId = portletEntity.getPortletEntityId();
                        final Set<IPortletWindow> portletWindows = this.portletWindowRegistry.getAllPortletWindowsForEntity(request, portletEntityId);
                       
                        for (final IPortletWindow portletWindow : portletWindows) {
                            this.logger.debug("{} resolved target {}", event, portletWindow);
                            final IPortletWindowId portletWindowId = portletWindow.getPortletWindowId();
                            final Event unmarshalledEvent = this.unmarshall(portletWindow, event);
                            portletEventQueue.offerEvent(portletWindowId, new QueuedEvent(sourceWindowId, unmarshalledEvent) );
                        }
                  }
                }
View Full Code Here


    /* (non-Javadoc)
     * @see org.apache.pluto.container.PortletMimeResponseContext#getPortletURLProvider(org.apache.pluto.container.PortletURLProvider.TYPE)
     */
    @Override
    public PortletURLProvider getPortletURLProvider(TYPE type) {
        final IPortletWindowId portletWindowId = this.portletWindow.getPortletWindowId();
        final UrlType urlType = UrlType.fromPortletUrlType(type);
        final IPortalUrlBuilder portalUrlBuilder = this.portalUrlProvider.getPortalUrlBuilderByPortletWindow(containerRequest, portletWindowId, urlType);
        final IPortletUrlBuilder portletUrlBuilder = portalUrlBuilder.getPortletUrlBuilder(portletWindowId);
        return new PortletURLProviderImpl(portletUrlBuilder);
    }
View Full Code Here

  public boolean configModeAction(ExternalContext externalContext, String fname) throws IOException {

      final ActionRequest actionRequest = (ActionRequest)externalContext.getNativeRequest();
      final ActionResponse actionResponse = (ActionResponse)externalContext.getNativeResponse();

      final IPortletWindowId portletWindowId = this.getDelegateWindowId(externalContext, fname);
      if (portletWindowId == null) {
          throw new IllegalStateException("Cannot execute configModeAciton without a delegate window ID in the session for key: " + RenderPortletTag.DEFAULT_SESSION_KEY_PREFIX + fname);
      }
     
      final PortletDelegationDispatcher requestDispatcher = this.portletDelegationLocator.getRequestDispatcher(actionRequest, portletWindowId);
View Full Code Here

        return new PortletResourceExecutionWorker(portletThreadPool, executionInterceptors, portletRenderer, request, response, portletWindow);
    }
   
    @Override
    public IPortletFailureExecutionWorker createFailureWorker(HttpServletRequest request, HttpServletResponse response, IPortletWindowId failedPortletWindowId, Exception cause) {
        final IPortletWindowId errorPortletWindowId = this.getErrorPortletWindowId(request, this.errorPortletFName);
        return new PortletFailureExecutionWorker(portletRenderer, executionInterceptors, request, response, errorPortletWindowId, failedPortletWindowId, this.errorPortletFName, cause);
        /*
        HttpSession session = request.getSession();
        Map<IPortletWindowId, Exception> portletFailureMap = safeRetrieveErrorMapFromSession(session);
        portletFailureMap.put(failedPortletWindowId, cause);
View Full Code Here

            writeLock.unlock();
        }
    }
   
    public T storeIfAbsentWindow(T window) {
        final IPortletWindowId portletWindowId = window.getPortletWindowId();
       
        //Check if the entity already exists (uses a read lock)
        T existingWindow = this.getWindow(portletWindowId);
        if (existingWindow != null) {
            return existingWindow;
View Full Code Here

        try {
            final IPortletEntityId portletEntityId = window.getPortletEntityId();
            final Set<T> windowSet = this.getWindowSet(portletEntityId, true);
            windowSet.add(window);
           
            final IPortletWindowId portletWindowId = window.getPortletWindowId();
            this.windowsById.put(portletWindowId, window);
        }
        finally {
            writeLock.unlock();
        }
View Full Code Here

        Validate.notNull(request, "request can not be null");
        Validate.notNull(plutoPortletWindow, "portletWindow can not be null");
       
        //Conver the pluto portlet window ID into a uPortal portlet window ID
        final PortletWindowID plutoWindowId = plutoPortletWindow.getId();
        final IPortletWindowId portletWindowId;
        if (plutoWindowId instanceof IPortletWindowId) {
            portletWindowId = (IPortletWindowId)plutoWindowId;
        }
        else {
            portletWindowId = this.getPortletWindowId(request, plutoWindowId.getStringId());
View Full Code Here

    @Override
    public IPortletWindow getOrCreateDefaultPortletWindow(HttpServletRequest request, IPortletEntityId portletEntityId) {
        Validate.notNull(request, "request can not be null");
        Validate.notNull(portletEntityId, "portletEntityId can not be null");
       
        final IPortletWindowId portletWindowId = this.getDefaultPortletWindowId(request, portletEntityId);

        final PortletWindowCache<IPortletWindow> portletWindowMap = getPortletWindowMap(request);
       
        //Check if there is portlet window cached in the request
        IPortletWindow portletWindow = portletWindowMap.getWindow(portletWindowId);
View Full Code Here

    /* (non-Javadoc)
     * @see org.jasig.portal.portlet.registry.IPortletWindowRegistry#getDefaultPortletWindowId(org.jasig.portal.portlet.om.IPortletEntityId)
     */
    @Override
    public IPortletWindowId getDefaultPortletWindowId(HttpServletRequest request, IPortletEntityId portletEntityId) {
        final IPortletWindowId portletWindowId = this.createPortletWindowId(null, portletEntityId);
        logger.trace("Determined default portlet window id {} for portlet entity {}", portletWindowId, portletEntityId);
        return portletWindowId;
    }
View Full Code Here

        Validate.notNull(request, "request can not be null");
        Validate.notNull(portletEntityId, "portletEntityId can not be null");
       
        //TODO does a delegate portlet entity need some sort of special treatment or do we just assume that the calling code is using one?
       
        final IPortletWindowId portletWindowId = this.getDefaultPortletWindowId(request, portletEntityId);

        final PortletWindowCache<IPortletWindow> portletWindowMap = getPortletWindowMap(request);
       
        //Check if there is portlet window cached in the request
        IPortletWindow portletWindow = portletWindowMap.getWindow(portletWindowId);
View Full Code Here

TOP

Related Classes of org.jasig.portal.portlet.om.IPortletWindowId

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.