[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