[jboss-svn-commits] JBL Code SVN: r10561 - in labs/jbosslabs/trunk/portal-extensions: forge-ejb3/src/java/org/jboss/forge/ejb3/projects and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 27 12:00:27 EDT 2007
Author: wrzep
Date: 2007-03-27 12:00:27 -0400 (Tue, 27 Mar 2007)
New Revision: 10561
Added:
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PreferenceBean.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-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.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
edit portlet preferences impl
-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-27 15:24:31 UTC (rev 10560)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java 2007-03-27 16:00:27 UTC (rev 10561)
@@ -93,7 +93,8 @@
public static boolean isGetter(Method m) {
return m.getName().startsWith("get") || m.getName().startsWith("is") || // beans
- m.getName().equals("iterator") || m.getName().equals("next"); // iterator
+ m.getName().equals("iterator") || m.getName().equals("next") || // iterator
+ m.getName().equals("contains"); // list
}
public static boolean isSetter(Method m) {
Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java 2007-03-27 15:24:31 UTC (rev 10560)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java 2007-03-27 16:00:27 UTC (rev 10561)
@@ -80,7 +80,6 @@
public Portlet createPortlet(String name, String region, int height,
Map<String, String> preferences) {
- // Portlet portlet = createPortlet();
Portlet portlet = new PortletRW();
portlet.setName(name);
portlet.setRegion(region);
@@ -91,7 +90,12 @@
List<Preference> preferencesList = (List<Preference>) portlet.getPreferences();
for (String key : preferences.keySet()) {
- preferencesList.add(createPreference(key, preferences.get(key)));
+
+ Preference preference = new PreferenceRW();
+ preference.setName(key);
+ preference.setValue(preferences.get(key));
+
+ preferencesList.add(preference);
}
}
@@ -105,10 +109,9 @@
public Preference createPreference(String name, String value) {
- //Preference preference= createPreference();
- Preference preference = new PreferenceRW();
+ Preference preference= createPreference();
preference.setName(name);
- preference.setName(value);
+ preference.setValue(value);
return preference;
}
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-27 15:24:31 UTC (rev 10560)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java 2007-03-27 16:00:27 UTC (rev 10561)
@@ -25,16 +25,24 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.faces.model.SelectItem;
import javax.management.MalformedObjectNameException;
import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.ejb3.ProjectFactoryService;
+import org.jboss.forge.common.ejb3.ProjectsPortletsService;
+import org.jboss.forge.common.exceptions.ServiceRetrievalException;
+import org.jboss.forge.common.projects.portlets.ProjectsPortlet;
+import org.jboss.forge.common.projects.portlets.ProjectsPortletPreference;
import org.jboss.forge.common.projects.project.Page;
import org.jboss.forge.common.projects.project.Pages;
import org.jboss.forge.common.projects.project.Portlet;
+import org.jboss.forge.common.projects.project.Preference;
/**
* @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
@@ -42,7 +50,7 @@
public class PagesAdminTools {
- public static Page find(Pages pages, String selectedPage) {
+ public static Page findPage(Pages pages, String selectedPage) {
if (selectedPage.equals(PagesAdminConstants.DEFAULT_PAGE)) {
selectedPage = "";
@@ -121,10 +129,7 @@
}
public static void addContent(Page page, String portletName, String region, int height) {
-
- Map<String, String> preferences = new HashMap<String, String>();
- preferences.put("pref", "walju");
-
+
Portlet portlet;
try {
@@ -143,6 +148,10 @@
public static void removeContent(Page page, String contentToRemove, String column) {
+ if ((contentToRemove == null) || (contentToRemove.length() == 0)) {
+ return;
+ }
+
int n = Integer.parseInt(contentToRemove);
List<Portlet> portlets = sortPortlets(page.getPortlets());
@@ -197,4 +206,67 @@
return ret;
}
+
+ public static Portlet findPortlet(Page page, String contentPosition, String column) {
+
+ if ((contentPosition == null) || (contentPosition.length() == 0)) {
+ return null;
+ }
+
+ 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);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static List<PreferenceBean> getPreferences(Portlet portlet) {
+
+ if (portlet == null) {
+ return null;
+ }
+
+ List<Preference> preferences = (List<Preference>) portlet.getPreferences();
+ Set<String> preferencesSet = new HashSet<String>();
+ for (Preference preference : preferences) {
+ preferencesSet.add(preference.getName());
+ }
+
+ ProjectsPortletsService projectsPortletsService;
+ ProjectFactoryService factory;
+
+ try {
+ projectsPortletsService = LabsServices.getProjectsPortletsService();
+ factory = LabsServices.getProjectFactoryService();
+ } catch (Exception e) {
+ // do nothing
+ return null;
+ }
+
+ ProjectsPortlet projectsPortlet = projectsPortletsService.getProjectsProtlet(portlet.getName());
+ Map<String,ProjectsPortletPreference> preferencesMap = new HashMap<String, ProjectsPortletPreference>();
+
+ for (ProjectsPortletPreference pref : projectsPortlet.getPreferences()) {
+
+ System.out.println("PREF: " + pref.getName());
+
+ if (!preferencesSet.contains(pref.getName())) {
+ System.out.println("ADDED");
+ preferences.add(factory.createPreference(pref.getName(),null));
+ }
+
+ preferencesMap.put(pref.getName(), pref);
+ }
+
+ List<PreferenceBean> ret = new ArrayList<PreferenceBean>();
+ for (Preference pref : preferences) {
+ ret.add(new PreferenceBean(pref, preferencesMap.get(pref.getName())));
+ }
+
+ return ret;
+ }
}
Added: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PreferenceBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PreferenceBean.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PreferenceBean.java 2007-03-27 16:00:27 UTC (rev 10561)
@@ -0,0 +1,79 @@
+/*
+ * 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.ArrayList;
+import java.util.List;
+
+import javax.faces.model.SelectItem;
+
+import org.jboss.forge.common.projects.portlets.ProjectsPortletPreference;
+import org.jboss.forge.common.projects.project.Preference;
+
+/**
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+
+public class PreferenceBean {
+
+ private Preference portletPreference;
+ private ProjectsPortletPreference preference;
+
+ public PreferenceBean() {}
+
+ public PreferenceBean(Preference portletProperty,
+ ProjectsPortletPreference property) {
+
+ this.portletPreference = portletProperty;
+ this.preference = property;
+
+ if (portletProperty.getValue() == null) {
+
+ portletProperty.setValue(preference.getDefault());
+ }
+ }
+
+ /* getters */
+
+ public List<SelectItem> getFixedValues() {
+
+ List<SelectItem> list = new ArrayList<SelectItem>();
+
+ if ((preference.getValues() == null) | (preference.getValues().size() == 0)) {
+ return list;
+ }
+
+ for (String value : preference.getValues()) {
+ list.add(new SelectItem(value));
+ }
+
+ return list;
+ }
+
+ public Preference getPortletPreference() {
+ return portletPreference;
+ }
+
+ public ProjectsPortletPreference getPreference() {
+ return preference;
+ }
+}
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-27 15:24:31 UTC (rev 10560)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java 2007-03-27 16:00:27 UTC (rev 10561)
@@ -31,14 +31,16 @@
import org.jboss.forge.common.FacesTools;
import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.exceptions.ServiceRetrievalException;
+import org.jboss.forge.common.projects.portlets.ProjectsPortlet;
import org.jboss.forge.common.projects.project.Page;
import org.jboss.forge.common.projects.project.Pages;
+import org.jboss.forge.common.projects.project.Portlet;
import org.jboss.forge.common.projects.project.Preference;
-import org.jboss.forge.common.projects.proxies.ObjectRWProxy;
import org.jboss.logging.Logger;
-public class ProjectPagesAdminBean implements ValueChangeListener {
+public class ProjectPagesAdminBean {
private Logger log = Logger.getLogger(ProjectPagesAdminBean.class);
@@ -53,6 +55,11 @@
private String selectedMiddleContent;
private String selectedRightContent;
+ private String selectedColumn;
+ private String selectedColumnContent;
+
+ List<PreferenceBean> preferences;
+
private Page page;
//TODO no pages defined => NPE
@@ -83,8 +90,12 @@
public String editPage() {
- page = PagesAdminTools.find(pages, selectedPage);
+ page = PagesAdminTools.findPage(pages, selectedPage);
+ selectedColumn = null;
+ selectedColumnContent = null;
+ clearSelections();
+
return "";
}
@@ -106,17 +117,13 @@
for (String portletName : selectedContent) {
PagesAdminTools.addContent(page, portletName, column, height);
}
- clearSelections();
-
+ clearSelections();
return "";
}
public String removeContent() {
- String column = FacesTools.getRequestParameter("column");
- String contentToRemove = selectedColumnContent(column);
-
- PagesAdminTools.removeContent(page, contentToRemove, column);
+ PagesAdminTools.removeContent(page, selectedColumnContent, selectedColumn);
clearSelections();
return "";
@@ -131,46 +138,46 @@
public String moveContentUp() {
- String column = FacesTools.getRequestParameter("column");
- String contentToMove = selectedColumnContent(column);
- int n = Integer.parseInt(contentToMove);
-
- PagesAdminTools.moveContentUp(page, n, column);
-
+ int n = Integer.parseInt(selectedColumnContent);
+ PagesAdminTools.moveContentUp(page, n, selectedColumn);
clearSelections();
-
return "";
}
public String moveContentDown() {
- String column = FacesTools.getRequestParameter("column");
- String contentToMove = selectedColumnContent(column);
- int n = Integer.parseInt(contentToMove);
+ int n = Integer.parseInt(selectedColumnContent);
+ PagesAdminTools.moveContentUp(page, n + 1, selectedColumn);
+ clearSelections();
+ return "";
+ }
+
+ public void clearSelections() {
- PagesAdminTools.moveContentUp(page, n + 1, column);
+ 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 "";
}
- public void clearSelections() {
+ private void setPreferences() {
- selectedContent = null;
- selectedLeftContent = null;
- selectedMiddleContent = null;
- selectedRightContent = null;
+ if ((selectedColumn == null) || (selectedColumnContent == null)) {
+ return;
+ }
+ Portlet portlet = PagesAdminTools.findPortlet(page, selectedColumnContent, selectedColumn);
+
+ preferences = PagesAdminTools.getPreferences(portlet);
}
- public void processValueChange(ValueChangeEvent event)
- throws AbortProcessingException {
-
- clearSelections();
- }
-
-
-
/* getters and setters */
public String getTitle() {
@@ -198,15 +205,13 @@
return PagesAdminTools.getContent(page, "right");
}
- public List<Preference> getPreferences() {
+ /******************************/
+
+ public List<PreferenceBean> getPreferences() {
- //TODO
-
- return null;
+ return preferences;
}
- /******************************/
-
public List<String> getSelectedContent() {
return selectedContent;
}
More information about the jboss-svn-commits
mailing list