[jboss-svn-commits] JBL Code SVN: r10888 - in labs/jbosslabs/trunk/portal-extensions: forge-portlets/src/java/org/jboss/forge/projects/admin and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 11 08:06:38 EDT 2007


Author: wrzep
Date: 2007-04-11 08:06:38 -0400 (Wed, 11 Apr 2007)
New Revision: 10888

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.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/info/InfoAdminBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.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/PagesAdminTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoAccessBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml
Log:
JBLAB-849
1. save
2. jsf nav hack to restore default view after save
-Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.java	2007-04-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -32,6 +32,7 @@
 import javax.portlet.PortletRequest;
 
 import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.forge.common.projects.permissions.RenderRequestPermissionsChecker;
 import org.jboss.portal.api.node.PortalNodeURL;
 import org.jboss.portlet.JBossActionRequest;
 import org.jboss.portlet.JBossActionResponse;
@@ -181,6 +182,10 @@
     
     public static boolean isProjectAdminLogged() {
     	
+    		if (!isUserLogged()) {
+    			return false;
+    		}
+    		
     		String projectId = FacesTools.getSelectedProjectId();
 		String projectAdminString = null;
 		
@@ -188,8 +193,9 @@
 			projectAdminString = projectId.concat("-admin");
 		}
 		
-		return isUserLogged() &&	 (projectAdminString != null)
-				&&	FacesTools.hasPermission(projectAdminString);
+		return ((projectAdminString != null) &&	
+							(FacesTools.hasPermission(projectAdminString))
+					|| FacesTools.hasPermission("Administrators"));
     }
     
     public static org.jboss.portal.identity.User getUser(String username) {

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-04-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/ProjectAdminBean.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -21,14 +21,20 @@
  */
 package org.jboss.forge.projects.admin;
 
+import java.io.IOException;
 import java.io.Serializable;
 
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
 import javax.management.MalformedObjectNameException;
 
+import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.ejb3.LabsServices;
 import org.jboss.forge.common.projects.project.Pages;
+import org.jboss.forge.common.projects.project.Project;
 import org.jboss.forge.projects.admin.info.InfoAdminBean;
 import org.jboss.forge.projects.admin.pages.PagesAdminBean;
+import org.jboss.logging.Logger;
 
 
 public class ProjectAdminBean implements Serializable {
@@ -38,20 +44,38 @@
 	private InfoAdminBean info;
 	private PagesAdminBean pages;
 	
+	private UIViewRoot defaultRoot;
+	
+	private Logger log = Logger.getLogger(ProjectAdminBean.class);
+	
+	public ProjectAdminBean() {
+		
+		defaultRoot = FacesContext.getCurrentInstance().getViewRoot();
+		System.out.println("DEFAULT ROOT: " + defaultRoot);
+	}
+	
 	public String save() {
 		
-		System.out.println("SAVE");
+		/* DEBUG
+		if (!FacesTools.isProjectAdminLogged()) {
+			return "projectHome";
+		}*/
 		
-		Pages p = pages.getPages();
-		String projectId = info.getProject().getId();
+		Project project = info.getProjectToSave();
+		project.setPages(pages.getPages());
+		
 		try {
-			LabsServices.getProjectsServiceRW().persistPages(p, projectId);
+			LabsServices.getProjectsServiceRW().persistProject(project);
 		} catch (MalformedObjectNameException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			
+			log.warn("Save project unsuccessful " + e);
+			FacesTools.addMessage("Save failed");
+			return "projectHome";
 		}
 		
-		return "";
+		FacesTools.addMessage("Your changes have been saved.");
+		
+		return "projectHome";
 	}
 	
 	public String apply() {
@@ -68,6 +92,14 @@
 		return "";
 	}
 	
+	public String getNav() {
+		
+		// Reset navigation
+		FacesContext.getCurrentInstance().setViewRoot(defaultRoot);
+		
+		return "";
+	}
+	
 	/* getters and setters */
 	
 	public InfoAdminBean getInfo() {

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java	2007-04-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -45,14 +45,11 @@
 	public InfoAdminBean() {
 		
 		project = InfoAdminTools.getProjectByName(FacesTools.getSelectedProjectId());
-							//TODO get projectId by parameter
 
 		jems = project.getJems();
 	}
 	
-	/* Business methods */
-	
-	public String applyChanges() {
+	public Project getProjectToSave() {
 		
 		List<String> projectJems = project.getJems();
 		projectJems.removeAll(InfoAdminTools.getAllProjectIds());
@@ -60,11 +57,7 @@
 		jems.remove("(none)");
 		projectJems.addAll(jems);
 		
-		InfoAdminTools.saveProject(project);
-		
-		FacesTools.addMessage("Your changes have been saved");
-		
-		return InfoAdminConstants.APPLY_ACTION;
+		return project;
 	}
 
 	/*

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java	2007-04-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -91,11 +91,6 @@
 		
 		return projects;
 	}
-
-	public static void saveProject(Project project) {
-		
-		projectsServiceRW.persistProject(project);
-	}
 	
 	public static List<DocumentationType> getDocumentationTypes() {
 		

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-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminBean.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -56,9 +56,6 @@
 	
 	private Page page;
 	
-	//TODO check if admin is logged!
-	//TODO reset session beans
-	
 	public PagesAdminBean() {
 		
 		String projectId = FacesTools.getSelectedProjectId();
@@ -116,9 +113,15 @@
 		if (PagesAdminConstants.DEFAULT_PAGE.equals(selectedPage)) {
 			
 			FacesTools.addMessage("Cannot delete page '" + selectedPage + "'."); 
-			return "";
+			return PagesAdminConstants.EDIT_PAGES;
 		}
 		
+		PagesAdminTools.deletePage(pages, selectedPage);
+	
+		// switch to default page 
+		selectedPage = PagesAdminConstants.DEFAULT_PAGE;
+		editPage();
+		
 		return PagesAdminConstants.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-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/pages/PagesAdminTools.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -334,4 +334,11 @@
 			}
 		}
 	}
+
+	public static void deletePage(Pages pages, String selectedPage) {
+		
+		Page page = findPage(pages, selectedPage);
+		
+		System.out.println("del page: " + pages.getPages().remove(page));
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoAccessBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoAccessBean.java	2007-04-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoAccessBean.java	2007-04-11 12:06:38 UTC (rev 10888)
@@ -33,7 +33,8 @@
 	
 	public boolean isProjectAdminLogged() {
 		
-		return FacesTools.isProjectAdminLogged();
+		return isUserLogged();
+		//return FacesTools.isProjectAdminLogged();
 	}
 	
 	public boolean isUserLogged() {

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-11 11:34:27 UTC (rev 10887)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-04-11 12:06:38 UTC (rev 10888)
@@ -37,9 +37,17 @@
 			<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>projectHome</from-outcome>
+			<to-view-id>/repo-access/default/prj-admin/projectHome.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>




More information about the jboss-svn-commits mailing list