Package org.apache.jetspeed.om.page

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


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


                throw new Exception("fragment id not provided");
            }
            resultMap.put(FRAGMENTID, fragmentId);
           
            ContentPage page = requestContext.getPage();           
            ContentFragment fragment = page.getContentFragmentById(fragmentId);
           
            if ( fragment == null )
            {
              throw new Exception( "fragment specified by id cannot be found" );
            }
            String requestedState = getActionParameter(requestContext, WINDOW_STATE);
            String requestedMode = getActionParameter(requestContext, PORTLET_MODE);   
            if ( "layout".equals( fragment.getType() ) )
            {
              if ( ! fragment.getId().equals( page.getRootFragment().getId() ) )
              {
                throw new Exception( "for layout fragments, change action applies to only to the root layout fragment (i.e. it does not apply to nested layout fragments)" );
              }
              PageActionAccess pageActionAccess = (PageActionAccess)requestContext.getAttribute( PortalReservedParameters.PAGE_EDIT_ACCESS_ATTRIBUTE );
              if ( pageActionAccess == null )
              {
                throw new Exception( "cannot change action for root layout fragment due to null PageActionAccess object" );
              }
              //pageActionAccess.
              PortletWindow window = windowAccessor.getPortletWindow(fragment);
              PortletMode currentMode = requestContext.getPortalURL().getNavigationalState().getMode( window );
              WindowState currentState = requestContext.getPortalURL().getNavigationalState().getState( window );
             
              boolean requestedModeAlreadySet = false;
              if ( requestedMode == null )
                requestedModeAlreadySet = true;
              else
              {
                if ( requestedMode.equals( PortletMode.EDIT.toString() ) )
                {
                  if( pageActionAccess.isEditing() )
                    requestedModeAlreadySet = true;
                  else
                  {
                    if ( pageActionAccess.isEditAllowed())
                    {
                      pageActionAccess.setEditing( true );
                      resultMap.put(STATUS, status);
                      resultMap.put(OLD_PORTLET_MODE, currentMode.toString());
                      resultMap.put(PORTLET_MODE, requestedMode);
                    }
                    else
                    {
                      throw new Exception( "permissions do no allow page edit" );
                    }
                  }
                }
                else if ( requestedMode.equals( PortletMode.VIEW.toString() ) )
                {
                  pageActionAccess.setEditing( false );
                  //if ( currentMode.equals( PortletMode.HELP ) )
                  resultMap.put(STATUS, status);
                  resultMap.put(OLD_PORTLET_MODE, currentMode.toString());
                  resultMap.put(PORTLET_MODE, requestedMode);
                }
                else
                {
                  requestedModeAlreadySet = true;
                }
              }
              if ( requestedModeAlreadySet )
              {
                 resultMap.put(STATUS, status);
                 resultMap.put(OLD_PORTLET_MODE, currentMode.toString());
                 resultMap.put(PORTLET_MODE, currentMode.toString());
               }
            }
            else
            {
              if (requestedState == null && requestedMode == null)
              {
                  throw new Exception("portlet window state or mode not provided");
              }          
              if (requestedState != null && !isValidWindowState(requestedState))
              {
                  throw new Exception("portlet window state " + requestedState + " is not supported");
              }
              if (requestedMode != null && !isValidPortletMode(requestedMode))
              {
                  throw new Exception("portlet mode " + requestedMode + " is not supported");
              }
 
             
              String oldState = fragment.getState();
              String oldMode = fragment.getMode();
             
              // Now Change the transient navigational state
              MutableNavigationalState navState = (MutableNavigationalState)requestContext.getPortalURL().getNavigationalState();
              PortletWindow portletWindow = windowAccessor.getPortletWindow(fragment);
              if (portletWindow != null)
              {
                  oldState = navState.getState(portletWindow).toString();
                  oldMode =  navState.getMode(portletWindow).toString();
                  if (requestedState != null)
                  {
                      navState.setState(portletWindow, new WindowState(requestedState));
                  }
                  if (requestedMode != null)
                  {
                      navState.setMode(portletWindow, new PortletMode(requestedMode));
                  }
                  navState.sync(requestContext);                               
              }
             
 
              if (checkAccess(requestContext, JetspeedActions.EDIT))
              {
                  if (requestedState != null)
                      fragment.setState(requestedState);
                  if (requestedMode != null)
                      fragment.setMode(requestedMode);
                 
                  if (pageManager != null && !batch)
                  {
                      pageManager.updatePage(page);
                  }
View Full Code Here

        assertNotNull("Portlet Def is null", pd);

        Mock mockf1 = new Mock(Fragment.class);
        mockf1.expects(new InvokeAtLeastOnceMatcher()).method("getName").will(new ReturnStub(pd.getUniqueName()));
        mockf1.expects(new InvokeAtLeastOnceMatcher()).method("getId").will(new ReturnStub(TEST_ENTITY));
        ContentFragment f1 = new ContentFragmentTestImpl((Fragment) mockf1.proxy(), new HashMap());

        MutablePortletEntity entity = entityAccess
                .generateEntityFromFragment(new ContentFragmentTestImpl(f1, new HashMap()));
        PreferenceSetComposite prefs = (PreferenceSetComposite) entity.getPreferenceSet();
        prefs.remove("pref1");
        assertNotNull(prefs);
        assertNull(prefs.get("pref1"));

        // test adding a pref
        prefs.add("pref1", Arrays.asList(new String[]
        { "1" }));
        assertNotNull(prefs.get("pref1"));

        // Remove should return the deleted pref
        assertNotNull(prefs.remove("pref1"));

        // Should be gone
        assertNull(prefs.get("pref1"));

        // Add it back so we can test tole back
        prefs.add("pref1", Arrays.asList(new String[]
        { "1" }));

        entityAccess.storePortletEntity(entity);

        prefs = (PreferenceSetComposite) entity.getPreferenceSet();

        assertNotNull(prefs.get("pref1"));

        PreferenceComposite pref = (PreferenceComposite) prefs.get("pref1");

        assertEquals("1", pref.getValueAt(0));

        pref.setValueAt(0, "2");

        assertEquals("2", pref.getValueAt(0));

        entity.reset();

        pref = (PreferenceComposite) prefs.get("pref1");

        assertEquals("1", pref.getValueAt(0));

        prefs.remove(pref);

        assertNull(prefs.get("pref1"));

        entity.reset();

        assertNotNull(prefs.get("pref1"));

        prefs.add("pref2", Arrays.asList(new String[]
        { "2", "3" }));

        entity.store();

        PreferenceComposite pref2 = (PreferenceComposite) prefs.get("pref2");

        assertNotNull(pref2);

        Iterator prefsValues = pref2.getValues();
        int count = 0;
        while (prefsValues.hasNext())
        {
            prefsValues.next();
            count++;
        }

        assertEquals(2, count);

        pref2.addValue("4");
        prefsValues = pref2.getValues();
        count = 0;
        while (prefsValues.hasNext())
        {
            assertEquals(String.valueOf(count + 2), prefsValues.next());
            count++;
        }
        assertEquals(3, count);

        entity.reset();

        prefsValues = pref2.getValues();
        count = 0;
        while (prefsValues.hasNext())
        {
            assertEquals(String.valueOf(count + 2), prefsValues.next());
            count++;
        }
        assertEquals(2, count);

        // testing preferences null values assignments fix, issue JS2-607
        pref2.setValueAt(0, null);       
        assertNull("pref2.value[0] should be null", pref2.getValueAt(0));       
        String[] values = pref2.getValueArray();
        assertEquals(2, values.length);
        assertNull("pref2.value[0] should be null", values[0]);
        assertEquals("3", values[1]);
        pref2.setValues(new String[]{"2",null,"3"});
        assertNull("pref2.value[1] should be null", pref2.getValueAt(1));
        values = pref2.getValueArray();
        assertEquals(3, values.length);
        assertEquals("2", values[0]);
        assertNull("pref2.value[1] should be null", values[1]);
        assertEquals("3", values[2]);
        assertTrue(pref2.isValueSet());
        pref2.setValues((String[])null);
        assertFalse(pref2.isValueSet());
        assertTrue(pref2.getValueArray().length == 0);
        entity.reset();
        assertTrue(pref2.getValueArray().length == 2);
        pref2.setValues(new String[]{});
        assertFalse(pref2.isValueSet());
        assertTrue(pref2.getValueArray().length == 0);
        entity.reset();
        assertTrue(pref2.getValueArray().length == 2);

        MutablePortletEntity entity2 = entityAccess.getPortletEntityForFragment(f1);
        assertTrue("entity id ", entity2.getId().toString().equals(TEST_ENTITY));
        assertNotNull("entity's portlet ", entity2.getPortletDefinition());
        mockf1.verify();

        Mock mockf2 = new Mock(Fragment.class);
        mockf2.expects(new InvokeAtLeastOnceMatcher()).method("getName").will(new ReturnStub(pd.getUniqueName()));
        ContentFragment f2 = new ContentFragmentTestImpl((Fragment) mockf2.proxy(), new HashMap());

        MutablePortletEntity entity5 = entityAccess.newPortletEntityInstance(pd);

        System.out.println("before storing entity: " + entity5.getId());
View Full Code Here

        processRenderingJob(job, false);
    }

    protected void processRenderingJob(RenderingJob job, boolean parallelOnly)
    {
        ContentFragment fragment = null;

        try
        {
            if (parallelOnly || job.getTimeout() > 0)
            {
                workMonitor.process(job);
            }
            else
            {
                job.execute();
                addTitleToHeader(job.getWindow(), job.getFragment(),
                                 job.getRequest(), job.getResponse(), job.getDispatcher(),
                                 job.isContentCached());               
            }
        }
        catch (Exception e1)
        {
            log.error("render() failed: " + e1.toString(), e1);
            fragment.overrideRenderedContent(e1.getLocalizedMessage());           
        }
    }
View Full Code Here

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

        ContentFragment root = page.getRootContentFragment();

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

        // add named-resources and named-resources-added maps as request attributes
        Map dynamicConfigDefault = getHeaderDynamicConfigurationDefault();
        Map namedResourcesDefault = getHeaderNamedResourcesDefault();
        Map namedResourcesAddedFragmentsDefault = getHeaderNamedResourcesAddedFragmentsDefault();
       
        /*if ( log.isDebugEnabled() && namedResourcesDefault != null )
        {
            Iterator namedResourcesDefaultIter = namedResourcesDefault.entrySet().iterator();
            while ( namedResourcesDefaultIter.hasNext() )
            {
                Map.Entry rsrcEntry = (Map.Entry)namedResourcesDefaultIter.next();
                Object rsrcVal = rsrcEntry.getValue();
                log.debug( rsrcEntry.getKey().toString() + ": " + EOL + ( rsrcVal != null ? rsrcVal.toString() : "null" ) );
            }
        }*/
       
        if ( dynamicConfigDefault != null || namedResourcesDefault != null || namedResourcesAddedFragmentsDefault != null )
        {
            Map existingNamedResources = (Map)context.getAttribute( PortalReservedParameters.HEADER_NAMED_RESOURCE_ATTRIBUTE );
            if ( existingNamedResources == null )
            {
                if ( dynamicConfigDefault == null )
                {
                    context.setAttribute( PortalReservedParameters.HEADER_CONFIGURATION_ATTRIBUTE, new HashMap() );
                }
                else
                {
                    HashMap dynamicConfig = new HashMap();
                    Iterator hConfigEntryIter = dynamicConfigDefault.entrySet().iterator();
                    while ( hConfigEntryIter.hasNext() )
                    {
                        Map.Entry hConfigEntry = (Map.Entry)hConfigEntryIter.next();
                        Object hConfigKey = hConfigEntry.getKey();
                        Object hConfigVal = hConfigEntry.getValue();
                        if ( hConfigVal instanceof Map )
                        {
                            dynamicConfig.put( hConfigKey, new HashMap( (Map)hConfigVal ) );
                        }
                        else if ( hConfigVal instanceof List )
                        {
                            dynamicConfig.put( hConfigKey, new ArrayList( (List)hConfigVal ) );
                        }
                        else
                        {
                            dynamicConfig.put( hConfigKey, hConfigVal );
                        }
                    }
                    context.setAttribute( PortalReservedParameters.HEADER_CONFIGURATION_ATTRIBUTE, dynamicConfig );
                }
               
                if ( namedResourcesDefault != null )
                {
                    context.setAttribute( PortalReservedParameters.HEADER_NAMED_RESOURCE_ATTRIBUTE, new HashMap( namedResourcesDefault ) );
                }
                if ( namedResourcesAddedFragmentsDefault != null )
                {
                    context.setAttribute( PortalReservedParameters.HEADER_NAMED_RESOURCE_ADDED_FRAGMENTS_ATTRIBUTE, new HashMap( namedResourcesAddedFragmentsDefault ) );
                }
            }
        }
        if ( getHeaderResourceRegistry() != null )
        {
            context.setAttribute( PortalReservedParameters.HEADER_NAMED_RESOURCE_REGISTRY_ATTRIBUTE, getHeaderResourceRegistry() );
        }
       
        // handle maximized state
        boolean atLeastOneHasHeaderPhase = false;
        NavigationalState nav = context.getPortalURL().getNavigationalState();
        PortletWindow window = nav.getMaximizedWindow();
        if ( null != window )
        {
            ContentFragment maxedContentFragment = page.getContentFragmentById( window.getId().toString() );
            if ( maxedContentFragment != null )
            {
                atLeastOneHasHeaderPhase = renderHeaderFragment( context, maxedContentFragment );
            }
        }
View Full Code Here

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

       
        if (layout != null)
        {
            try
            {
                ContentFragment layoutFragment = requestContext.getPage().getNonTemplateRootFragment();
                pageLayoutComponent.updateName(layoutFragment, layout);
                actionRequest.getPortletSession().removeAttribute("layouts");
            }
            catch (Exception e)
            {
View Full Code Here

  private Map getUserPortlet(ContentPage page) {
    int portletCount = 0;
    Map map = new HashMap();
    try
    {
      ContentFragment fragment;
      Iterator it = page.getRootFragment().getFragments().iterator();
      while (it.hasNext()) {
        fragment = (ContentFragment) it.next();
        if (map.containsKey(fragment.getName())) {
          portletCount =((Integer) map.get(fragment.getName())).intValue();       
          map.put(fragment.getName(), new Integer(portletCount + 1));         
        } else {
          map.put(fragment.getName(), new Integer(1));
        }
      }
    }
    catch (Exception e)
    {
View Full Code Here

    }

    public void testWindowAccess() throws Exception
    {
        List windows = new ArrayList();
        ContentFragment f1 = new ContentFragmentImpl((Fragment) fragMock.proxy(), new HashMap());
        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

    public void setCurrentLayout()
    {
        checkState();

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

TOP

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

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.