[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