Package org.apache.ecs

Examples of org.apache.ecs.ConcreteElement


     * @param returnNull allows the method to return null or not
     * @return the rendered content of the portlet
     */
    public ConcreteElement getPortletById(String peid, boolean returnNull)
    {
        ConcreteElement result = null;
        Portlet found = null;
        Stack sets = new Stack();
        sets.push(rundata.getProfile().getRootSet());

        while ((sets.size() > 0) && (found == null))
        {
            PortletSet set = (PortletSet) sets.pop();

            if (set.getID().equals(peid))
            {
                found = set;
            }
            else
            {
                Enumeration en = set.getPortlets();
                while ((found == null) && en.hasMoreElements())
                {
                    Portlet p = (Portlet) en.nextElement();

                    // unstack the controls to find the real PortletSets
                    Portlet real = p;
                    while (real instanceof PortletControl)
                    {
                        real = ((PortletControl) p).getPortlet();
                    }

                    if (real instanceof PortletSet)
                    {
                        // we'll explore this set afterwards
                        sets.push(real);
                    }
                    else if (p.getID().equals(peid))
                    {
                        found = p;
                    }
                }
            }
        }

        if (found != null)
        {
            // Return portlet's content checking the security first
            result = PortletWrapper.wrap(found).getContent(rundata);
        }

        if (result == null && !returnNull)
        {
            //the customizer already streamed its content, return a stub
            result = new ConcreteElement();
        }

        return result;
    }
View Full Code Here


     * @return the rendered content of the portlet
     */
    public ConcreteElement getPortletFromRegistry(RunData data)
    {

        ConcreteElement result = null;
        Portlet p = null;
        String portletName = data.getParameters().getString("p");
        String controlName = data.getParameters().getString("c");

        try
        {

            // Retrieve registry entry
            PortletEntry entry =
                (PortletEntry) Registry.getEntry(Registry.PORTLET, portletName);

            // Verify security for the parameter
            boolean canAccess =
                JetspeedSecurity.checkPermission(
                    (JetspeedUser) data.getUser(),
                    new PortalResource(entry),
                    JetspeedSecurity.PERMISSION_CUSTOMIZE);

            if (canAccess)
            {
                // Always set portlet id to "preview" so each preview request gets it from the cache.
                // At least, I think that's how it works.
                p = PortletFactory.getPortlet(portletName, "preview");
                PortletControl control =
                    controlName == null
                        ? PortalToolkit.getControl((String) null)
                        : PortalToolkit.getControl(controlName);
                if (control != null)
                {
                    JetspeedRunData jdata = (JetspeedRunData) rundata;
                    // Use the profile's skin
                    p.getPortletConfig().setPortletSkin(
                        PortalToolkit.getSkin(
                            jdata
                                .getProfile()
                                .getDocument()
                                .getPortlets()
                                .getSkin()));
                    control.setPortlet(p);
                    control.init();
                    result = control.getContent(rundata);
                }
                else if (p != null)
                {
                    result = p.getContent(rundata);
                }
            }
            else
            {
                result =
                    new JetspeedClearElement(
                        CustomLocalization.getString(
                            "SECURITY_NO_ACCESS_TO_PORTLET",
                            data));
            }
        }
        catch (Exception e)
        {
            logger.error("Exception", e);
            result = new ConcreteElement();
        }

        if (result == null)
        {
            //the customizer already streamed its content, return a stub
            result = new ConcreteElement();
        }

        return result;
    }
View Full Code Here

    public ConcreteElement getPortletFromRegistry(
        String portletName,
        String controlName)
    {

        ConcreteElement result = null;
        Portlet p = null;

        try
        {
            // Always set portlet id to "preview" so each preview request gets it from the cache.
            // At least, I think that's how it works.
            p = PortletFactory.getPortlet(portletName, "preview");
            PortletControl control =
                controlName == null
                    ? PortalToolkit.getControl((String) null)
                    : PortalToolkit.getControl(controlName);
            if (control != null)
            {
                JetspeedRunData jdata = (JetspeedRunData) rundata;
                // Use the profile's skin
                p.getPortletConfig().setPortletSkin(
                    PortalToolkit.getSkin(
                        jdata
                            .getProfile()
                            .getDocument()
                            .getPortlets()
                            .getSkin()));
                control.setPortlet(p);
                control.init();
                result = control.getContent(rundata);
            }
            else if (p != null)
            {
                result = p.getContent(rundata);
            }
        }
        catch (Exception e)
        {
            logger.error("Exception", e);
            result = new ConcreteElement();
        }

        if (result == null)
        {
            //the customizer already streamed its content, return a stub
            result = new ConcreteElement();
        }

        return result;
    }
View Full Code Here

        }

        RunData data = (RunData) context.get("data");
        CapabilityMap map = ((JetspeedRunData) data).getCapability();
        String type = map.getPreferredType().toString();
        ConcreteElement content = new JetspeedClearElement(INVALID_TYPE);
        String stylesheet = (String) stylesheets.get(type);

        if (stylesheet != null)
        {
View Full Code Here

                logger.error("Exception",  pe);
            }
        }
        CapabilityMap map = ((JetspeedRunData)data).getCapability();
        String type = map.getPreferredType().toString();
        ConcreteElement content = new JetspeedClearElement(INVALID_TYPE);
        String stylesheet = (String)stylesheets.get(type);

        if (stylesheet != null) {
            content = getContent( data, map );
            if ( content == null ) {
View Full Code Here

        Context context = TurbineVelocity.getContext(rundata);
        context.put( "data", rundata);
        TurbineVelocity.getContext(rundata).put("jetspeed", new org.apache.jetspeed.util.template.JetspeedTool(rundata));

        ConcreteElement result = null;
        String controlName = rundata.getParameters().getString("previewedControlName");
        String portletName = rundata.getParameters().getString("previewedPortletName");
        if ( portletName == null )
        {
            JetspeedLink jsLink = null;

            try
            {
                jsLink = JetspeedLinkFactory.getInstance(rundata);
                rundata.setRedirectURI(
                    jsLink.setUser(
                        rundata.getUser().getUserName(), "default.psml")
                    .addPathInfo("template", "Customize")
                    .addPathInfo("media-type", "html")
                    .toString()
                    );
                JetspeedLinkFactory.putInstance(jsLink);
                jsLink = null;
                return new JetspeedClearElement("");
            } catch (Exception e)
            {
                logger.error("Exception",  e);
                rundata.setScreenTemplate("Home");
                return new JetspeedClearElement("");
            }
            //return new JetspeedClearElement("You must specify portlet to preview using [previewedPortletName] parameter");
        }
        Portlet portlet = null;

        try
        {
            portlet = PortletFactory.getPortlet(portletName, "PreviewPortlet");
            PortletControl control = controlName == null ? PortalToolkit.getControl((String)null) :
                                     PortalToolkit.getControl(controlName);
            control = null;
            if ( control != null )
            {
                JetspeedRunData jdata = (JetspeedRunData)rundata;
                // Use the profile's skin
                //portlet.getPortletConfig().setSkin(PortalToolkit.getSkin(jdata.getProfile().getDocument().getPortlets().getSkin()));
                control.setPortlet(portlet);
                control.init();
                result = control.getContent(rundata);
            }
            else if ( portlet != null )
            {
                result = portlet.getContent(rundata);
            }

            if ( result != null && !result.toString().equals("") )
            {
                /*String html =  result.toString();
                String currentURL = rundata.getRequest().getRequestURI();
                Log.debug("PreviewPortlet: currentURL = " + currentURL + " reader value = " + html);
                PreviewRewriter rewriter = new PreviewRewriter(currentURL, currentURL , currentURL, portletName);
View Full Code Here

    /**
    */
    public ConcreteElement getContent(RunData rundata)
    {
        ConcreteElement content = null;
        PortletController controller = getController();
        PortalResource portalResource = new PortalResource(this);

        try
        {
            JetspeedLink jsLink = JetspeedLinkFactory.getInstance(rundata);
            portalResource.setOwner(jsLink.getUserName());
            JetspeedLinkFactory.putInstance(jsLink);
        }
        catch (Exception e)
        {
            logger.warn(e.toString(), e);
            portalResource.setOwner(null);
        }

        if (!JetspeedSecurity.checkPermission((JetspeedUser) rundata.getUser()
                  portalResource, JetspeedSecurity.PERMISSION_VIEW))
        {  
            if ( logger.isDebugEnabled() )
            {
                logger.debug("Unauthorized access by user \"" + rundata.getUser().getUserName() + "\"");
            }
            // Clear any portlets that exist in this set
            if (this.portlets != null)
            {
                this.portlets.clear();
            }
            return new StringElement(CustomLocalization.getString("SECURITY_NO_ACCESS", rundata));
        }
        else
        {
            if ( logger.isDebugEnabled() )
            {
                logger.debug("User \"" + rundata.getUser().getUserName() + "\" is authorized to portlet set " + getID());
            }
        }
           
        if (controller == null)
        {
            Portlet p = getPortletAt(0);
   
            if (p != null)
            {
                content = p.getContent(rundata);
            }
        }
        else
        {
            content = controller.getContent(rundata);
        }

        if (content == null)
        {
            content = new ConcreteElement();
        }
       
        return content;
    }
View Full Code Here

    */
    public ConcreteElement getContent( RunData rundata )
    {

        CapabilityMap map = ((JetspeedRunData)rundata).getCapability();
        ConcreteElement content = null;

        if ( MimeType.WML.equals( map.getPreferredType() ) )
        {
            content = getWMLContent( portlets, rundata );
        }
View Full Code Here

    public ConcreteElement getContent( RunData rundata )
    {
        // Get the data here to allow the portlet to change some internal state
        Portlet portlet = getPortlet();
        String  portletName = portlet.getName();
        ConcreteElement portletContent = portlet.getContent( rundata );

        // default links for buttons (means non visible)
        String hrefConfigure = "";
        String hrefMinimize  = "";
        String hrefRestore   = "";
View Full Code Here

        //if the user requests the results or just votes... then return the
        //vote screen.
        if ( action.equals( VOTE_KEY ) ||
             action.equals( RESULTS_KEY ) ) {

            ConcreteElement results = this.getResults( rundata );
                
            //set this user/IP to already voted.
            if ( action.equals( VOTE_KEY ) ) {
                this.setVoted( true, rundata );
            }
View Full Code Here

TOP

Related Classes of org.apache.ecs.ConcreteElement

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.