[jboss-svn-commits] JBL Code SVN: r9929 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common/projects/permissions and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 3 10:39:33 EST 2007


Author: adamw
Date: 2007-03-03 10:39:33 -0500 (Sat, 03 Mar 2007)
New Revision: 9929

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/permissions/PermissionsCheckerFactory.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/Freezone.java
Log:
Small improvement

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java	2007-03-03 15:37:46 UTC (rev 9928)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java	2007-03-03 15:39:33 UTC (rev 9929)
@@ -33,6 +33,7 @@
 import org.jboss.forge.common.ForgeHelper;
 import org.jboss.forge.common.projects.permissions.ActionRequestPermissionsChecker;
 import org.jboss.forge.common.projects.permissions.RenderRequestPermissionsChecker;
+import org.jboss.forge.common.projects.permissions.PermissionsCheckerFactory;
 import org.jboss.forge.common.ejb3.ProjectsService;
 import org.jboss.logging.Logger;
 import org.jboss.mx.util.MBeanProxyExt;
@@ -135,10 +136,6 @@
         return getProjects(Constants.LABS_PORTAL);
     }
 
-    private static String getSeletedProjectId(PortletRequest request) {
-        return request.getPreferences().getValue("projectId", "default");
-    }
-
     /**
      * Equivalent to <code>getSelectedProjectId(request, false)</code>.
      * @param request
@@ -147,7 +144,7 @@
      * @return Selected project's id, or null, if no project is selected (never
      * the default project, as it cannot be selected).
      */
-    public static String getSelectedProjectId(JBossRenderRequest request) {
+    public static String getSelectedProjectId(PortletRequest request) {
         return getSelectedProjectId(request, false);
     }
 
@@ -161,9 +158,9 @@
      * @return Selected project's id, or the default project's id/ null, depending
      * on <code>withDefault</code>, if no project is selected.
      */
-    public static String getSelectedProjectId(JBossRenderRequest request,
+    public static String getSelectedProjectId(PortletRequest request,
                                               boolean withDefault) {
-        String projectId = getSeletedProjectId(request);
+        String projectId = request.getPreferences().getValue("projectId", "default");
 
         if ((projectId == null) && (withDefault)) {
             projectId = DEFAULT_PROJECT;
@@ -171,7 +168,8 @@
             projectId = null;
         } else if ((!DEFAULT_PROJECT.equals(projectId)) &&
                 (getProjects(ForgeHelper.getPortalName(request)).getProjectContext(
-                        new RenderRequestPermissionsChecker(request), projectId) == null)) {
+                        PermissionsCheckerFactory.getPermissionsChecker(request),
+                        projectId) == null)) {
             // No project context --> project does not exist.
             projectId = null;
         }
@@ -180,46 +178,6 @@
     }
 
     /**
-     * Equivalent to <code>getSelectedProjectId(request, false)</code>.
-     * @param request
-     *            A request object from which the selected project name will be
-     *            read.
-     * @return Selected project's id, or null, if no project is selected (never
-     * the default project, as it cannot be selected).
-     */
-    public static String getSelectedProjectId(JBossActionRequest request) {
-        return getSelectedProjectId(request, false);
-    }
-
-    /**
-     * @param request
-     *            A request object from which the selected project name will be
-     *            read.
-     * @param withDefault
-     * 			  True if default project name should be returned if no project
-     * 			  is selected. False if null should be returned in such case.
-     * @return Selected project's id, or the default project's id/ null, depending
-     * on <code>withDefault</code>, if no project is selected.
-     */
-    public static String getSelectedProjectId(JBossActionRequest request,
-                                              boolean withDefault) {
-        String projectId = getSeletedProjectId(request);
-
-        if ((projectId == null) && (withDefault)) {
-            projectId = DEFAULT_PROJECT;
-        } else if ((!withDefault) && (DEFAULT_PROJECT.equals(projectId))) {
-            projectId = null;
-        } else if ((!DEFAULT_PROJECT.equals(projectId)) &&
-                (getProjects(ForgeHelper.getPortalName(request)).getProjectContext(
-                        new ActionRequestPermissionsChecker(request), projectId) == null)) {
-            // No project context --> project does not exist.
-            projectId = null;
-        }
-
-        return projectId;
-    }
-
-    /**
      * Prepares a request object for generating a JSP. PROJECT_NAME and
      * PROJECT_ID attributes are set.
      *

Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/permissions/PermissionsCheckerFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/permissions/PermissionsCheckerFactory.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/permissions/PermissionsCheckerFactory.java	2007-03-03 15:39:33 UTC (rev 9929)
@@ -0,0 +1,23 @@
+package org.jboss.forge.common.projects.permissions;
+
+import org.jboss.portlet.JBossActionRequest;
+import org.jboss.portlet.JBossRenderRequest;
+
+import javax.portlet.PortletRequest;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class PermissionsCheckerFactory {
+    public static PermissionsChecker getPermissionsChecker(PortletRequest request) {
+        if (request instanceof JBossActionRequest) {
+            return new ActionRequestPermissionsChecker((JBossActionRequest) request);
+        }
+
+        if (request instanceof JBossRenderRequest) {
+            return new RenderRequestPermissionsChecker((JBossRenderRequest) request);
+        }
+
+        return new NullPermissionsChecker();
+    }
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/Freezone.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/Freezone.java	2007-03-03 15:37:46 UTC (rev 9928)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/freezone/Freezone.java	2007-03-03 15:39:33 UTC (rev 9929)
@@ -29,6 +29,7 @@
 import org.jboss.forge.common.portlet.JBossLabsPortlet;
 import org.jboss.forge.common.projects.ProjectsHelper;
 import org.jboss.forge.common.projects.permissions.RenderRequestPermissionsChecker;
+import org.jboss.forge.common.projects.permissions.PermissionsCheckerFactory;
 import org.jboss.forge.projects.exceptions.NotExistsException;
 import org.jboss.portlet.JBossRenderRequest;
 import org.jboss.portlet.JBossRenderResponse;
@@ -66,8 +67,8 @@
 		response.getWriter().println(ERROR_404_MSG);
 	}
 
-	private String getRequestedPath(JBossRenderRequest request,
-			JBossRenderResponse response) throws NotExistsException {
+	private String getRequestedPath(PortletRequest request,
+			PortletResponse response) throws NotExistsException {
 		/*
 		 * Checking if the user has access to the selected project (this isn't
 		 * checked in the url mapper).
@@ -78,7 +79,7 @@
 				&& (!"default".equals(projectId))
 				&& (!ProjectsHelper.getProjects(Constants.LABS_PORTAL)
 						.projectExists(
-								new RenderRequestPermissionsChecker(request),
+                                PermissionsCheckerFactory.getPermissionsChecker(request),
 								projectId))) {
 			throw new NotExistsException("Not allowed to see");
 		}




More information about the jboss-svn-commits mailing list