Author: woonsan
Date: Thu Mar 25 11:08:56 2010
New Revision: 927347

URL: http://svn.apache.org/viewvc?rev=927347&view=rev
Log:
JS2-1150: Setting selected status of each layout bean (cached in session) on 
every request based on the root fragment's layout name.

Modified:
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java?rev=927347&r1=927346&r2=927347&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/LayoutBean.java
 Thu Mar 25 11:08:56 2010
@@ -22,6 +22,7 @@ import java.util.List;
 
 import javax.portlet.PortletRequest;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.jetspeed.decoration.DecorationFactory;
 import org.apache.jetspeed.om.page.ContentFragment;
 import org.apache.jetspeed.om.page.ContentPage;
@@ -94,40 +95,39 @@ public class LayoutBean implements Seria
         this.layoutPortlet = layoutPortlet;
     }
     
+    @SuppressWarnings("unchecked")
     public static List<LayoutBean> retrieveLayouts(PortletRequest request, 
DecorationFactory decorationFactory)
     {
-        List<LayoutBean> layouts = 
(List<LayoutBean>)request.getPortletSession().getAttribute("layouts");
-        if (layouts != null)
+        List<LayoutBean> layouts = (List<LayoutBean>) 
request.getPortletSession().getAttribute("layouts");
+        
+        if (layouts == null)
         {
-            return layouts;
+            layouts = new ArrayList<LayoutBean>();
+            // BOZO: support 4 for now, need to localize, formalize etc
+            LayoutBean single = new LayoutBean("OneColumn", "One Column", 
"OneColumn.jpg", "jetspeed-layouts::VelocityOneColumn");
+            layouts.add(single);
+            LayoutBean twoColumns = new LayoutBean("TwoColumn", "Two Columns", 
"TwoColumns.jpg", "jetspeed-layouts::VelocityTwoColumns");
+            layouts.add(twoColumns);
+            LayoutBean threeColumns = new LayoutBean("ThreeColumn", "Three 
Columns", "ThreeColumns.jpg", "jetspeed-layouts::VelocityThreeColumns");
+            layouts.add(threeColumns);
+            LayoutBean fourColumns = new LayoutBean("FourColumn", "Four 
Columns", "FourColumns.jpg", "jetspeed-layouts::VelocityFourColumns");
+            layouts.add(fourColumns);
+            request.getPortletSession().setAttribute("layouts", layouts);
         }
-        layouts = new ArrayList<LayoutBean>();
-        RequestContext rc = (RequestContext) 
request.getAttribute(RequestContext.REQUEST_PORTALENV);
-        // BOZO: support 4 for now, need to localize, formalize etc
-        LayoutBean single = new LayoutBean("OneColumn", "One Column", 
"OneColumn.jpg", "jetspeed-layouts::VelocityOneColumn");
-        layouts.add(single);
-        LayoutBean twoColumns = new LayoutBean("TwoColumn", "Two Columns", 
"TwoColumns.jpg", "jetspeed-layouts::VelocityTwoColumns");
-        layouts.add(twoColumns);
-        LayoutBean threeColumns = new LayoutBean("ThreeColumn", "Three 
Columns", "ThreeColumns.jpg", "jetspeed-layouts::VelocityThreeColumns");
-        layouts.add(threeColumns);
-        LayoutBean fourColumns = new LayoutBean("FourColumn", "Four Columns", 
"FourColumns.jpg", "jetspeed-layouts::VelocityFourColumns");
-        layouts.add(fourColumns);
         
+        RequestContext rc = (RequestContext) 
request.getAttribute(RequestContext.REQUEST_PORTALENV);
         ContentPage page = rc.getPage();
         ContentFragment layoutFragment = 
page.getPageLayoutComponent().getUnlockedRootFragment(page);
         String currentLayoutName = layoutFragment.getName();
         
         for (LayoutBean layout : layouts)
         {
-            if (layout.getLayoutPortlet().equals(currentLayoutName))
-            {
-                layout.setSelected(true);
-            }
+            layout.setSelected(StringUtils.equals(currentLayoutName, 
layout.getLayoutPortlet()));
         }
         
-        request.getPortletSession().setAttribute("layouts", layouts);
         return layouts;
     }
+    
 }
 
  
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to