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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 24 13:29:03 EDT 2007


Author: wrzep
Date: 2007-03-24 13:29:03 -0400 (Sat, 24 Mar 2007)
New Revision: 10517

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PortletsHeightComparator.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/SyncProxy.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java
Log:
JBLAB-843
Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java	2007-03-24 14:25:50 UTC (rev 10516)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java	2007-03-24 17:29:03 UTC (rev 10517)
@@ -45,8 +45,9 @@
 	private static Logger log = Logger.getLogger(ProxyUtils.class);
 	
 	public static boolean isSimpleType(Class<? extends Object> type) {
-		
-		boolean result = type.isPrimitive() ||
+	
+		boolean result = (type == null) ||
+						 type.isPrimitive() ||
 						 type.isEnum() ||
 						 type.getPackage().getName().startsWith("java.lang");
 		

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/SyncProxy.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/SyncProxy.java	2007-03-24 14:25:50 UTC (rev 10516)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/SyncProxy.java	2007-03-24 17:29:03 UTC (rev 10517)
@@ -104,6 +104,10 @@
     			result = ProxyUtils.getRWType(m.getReturnType());
     		}
     		
+    		if (!ProxyUtils.isGetter(m) && !ProxyUtils.isSetter(m)) {
+    			return result;
+    		}
+    		
         return ProxyUtils.wrapSync(result);
     }
 	

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java	2007-03-24 14:25:50 UTC (rev 10516)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java	2007-03-24 17:29:03 UTC (rev 10517)
@@ -22,6 +22,8 @@
 package org.jboss.forge.projects.admin;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -71,16 +73,33 @@
 		
 		List<SelectItem> contentList = new ArrayList<SelectItem>();
 		
-		for (Portlet portlet :	page.getPortlets()) {
+		List<Portlet> portlets = sortPortlets((List) page.getPortlets());
+		
+		int i = 1;
+		for (Portlet portlet :	portlets) {
 			
 			if (column.equals(portlet.getRegion())) {
-				contentList.add(new SelectItem(portlet.getName()));
+				contentList.add(new SelectItem(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
+		List<Portlet> ret = new ArrayList(portlets);
+		
+		Collections.sort(ret, portletsComparator);
+		
+		return ret;
+	}
+
 	public static List<SelectItem> getPages(Pages pages) {
 		
 		List<SelectItem> projectPages = new ArrayList<SelectItem>();
@@ -107,8 +126,6 @@
 		
 		Portlet portlet;
 		
-		System.out.println("addContent");
-		
 		try {
 			portlet = LabsServices.getProjectFactoryService().createPortlet(portletName, region, 1, preferences);
 			
@@ -119,13 +136,32 @@
 			return;
 		}
 		
-		System.out.println("#1");
-		
 		List<Portlet> portletsList = (List<Portlet>) page.getPortlets();
 		
-		System.out.println("#2");
-		
 		portletsList.add(portlet);
 	}
 
+	public static void removeContent(Page page, String contentToRemove, String column) {
+		
+		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++;
+				}
+			}
+		}
+	}
 }

Added: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PortletsHeightComparator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PortletsHeightComparator.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PortletsHeightComparator.java	2007-03-24 17:29:03 UTC (rev 10517)
@@ -0,0 +1,48 @@
+/*
+ * 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;
+
+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/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java	2007-03-24 14:25:50 UTC (rev 10516)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java	2007-03-24 17:29:03 UTC (rev 10517)
@@ -51,15 +51,12 @@
 	private Page page;
 	
 	//TODO no pages defined => NPE
+	//TODO reset session beans
 	
 	public ProjectPagesAdminBean() {
 		
-		System.out.println("PAB " + selectedPage);
-
 		String projectId = FacesTools.getSelectedProjectId();
 		
-		System.out.println("CONST " + projectId);
-		
 		try {
 			pages = LabsServices.getProjectsServiceRW().getProjectPagesRW(projectId);	
 			
@@ -110,12 +107,32 @@
 		
 		String column = FacesTools.getRequestParameter("column");
 		
-		System.out.println("RM CONTENT " + column);
+		String contentToRemove;
+		if (column.equals("left")) { contentToRemove = selectedLeftContent; }
+		else if (column.equals("center")) { contentToRemove = selectedMiddleContent; }
+		else { contentToRemove = selectedRightContent; };
 		
+		System.out.println("RM CONTENT " + column + " "	+ contentToRemove);
+	
+		PagesAdminTools.removeContent(page, contentToRemove, column);
 		
 		return "";
 	}
 	
+	public String moveContentUp() {
+		
+		String column = FacesTools.getRequestParameter("column");
+		
+		return "";
+	}
+	
+	public String moveContentDown() {
+		
+		String column = FacesTools.getRequestParameter("column");
+		
+		return "";
+	}
+	
 	/* getters and setters */
 		
 	public String getTitle() {
@@ -123,8 +140,6 @@
 	}
 
 	public void setTitle(String title) {
-		System.out.println("setTitle " + title);
-		
 		page.setName(PagesAdminTools.convertJSFTitle(title));
 	}
 




More information about the jboss-svn-commits mailing list