Package org.jasig.portal.portlet.om

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


        //Check if the layout node explicitly specifies the window id
        final Attribute windowIdAttribute = element.getAttributeByName(PORTLET_WINDOW_ID_ATTR_NAME);
        if (windowIdAttribute != null) {
            final String windowIdStr = windowIdAttribute.getValue();
            final IPortletWindowId portletWindowId = this.getPortletWindowId(request, windowIdStr);
            final IPortletWindow portletWindow = this.getPortletWindow(request, portletWindowId);
            return new Tuple<IPortletWindow, StartElement>(portletWindow, element);
        }

        //No explicit window id, look it up based on the layout node id
        final Attribute nodeIdAttribute = element.getAttributeByName(IUserLayoutManager.ID_ATTR_NAME);
        final String layoutNodeId = nodeIdAttribute.getValue();

        IPortletWindow portletWindow = this.getOrCreateDefaultPortletWindowByLayoutNodeId(request, layoutNodeId);
        if (portletWindow == null) {
            //No window for the layout node, return null
            return null;
        }

        final IPortalRequestInfo portalRequestInfo = this.urlSyntaxProvider.getPortalRequestInfo(request);
        if (portalRequestInfo.getUrlState() == UrlState.DETACHED) {
            /*
             * We want to handle DETACHED portlet windows differently/explicitly,
             * but we need to be aware there may be other portlets on the page
             * besides the targeted one.  These would be portlets in regions
             * (Respondr theme) -- such as DynamicRespondrSkin.
             *
             * We need to confirm, therefore, that this is actually the portlet
             * in DETACHED.  If it is, we'll send back a 'stateless' PortletWindow.
             */
            if (portalRequestInfo.getTargetedPortletWindowId().toString().contains("_" + layoutNodeId + "_")) {
                final IPortletWindowId portletWindowId = portletWindow.getPortletWindowId();
                portletWindow = this.getOrCreateStatelessPortletWindow(request, portletWindowId);
            }

        }

        element = this.addPortletWindowId(element, portletWindow.getPortletWindowId());

        return new Tuple<IPortletWindow, StartElement>(portletWindow, element);
    }
View Full Code Here


            if (!portletEntityId.equals(portletWindowData.getPortletEntityId()) || portletWindowMap.containsWindow(portletWindowId)) {
                continue;
            }

            //Wrap the data in a window and stick it in the request cache
            IPortletWindow portletWindow = this.wrapPortletWindowData(request, portletWindowData);
            portletWindow = portletWindowMap.storeIfAbsentWindow(portletWindow);
           
            portletWindows.add(portletWindow);
        }
    }
View Full Code Here

       
        //Create the stateless ID
        final PortletWindowIdImpl statelessPortletWindowId = this.createPortletWindowId(STATELESS_PORTLET_WINDOW_ID, portletEntityId);
       
        //See if there is already a request cached stateless window
        IPortletWindow statelessPortletWindow = this.getPortletWindow(request, statelessPortletWindowId);
        if (statelessPortletWindow != null) {
            return statelessPortletWindow;
        }
       
        //Lookup the base portlet window to clone the stateless from
        final IPortletWindow basePortletWindow = this.getPortletWindow(request, basePortletWindowId);
       
        final PortletWindowCache<PortletWindowData> statelessPortletWindowDataMap = this.getStatelessPortletWindowDataMap(request, true);
       
        //If no base to clone from lookup the entity and pluto definition data
        if (basePortletWindow == null) {
            final IPortletEntity portletEntity = this.portletEntityRegistry.getPortletEntity(request, portletEntityId);
            if (portletEntity == null) {
                throw new IllegalArgumentException("No IPortletEntity could be found for " + portletEntity + " while creating stateless portlet window for " + basePortletWindowId);
            }
           
            final IPortletDefinition portletDefinition = portletEntity.getPortletDefinition();
            final IPortletDefinitionId portletDefinitionId = portletDefinition.getPortletDefinitionId();
            final PortletDefinition portletDescriptor = this.portletDefinitionRegistry.getParentPortletDescriptor(portletDefinitionId);
           
            final PortletWindowData portletWindowData = new PortletWindowData(statelessPortletWindowId, portletEntityId);
            statelessPortletWindowDataMap.storeWindow(portletWindowData);
           
            statelessPortletWindow = new StatelessPortletWindowImpl(portletWindowData, portletEntity, portletDescriptor);
        }
        //Clone the existing base window
        else {
            final PortletWindowData portletWindowData = new PortletWindowData(statelessPortletWindowId, portletEntityId);
            portletWindowData.setExpirationCache(basePortletWindow.getExpirationCache());
            portletWindowData.setPortletMode(basePortletWindow.getPortletMode());
            portletWindowData.setWindowState(basePortletWindow.getWindowState());
            portletWindowData.setPublicRenderParameters(basePortletWindow.getPublicRenderParameters());
            portletWindowData.setRenderParameters(basePortletWindow.getRenderParameters());
           
            statelessPortletWindowDataMap.storeWindow(portletWindowData);

            final IPortletEntity portletEntity = basePortletWindow.getPortletEntity();
            final PortletDefinition portletDescriptor = basePortletWindow.getPlutoPortletWindow().getPortletDefinition();
            statelessPortletWindow = new StatelessPortletWindowImpl(portletWindowData, portletEntity, portletDescriptor);
        }
       
        //Cache the stateless window in the request
        final PortletWindowCache<IPortletWindow> portletWindowMap = this.getPortletWindowMap(request);
View Full Code Here

                this.logger.debug("No portlet entity found for layout node {} for user {}", channelSubscribeId, userInstance.getPerson().getUserName());
                continue;
            }
           
            final IPortletEntityId portletEntityId = portletEntity.getPortletEntityId();
            final IPortletWindow portletWindow = this.getOrCreateDefaultPortletWindow(request, portletEntityId);
            if (portletWindow == null) {
                this.logger.debug("No portlet window found for {}", portletEntity);
                continue;
            }
           
View Full Code Here

        final PortletDefinition portletDescriptor = this.portletDefinitionRegistry.getParentPortletDescriptor(portletDefinition.getPortletDefinitionId());
        if (portletDescriptor == null) {
            return null;
        }
       
        final IPortletWindow portletWindow = new PortletWindowImpl(portletDescriptor, portletEntity, portletWindowData);
       
        logger.trace("Wrapping PortletWindowData {} as IPortletWindow", portletWindow.getPortletWindowId());
       
        return portletWindow;
    }
View Full Code Here

  @Override
  public PortletRequestContext getPortletActionRequestContext(
      PortletContainer container, HttpServletRequest containerRequest,
      HttpServletResponse containerResponse, PortletWindow window) {
     
      final IPortletWindow portletWindow = this.portletWindowRegistry.convertPortletWindow(containerRequest, window);
      final IPortalRequestInfo portalRequestInfo = this.urlSyntaxProvider.getPortalRequestInfo(containerRequest);
      return new PortletRequestContextImpl(container, portletWindow, containerRequest, containerResponse, this.requestPropertiesManager, portalRequestInfo, portletCookieService, requestAttributeService);
  }
View Full Code Here

  @Override
  public PortletActionResponseContext getPortletActionResponseContext(
      PortletContainer container, HttpServletRequest containerRequest,
      HttpServletResponse containerResponse, PortletWindow window) {
     
      final IPortletWindow portletWindow = this.portletWindowRegistry.convertPortletWindow(containerRequest, window);
     
      final IPortalActionUrlBuilder portalActionUrlBuilder = this.portalUrlProvider.getPortalActionUrlBuilder(containerRequest);
      final IPortletUrlBuilder portletUrlBuilder = portalActionUrlBuilder.getPortletUrlBuilder(portletWindow.getPortletWindowId());
     
        return new PortletActionResponseContextImpl(container, portletWindow, containerRequest, containerResponse, requestPropertiesManager, portalActionUrlBuilder, portletUrlBuilder, this.portletContextService, this.portletCookieService);
  }
View Full Code Here

  @Override
  public PortletRequestContext getPortletEventRequestContext(
      PortletContainer container, HttpServletRequest containerRequest,
      HttpServletResponse containerResponse, PortletWindow window) {
     
        final IPortletWindow portletWindow = this.portletWindowRegistry.convertPortletWindow(containerRequest, window);
        final IPortalRequestInfo portalRequestInfo = this.urlSyntaxProvider.getPortalRequestInfo(containerRequest);
        return new PortletRequestContextImpl(container, portletWindow, containerRequest, containerResponse, this.requestPropertiesManager, portalRequestInfo, portletCookieService, requestAttributeService);
  }
View Full Code Here

  @Override
  public PortletEventResponseContext getPortletEventResponseContext(
      PortletContainer container, HttpServletRequest containerRequest,
      HttpServletResponse containerResponse, PortletWindow window) {
     
      final IPortletWindow portletWindow = this.portletWindowRegistry.convertPortletWindow(containerRequest, window);
       
      final IPortalActionUrlBuilder portalActionUrlBuilder = this.portalUrlProvider.getPortalActionUrlBuilder(containerRequest);
        final IPortletUrlBuilder portletUrlBuilder = portalActionUrlBuilder.getPortletUrlBuilder(portletWindow.getPortletWindowId());
       
      return new PortletEventResponseContextImpl(container, portletWindow, containerRequest, containerResponse, requestPropertiesManager, portletUrlBuilder, this.portletContextService, this.portletCookieService);
  }
View Full Code Here

  @Override
  public PortletRequestContext getPortletRenderRequestContext(
      PortletContainer container, HttpServletRequest containerRequest,
      HttpServletResponse containerResponse, PortletWindow window) {

      final IPortletWindow portletWindow = this.portletWindowRegistry.convertPortletWindow(containerRequest, window);
      final IPortalRequestInfo portalRequestInfo = this.urlSyntaxProvider.getPortalRequestInfo(containerRequest);
        return new PortletRequestContextImpl(container, portletWindow, containerRequest, containerResponse, this.requestPropertiesManager, portalRequestInfo, portletCookieService, requestAttributeService);
  }
View Full Code Here

TOP

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

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.