[jboss-svn-commits] JBL Code SVN: r11150 - in labs/jbosslabs/trunk/portal-extensions: forge-portlets/src/java/org/jboss/forge/projects/admin/pages and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Apr 20 07:00:44 EDT 2007


Author: wrzep
Date: 2007-04-20 07:00:44 -0400 (Fri, 20 Apr 2007)
New Revision: 11150

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/DummyConverter.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PortletsHeightComparator.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/ContentBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml
Log:
JBLAB-849 (simplified and more flexible pages admin)

jsf tips: if jsf claims it can't convert String to String use DummyConverter.

-Pawel


Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/DummyConverter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/DummyConverter.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/DummyConverter.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.forge.common;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+
+public class DummyConverter implements Converter {
+
+	public Object getAsObject(FacesContext context, UIComponent comp,
+			String value) throws ConverterException {
+		
+		return value;
+	}
+
+	public String getAsString(FacesContext context, UIComponent component,
+			Object object) throws ConverterException {
+		
+		if (object == null) {
+			return null;
+		}
+		
+		return object.toString();
+	}
+
+}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/ContentBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/ContentBean.java	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/ContentBean.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -65,16 +65,5 @@
 		
 		return list;
 	}
-	
-	public List<SelectItem> getAvailableLayout() {
-		
-		List<SelectItem> list = new ArrayList<SelectItem>();
-		
-		//list.add(new SelectItem(1, "1 Column"));
-		list.add(new SelectItem(2, "2 Column"));
-		list.add(new SelectItem(3, "3 Column"));
-		
-		return list;
-	}
 
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -41,20 +41,14 @@
 	private Pages pages;
 	
 	private String selectedPage;
-	private int selectedLayout;
-	private int layout;
 	private List<String> selectedContent;
 	
-	private String selectedLeftContent;
-	private String selectedMiddleContent;
-	private String selectedRightContent;
+	private String selectedPageContent;
 	
-	private String selectedColumn;
-	private String selectedColumnContent;
-	
 	List<PreferenceBean> preferences;
 	
 	private Page page;
+	private Portlet portlet;
 	
 	public PagesAdminBean() {
 		
@@ -86,12 +80,8 @@
 		
 		page = PagesAdminTools.findPage(pages, selectedPage);	
 		
-		selectedColumn = null;
-		selectedColumnContent = null;
-		clearSelections();
+		setPreferences();
 		
-		layout = PagesAdminTools.getLayout(page);
-		
 		return "";
 	}
 	
@@ -103,8 +93,6 @@
 		
 		editPage();
 		
-		selectedLayout = layout = 3;
-		
 		return "";
 	}
 	
@@ -129,109 +117,55 @@
 	
 	public String addContent() {
 		
-		String column = FacesTools.getRequestParameter("column");
+		int height = PagesAdminConstants.DEFAULT_HEIGHT;
+		String region = PagesAdminConstants.DEFAULT_REGION;
 		
-		int height = PagesAdminTools.getContent(page, column).size() + 1; // Append to the end.
-		
 		for (String portletName : selectedContent) {
-			PagesAdminTools.addContent(page, portletName, column, height);
+			PagesAdminTools.addContent(page, portletName, region, height);
 		}
-		clearSelections();	
+		setPreferences();	
 		return "";
 	}
 	
 	public String removeContent() {
 		
-		PagesAdminTools.removeContent(page, selectedColumnContent, selectedColumn);
-		clearSelections();
+		PagesAdminTools.removeContent(page, selectedPageContent);
 		
+		clearPreferences();
+		
 		return "";
 	}
 	
-	private String selectedColumnContent(String column) {
-		
-		if (column.equals("left")) { return selectedLeftContent; }
-		else if (column.equals("center")) { return selectedMiddleContent; }
-		return selectedRightContent;
-	}
+	public String selectPageContent() {
 	
-	public String moveContentUp() {
+		System.out.println("SELECT PAGE CONTENT " + selectedPageContent);
+		setPreferences();
 		
-		int n = Integer.parseInt(selectedColumnContent);
-		PagesAdminTools.moveContentUp(page, n, selectedColumn);
-		clearSelections();
 		return "";
 	}
 	
-	public String moveContentDown() {
+	private void clearPreferences() {
 		
-		int n = Integer.parseInt(selectedColumnContent);
-		PagesAdminTools.moveContentUp(page, n + 1, selectedColumn);
-		clearSelections();
-		return "";
+		preferences = null;
+		portlet = null;
 	}
 	
-	public void clearSelections() {
-		
-		if (!"left".equals(selectedColumn)) { selectedLeftContent = null; }
-		if (!"center".equals(selectedColumn)) { selectedMiddleContent = null; }
-		if (!"right".equals(selectedColumn)) { selectedRightContent = null; }
-		setPreferences();
-	}
-	
-	public String selectColumnContent() {
-		
-		selectedColumn = FacesTools.getRequestParameter("column");
-		selectedColumnContent = selectedColumnContent(selectedColumn);
-		clearSelections();
-		return "";
-	}
-	
 	private void setPreferences() {
 		
-		if ((selectedColumn == null) || (selectedColumnContent == null)) {
+		if (selectedPageContent == null) {
+			clearPreferences();
 			return;
 		}	
-		Portlet portlet = PagesAdminTools.findPortlet(page, selectedColumnContent, selectedColumn);
+		portlet = PagesAdminTools.findPortlet(page, selectedPageContent);
 		
+		System.out.println("SET PREFS " + portlet.getRegion());
+		
 		preferences = PagesAdminTools.getPreferences(portlet);
+		
+		
+		setHeight(portlet.getHeight());
 	}
 	
-	 public String changeLayout() {
-		 
-		switch (selectedLayout) {
-		case 1:
-			if (getLeftContent().size() > 0 ) {
-				return PagesAdminConstants.CONFIRM_CHANGE_LAYOUT;
-			}
-		case 2:
-			if (getRightContent().size() > 0) {
-				return PagesAdminConstants.CONFIRM_CHANGE_LAYOUT;
-			}
-		}
-			
-		return performChangeLayout();
-	 }
-	
-	 public String performChangeLayout() {
-		 
-		 layout = selectedLayout;
-		 
-		 switch (layout) {
-		 case 1:
-			 PagesAdminTools.removeColumn(page, "left");
-		 case 2:
-			 PagesAdminTools.removeColumn(page, "right");
-		 }
-		 
-		 return PagesAdminConstants.EDIT_PAGES;
-	 }
-	 
-	 public String cancelChangeLayout() {
-		 
-		 return PagesAdminConstants.EDIT_PAGES;
-	 }
-	 
 	/* getters and setters */
 		
 	public String getTitle() {
@@ -247,18 +181,10 @@
 		return PagesAdminTools.getPages(pages);
 	}
 	
-	public List<SelectItem> getLeftContent() {	
-		return PagesAdminTools.getContent(page, "left");
+	public List<SelectItem> getPageContent() {	
+		return PagesAdminTools.getPageContent(page);
 	}
 	
-	public List<SelectItem> getMiddleContent() {	
-		return PagesAdminTools.getContent(page, "center");
-	}
-	
-	public List<SelectItem> getRightContent() {	
-		return PagesAdminTools.getContent(page, "right");
-	}
-	
 	/******************************/
 	
 	public List<PreferenceBean> getPreferences() {
@@ -281,44 +207,63 @@
 	public void setSelectedPage(String selectedPage) {
 		this.selectedPage = selectedPage;
 	}
-
-	public int getSelectedLayout() {
-		return selectedLayout;
+	
+	public String getSelectedPageContent() {
+		return selectedPageContent;
 	}
 
-	public void setSelectedLayout(int selectedLayout) {
-		this.selectedLayout = selectedLayout;
+	public void setSelectedPageContent(String selectedPageContent) {
+		this.selectedPageContent = selectedPageContent;
 	}
 	
-	public String getSelectedLeftContent() {
-		return selectedLeftContent;
+	public Pages getPages() {
+		return pages;
 	}
-
-	public void setSelectedLeftContent(String selectedLeftContent) {
-		this.selectedLeftContent = selectedLeftContent;
+	
+	public Portlet getPortlet() {
+		return portlet;
+		//return PagesAdminTools.findPortlet(page, selectedPageContent);
 	}
-
-	public String getSelectedMiddleContent() {
-		return selectedMiddleContent;
+	
+	public String getHeight() {
+		
+		Portlet portlet = getPortlet();
+		
+		return (portlet == null) ? null : portlet.getHeight();
 	}
-
-	public void setSelectedMiddleContent(String selectedMiddleContent) {
-		this.selectedMiddleContent = selectedMiddleContent;
+	
+	public void setHeight(String value) {
+		
+		Portlet portlet = getPortlet();
+		
+		if (portlet != null) {
+			portlet.setHeight(value);
+		}
 	}
-
-	public String getSelectedRightContent() {
-		return selectedRightContent;
-	}
-
-	public void setSelectedRightContent(String selectedRightContent) {
-		this.selectedRightContent = selectedRightContent;
-	}
 	
-	public Pages getPages() {
-		return pages;
+	public String getRegion() {
+		
+		Portlet portlet = getPortlet();
+		
+		System.out.println("getRegion " + portlet + ((portlet == null) ? null : (portlet.getName() + " " + portlet.getRegion().getClass())));
+		
+		return (portlet == null) ? null : portlet.getRegion();
 	}
 	
-	public int getLayout() {
-		return layout;
+	public void setRegion(String value) {
+/*
+		if ((FacesTools.getRequestParameter("doNotSetHR") != null) ||
+				(FacesTools.getRequestParameter("doNotSetHR").equals("true"))) {
+			System.out.println("skipped");
+			return;
+		}*/
+		
+		System.out.println("SET REGION " + value + " " + selectedPageContent);
+		
+		Portlet portlet = getPortlet();
+		
+		if (portlet != null) {
+			portlet.setRegion(value);
+		}
 	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -35,6 +35,9 @@
 	public static final String CONFIRM_CHANGE_LAYOUT 	= "confirmChangeLayout";
 	
 	public static final String EDIT_PAGES 				= "edit-pages";
+	
+	public static final 	int DEFAULT_HEIGHT 				= 1;
+	public static final String DEFAULT_REGION 			= "center";
 
 }
 		
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -76,42 +76,23 @@
 		return PagesAdminConstants.DEFAULT_PAGE.equals(title) ? "" : title;
 	}
 
-	public static List<SelectItem> getContent(Page page, String column) {
+	public static List<SelectItem> getPageContent(Page page) {
 		
 		List<SelectItem> contentList = new ArrayList<SelectItem>();
 		
-		List<Portlet> portlets = sortPortlets((List) page.getPortlets());
+		List<Portlet> portlets = (List<Portlet>) page.getPortlets();
 		
-		int i = 1;
+		int i = 0;
 		for (Portlet portlet :	portlets) {
 			
-			if (column.equals(portlet.getRegion())) {
-				contentList.add(new SelectItem(Integer.toString(i), portlet.getName()));
-				portlet.setHeight(Integer.toString(i));
-				i++;
-			}
+			contentList.add(
+					new SelectItem(Integer.toString(i), Integer.toString(i) + portlet.getName()));	
+			i++;
 		}
 
 		return contentList;
 	}
 
-	@SuppressWarnings("unchecked")
-	private static List<Portlet> sortPortlets(List portlets) {
-		
-		Comparator<Portlet> portletsComparator = new PortletsHeightComparator();
-			            // Create new list since CopyOnWriteArrayList iterator
-					    // doesn't support set operation
-						// DO NOT use ArrayList(portlets) here. It will NOT work.
-		List<Portlet> ret = new ArrayList();
-		for (Object p : portlets) {
-			ret.add((Portlet) p);
-		}
-		
-		Collections.sort(ret, portletsComparator);
-		
-		return ret;
-	}
-
 	public static List<SelectItem> getPages(Pages pages) {
 		
 		List<SelectItem> projectPages = new ArrayList<SelectItem>();
@@ -147,9 +128,14 @@
 		List<Portlet> portletsList = (List<Portlet>) page.getPortlets();
 		
 		portletsList.add(portlet);
+		/*
+		System.out.println("ADD CONTENT " + portlet.getRegion());
+		for (Portlet p : portletsList) {
+			System.out.println("p " + p.getName() + " " + p.getRegion());
+		}*/
 	}
 
-	public static void removeContent(Page page, String contentToRemove, String column) {
+	public static void removeContent(Page page, String contentToRemove) {
 		
 		if ((contentToRemove == null) || (contentToRemove.length() == 0)) {
 			return;
@@ -157,73 +143,26 @@
 		
 		int n = Integer.parseInt(contentToRemove);
 		
-		List<Portlet> portlets = sortPortlets(page.getPortlets());
-		
-		int i = 1;
-		for (Portlet portlet :	portlets) {
-			
-			if (column.equals(portlet.getRegion())) {
-				
-				if (n == i) {
-					
-					page.getPortlets().remove(portlet);
-					n = -1;
-				} else {
-	
-					portlet.setHeight(Integer.toString(i));
-					i++;
-				}
-			}
-		}
+		List<Portlet> portlets = (List<Portlet>) page.getPortlets();
+		portlets.remove(n);
 	}
-
-	public static void moveContentUp(Page page, int n, String column) {
 	
-		if (n <= 1) {
-			return;
-		}
+	public static Portlet findPortlet(Page page, String contentPosition) {
 		
-		List<Portlet> portlets = choosePortlets(page.getPortlets(), column);
-		if (n > portlets.size()) {
-			return;
-		}
-		
-		Portlet portletToMoveUp = portlets.get(n - 1);
-		Portlet portletToMoveDown = portlets.get(n - 2);
-		
-		portletToMoveUp.setHeight(Integer.toString(n - 1));
-		portletToMoveDown.setHeight(Integer.toString(n));
-	}
-	
-	private static List<Portlet> choosePortlets(List<? extends Portlet> portlets, String column) {
-		
-		List<? extends Portlet> list = sortPortlets(portlets);
-		List<Portlet> ret = new ArrayList<Portlet>();
-		
-		for (Portlet portlet : list) {
-			
-			if (column.equals(portlet.getRegion())) {
-				ret.add(portlet);
-			}
-		}
-		
-		return ret;
-	}
-	
-	public static Portlet findPortlet(Page page, String contentPosition, String column) {
-		
 		if ((contentPosition == null) || (contentPosition.length() == 0)) {
 			return null;
 		}
+		/*
+		System.out.println("FIND " + contentPosition);
+		List<Portlet> portletsList = (List<Portlet>) page.getPortlets();
+		for (Portlet p : portletsList) {
+			System.out.println("p " + p.getName() + " " + p.getRegion());
+		}*/
 		
 		int n = Integer.parseInt(contentPosition);
 		
-		List<Portlet> portlets = choosePortlets(page.getPortlets(), column);
-		if ((n > portlets.size()) || (n < 1)) {
-			return null;
-		}
-		
-		return portlets.get(n-1);
+		List<Portlet> portlets = (List<Portlet>) page.getPortlets();
+		return portlets.get(n);
 	}
 
 	@SuppressWarnings("unchecked")
@@ -270,7 +209,7 @@
 				ret.add(new PreferenceBean(pref, preferencesMap.get(pref.getName())));
 			}
 		}
-				
+		
 		return ret;
 	}
 
@@ -310,29 +249,6 @@
 		return page;
 	}
 
-	public static int getLayout(Page page) {
-		
-		if (getContent(page, "right").size() > 0) {
-			return 3;
-		}
-		
-		if (getContent(page, "left").size() > 0) {
-			return 2;
-		}
-		
-		return 1;
-	}
-
-	public static void removeColumn(Page page, String column) {
-		
-		for (Portlet portlet :	page.getPortlets()) {
-			
-			if (column.equals(portlet.getRegion())) {
-				page.getPortlets().remove(portlet);
-			}
-		}
-	}
-
 	public static void deletePage(Pages pages, String selectedPage) {
 		
 		Page page = findPage(pages, selectedPage);

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PortletsHeightComparator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PortletsHeightComparator.java	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PortletsHeightComparator.java	2007-04-20 11:00:44 UTC (rev 11150)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.forge.projects.admin.pages;
-
-import java.util.Comparator;
-
-import org.jboss.forge.common.projects.project.Portlet;
-
-public class PortletsHeightComparator implements Comparator<Portlet> {
-
-	public int compare(Portlet p1, Portlet p2) {
-		
-		Integer h1 = getHeight(p1);
-		Integer h2 = getHeight(p2);
-	
-		return h1.compareTo(h2);
-	}
-
-	private Integer getHeight(Portlet p) {
-		
-		if ((p == null) || (p.getHeight() == null)) {
-			return 0;
-		} else {
-			return Integer.parseInt(p.getHeight());
-		}
-	}
-
-}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-04-20 09:50:54 UTC (rev 11149)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-04-20 11:00:44 UTC (rev 11150)
@@ -112,5 +112,10 @@
 	  	<converter-id>enumConverter</converter-id>
   		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
 	</converter>
+
+	<converter>
+	  	<converter-id>dummyConverter</converter-id>
+  		<converter-class>org.jboss.forge.common.DummyConverter</converter-class>
+	</converter>
 	
 </faces-config>




More information about the jboss-svn-commits mailing list