Author: woonsan
Date: Wed Dec  9 19:01:03 2009
New Revision: 888923

URL: http://svn.apache.org/viewvc?rev=888923&view=rev
Log:
JS2-1057: Adding a method to retrieve unlocked root fragment.

Modified:
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
    
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
    
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java?rev=888923&r1=888922&r2=888923&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-layout/src/main/java/org/apache/jetspeed/layout/impl/PageLayoutComponentImpl.java
 Wed Dec  9 19:01:03 2009
@@ -1440,7 +1440,28 @@
             throw new PageLayoutComponentException("Unexpected exception: "+e, 
e);
         }
     }
-
+    
+    /* (non-Javadoc)
+     * @see 
org.apache.jetspeed.layout.PageLayoutComponent#getUnlockedRootFragment(org.apache.jetspeed.om.page.ContentPage)
+     */
+    public ContentFragment getUnlockedRootFragment(ContentPage contentPage)
+    {
+        ContentFragment rootFragment = contentPage.getRootFragment();
+        
+        if (rootFragment.isLocked())
+        {
+            for (ContentFragment f : (List<ContentFragment>) 
rootFragment.getFragments())
+            {
+                if (!f.isLocked() && 
f.getType().equals(ContentFragment.LAYOUT))
+                {
+                    return f;
+                }
+            }
+        }
+        
+        return rootFragment;
+    }
+    
     /**
      * Merge content page attributes from source PSML page.
      * 

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java?rev=888923&r1=888922&r2=888923&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/ui/Jetui.java
 Wed Dec  9 19:01:03 2009
@@ -29,6 +29,7 @@
 import org.apache.jetspeed.decoration.Theme;
 import org.apache.jetspeed.headerresource.HeaderResource;
 import org.apache.jetspeed.headerresource.HeaderResourceFactory;
+import org.apache.jetspeed.layout.PageLayoutComponent;
 import org.apache.jetspeed.om.page.ContentFragment;
 import org.apache.jetspeed.pipeline.PipelineException;
 import org.apache.jetspeed.portlet.HeadElement;
@@ -48,12 +49,14 @@
 {
     private PortletRenderer renderer;
     private HeaderResourceFactory headerFactory;
+    private PageLayoutComponent pageLayoutComponent;
     private String layoutTemplate;
     
-    public Jetui(PortletRenderer renderer, HeaderResourceFactory 
headerFactory, String layoutTemplate)
+    public Jetui(PortletRenderer renderer, HeaderResourceFactory 
headerFactory, PageLayoutComponent pageLayoutComponent, String layoutTemplate)
     {
         this.renderer = renderer;
         this.headerFactory = headerFactory;
+        this.pageLayoutComponent = pageLayoutComponent;
         this.layoutTemplate = layoutTemplate;
     }
     
@@ -64,18 +67,7 @@
         {
             RequestDispatcher dispatcher = 
request.getRequest().getRequestDispatcher(layoutTemplate);
             request.setAttribute("jetui", this);
-            ContentFragment rootFragment = 
request.getPage().getRootFragment();     
-            if (rootFragment.isLocked())
-            {
-                for (ContentFragment f : 
(List<ContentFragment>)rootFragment.getFragments())
-                {
-                    if (!f.isLocked() && 
f.getType().equals(ContentFragment.LAYOUT))
-                    {
-                        rootFragment = f;
-                        break;
-                    }
-                }
-            }            
+            ContentFragment rootFragment = 
pageLayoutComponent.getUnlockedRootFragment(request.getPage());
             if (maximized == null)
             {
                 String jetspeedLayout = rootFragment.getName();

Modified: 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java?rev=888923&r1=888922&r2=888923&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
 Wed Dec  9 19:01:03 2009
@@ -280,4 +280,13 @@
      * @param shortTitle page short title
      */
     void updateTitles(ContentPage contentPage, String title, String 
shortTitle);
+    
+    /**
+     * Returns the root fragment which is not locked and not merged from a 
page template
+     * 
+     * @param contentPage content page context
+     * @return
+     */
+    ContentFragment getUnlockedRootFragment(ContentPage contentPage);
+    
 }

Modified: 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml?rev=888923&r1=888922&r2=888923&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
 (original)
+++ 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/pipelines.xml
 Wed Dec  9 19:01:03 2009
@@ -914,10 +914,11 @@
     <meta key="j2:cat" value="default" />
     <constructor-arg><ref 
bean="org.apache.jetspeed.aggregator.PortletRenderer"/></constructor-arg>
     <constructor-arg><ref 
bean="org.apache.jetspeed.headerresource.HeaderResourceFactory"/></constructor-arg>
+    <constructor-arg><ref 
bean="org.apache.jetspeed.layout.PageLayoutComponent" /></constructor-arg>
     
<constructor-arg><value>/WEB-INF/jetui/yui/jetui.jsp</value></constructor-arg>  
      
   </bean>
   
-   <bean id="jetuiAggregator" 
class="org.apache.jetspeed.ui.JetuiAggregatorImpl">
+  <bean id="jetuiAggregator" 
class="org.apache.jetspeed.ui.JetuiAggregatorImpl">
     <meta key="j2:cat" value="default" />
     <constructor-arg index="0">
       <ref bean="org.apache.jetspeed.aggregator.PortletRenderer" />



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org
For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org

Reply via email to