Package org.apache.pluto.portalImpl.core

Examples of org.apache.pluto.portalImpl.core.PortalURL


        PortalEnvironment env =
            new PortalEnvironment(servletRequest,
                                  servletResponse,
                                  getServletConfig());

        PortalURL currentURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(currentURL);
        PortletWindow actionWindow = control.getPortletWindowOfAction();
        if (actionWindow!=null)
        {
            try {
View Full Code Here


          throw new java.lang.InstantiationException("bean fragment not found within scope");
        }
      }
      out.write("\n<!-- inside PageFragment -->\n");

    PortalURL url = PortalEnvironment.getPortalEnvironment(request).getRequestedPortalURL();
    if (url.isPartOfGlobalNavigation(fragment.getId()))
    {
        Iterator childIterator = fragment.getChildFragments().iterator();
        while (childIterator.hasNext())
        {
            Fragment subfragment = (Fragment)childIterator.next();
View Full Code Here

      out.print(request.getContextPath());
      out.write("/images/spacer.gif\" width=\"1\" height=\"1\"></td>\n                <td class=\"CollapsedRight\"><img src=\"");
      out.print(request.getContextPath());
      out.write("/images/spacer.gif\" width=\"1\" height=\"1\"></td> \n              </tr>\n\t\t\t\t\t\t</table></div></td></tr>\n");

    PortalURL url = PortalEnvironment.getPortalEnvironment(request).getRequestedPortalURL();
    NavigationTreeBean[] tree = fragment.getNavigationView(url);
    String GIF = ".gif";
    String DEFAULT_GIF = "ico_doc_16x16.gif";

    // Aaron's code -- to force the navigation tree to render fully expanded, and not offer links to non-leaf nodes
    //                 todo this is pretty bad and should be replaced by a subclass of TabNavigation
    //                 see http://svn.apache.org/repos/asf/portals/pluto/trunk/portal/src/java/org/apache/pluto/portalImpl/aggregation/navigation/
    java.util.List list = new java.util.ArrayList();
    java.util.Stack stack = new java.util.Stack();
    Navigation root = fragment.getRootNavigation();
    java.util.List childList = (java.util.List)root.getChildren();
    java.util.Map map = new java.util.HashMap();
    for(int i=childList.size()-1; i>=0; i--) {
        stack.push(childList.get(i));
        map.put(stack.peek(), new Integer(0));
    }
    while(!stack.isEmpty()) {
        Navigation nav = (Navigation) stack.pop();
        Integer depth = (Integer) map.get(nav);
        list.add(new NavigationTreeBean(nav, nav.getChildren().size() > 0 || url.isPartOfGlobalNavigation(nav.getLinkedFragment().getId()), depth.intValue()));
        childList = (java.util.List)nav.getChildren();
        for(int i=childList.size()-1; i>=0; i--) {
            stack.push(childList.get(i));
            map.put(stack.peek(), new Integer(depth.intValue()+1));
        }
    }
    tree = (NavigationTreeBean[]) list.toArray(new NavigationTreeBean[list.size()]);
    // End Aaron's Code

    for (int i=0; i<tree.length; i++) {
            Navigation nav = tree[i].navigation;
            String imageName = nav.getDescription();
            int index = imageName.indexOf(" ");
            if ((index == -1) || !imageName.substring(index-4, index).equals(GIF)) {
               imageName = DEFAULT_GIF;
            } else {
               imageName = imageName.substring(0,index);
            }

            boolean partOfNav = tree[i].partOfGlobalNav;

            if (tree[i].depth>0)
            {

      out.write("\n\t\t\t\t\t\t\t\t<tr><td><div class=\"Subselection\"><table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\"> \n                <tr>\n                  <td class=\"Left\">&nbsp;</td> \n                  <td class=\"Indent\">&nbsp;</td> \n                  <td class=\"Middle\">\n");

              for (int k=0; k<tree[i].depth; k++)
              {

      out.write("\n  \t\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;\n");

              }
                if (!partOfNav)
                {

      out.write("\n                    <a href=\"");
      out.print(new PortalURL(request, nav.getLinkedFragment()).toString());
      out.write("\"><img border=\"0\" src=\"");
      out.print(request.getContextPath());
      out.write("/images/");
      out.print(imageName);
      out.write("\">&nbsp;");
      out.print(nav.getTitle());
      out.write("</a>\n");

                }
                else
                {

      out.write("                  <img border=\"0\" src=\"");
      out.print(request.getContextPath());
      out.write("/images/");
      out.print(imageName);
      out.write("\">&nbsp;");
      out.print(nav.getTitle());
      out.write('\n');

                }

      out.write("\n                  </td> \n                  <td class=\"Right\">&nbsp;</td> \n                </tr> \n\t\t\t\t\t\t\t\t</table></div></td></tr>\n");

            }
            else
            {

      out.write("\t\t\t\t\t\t\n\t\t\n  \t\t\t\t\t\t<tr><td><div class=\"Selection\"><table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">\n              <tr>\n\t\t\t\t\t\t\t  <td class=\"CollapsedLeft\">&nbsp;</td>\n\t\t\t\t\t\t\t\t<td class=\"Indent\">&nbsp;</td>\n\t\t\t\t\t\t\t  <td class=\"TopMiddle\">\n");

                if (!partOfNav)
                {

      out.write("                  <a href=\"");
      out.print(new PortalURL(request, nav.getLinkedFragment()).toString());
      out.write("\"><img border=\"0\" src=\"");
      out.print(request.getContextPath());
      out.write("/images/");
      out.print(imageName);
      out.write("\">&nbsp;");
View Full Code Here

        PortalEnvironment env =
            new PortalEnvironment(servletRequest,
                                  servletResponse,
                                  getServletConfig());

        PortalURL currentURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(currentURL);
        PortletWindow actionWindow = control.getPortletWindowOfAction();
        if (actionWindow!=null)
        {
            try {
View Full Code Here

          throw new java.lang.InstantiationException("bean fragment not found within scope");
        }
      }
      out.write("\n<!-- inside PageFragment -->\n");

    PortalURL url = PortalEnvironment.getPortalEnvironment(request).getRequestedPortalURL();
    if (url.isPartOfGlobalNavigation(fragment.getId()))
    {
        Iterator childIterator = fragment.getChildFragments().iterator();
        while (childIterator.hasNext())
        {
            Fragment subfragment = (Fragment)childIterator.next();
View Full Code Here

      out.print(request.getContextPath());
      out.write("/images/spacer.gif\" width=\"1\" height=\"1\"></td>\n                <td class=\"CollapsedRight\"><img src=\"");
      out.print(request.getContextPath());
      out.write("/images/spacer.gif\" width=\"1\" height=\"1\"></td> \n              </tr>\n\t\t\t\t\t\t</table></div></td></tr>\n");

    PortalURL url = PortalEnvironment.getPortalEnvironment(request).getRequestedPortalURL();
    NavigationTreeBean[] tree = fragment.getNavigationView(url);

    // Aaron's code -- to force the navigation tree to render fully expanded, and not offer links to non-leaf nodes
    //                 todo this is pretty bad and should be replaced by a subclass of TabNavigation
    //                 see http://svn.apache.org/repos/asf/portals/pluto/trunk/portal/src/java/org/apache/pluto/portalImpl/aggregation/navigation/
    java.util.List list = new java.util.ArrayList();
    java.util.Stack stack = new java.util.Stack();
    Navigation root = fragment.getRootNavigation();
    java.util.List childList = (java.util.List)root.getChildren();
    java.util.Map map = new java.util.HashMap();
    for(int i=childList.size()-1; i>=0; i--) {
        stack.push(childList.get(i));
        map.put(stack.peek(), new Integer(0));
    }
    while(!stack.isEmpty()) {
        Navigation nav = (Navigation) stack.pop();
        Integer depth = (Integer) map.get(nav);
        list.add(new NavigationTreeBean(nav, nav.getChildren().size() > 0 || url.isPartOfGlobalNavigation(nav.getLinkedFragment().getId()), depth.intValue()));
        childList = (java.util.List)nav.getChildren();
        for(int i=childList.size()-1; i>=0; i--) {
            stack.push(childList.get(i));
            map.put(stack.peek(), new Integer(depth.intValue()+1));
        }
    }
    tree = (NavigationTreeBean[]) list.toArray(new NavigationTreeBean[list.size()]);
    // End Aaron's Code

    for (int i=0; i<tree.length; i++) {

      out.write('\n');

            Navigation nav = tree[i].navigation;
            boolean partOfNav = tree[i].partOfGlobalNav;

            if (tree[i].depth>0)
            {

      out.write("\n\t\t\t\t\t\t\t\t<tr><td><div class=\"Subselection\"><table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\"> \n                <tr>\n                  <td class=\"Left\">&nbsp;</td> \n                  <td class=\"Indent\">&nbsp;</td> \n                  <td class=\"Middle\">\n");

              for (int k=0; k<tree[i].depth; k++)
              {

      out.write("\n  \t\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;\n");

              }
                if (!partOfNav)
                {

      out.write("\n                    <a href=\"");
      out.print(new PortalURL(request, nav.getLinkedFragment()).toString());
      out.write('"');
      out.write('>');
      out.print(nav.getTitle());
      out.write("</a>\n");

                }
                else
                {

      out.write("                  ");
      out.print(nav.getTitle());
      out.write('\n');

                }

      out.write("\n                  </td> \n                  <td class=\"Right\">&nbsp;</td> \n                </tr> \n\t\t\t\t\t\t\t\t</table></div></td></tr>\n");

            }
            else
            {

      out.write("\t\t\t\t\t\t\n\t\t\n  \t\t\t\t\t\t<tr><td><div class=\"Selection\"><table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">\n              <tr>\n\t\t\t\t\t\t\t  <td class=\"CollapsedLeft\">&nbsp;</td>\n\t\t\t\t\t\t\t\t<td class=\"Indent\">&nbsp;</td>\n\t\t\t\t\t\t\t  <td class=\"TopMiddle\">\n");

                if (!partOfNav)
                {

      out.write("                  <a href=\"");
      out.print(new PortalURL(request, nav.getLinkedFragment()).toString());
      out.write('"');
      out.write('>');
      out.print(nav.getTitle());
      out.write("</a>\n");
View Full Code Here

      }

    }

    PortalEnvironment env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
    PortalURL thisURL = env.getRequestedPortalURL();

    PortalControlParameter thisControl = new PortalControlParameter(thisURL);
    if (thisControl.isOnePortletWindowMaximized()) {
      WindowState currentState = thisControl.getState(portletWindow);
      if (!WindowState.MAXIMIZED.equals(currentState)) {
        return;
      }
    }

    PortletDefinition portletDefinition = portletWindow.getPortletEntity().getPortletDefinition();
    LanguageSet languageSet = portletDefinition.getLanguageSet();
    Language lang = languageSet.get(request.getLocale());
    String title = lang != null ? lang.getTitle() : "no title available";

    // create a PortletInfo object. This is used to communicate with
    // the header and footer JSP pages for this portlet
    PortletInfo portletInfo = new PortletInfo();
   
        ServletDefinition servletDefinition = portletWindow.getPortletEntity().getPortletDefinition().getServletDefinition();
        if (servletDefinition != null && !servletDefinition.isUnavailable()) {
      PrintWriter writer2 = new PrintWriter(storedWriter);

      // create a wrapped response which the Portlet will be rendered to
      wrappedResponse = (ServletResponseImpl)ServletObjectAccess.getStoredServletResponse(response, writer2);

      try {
        // render the Portlet to the wrapped response, to be output later.
        PortletContainerFactory.getPortletContainer().renderPortlet(portletWindow, wrappedRequest, wrappedResponse);
      } catch (UnavailableException e) {
        log.error("Portlet is Unavailable", e);
        writer2.println("the portlet is currently unavailable!");

        ServletDefinitionCtrl servletDefinitionCtrl = (ServletDefinitionCtrl) ControllerObjectAccess.get(portletWindow.getPortletEntity().getPortletDefinition().getServletDefinition());
        if (e.isPermanent()) {
          servletDefinitionCtrl.setAvailable(Long.MAX_VALUE);
        } else {
          int unavailableSeconds = e.getUnavailableSeconds();
          if (unavailableSeconds <= 0) {
            unavailableSeconds = 60; // arbitrary default
          }
          servletDefinitionCtrl.setAvailable(System.currentTimeMillis() + unavailableSeconds * 1000);
        }
      } catch (Exception e) {
        log.error("Error in Portlet", e);
        writer2.println(getErrorMsg());
      }
      String dyn_title = ((DynamicTitleServiceImpl) FactoryAccess.getDynamicTitleContainerService()).getDynamicTitle(portletWindow, request);
      if (dyn_title != null) {
        title = dyn_title;
      }

    }
    // set the title, so the header JSP page can use it when rendering
    portletInfo.setTitle(title);

    DynamicInformationProvider provider = FactoryAccess.getDynamicProvider(request);
    ContentType supported = portletDefinition.getContentTypeSet().get(wrappedResponse.getContentType());
    PortalContextProvider portalContextProvider = FactoryAccess.getStaticProvider().getPortalContextProvider();

    // get the list of modes this Portlet supports
    if (supported != null && portalContextProvider != null) {
      // if portlet supports portlet modes
      Iterator modes = supported.getPortletModes();
      while (modes.hasNext()) {
        PortletMode mode = (PortletMode) modes.next();

        // check whether portal also supports portlet mode
        boolean portalSupport = false;
        Iterator portalSupportedModes = portalContextProvider.getSupportedPortletModes().iterator();
        while (portalSupportedModes.hasNext()) {
          PortletMode portalSupportedMode = (PortletMode) portalSupportedModes.next();
          if (mode.equals(portalSupportedMode)) {
            portalSupport = true;
            break;
          }
        }

        // create links for portlet modes in portlet header
        if (portalSupport) {
          env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
          PortalURL modeURL = env.getRequestedPortalURL();

          PortalControlParameter control = new PortalControlParameter(modeURL);
          PortletMode currentMode = control.getMode(portletWindow);
          control.setMode(portletWindow, mode);

          portletInfo.addPortletMode(mode, modeURL.toString(control, new Boolean(request.isSecure())), mode.equals(currentMode));
        }
      }

      // get the list of window states this Portlet supports
      Iterator states = portalContextProvider.getSupportedWindowStates().iterator();
      while (states.hasNext()) {
        WindowState state = (WindowState) states.next();
        env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
        PortalURL stateURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(stateURL);
        WindowState currentState = control.getState(portletWindow);

        control.setState(portletWindow, state);
        portletInfo.addPortletWindowState(state.toString().substring(0, 3), stateURL.toString(control, new Boolean(request.isSecure())), state.equals(currentState));
      }
    }
    // output the header JSP page
    request.setAttribute("portletInfo", portletInfo);
    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher(BASE_ROOT + "PortletFragmentHeader.jsp");
View Full Code Here

        PortalEnvironment env =
            new PortalEnvironment(servletRequest,
                                  servletResponse,
                                  getServletConfig());

        PortalURL currentURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(currentURL);
        PortletWindow actionWindow = control.getPortletWindowOfAction();
        if (actionWindow!=null)
        {
            try {
View Full Code Here

        PortalEnvironment env =
            new PortalEnvironment(servletRequest,
                                  servletResponse,
                                  getServletConfig());

        PortalURL currentURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(currentURL);
        PortletWindow actionWindow = control.getPortletWindowOfAction();
        if (actionWindow!=null)
        {
            try {
View Full Code Here

      }

    }

    PortalEnvironment env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
    PortalURL thisURL = env.getRequestedPortalURL();

    PortalControlParameter thisControl = new PortalControlParameter(thisURL);
    if (thisControl.isOnePortletWindowMaximized()) {
      WindowState currentState = thisControl.getState(portletWindow);
      if (!WindowState.MAXIMIZED.equals(currentState)) {
        return;
      }
    }

    PortletDefinition portletDefinition = portletWindow.getPortletEntity().getPortletDefinition();
    LanguageSet languageSet = portletDefinition.getLanguageSet();
    Language lang = languageSet.get(request.getLocale());
    String title = lang != null ? lang.getTitle() : "no title available";

    // create a PortletInfo object. This is used to communicate with
    // the header and footer JSP pages for this portlet
    PortletInfo portletInfo = new PortletInfo();
   
        ServletDefinition servletDefinition = portletWindow.getPortletEntity().getPortletDefinition().getServletDefinition();
        if (servletDefinition != null && !servletDefinition.isUnavailable()) {
      PrintWriter writer2 = new PrintWriter(storedWriter);

      // create a wrapped response which the Portlet will be rendered to
      wrappedResponse = (ServletResponseImpl)ServletObjectAccess.getStoredServletResponse(response, writer2);

      try {
        // render the Portlet to the wrapped response, to be output later.
        PortletContainerFactory.getPortletContainer().renderPortlet(portletWindow, wrappedRequest, wrappedResponse);
      } catch (UnavailableException e) {
        log.error("Portlet is Unavailable", e);
        writer2.println("the portlet is currently unavailable!");

        ServletDefinitionCtrl servletDefinitionCtrl = (ServletDefinitionCtrl) ControllerObjectAccess.get(portletWindow.getPortletEntity().getPortletDefinition().getServletDefinition());
        if (e.isPermanent()) {
          servletDefinitionCtrl.setAvailable(Long.MAX_VALUE);
        } else {
          int unavailableSeconds = e.getUnavailableSeconds();
          if (unavailableSeconds <= 0) {
            unavailableSeconds = 60; // arbitrary default
          }
          servletDefinitionCtrl.setAvailable(System.currentTimeMillis() + unavailableSeconds * 1000);
        }
      } catch (Exception e) {
        log.error("Error in Portlet", e);
        writer2.println(getErrorMsg());
      }
      String dyn_title = ((DynamicTitleServiceImpl) FactoryAccess.getDynamicTitleContainerService()).getDynamicTitle(portletWindow, request);
      if (dyn_title != null) {
        title = dyn_title;
      }

    }
    // set the title, so the header JSP page can use it when rendering
    portletInfo.setTitle(title);

    DynamicInformationProvider provider = FactoryAccess.getDynamicProvider(request);
    ContentType supported = portletDefinition.getContentTypeSet().get(wrappedResponse.getContentType());
    PortalContextProvider portalContextProvider = FactoryAccess.getStaticProvider().getPortalContextProvider();

    // get the list of modes this Portlet supports
    if (supported != null && portalContextProvider != null) {
      // if portlet supports portlet modes
      Iterator modes = supported.getPortletModes();
      while (modes.hasNext()) {
        PortletMode mode = (PortletMode) modes.next();

        // check whether portal also supports portlet mode
        boolean portalSupport = false;
        Iterator portalSupportedModes = portalContextProvider.getSupportedPortletModes().iterator();
        while (portalSupportedModes.hasNext()) {
          PortletMode portalSupportedMode = (PortletMode) portalSupportedModes.next();
          if (mode.equals(portalSupportedMode)) {
            portalSupport = true;
            break;
          }
        }

        // create links for portlet modes in portlet header
        if (portalSupport) {
          env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
          PortalURL modeURL = env.getRequestedPortalURL();

          PortalControlParameter control = new PortalControlParameter(modeURL);
          PortletMode currentMode = control.getMode(portletWindow);
          control.setMode(portletWindow, mode);

          portletInfo.addPortletMode(mode, modeURL.toString(control, new Boolean(request.isSecure())), mode.equals(currentMode));
        }
      }

      // get the list of window states this Portlet supports
      Iterator states = portalContextProvider.getSupportedWindowStates().iterator();
      while (states.hasNext()) {
        WindowState state = (WindowState) states.next();
        env = (PortalEnvironment) request.getAttribute(PortalEnvironment.REQUEST_PORTALENV);
        PortalURL stateURL = env.getRequestedPortalURL();
        PortalControlParameter control = new PortalControlParameter(stateURL);
        WindowState currentState = control.getState(portletWindow);

        control.setState(portletWindow, state);
        portletInfo.addPortletWindowState(state.toString().substring(0, 3), stateURL.toString(control, new Boolean(request.isSecure())), state.equals(currentState));
      }
    }
    // output the header JSP page
    request.setAttribute("portletInfo", portletInfo);
    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher(BASE_ROOT + "PortletFragmentHeader.jsp");
View Full Code Here

TOP

Related Classes of org.apache.pluto.portalImpl.core.PortalURL

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.