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]