Package org.apache.jetspeed.container

Examples of org.apache.jetspeed.container.PortletWindow


        {
            if (windowId == null || portletUniqueName == null)
            {
                throw new IllegalArgumentException("Parameter windowId and portletUniqueName are both required");
            }
            PortletWindow window = context.getPortletWindow(windowId);
            if (window == null)
            {
                window = context.getInstantlyCreatedPortletWindow(windowId, portletUniqueName);
            }
            if (window.isValid())
            {
                PortletWindow currentPortletWindow = context.getCurrentPortletWindow();
                try
                {
                    context.setCurrentPortletWindow(window);                   
                    renderer.renderNow(window.getFragment(), context);
                    return window.getFragment().getRenderedContent();
View Full Code Here


        Boolean editing = ( pageEditAccess.isEditing() &&
                            PortletMode.VIEW.equals(request.getPortletMode()) &&
                            request.isPortletModeAllowed(PortletMode.EDIT))
                          ? Boolean.TRUE : Boolean.FALSE;
                                        
        PortletWindow window = context.getPortalURL().getNavigationalState().getMaximizedWindow();
        if (window != null)
        {
            super.doView(request, response);
            return;
        }
View Full Code Here

            if ( addLayout || request.getParameter("jsChangeLayout") != null )
            {
                layout = request.getParameter("layout");
                if ( layout != null && layout.length() > 0 )
                {
                    PortletWindow window = requestContext.getActionWindow();
                    ContentFragment targetFragment = requestPage.getFragmentById(window.getId().toString());
                    if ( targetFragment != null )
                    {
                        if ( addLayout )
                        {
                            try
                            {
                                targetFragment.addPortlet(Fragment.LAYOUT, layout);
                                clearLayoutAttributes(request);                           
                            }
                            catch (Exception e)
                            {
                                throw new PortletException("failed to add portlet " + layout + " to page: " + requestPage+": "+e.getMessage(), e);
                            }
                        }
                        else if ( !layout.equals(targetFragment.getName()) )
                        {
                            try
                            {
                                // layout portlet change
                                targetFragment.updateName(layout);
                                clearLayoutAttributes(request);
                                return;
                            }
                            catch (Exception e)
                            {
                                throw new PortletException("Unable to update page: "+e.getMessage(), e);
                            }
                        }
                    }
                }
                return;
            }

            if ( request.getParameter("jsSubmitPage" ) != null )
            {
                String jsPageName = request.getParameter("jsPageName");
                String jsPageTitle = request.getParameter("jsPageTitle");
                String jsPageShortTitle = request.getParameter("jsPageShortTitle");
                layout = request.getParameter("layout");
                if ( ( layout == null ) || ( layout.length() == 0 ) )
                {
                    layout = requestPage.getRootFragment().getName();
                }
                if ( jsPageName != null && jsPageName.length() > 0 && jsPageName.indexOf(Folder.PATH_SEPARATOR) == -1 )
                {
                    try
                    {
                        requestPage.newSiblingPage(getEscapedName(jsPageName), layout, jsPageTitle, jsPageShortTitle);
                    }
                    catch (Exception e)
                    {
                        throw new PortletException("Unable to access page for editing: "+e.getMessage(), e);
                    }                       
                }
                return;
            }

            if (request.getParameter("jsChangePageName") != null)
            {
                String jsPageTitle = request.getParameter("jsPageTitle");
                String jsPageShortTitle = request
                        .getParameter("jsPageShortTitle");
                try
                {
                    requestPage.updateTitles(jsPageTitle, jsPageShortTitle);
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access page for editing: "
                                    + e.getMessage(), e);
                }
                return;
            }

            if ( request.getParameter("jsDeletePage" ) != null )
            {
                try
                {
                    requestPage.remove();
                }
                catch (Exception e)
                {
                    throw new PortletException("Unable to access page for removing: "+e.getMessage(), e);
                }
                return;
            }

            if (request.getParameter("jsMovePageLeft") != null)
            {
                try
                {
                    requestPage.decrementInDocumentOrder();
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access page for changing the document order: "
                                    + e.getMessage(), e);
                }
                return;
            }

            if (request.getParameter("jsMovePageRight") != null)
            {
                try
                {
                    requestPage.incrementInDocumentOrder();
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access page for changing the document order: "
                                    + e.getMessage(), e);
                }
                return;
            }           

            if (request.getParameter("jsSubmitFolder") != null)
            {
                String jsFolderName = request.getParameter("jsFolderName");
                String jsFolderTitle = request.getParameter("jsFolderTitle");
                String jsFolderShortTitle = request.getParameter("jsFolderShortTitle");
                layout = request.getParameter("layout");
                if ( ( layout == null ) || ( layout.length() == 0 ) )
                {
                    layout = requestPage.getRootFragment().getName();
                }
                if (jsFolderName != null && jsFolderName.length() > 0
                        && jsFolderName.indexOf(Folder.PATH_SEPARATOR) == -1)
                {
                    try
                    {
                        requestPage.newSiblingFolder(getEscapedName(jsFolderName), jsFolderTitle, jsFolderShortTitle, layout);
                    }
                    catch (Exception e)
                    {
                        throw new PortletException(
                                "Unable to access folder for editing: "
                                        + e.getMessage(), e);
                    }
                }
                return;
            }

            if (request.getParameter("jsChangeFolderName") != null)
            {
                String jsFolderTitle = request.getParameter("jsFolderTitle");
                String jsFolderShortTitle = request
                        .getParameter("jsFolderShortTitle");
                try
                {
                    requestPage.updateFolderTitles(jsFolderTitle, jsFolderShortTitle);
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access folder for editing: "
                                    + e.getMessage(), e);
                }
                return;
            }
           
            if (request.getParameter("jsDeleteFolder") != null)
            {
                try
                {
                    requestPage.removeFolder();
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access folder for removing: "
                                    + e.getMessage(), e);
                }
                return;
            }

            if (request.getParameter("jsMoveFolderLeft") != null)
            {
                try
                {
                    requestPage.decrementFolderInDocumentOrder();
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access folder for changing the document order: "
                                    + e.getMessage(), e);
                }
                return;
            }

            if (request.getParameter("jsMoveFolderRight") != null)
            {
                try
                {
                    requestPage.incrementFolderInDocumentOrder();
                }
                catch (Exception e)
                {
                    throw new PortletException(
                            "Unable to access folder for changing the document order: "
                                    + e.getMessage(), e);
                }
                return;
            }

            String theme = request.getParameter("theme");
            if ( theme != null && theme.length() > 0 )
            {
                try
                {
                    requestPage.updateDefaultDecorator(theme, Fragment.LAYOUT);
                }
                catch (Exception e)
                {
                    throw new PortletException("Unable to update page: "+e.getMessage(), e);
                }
                return;
            }
           
            String fragmentId = request.getParameter("fragment");
            if ( fragmentId != null && fragmentId.length() > 0 )
            {
                String move = request.getParameter("move");
                if ( move != null && move.length() > 0 )
                {
                    int moveCode = Integer.parseInt(move);                   
                    PortletWindow window = requestContext.getActionWindow();
                    ContentFragment currentFragment = requestPage.getFragmentById(window.getId().toString());
                    ContentFragment fragmentToMove = requestPage.getFragmentById(fragmentId);                   
                    if ( currentFragment != null && fragmentToMove != null )
                    {
                        ColumnLayout columnLayout;
                        try
                        {
                            columnLayout = new ColumnLayout(numColumns, layoutType, currentFragment.getFragments(), null);
                            columnLayout.addLayoutEventListener(new PageLayoutEventListener(layoutType));
                        }
                        catch (LayoutEventException e1)
                        {
                            throw new PortletException("Failed to build ColumnLayout "+e1.getMessage(), e1);
                        }

                        try
                        {               
                            switch (moveCode)
                            {
                            case LayoutEvent.MOVED_UP:
                                columnLayout.moveUp(fragmentToMove);
                                break;
                            case LayoutEvent.MOVED_DOWN:
                                columnLayout.moveDown(fragmentToMove);
                                break;
                            case LayoutEvent.MOVED_RIGHT:
                                columnLayout.moveRight(fragmentToMove);
                                break;
                            case LayoutEvent.MOVED_LEFT:
                                columnLayout.moveLeft(fragmentToMove);
                                break;
                            default:
                                throw new PortletException("Invalid movement code " + moveCode);
                            }
                          
                        }
                        catch (SecurityException se)
                        {
                            // ignore page security constraint violations, only
                            // permitted users can edit managed pages; page
                            // update will remain transient
                            log.info("Unable to update page " + requestPage.getId() + " layout due to security permission/constraint.", se);
                        }
                        catch (Exception e)
                        {
                            if (e instanceof PortletException)
                            {
                                throw (PortletException)e;
                            }
                            else
                            {
                                throw new PortletException("Unable to process layout for page " + requestPage.getId() + " layout: " + e.toString(), e);
                            }
                        }
                    }
                   
                    return;
                }
               
                String remove = request.getParameter("remove");
                if ( remove != null && remove.length() > 0 )
                {
                    try
                    {
                        requestPage.removeFragment(fragmentId);
                    }
                    catch (Exception e)
                    {
                        throw new PortletException("Unable to update page to remove fragment: "+e.getMessage(), e);
                    }
                    return;
                }
               
                String decorator = request.getParameter("decorator");
                if ( decorator != null )
                {
                    try
                    {
                        ContentFragment fragment = requestPage.getFragmentById(fragmentId);
                        if ( fragment != null )
                        {
                            fragment.updateDecorator(decorator);
                        }
                    }
                    catch (Exception e)
                    {
                        throw new PortletException("Unable to update page for fragment decorator: "+e.getMessage(), e);
                    }
                    return;
                }
            }
           
            // change style for all pages in user folder
            String jsChangeUserPagesTheme = request.getParameter("jsChangeUserPagesTheme");
            if ( jsChangeUserPagesTheme != null )
            {
                String user_pages_theme = request.getParameter("user_pages_theme");
                try
                {
                   Folder f = pageManager.getUserFolder(request.getRemoteUser());
                   applyStyle(f,user_pages_theme,Fragment.LAYOUT);
                }
                catch (Exception e)
                {
                   throw new PortletException("Unable to update folder for defUserLayoutDeco decorator: "+e.getMessage(), e);
                }
                return;
            }
           
            String jsChangeUserPortletsDeco = request.getParameter("jsChangeUserPortletsDeco");
            if ( jsChangeUserPortletsDeco != null )
            {                 
                String user_portlets_deco = request.getParameter("user_portlets_deco");
                try
                {
                   Folder f = pageManager.getUserFolder(request.getRemoteUser());
                   applyStyle(f,user_portlets_deco,Fragment.PORTLET);
                }
                catch (Exception e)
                {
                    throw new PortletException("Unable to update folder for defUserPortletDeco decorator: "+e.getMessage(), e);
                }
               return;
            }
           
            String jsChangeThemeAll = request.getParameter("jsChangeThemeAll");
            if (jsChangeThemeAll != null)
            {
                String decorators = request.getParameter("decorators");               
                String targetFragmentId = request.getParameter("fragment");
                ContentFragment targetFragment = requestPage.getFragmentById(targetFragmentId);
                if (targetFragment != null)
                {
                    Iterator fragmentsIter = targetFragment.getFragments().iterator();
                    while (fragmentsIter.hasNext())
                    {
                        ContentFragment fragment = (ContentFragment) fragmentsIter.next();
                        if (fragment != null )
                        {
                            try
                            {
                                fragment.updateDecorator(decorators);
                            }
                            catch (Exception e)
                            {
                                throw new PortletException("Unable to update page for fragment decorator: "+e.getMessage(), e);
                            }
                        }
                    }
                }
                return;
            }               
           
            String portlets = request.getParameter("portlets");
            if ( portlets != null && portlets.length() > 0 )
            {
                PortletWindow window = requestContext.getActionWindow();
                ContentFragment targetFragment = requestPage.getFragmentById(window.getId().toString());
                if ( targetFragment != null )
                {
                    StringTokenizer tokenizer = new StringTokenizer(portlets, ",");           
                    while (tokenizer.hasMoreTokens())
                    {
View Full Code Here

    }
   
    public String getPortletIcon(RequestContext context, String windowId, String defaultPortletIcon)
    {
        String portletIcon = null;
        PortletWindow window = context.getPortletWindow(windowId);
       
        if (window != null && window.getPortletDefinition() != null)
        {
            InitParam portletIconInitParam = window.getPortletDefinition().getInitParam("portlet-icon");
           
            if (portletIconInitParam != null)
            {
                portletIcon = portletIconInitParam.getParamValue();
            }
View Full Code Here

        return portletWindows.get(windowId);
    }
   
    public PortletWindow getPortletWindow(ContentFragment fragment)
    {
        PortletWindow window = portletWindows.get(fragment.getId());
        if (window == null)
        {
            window = createPortletWindow(fragment);
        }
        return window;
View Full Code Here

    }

    protected void renderMaximizedWindow(RequestContext context, ContentPage page, ContentFragment layoutContentFragment, PortletWindow window)
    {
        boolean maxedLayout = false;
        PortletWindow layoutWindow;
        if (window.getFragment().getId().equals(layoutContentFragment.getId()))
        {
            layoutWindow = window;
            maxedLayout = true;
        }
        else
        {
            layoutWindow = context.getPortletWindow(layoutContentFragment);
        }

          context.setAttribute(PortalReservedParameters.MAXIMIZED_FRAGMENT_ATTRIBUTE, window.getFragment());
          layoutWindow.setAttribute(PortalReservedParameters.MAXIMIZED_LAYOUT_ATTRIBUTE, page.getRootFragment());

        try
        {
            renderer.renderNow(window.getFragment(), context);
            if (!maxedLayout)
View Full Code Here

        return getInstantlyCreatedPortletWindow(windowId, portletUniqueName, true);
    }
   
    public PortletWindow resolvePortletWindow(String windowId)
    {
        PortletWindow window = portletWindows.get(windowId);
        if (window == null)
        {
            // ensure RootContentFragment is initialized
            getPage().getRootFragment();
            ContentFragment fragment = getPage().getFragmentById(windowId);
View Full Code Here

        return window;
    }
   
    private PortletWindow createPortletWindow(ContentFragment fragment)
    {
        PortletWindow window = null;
        PortletDefinition pd = rcc.getPortletRegistry().getPortletDefinitionByUniqueName(fragment.getName(), true);
        if (pd != null)
        {
            window = new PortletWindowImpl(this, fragment, pd);
        }
        else
        {
            // invalid window: create one anyway so that this error condition is only "recorded" once for this request
            window = new PortletWindowImpl(this, fragment);
            fragment.overrideRenderedContent("Failed to retrieve Portlet Definition for " + fragment.getName());
            log.error(fragment.getOverriddenContent());
        }
        portletWindows.put(window.getWindowId(), window);
        return window;
    }
View Full Code Here

                    }                       
                }
            }
        }
       
        PortletWindow window = null;
       
        if (portletUniqueName != null)
        {
            // dynamically create instantly rendered content fragment and window
            ContentFragmentImpl fragment = new ContentFragmentImpl(windowId, true);
            fragment.setType(Fragment.PORTLET);
            fragment.setName(portletUniqueName);
            window = createPortletWindow(fragment);
           
            if (register && !registered && window.isValid())
            {
                if (session == null)
                {
                    session = getRequest().getSession(true);
                }
View Full Code Here

       
        List<KeyValue<String, HeadElement>> mergedHeadElements = new TreeList(headElements);
       
        for (String windowId : windowIds)
        {
            PortletWindow window = portletWindows.get(windowId);
           
            if (window != null)
            {
                HeadElementsUtils.aggregateHeadElements(mergedHeadElements, window.getHeadElements());
            }
        }
       
        HeadElementsUtils.mergeHeadElementsByHint(mergedHeadElements);
       
View Full Code Here

TOP

Related Classes of org.apache.jetspeed.container.PortletWindow

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.