[jboss-svn-commits] JBL Code SVN: r10709 - in labs/jbosslabs/trunk/portal-extensions/forge-portlets/src: web/WEB-INF and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 3 09:04:37 EDT 2007


Author: wrzep
Date: 2007-04-03 09:04:37 -0400 (Tue, 03 Apr 2007)
New Revision: 10709

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/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
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml
Log:
JBLAB-843
confirm layout change
I'm fed up with jsf glue code...
-Pawel


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-03 12:34:42 UTC (rev 10708)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java	2007-04-03 13:04:37 UTC (rev 10709)
@@ -42,6 +42,7 @@
 	
 	private String selectedPage;
 	private int selectedLayout;
+	private int layout;
 	private List<String> selectedContent;
 	
 	private String selectedLeftContent;
@@ -55,7 +56,6 @@
 	
 	private Page page;
 	
-	//TODO no pages defined => NPE
 	//TODO check if admin is logged!
 	//TODO reset session beans
 	
@@ -70,7 +70,10 @@
 			log.debug("Unable to get ProjectsServiceRW", e);
 		}
 		
-		selectedLayout = 3;
+		// Add default page if no pages defined.
+		if (pages.getPages().size() == 0) {
+			page = PagesAdminTools.newPage(pages, PagesAdminConstants.DEFAULT_PAGE);
+		}
 		
 		if (selectedPage == null) {
 			selectedPage = PagesAdminConstants.DEFAULT_PAGE;
@@ -90,16 +93,18 @@
 		selectedColumnContent = null;
 		clearSelections();
 		
+		layout = PagesAdminTools.getLayout(page);
+		
 		return "";
 	}
 	
 	public String addPage() {
 		
-		System.out.println("ADD");
-		
-		page = PagesAdminTools.newPage(pages);
+		String name = PagesAdminTools.newPageName(pages); 
+		page = PagesAdminTools.newPage(pages, name);
 		selectedPage = page.getName();
 		clearSelections();
+		layout = 3;
 		
 		return "";
 	}
@@ -189,6 +194,43 @@
 		preferences = PagesAdminTools.getPreferences(portlet);
 	}
 	
+	 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");
+		 }
+		 
+		 System.out.println("PERFORMED");
+		 
+		 return PagesAdminConstants.EDIT_PAGES;
+	 }
+	 
+	 public String cancelChangeLayout() {
+		 
+		 return PagesAdminConstants.EDIT_PAGES;
+	 }
+	 
 	/* getters and setters */
 		
 	public String getTitle() {
@@ -274,4 +316,8 @@
 	public Pages getPages() {
 		return pages;
 	}
+	
+	public int getLayout() {
+		return layout;
+	}
 }

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-03 12:34:42 UTC (rev 10708)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminConstants.java	2007-04-03 13:04:37 UTC (rev 10709)
@@ -32,7 +32,8 @@
 	public static final String NEW_PAGE_NAME 			= "NewPage";
 	
 	public static final String CONFIRM_DELETE 			= "confirmDelete";
-
+	public static final String CONFIRM_CHANGE_LAYOUT 	= "confirmChangeLayout";
+	
 	public static final String EDIT_PAGES 				= "edit-pages";
 
 }

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-03 12:34:42 UTC (rev 10708)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java	2007-04-03 13:04:37 UTC (rev 10709)
@@ -276,7 +276,7 @@
 		return ret;
 	}
 
-	private static String newPageName(Pages pages) {
+	public static String newPageName(Pages pages) {
 		
 		Set<String> pageNames = new HashSet<String>();
 		for (Page page : pages.getPages()) {
@@ -293,9 +293,7 @@
 		}
 	}
 
-	public static Page newPage(Pages pages) {
-		
-		String name = newPageName(pages);
+	public static Page newPage(Pages pages, String name) {
 	
 		ProjectFactoryService factory;
 			
@@ -313,4 +311,27 @@
 		
 		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);
+			}
+		}
+	}
 }

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-03 12:34:42 UTC (rev 10708)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-04-03 13:04:37 UTC (rev 10709)
@@ -33,6 +33,13 @@
 	<navigation-rule>
 		<from-view-id>*</from-view-id>
 		<navigation-case>
+			<from-outcome>confirmChangeLayout</from-outcome>
+			<to-view-id>/repo-access/default/prj-admin/confirmChangeLayout.jsp</to-view-id>
+		</navigation-case>
+	</navigation-rule>
+	<navigation-rule>
+		<from-view-id>*</from-view-id>
+		<navigation-case>
 			<from-outcome>save</from-outcome>
 			<to-view-id>/repo-access/default/prj-admin/admin.jsp</to-view-id>
 		</navigation-case>

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml	2007-04-03 12:34:42 UTC (rev 10708)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/web.xml	2007-04-03 13:04:37 UTC (rev 10709)
@@ -4,9 +4,33 @@
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">
+    
+        <!-- Ajax4jsf -->
+     <!-- 
+    <filter>
+	  <display-name>Ajax4jsf Filter</display-name>
+	  <filter-name>ajax4jsf</filter-name>
+	  <filter-class>org.ajax4jsf.Filter</filter-class>
+	  <init-param>
+		   <param-name>forceparser</param-name>
+		   <param-value>false</param-value>
+	  </init-param>
+	 </filter>
+	<filter-mapping>
+	  <filter-name>ajax4jsf</filter-name>
+	  <servlet-name>Faces Servlet</servlet-name>
+	  <dispatcher>REQUEST</dispatcher>
+	  <dispatcher>FORWARD</dispatcher>
+	  <dispatcher>INCLUDE</dispatcher>
+	</filter-mapping>
+    -->
+    
+    <!-- MyFaces --> 
     <listener>
         <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
-    </listener>
+    </listener> 
+    
+    <!-- File access -->
     <filter>
         <filter-name>filesFromRepoFilter</filter-name>
         <filter-class>org.jboss.forge.common.FilesFromRepoFilter</filter-class>




More information about the jboss-svn-commits mailing list