Package org.apache.jetspeed.om.page

Examples of org.apache.jetspeed.om.page.Fragment


    /* (non-Javadoc)
     * @see org.apache.jetspeed.page.PageManager#newFragment()
     */
    public Fragment newFragment()
    {
        Fragment fragment = null;
        try
        {
            fragment = (Fragment)createObject(this.fragmentClass);
            fragment.setType(Fragment.LAYOUT);
            fragment.setId(generator.getNextPeid());
        }
        catch (ClassCastException e)
        {
            String message = "Failed to create fragment object for " + this.fragmentClass;
            log.error(message, e);
View Full Code Here


    /* (non-Javadoc)
     * @see org.apache.jetspeed.page.PageManager#newPortletFragment()
     */
    public Fragment newPortletFragment()
    {
        Fragment fragment = null;
        try
        {
            fragment = (Fragment)createObject(this.fragmentClass);
            fragment.setType(Fragment.PORTLET);         
            fragment.setId(generator.getNextPeid());
        }
        catch (ClassCastException e)
        {
            String message = "Failed to create fragment object for " + this.fragmentClass;
            log.error(message, e);
View Full Code Here

            copy.getPreferences().add(newPref);
        }

        if (source instanceof Fragment)
        {
            Fragment copyFragment = (Fragment)copy;
            Fragment sourceFragment = (Fragment)source;
            if (name == null)
            {
                name = sourceFragment.getName();
            }
            copyFragment.setName(name);
            copyFragment.setType(sourceFragment.getType());

            // recursively copy fragments
            Iterator fragments = sourceFragment.getFragments().iterator();
            while (fragments.hasNext())
            {
                BaseFragmentElement fragment = (BaseFragmentElement)fragments.next();
                BaseFragmentElement copiedFragment = copyFragment(fragment, null, copyIds);
                copyFragment.getFragments().add(copiedFragment);
            }
        }
        else if (source instanceof FragmentReference)
        {
            FragmentReference copyFragment = (FragmentReference)copy;
            FragmentReference sourceFragment = (FragmentReference)source;
            copyFragment.setRefId(sourceFragment.getRefId());           
        }

        return copy;
    }
View Full Code Here

     */
    public boolean equals( Object obj )
    {
        if (obj != null && obj instanceof Fragment)
        {
            Fragment aFragment = (Fragment) obj;
            return getId().equals(aFragment.getId());
        }
        else
        {
            return false;
        }
View Full Code Here

    }

    public void testWindowAccess() throws Exception
    {
        List windows = new ArrayList();
        Fragment f1 = (Fragment) fragMock.proxy();
        MutablePortletEntity entity = (MutablePortletEntity) entityMock.proxy();
        CompositeWindowList windowList = (CompositeWindowList) windowListMock.proxy();
        entityAccessMock.expects(new InvokeAtLeastOnceMatcher()).method("getPortletEntityForFragment")
                .withAnyArguments().will(new ReturnStub(entity));
        fragMock.expects(new InvokeAtLeastOnceMatcher()).method("getId").withNoArguments()
View Full Code Here

    /* (non-Javadoc)
     * @see org.apache.jetspeed.aggregator.Aggregator#build(org.apache.jetspeed.request.RequestContext)
     */
    public void build(RequestContext context) throws JetspeedException, IOException
    {
        Fragment fragment = new FragmentImpl(); // TODO: fragment factory
        fragment.setType(Fragment.PORTLET);
        fragment.setName(context.getRequestParameter(PortalReservedParameters.PORTLET));
        String entity = context.getRequestParameter(PortalReservedParameters.PORTLET_ENTITY);
        if (entity == null)
        {
            entity = (String)context.getAttribute(PortalReservedParameters.PORTLET_ENTITY);         
        }
        fragment.setId(entity)
        
        String decorator = fragment.getDecorator();
        if( decorator == null)
        {
           // decorator = context.getPage().getDefaultDecorator(fragment.getType());
            log.debug("No sepecific decorator portlet so using page default: "+decorator);
        }
       

        ContentDispatcher dispatcher = renderer.getDispatcher(context, false);
        renderer.renderNow(fragment, context);
//       dispatcher.include(fragment);
        context.getResponse().getWriter().write(fragment.getRenderedContent());
       
    }
View Full Code Here

    public void setCurrentLayout()
    {
        checkState();

        Fragment f = (Fragment) getRequestContext().getRequest().getAttribute(LAYOUT_ATTR);
        renderRequest.setAttribute(LAYOUT_ATTR, f);
    }
View Full Code Here

        if (null == page)
        {
            throw new JetspeedException("Failed to find PSML Pin PageAggregator.build");
        }

        Fragment root = page.getRootFragment();

        if (root == null)
        {
            throw new JetspeedException("No root Fragment found in Page");
        }

        String layoutDecorator = root.getDecorator();
        if (layoutDecorator == null)
        {
            layoutDecorator = page.getDefaultDecorator(root.getType());
        }

        String defaultPortletDecorator = page.getDefaultDecorator(Fragment.PORTLET);

        ///////////////////////////////////////////////////////////////////////////////////////////////
        //TODO: Remove hard coding of locations and use CM + TL
        //      DST: Im going to encapsulate this into a class, which can be accessed
        // by
        //           the PowerTool when aggregating content, and make sure to modify the
        // search path
        //           according to the current decorator. Assigned issue to JiRa JS2-24
        List contentPathes = (List) context.getSessionAttribute(ContentFilter.SESSION_CONTENT_PATH_ATTR);

        if (contentPathes == null)
        {
            contentPathes = new ArrayList(2);
            context.setSessionAttribute(ContentFilter.SESSION_CONTENT_PATH_ATTR, contentPathes);
        }
        String mediaType = context.getCapabilityMap().getPreferredMediaType().getName();
        if (contentPathes.size() < 1)
        {
            // define the lookup order

            contentPathes.add(root.getType() + "/" + mediaType + "/" + layoutDecorator);
            Iterator defaults = fallBackContentPathes.iterator();
            while (defaults.hasNext())
            {
                String path = (String) defaults.next();
                contentPathes.add(path.replaceAll("\\{mediaType\\}", mediaType));
            }

        }
        else
        {
            contentPathes.set(0, root.getType() + "/" + mediaType + "/" + layoutDecorator);
        }

        if (layoutDecorator != null)
        {
            addStyle(context, layoutDecorator, Fragment.LAYOUT);
        }

        ///////////////////////////////////////////////////////////////////////////////////////////////
        ContentDispatcher dispatcher = renderer.getDispatcher(context, (strategy == STRATEGY_PARALLEL));
        // handle maximized state
        NavigationalState nav = context.getPortalURL().getNavigationalState();
        PortletWindow window = nav.getMaximizedWindow();
        if (null != window)
        {
            renderMaximizedWindow(context, page, root, window);
        }
        else
        {
            aggregateAndRender(root, context, page);
        }
       
        //dispatcher.include(root);
        context.getResponse().getWriter().write(root.getRenderedContent());

        if (null != window)
        {
            context.getRequest().removeAttribute(PortalReservedParameters.MAXIMIZED_FRAGMENT_ATTRIBUTE);
            context.getRequest().removeAttribute(PortalReservedParameters.MAXIMIZED_LAYOUT_ATTRIBUTE);
View Full Code Here

     */
    protected void renderMaximizedWindow( RequestContext context, Page page, Fragment layoutFragment,
            PortletWindow window ) throws FailedToRenderFragmentException
    {
        String defaultPortletDecorator = page.getDefaultDecorator(Fragment.PORTLET);
        Fragment maxedFragment = page.getFragmentById(window.getId().toString());
        if (maxedFragment != null)
        {
            context.getRequest().setAttribute(PortalReservedParameters.MAXIMIZED_FRAGMENT_ATTRIBUTE, maxedFragment);
            context.getRequest().setAttribute(PortalReservedParameters.FRAGMENT_ATTRIBUTE, maxedFragment);
            context.getRequest().setAttribute(PortalReservedParameters.MAXIMIZED_LAYOUT_ATTRIBUTE, page.getRootFragment());

            if (maxedFragment.getDecorator() != null)
            {
                log.debug("decorator=" + layoutFragment.getDecorator());
                addStyle(context, maxedFragment.getDecorator(), Fragment.PORTLET);
            }
            else
            {
                log.debug("no decorator for defined for portlet fragement," + layoutFragment.getId()
                        + ".  So using page default, " + defaultPortletDecorator);
                addStyle(context, defaultPortletDecorator, Fragment.PORTLET);
            }
            try
            {
                renderer.renderNow(maxedFragment, context);
                renderer.renderNow(layoutFragment, context);             
               
            }
            catch (Exception e)
            {
                log.error(e.getMessage(), e);
                maxedFragment.overrideRenderedContent("Sorry, but we were unable access the requested portlet.  Send the following message to your portal admin:  "+  e.getMessage());
            }


        }
    }
View Full Code Here

        if (f.getFragments() != null && f.getFragments().size() > 0)
        {
            Iterator children = f.getFragments().iterator();
            while (children.hasNext())
            {
                Fragment child = (Fragment) children.next();
                if (!"hidden".equals(f.getState()))
                {
                    aggregateAndRender(child, context, page);
                }
            }
View Full Code Here

TOP

Related Classes of org.apache.jetspeed.om.page.Fragment

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.