[jboss-svn-commits] JBL Code SVN: r10502 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common/projects/proxies and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 23 17:27:31 EDT 2007
Author: wrzep
Date: 2007-03-23 17:27:30 -0400 (Fri, 23 Mar 2007)
New Revision: 10502
Added:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ObjectRWProxy.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminConstants.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java
Removed:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProjectRWProxy.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java
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-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java
labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminBean.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminTools.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml
Log:
JBLAB-843
Pawel
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java 2007-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -22,7 +22,11 @@
package org.jboss.forge.common.ejb3;
+import java.util.Map;
+
import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Portlet;
+import org.jboss.forge.common.projects.project.Preference;
/**
* @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
@@ -30,9 +34,18 @@
public interface ProjectFactoryService {
public static final String PROJECT_FACTORY_SERVICE = "labs:service=projectFactory";
-
+
public IssueTracker createIssueTracker();
+ public Portlet createPortlet();
+
+ public Portlet createPortlet(String name, String region, int height,
+ Map<String, String> preferences);
+
+ public Preference createPreference();
+
+ public Preference createPreference(String name, String value);
+
// Life cycle methods
public void start () throws Exception;
Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ObjectRWProxy.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ObjectRWProxy.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ObjectRWProxy.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -0,0 +1,34 @@
+ /*
+ * 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.projects.proxies;
+
+
+
+/**
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+
+public interface ObjectRWProxy {
+
+ public Object getObjectRW();
+}
Deleted: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProjectRWProxy.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProjectRWProxy.java 2007-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProjectRWProxy.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -1,34 +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.common.projects.proxies;
-
-import org.jboss.forge.common.projects.project.rw.ProjectRW;
-
-/**
- * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
- */
-
-public interface ProjectRWProxy {
-
- public ProjectRW getProjectRW();
-}
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-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/ProxyUtils.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -144,6 +144,11 @@
}
}
+ public static boolean isRWType(Class<? extends Object> type) {
+
+ return type.getPackage().getName().equals("org.jboss.forge.common.projects.project.rw");
+ }
+
private ProxyUtils() {}
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-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/proxies/SyncProxy.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -26,8 +26,6 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
-import org.jboss.forge.common.projects.project.rw.ProjectRW;
-
/**
* @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
*/
@@ -43,10 +41,10 @@
Class[] interfaces;
// hack to use dynamic proxy with JAXB
- if (obj instanceof ProjectRW) {
-
+ if (ProxyUtils.isRWType(obj.getClass())) {
+
interfaces = appendInterface(obj.getClass().getInterfaces(),
- ProjectRWProxy.class);
+ ObjectRWProxy.class);
} else {
@@ -86,7 +84,7 @@
throws Throwable {
// hack continued
- if (m.getName().equals("getProjectRW")) {
+ if (m.getName().equals("getObjectRW")) {
return obj;
}
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-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -22,6 +22,10 @@
package org.jboss.forge.ejb3.projects;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
import javax.ejb.Remote;
import org.jboss.annotation.ejb.Management;
@@ -29,8 +33,12 @@
import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Portlet;
+import org.jboss.forge.common.projects.project.Preference;
import org.jboss.forge.common.projects.project.Project;
import org.jboss.forge.common.projects.project.rw.IssueTrackerRW;
+import org.jboss.forge.common.projects.project.rw.PortletRW;
+import org.jboss.forge.common.projects.project.rw.PreferenceRW;
import org.jboss.forge.common.projects.project.rw.ProjectRW;
import org.jboss.forge.common.projects.proxies.SyncProxy;
@@ -63,8 +71,52 @@
return (IssueTracker) SyncProxy.newInstance(it);
}
+ public Portlet createPortlet() {
+
+ return (Portlet) SyncProxy.newInstance(new PortletRW());
+ }
+ 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);
+ portlet.setHeight(Integer.toString(height));
+
+ System.out.println("####################");
+
+ if (preferences != null) {
+
+ List<Preference> preferencesList = (List<Preference>) portlet.getPreferences();
+
+ for (String key : preferences.keySet()) {
+ preferencesList.add(createPreference(key, preferences.get(key)));
+ }
+ }
+
+ System.out.println("$$$$$$$$$$$$$$$$$$$$");
+
+ return portlet;
+ }
+
+ public Preference createPreference() {
+
+ return (Preference) SyncProxy.newInstance(new PreferenceRW());
+ }
+
+ public Preference createPreference(String name, String value) {
+
+ //Preference preference= createPreference();
+ Preference preference = new PreferenceRW();
+ preference.setName(name);
+ preference.setName(value);
+
+ return preference;
+ }
+
// Lifecycle methods
public void start() throws Exception {
@@ -76,4 +128,6 @@
log.info("ProjectFactory service stopped");
}
+
+
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java 2007-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -39,7 +39,8 @@
import org.jboss.forge.common.projects.project.Pages;
import org.jboss.forge.common.projects.project.Polls;
import org.jboss.forge.common.projects.project.Project;
-import org.jboss.forge.common.projects.proxies.ProjectRWProxy;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
+import org.jboss.forge.common.projects.proxies.ObjectRWProxy;
import org.jboss.forge.common.ejb3.ProjectsServiceRW;
import org.jboss.forge.common.Constants;
@@ -137,9 +138,9 @@
OutputStream os = node.getOutputStream();
- // Dynamic proxy implements ProjectRWProxy interface
- // only to do the following.
- m.marshal( ((ProjectRWProxy) project).getProjectRW() ,os);
+ // Dynamic proxy implements ObjectRWProxy interface
+ // in order to do the following.
+ m.marshal( (ProjectRW) ((ObjectRWProxy) project).getObjectRW() ,os);
node.save("[PROJECTSSERVICERW] Persisting "+project.getId()+" project.");
log.info("Project "+project.getId()+" has been updated.");
@@ -196,7 +197,7 @@
if (project==null) return;
- project.setPages(pages);
+ project.setPages((Pages) ((ObjectRWProxy) pages).getObjectRW());
persistProject(project);
}
Added: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminConstants.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminConstants.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminConstants.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -0,0 +1,35 @@
+/*
+ * 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;
+
+
+/**
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+
+public class PagesAdminConstants {
+
+ public static final String DEFAULT_PAGE = "(default)";
+
+
+
+}
Added: 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 (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/PagesAdminTools.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -0,0 +1,131 @@
+/*
+ * 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.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.faces.model.SelectItem;
+import javax.management.MalformedObjectNameException;
+
+import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.projects.project.Page;
+import org.jboss.forge.common.projects.project.Pages;
+import org.jboss.forge.common.projects.project.Portlet;
+
+/**
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+
+public class PagesAdminTools {
+
+ public static Page find(Pages pages, String selectedPage) {
+
+ if (selectedPage.equals(PagesAdminConstants.DEFAULT_PAGE)) {
+ selectedPage = "";
+ }
+
+ for (Page page : pages.getPages()) {
+
+ if (page.getName().equals(selectedPage)) {
+
+ return page;
+ }
+ }
+
+ return null;
+ }
+
+ public static String convertCMSTitle(String title) {
+
+ return "".equals(title) ? PagesAdminConstants.DEFAULT_PAGE : title;
+ }
+
+ public static String convertJSFTitle(String title) {
+
+ return PagesAdminConstants.DEFAULT_PAGE.equals(title) ? "" : title;
+ }
+
+ public static List<SelectItem> getContent(Page page, String column) {
+
+ List<SelectItem> contentList = new ArrayList<SelectItem>();
+
+ for (Portlet portlet : page.getPortlets()) {
+
+ if (column.equals(portlet.getRegion())) {
+ contentList.add(new SelectItem(portlet.getName()));
+ }
+ }
+
+ return contentList;
+ }
+
+ public static List<SelectItem> getPages(Pages pages) {
+
+ List<SelectItem> projectPages = new ArrayList<SelectItem>();
+
+ if ((pages != null) && (pages.getPages() != null)) {
+
+ projectPages = new ArrayList<SelectItem>();
+
+ for (Page page : pages.getPages()) {
+
+ String name = "".equals(page.getName()) ?
+ PagesAdminConstants.DEFAULT_PAGE : page.getName();
+
+ projectPages.add(new SelectItem(name));
+ }
+ }
+ return projectPages;
+ }
+
+ public static void addContent(Page page, String portletName, String region) {
+
+ Map<String, String> preferences = new HashMap<String, String>();
+ preferences.put("pref", "walju");
+
+ Portlet portlet;
+
+ System.out.println("addContent");
+
+ try {
+ portlet = LabsServices.getProjectFactoryService().createPortlet(portletName, region, 1, preferences);
+
+
+ } catch (MalformedObjectNameException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return;
+ }
+
+ System.out.println("#1");
+
+ List<Portlet> portletsList = (List<Portlet>) page.getPortlets();
+
+ System.out.println("#2");
+
+ portletsList.add(portlet);
+ }
+
+}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminBean.java 2007-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminBean.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -23,7 +23,12 @@
import java.io.Serializable;
+import javax.management.MalformedObjectNameException;
+import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.projects.project.Pages;
+
+
public class ProjectAdminBean implements Serializable {
private static final long serialVersionUID = -9175216257231542L;
@@ -35,6 +40,15 @@
System.out.println("SAVE");
+ Pages p = pages.getPages();
+ String projectId = info.getProject().getId();
+ try {
+ LabsServices.getProjectsServiceRW().persistPages(p, projectId);
+ } catch (MalformedObjectNameException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
return "";
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminTools.java 2007-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminTools.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -33,6 +33,7 @@
import org.jboss.forge.common.ejb3.ProjectsService;
import org.jboss.forge.common.ejb3.ProjectsServiceRW;
import org.jboss.forge.common.projects.project.DocumentationType;
+import org.jboss.forge.common.projects.project.Page;
import org.jboss.forge.common.projects.project.Project;
import org.jboss.forge.common.projects.project.rw.DocumentationTypeRW;
import org.jboss.forge.common.exceptions.ServiceRetrievalException;
@@ -109,7 +110,6 @@
return list;
}
-
- private ProjectAdminTools() { }
+ private ProjectAdminTools() {}
}
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-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectPagesAdminBean.java 2007-03-23 21:27:30 UTC (rev 10502)
@@ -21,8 +21,6 @@
*/
package org.jboss.forge.projects.admin;
-import java.io.Serializable;
-import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
@@ -35,29 +33,33 @@
import org.jboss.logging.Logger;
-public class ProjectPagesAdminBean implements Serializable {
+public class ProjectPagesAdminBean {
- private static final long serialVersionUID = 3512752162572321542L;
+
private Logger log = Logger.getLogger(ProjectPagesAdminBean.class);
private Pages pages;
- private List<SelectItem> projectPages;
-
private String selectedPage;
private int selectedLayout;
private List<String> selectedContent;
- private String title;
+ private String selectedLeftContent;
+ private String selectedMiddleContent;
+ private String selectedRightContent;
private Page page;
+ //TODO no pages defined => NPE
+
public ProjectPagesAdminBean() {
- System.out.println("PPAB");
-
+ System.out.println("PAB " + selectedPage);
+
String projectId = FacesTools.getSelectedProjectId();
+ System.out.println("CONST " + projectId);
+
try {
pages = LabsServices.getProjectsServiceRW().getProjectPagesRW(projectId);
@@ -65,25 +67,21 @@
log.debug("Unable to get ProjectsServiceRW", e);
}
- if ((pages != null) && (pages.getPages() != null)) {
+ selectedLayout = 3;
- projectPages = new ArrayList<SelectItem>();
-
- for (Page page : pages.getPages()) {
-
- String name = "".equals(page.getName()) ? "(default)" : page.getName();
-
- projectPages.add(new SelectItem(name));
- }
+ if (selectedPage == null) {
+ selectedPage = PagesAdminConstants.DEFAULT_PAGE;
}
+ editPage();
}
/* actions */
+ /* page*/
+
public String editPage() {
- System.out.println("EDIT");
-
+ page = PagesAdminTools.find(pages, selectedPage);
return "";
}
@@ -94,19 +92,61 @@
return "";
}
+ /* content */
+
public String addContent() {
- System.out.println("ADD CONTENT");
- /*
String column = FacesTools.getRequestParameter("column");
+ System.out.println("ADD CONTENT " + column);
- System.out.println("ADD CONTENT " + column);
- */
+ for (String portletName : selectedContent) {
+ PagesAdminTools.addContent(page, portletName, column);
+ }
+
return "";
}
+ public String removeContent() {
+
+ String column = FacesTools.getRequestParameter("column");
+
+ System.out.println("RM CONTENT " + column);
+
+
+ return "";
+ }
+
/* getters and setters */
+
+ public String getTitle() {
+ return PagesAdminTools.convertCMSTitle(page.getName());
+ }
+
+ public void setTitle(String title) {
+ System.out.println("setTitle " + title);
+
+ page.setName(PagesAdminTools.convertJSFTitle(title));
+ }
+
+ public List<SelectItem> getProjectPages() {
+
+ return PagesAdminTools.getPages(pages);
+ }
+ public List<SelectItem> getLeftContent() {
+ return PagesAdminTools.getContent(page, "left");
+ }
+
+ public List<SelectItem> getMiddleContent() {
+ return PagesAdminTools.getContent(page, "center");
+ }
+
+ public List<SelectItem> getRightContent() {
+ return PagesAdminTools.getContent(page, "right");
+ }
+
+ /******************************/
+
public List<String> getSelectedContent() {
return selectedContent;
}
@@ -115,14 +155,6 @@
this.selectedContent = selectedContent;
}
- public List<SelectItem> getProjectPages() {
- return projectPages;
- }
-
- public void setProjectPages(List<SelectItem> projectPages) {
- this.projectPages = projectPages;
- }
-
public String getSelectedPage() {
return selectedPage;
}
@@ -138,12 +170,32 @@
public void setSelectedLayout(int selectedLayout) {
this.selectedLayout = selectedLayout;
}
+
+ public String getSelectedLeftContent() {
+ return selectedLeftContent;
+ }
- public String getTitle() {
- return title;
+ public void setSelectedLeftContent(String selectedLeftContent) {
+ this.selectedLeftContent = selectedLeftContent;
}
- public void setTitle(String title) {
- this.title = title;
+ public String getSelectedMiddleContent() {
+ return selectedMiddleContent;
}
+
+ public void setSelectedMiddleContent(String selectedMiddleContent) {
+ this.selectedMiddleContent = selectedMiddleContent;
+ }
+
+ public String getSelectedRightContent() {
+ return selectedRightContent;
+ }
+
+ public void setSelectedRightContent(String selectedRightContent) {
+ this.selectedRightContent = selectedRightContent;
+ }
+
+ public Pages getPages() {
+ return pages;
+ }
}
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-03-23 21:13:31 UTC (rev 10501)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml 2007-03-23 21:27:30 UTC (rev 10502)
@@ -41,17 +41,17 @@
<managed-bean>
<managed-bean-name>pedit</managed-bean-name>
<managed-bean-class>org.jboss.forge.projects.admin.ProjectInfoAdminBean</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
+ <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>pages</managed-bean-name>
<managed-bean-class>org.jboss.forge.projects.admin.ProjectPagesAdminBean</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
+ <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>admin</managed-bean-name>
<managed-bean-class>org.jboss.forge.projects.admin.ProjectAdminBean</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
+ <managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>info</property-name>
<value>#{pedit}</value>
More information about the jboss-svn-commits
mailing list