[jboss-svn-commits] JBL Code SVN: r10681 - in labs/jbosslabs/trunk/portal-extensions: forge-ejb3/src/java/org/jboss/forge/ejb3/projects and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 31 06:32:42 EDT 2007


Author: wrzep
Date: 2007-03-31 06:32:41 -0400 (Sat, 31 Mar 2007)
New Revision: 10681

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.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/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-843
newPage
-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-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java	2007-03-31 10:32:41 UTC (rev 10681)
@@ -25,6 +25,7 @@
 import java.util.Map;
 
 import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Page;
 import org.jboss.forge.common.projects.project.Portlet;
 import org.jboss.forge.common.projects.project.Preference;
 
@@ -46,6 +47,10 @@
     
     public Preference createPreference(String name, String value);
     
+    public Page createPage();
+    
+    public Page createPage(String name);
+    
     //	 Life cycle methods
 	
     public void start () throws Exception;

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-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java	2007-03-31 10:32:41 UTC (rev 10681)
@@ -32,10 +32,12 @@
 
 
 import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Page;
 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.PageRW;
 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;
@@ -115,6 +117,20 @@
     		
     		return preference;
     }
+
+	public Page createPage() {
+		
+		return (Page) SyncProxy.newInstance(new PageRW());
+	}
+
+	public Page createPage(String name) {
+		
+		Page page = createPage();
+		page.setName(name);
+		
+		return page;
+	}
+
     
     // Lifecycle methods
         
@@ -128,5 +144,6 @@
 		log.info("ProjectFactory service stopped");
 	}
 
+
 	
 }

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-03-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java	2007-03-31 10:32:41 UTC (rev 10681)
@@ -23,20 +23,14 @@
 
 import java.util.List;
 
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.ValueChangeEvent;
-import javax.faces.event.ValueChangeListener;
 import javax.faces.model.SelectItem;
 import javax.management.MalformedObjectNameException;
 
 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.logging.Logger;
 
 
@@ -62,6 +56,7 @@
 	private Page page;
 	
 	//TODO no pages defined => NPE
+	//TODO check if admin is logged!
 	//TODO reset session beans
 	
 	public PagesAdminBean() {
@@ -102,9 +97,26 @@
 		
 		System.out.println("ADD");
 		
+		page = PagesAdminTools.newPage(pages);
+		selectedPage = page.getName();
+		clearSelections();
+		
 		return "";
 	}
 	
+	public String deletePage() {
+		
+		System.out.println("DEL");
+		
+		if (PagesAdminConstants.DEFAULT_PAGE.equals(selectedPage)) {
+			
+			FacesTools.addMessage("Cannot delete page '" + selectedPage + "'."); 
+			return "";
+		}
+		
+		return PagesAdminConstants.EDIT_PAGES;
+	}
+	
 	/* content */
 	
 	public String addContent() {

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-03-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java	2007-03-31 10:32:41 UTC (rev 10681)
@@ -28,5 +28,12 @@
 
 public class PagesAdminConstants  {
 
-	public static final String DEFAULT_PAGE 				= "(default)";
+	public static final String DEFAULT_PAGE 				= "default";
+	public static final String NEW_PAGE_NAME 			= "NewPage";
+	
+	public static final String CONFIRM_DELETE 			= "confirmDelete";
+
+	public static final String EDIT_PAGES 				= "edit-pages";
+
 }
+		
\ 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-03-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java	2007-03-31 10:32:41 UTC (rev 10681)
@@ -275,4 +275,42 @@
 				
 		return ret;
 	}
+
+	private static String newPageName(Pages pages) {
+		
+		Set<String> pageNames = new HashSet<String>();
+		for (Page page : pages.getPages()) {
+			pageNames.add(page.getName());
+		}
+		
+		String name = PagesAdminConstants.NEW_PAGE_NAME;
+		for (int i = 1; true; i++) {
+			
+			if (!pageNames.contains(name)) {
+				return name;
+			}
+			name =  PagesAdminConstants.NEW_PAGE_NAME.concat(Integer.toString(i));
+		}
+	}
+
+	public static Page newPage(Pages pages) {
+		
+		String name = newPageName(pages);
+	
+		ProjectFactoryService factory;
+			
+		try {
+			factory = LabsServices.getProjectFactoryService();
+		} catch (Exception e) {
+			// do nothing
+			return null;
+		}
+		
+		Page page = factory.createPage(name);
+		
+		List<Page> pagesList = (List<Page>) pages.getPages();
+		pagesList.add(page);
+		
+		return page;
+	}
 }

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-31 09:25:07 UTC (rev 10680)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-03-31 10:32:41 UTC (rev 10681)
@@ -16,7 +16,7 @@
 			<to-view-id>/repo-access/default/prj-admin/info-edit.jsp</to-view-id>
 		</navigation-case>
 	</navigation-rule>
-		<navigation-rule>
+	<navigation-rule>
 		<from-view-id>*</from-view-id>
 		<navigation-case>
 			<from-outcome>edit-pages</from-outcome>
@@ -26,8 +26,8 @@
 		<navigation-rule>
 		<from-view-id>*</from-view-id>
 		<navigation-case>
-			<from-outcome>edit-nav</from-outcome>
-			<to-view-id>/repo-access/default/prj-admin/nav-edit.jsp</to-view-id>
+			<from-outcome>confirmDelete</from-outcome>
+			<to-view-id>/repo-access/default/prj-admin/confirmDelete.jsp</to-view-id>
 		</navigation-case>
 	</navigation-rule>
 	<navigation-rule>




More information about the jboss-svn-commits mailing list