[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