[jboss-svn-commits] JBL Code SVN: r8890 - in labs/jbosslabs/trunk/portal-extensions: forge-contributor/src/java/org/jboss/forge/contributor and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 17 17:12:00 EST 2007


Author: wrzep
Date: 2007-01-17 17:11:57 -0500 (Wed, 17 Jan 2007)
New Revision: 8890

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConDataBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConMainBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java
Log:
JBLAB-780
Moving ConTools class to forge-common as it contains methods useful for all jsf-based portlets.

Pawel


Added: 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	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/FacesTools.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -0,0 +1,177 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.forge.common;
+
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.portal.api.node.PortalNodeURL;
+import org.jboss.portlet.JBossActionRequest;
+import org.jboss.portlet.JBossActionResponse;
+import org.jboss.portlet.JBossRenderRequest;
+import org.jboss.portlet.JBossRenderResponse;
+
+/**
+ * @author adamw
+ * @author dejp
+ * Various static helper methods, mainly reading from the current
+ * faces and external contexts.
+ */
+public class FacesTools {
+
+    public static ExternalContext getExternalContext() {
+        return FacesContext.getCurrentInstance().getExternalContext();
+    }
+
+    public static String getRequestProperty(String propertyName) {
+        Object request = getExternalContext().getRequest();
+        if (request instanceof JBossActionRequest) {
+            return ((JBossActionRequest) request).getPortalContext().
+                            getProperty(propertyName);
+        } else if (request instanceof JBossRenderRequest) {
+            return ((JBossRenderRequest) request).getPortalContext().
+                            getProperty(propertyName);
+        } else return null;
+    }
+
+    public static PortalNodeURL createRenderURL() {
+        Object response = getExternalContext().getResponse();
+        if (response instanceof JBossActionResponse) {
+            //TODO
+            //New "feature" of portal 2.2 ...
+            return ((JBossActionResponse) response).createRenderURL(
+                    ((JBossActionRequest) getExternalContext().getRequest()).getPortalNode());
+            //return null;
+        } else if (response instanceof JBossRenderResponse) {
+            return ((JBossRenderResponse) response).createRenderURL(
+                    ((JBossRenderRequest) getExternalContext().getRequest()).getPortalNode());
+        } else {
+            return null;
+        }
+    }
+
+    public static String getBaseServerAddress() {
+        Object request = getExternalContext().getRequest();
+        if (request instanceof JBossActionRequest) {
+            return ForgeHelper.getBaseServerAddress((JBossActionRequest) request);
+        } else if (request instanceof JBossRenderRequest) {
+            return ForgeHelper.getBaseServerAddress((JBossRenderRequest) request);
+        } else return "";
+    }
+
+    public static String getPortalName() {
+        return getRequestProperty(Constants.PROP_SHOTOKU_PORTAL_DIRECTORY);
+    }
+
+    public static boolean hasPermission(String permission) {
+    	
+        Object request = getExternalContext().getRequest();
+        if (request instanceof JBossActionRequest) {
+            org.jboss.portal.identity.User u = ((JBossActionRequest) request).getUser();
+            if (u == null) {
+                return false;
+            }
+
+            return PermissionTools.isUserInRole(u, permission);
+        } else if (request instanceof JBossRenderRequest) {
+            org.jboss.portal.identity.User u = ((JBossRenderRequest) request).getUser();
+            if (u == null) {
+                return false;
+            }
+
+            return PermissionTools.isUserInRole(u, permission);
+        } else 
+        	return false;
+    }
+
+    public static boolean isProjectLead() {
+    	
+    	Set<String> projectIds = ProjectsHelper.getProjectIds(FacesTools.getPortalName());
+    	
+        org.jboss.portal.identity.User u = getUser();
+
+        if (u == null) {
+        	return false;
+        }
+            
+        List<String> roles = PermissionTools.getRoleNames(u);
+        for (String role : roles) {
+        	if (role.endsWith("-admin")) {
+        		if (projectIds.contains(role.replaceAll("-admin", "")))
+        			return true;
+        	}
+        }
+            
+        return false;
+    }
+    
+    public static org.jboss.portal.identity.User getUser() {
+    	
+        Object request = getExternalContext().getRequest();
+        
+        org.jboss.portal.identity.User u = null;
+        if (request instanceof JBossActionRequest) {
+            u = ((JBossActionRequest) request).getUser();
+        } else if (request instanceof JBossRenderRequest) {
+            u = ((JBossRenderRequest) request).getUser();
+        }
+        return u;
+    }
+    
+    public static Set<String> getLeadProjectIds() {
+    	
+    	Set<String> projectIds = ProjectsHelper.getProjectIds(FacesTools.getPortalName());
+    	
+    	org.jboss.portal.identity.User user = getUser();
+    	
+    	if (user == null) {
+    		return null;
+    	}
+    	
+    	Set<String> results = new LinkedHashSet<String>();
+    	
+        List<String> roles = PermissionTools.getRoleNames(user);
+        for (String role : roles) {
+        	if (role.endsWith("-admin")) {
+        		String projectId = role.replaceAll("-admin", "");
+        		if (projectIds.contains(projectId))
+        			results.add(projectId);
+        	}
+        }
+    	
+    	return results;
+    }
+    
+    public static String getRemoteUser() {
+        return getExternalContext().getRemoteUser();
+    }
+    
+    public static org.jboss.portal.identity.User getUser(String username) {
+    	return null;    	
+    }
+
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java	2007-01-17 22:01:58 UTC (rev 8889)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConAccessBean.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -21,6 +21,8 @@
  */
 package org.jboss.forge.contributor;
 
+import org.jboss.forge.common.FacesTools;
+
 /**
  * @author adamw
  * A request-scoped bean for managing access rights to various pages of
@@ -29,14 +31,14 @@
 public class ConAccessBean {
 
 	public boolean isAdminLogged() {
-        return isUserLogged() && ConTools.hasPermission("con-admin");
+        return isUserLogged() && FacesTools.hasPermission("con-admin");
 	}
 
 	public boolean isProjectLeadLogged() {
-		return ConTools.isProjectLead();
+		return FacesTools.isProjectLead();
 	}
 	
 	public boolean isUserLogged() {
-        return ConTools.getRemoteUser() != null;
+        return FacesTools.getRemoteUser() != null;
 	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConDataBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConDataBean.java	2007-01-17 22:01:58 UTC (rev 8889)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConDataBean.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -28,6 +28,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.projects.Projects;
 import org.jboss.forge.common.projects.ProjectsHelper;
 
@@ -141,7 +142,7 @@
 	public String getProjects() {
 		if (this.projects == null) {
 			String projects = new String();
-			Projects prjs = ProjectsHelper.getProjects(ConTools.getPortalName());
+			Projects prjs = ProjectsHelper.getProjects(FacesTools.getPortalName());
 		
 			for (String projectId : projectsInfo.keySet()) {
 				if (projects.length() > 0)			

Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConMainBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConMainBean.java	2007-01-17 22:01:58 UTC (rev 8889)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConMainBean.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -30,6 +30,7 @@
 import javax.faces.component.UIData;
 import javax.faces.context.FacesContext;
 
+import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.Constants;
 import org.jboss.forge.common.SearchTools;
 
@@ -85,7 +86,7 @@
 		} else {
 			addMessage(getServer().getMessages().getString("commitError"));
 		}
-		getServer().resetDesc(ConTools.getPortalName());		
+		getServer().resetDesc(FacesTools.getPortalName());		
 		return null;
 	}
 	
@@ -96,7 +97,7 @@
 		} else {
 			addMessage(getServer().getMessages().getString("commitError"));
 		}
-		getServer().resetDesc(ConTools.getPortalName());
+		getServer().resetDesc(FacesTools.getPortalName());
 		return null;
 	}
 	
@@ -121,7 +122,7 @@
 		}
 		
 		setComment(null);
-		getServer().resetDesc(ConTools.getPortalName());
+		getServer().resetDesc(FacesTools.getPortalName());
 		return null;
 	}
 	
@@ -136,7 +137,7 @@
 		}
 		
 		setComment(null);
-		getServer().resetDesc(ConTools.getPortalName());
+		getServer().resetDesc(FacesTools.getPortalName());
 		return null;
 	}
 	
@@ -146,10 +147,10 @@
 		
 		if (committer) {
 			error = getServer().processApplication(name, email, type,
-					projects, ConTools.getRemoteUser(), "1");
+					projects, FacesTools.getRemoteUser(), "1");
 		} else {
 			error = getServer().processApplication(name, email, type,
-					projects, ConTools.getRemoteUser(), "0");			
+					projects, FacesTools.getRemoteUser(), "0");			
 		}
 		
 		if (error == null) {
@@ -164,8 +165,8 @@
 	
 	@SuppressWarnings("unchecked")
 	public String backAfterConfirm() {
-		ConTools.getExternalContext().getSessionMap().remove("confirm");
-		ConTools.getExternalContext().getSessionMap().put(ALREADY_CONFIRMED_KEY,
+		FacesTools.getExternalContext().getSessionMap().remove("confirm");
+		FacesTools.getExternalContext().getSessionMap().put(ALREADY_CONFIRMED_KEY,
 				Constants.FALSE_VALUE);
 		
 		return null;
@@ -185,7 +186,7 @@
 	public String search() {
 		filteredList = new ArrayList<ConDataBean>();
 		List<ConDataBean> allData = 
-			getServer().getDesc(ConTools.getPortalName()).getData();
+			getServer().getDesc(FacesTools.getPortalName()).getData();
 		
 		for (ConDataBean bean : allData) {
 			if ((SearchTools.searchInString(bean.getName(), SearchTools.prepareTokens(searchName, " "))) ||
@@ -221,7 +222,7 @@
 	 */
 	
 	public List getData() {
-		String portalName = ConTools.getPortalName();
+		String portalName = FacesTools.getPortalName();
 		
 		if (sort != null) filteredData = false;
 		
@@ -242,11 +243,11 @@
 	@SuppressWarnings("unchecked")
 	public boolean getConfirmation() {
 		
-		String code = (String) ConTools.getExternalContext().
+		String code = (String) FacesTools.getExternalContext().
 			getRequestParameterMap().get("confirm");
 
 		if (code != null) {
-			if (Constants.TRUE_VALUE.equals(ConTools.getExternalContext().
+			if (Constants.TRUE_VALUE.equals(FacesTools.getExternalContext().
 					getSessionMap().get(ALREADY_CONFIRMED_KEY)))
 				return true;
 			
@@ -257,10 +258,10 @@
 			else
 				addMessage(server.getMessages().getString("confirmationSucceeded"));
 			
-			ConTools.getExternalContext().getSessionMap().put(
+			FacesTools.getExternalContext().getSessionMap().put(
 					ALREADY_CONFIRMED_KEY, Constants.TRUE_VALUE);
 			
-			getServer().resetDesc(ConTools.getPortalName());
+			getServer().resetDesc(FacesTools.getPortalName());
 			
 			return true;
 		}
@@ -269,7 +270,7 @@
 	}
 	
 	public List getAdminData() {
-		return getServer().getDesc(ConTools.getPortalName()).getNotAcceptedData();
+		return getServer().getDesc(FacesTools.getPortalName()).getNotAcceptedData();
 	}
 
 	public String getEmail() {
@@ -405,8 +406,8 @@
 	}
 
 	public List<ConDataBean> getLeadData() {
-		Set<String> projectIds = ConTools.getLeadProjectIds();
-		return getServer().getDesc(ConTools.getPortalName()).getNotAcceptedByLeadData(projectIds);
+		Set<String> projectIds = FacesTools.getLeadProjectIds();
+		return getServer().getDesc(FacesTools.getPortalName()).getNotAcceptedByLeadData(projectIds);
 	}
 	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java	2007-01-17 22:01:58 UTC (rev 8889)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -32,6 +32,7 @@
 import java.util.ResourceBundle;
 import java.util.Set;
 
+import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.ForgeHelper;
 import org.jboss.forge.common.projects.ProjectsHelper;
 import org.jboss.forge.common.projects.project.Developers;
@@ -69,7 +70,7 @@
 	final static String UNCONFIRMED_XML  = "unconfirmed.xml";
 	
 	static String getBaseFilePath() {
-		return ConTools.getPortalName() + "/" + ConServer.CONTRIBUTOR_DIR ;
+		return FacesTools.getPortalName() + "/" + ConServer.CONTRIBUTOR_DIR ;
 	}
 	
 	static String getConfirmedFilePath() {
@@ -127,7 +128,7 @@
 		
 		String oldXml = contributor.getXml();
 		
-		Set<String> projectIds = ConTools.getLeadProjectIds();
+		Set<String> projectIds = FacesTools.getLeadProjectIds();
 		Map<String, String> projectsInfo = contributor.getProjectsInfo();
 		for (String projectId : projectsInfo.keySet()) {
 			if (projectIds.contains(projectId)) {
@@ -150,11 +151,11 @@
 			confirmed.setContent(newContent);
 			confirmed.save("New application accepted");
 			
-			getDesc(ConTools.getPortalName()).getNotAcceptedByLeadsData().remove(contributor);
+			getDesc(FacesTools.getPortalName()).getNotAcceptedByLeadsData().remove(contributor);
 			
 			if (!projectsInfo.containsValue("0")) {
-				PortalNodeURL url = ConTools.createRenderURL();
-				String adminURL = ConTools.getBaseServerAddress() + 
+				PortalNodeURL url = FacesTools.createRenderURL();
+				String adminURL = FacesTools.getBaseServerAddress() + 
 					url.toString();
 
 				// sending email to admin
@@ -166,7 +167,7 @@
 						"labs-admin at jboss.com");
 			}
 			
-			org.jboss.portal.identity.User projectLead = ConTools.getUser();
+			org.jboss.portal.identity.User projectLead = FacesTools.getUser();
 			
 			if (projectLead != null) {
 				String projectLeadEmail = projectLead.getRealEmail();
@@ -214,7 +215,7 @@
 			confirmed.setContent(newContent);
 			confirmed.save("New application accepted");
 			
-			getDesc(ConTools.getPortalName()).getNotAcceptedData().remove(dataBean);
+			getDesc(FacesTools.getPortalName()).getNotAcceptedData().remove(dataBean);
 			
 			// Posting a notification to the contributor
 			ForgeHelper.postMail(dataBean.getEmail(),
@@ -280,7 +281,7 @@
 				throw new RuntimeException(e);
 			}
 			
-			getDesc(ConTools.getPortalName()).getNotAcceptedData().remove(dataBean);
+			getDesc(FacesTools.getPortalName()).getNotAcceptedData().remove(dataBean);
 			
 			return true;
 		} finally {
@@ -335,7 +336,7 @@
 				throw new RuntimeException(e);
 			}
 			
-			getDesc(ConTools.getPortalName()).getNotAcceptedByLeadsData().remove(dataBean);
+			getDesc(FacesTools.getPortalName()).getNotAcceptedByLeadsData().remove(dataBean);
 			
 			return true;
 		} finally {
@@ -425,8 +426,8 @@
 			confirmed.save("Confirming new application");
 			unconfirmed.save("Confirming new application");
 			
-			PortalNodeURL url = ConTools.createRenderURL();
-			String adminURL = ConTools.getBaseServerAddress() + 
+			PortalNodeURL url = FacesTools.createRenderURL();
+			String adminURL = FacesTools.getBaseServerAddress() + 
 				url.toString();
 			
 			try {
@@ -496,7 +497,7 @@
 				(!checkString(type)) || (projects.isEmpty()))
 			return messages.getString("notAllFieldsFilledError");
 		
-		String portalName = ConTools.getPortalName();
+		String portalName = FacesTools.getPortalName();
 		
 		if ((getDesc(portalName).getTakenIds().contains(name)))
 			return messages.getString("nameAlreadyExistsError");
@@ -519,9 +520,9 @@
 			// Values ok, adding application.
 			
 			// Sending the confirmation e-mail.
-			PortalNodeURL url = ConTools.createRenderURL();
+			PortalNodeURL url = FacesTools.createRenderURL();
 			url.setParameter("confirm", confirmationCode);
-			String confirmationURL = ConTools.getBaseServerAddress() + 
+			String confirmationURL = FacesTools.getBaseServerAddress() + 
 				url.toString();
 			
 			Node unconfirmed = cm.getNode(getUnconfirmedFilePath());
@@ -552,7 +553,7 @@
 	
 	Map<String, String> getProjectsNameId() {
 		
-		return ProjectsHelper.getProjectsNameId(ConTools.getPortalName());
+		return ProjectsHelper.getProjectsNameId(FacesTools.getPortalName());
 	}
 
 }
\ No newline at end of file

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java	2007-01-17 22:01:58 UTC (rev 8889)
+++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConTools.java	2007-01-17 22:11:57 UTC (rev 8890)
@@ -1,180 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.forge.contributor;
-
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-
-import org.jboss.forge.common.Constants;
-import org.jboss.forge.common.ForgeHelper;
-import org.jboss.forge.common.PermissionTools;
-import org.jboss.forge.common.projects.ProjectsHelper;
-import org.jboss.portal.api.node.PortalNodeURL;
-import org.jboss.portlet.JBossActionRequest;
-import org.jboss.portlet.JBossActionResponse;
-import org.jboss.portlet.JBossRenderRequest;
-import org.jboss.portlet.JBossRenderResponse;
-
-/**
- * @author adamw
- * @author dejp
- * Various static helper methods, mainly reading from the current
- * faces and external contexts.
- */
-public class ConTools {
-
-    public static ExternalContext getExternalContext() {
-        return FacesContext.getCurrentInstance().getExternalContext();
-    }
-
-    public static String getRequestProperty(String propertyName) {
-        Object request = getExternalContext().getRequest();
-        if (request instanceof JBossActionRequest) {
-            return ((JBossActionRequest) request).getPortalContext().
-                            getProperty(propertyName);
-        } else if (request instanceof JBossRenderRequest) {
-            return ((JBossRenderRequest) request).getPortalContext().
-                            getProperty(propertyName);
-        } else return null;
-    }
-
-    public static PortalNodeURL createRenderURL() {
-        Object response = getExternalContext().getResponse();
-        if (response instanceof JBossActionResponse) {
-            //TODO
-            //New "feature" of portal 2.2 ...
-            return ((JBossActionResponse) response).createRenderURL(
-                    ((JBossActionRequest) getExternalContext().getRequest()).getPortalNode());
-            //return null;
-        } else if (response instanceof JBossRenderResponse) {
-            return ((JBossRenderResponse) response).createRenderURL(
-                    ((JBossRenderRequest) getExternalContext().getRequest()).getPortalNode());
-        } else {
-            return null;
-        }
-    }
-
-    public static String getBaseServerAddress() {
-        Object request = getExternalContext().getRequest();
-        if (request instanceof JBossActionRequest) {
-            return ForgeHelper.getBaseServerAddress((JBossActionRequest) request);
-        } else if (request instanceof JBossRenderRequest) {
-            return ForgeHelper.getBaseServerAddress((JBossRenderRequest) request);
-        } else return "";
-    }
-
-    public static String getPortalName() {
-        return getRequestProperty(Constants.PROP_SHOTOKU_PORTAL_DIRECTORY);
-    }
-
-    public static boolean hasPermission(String permission) {
-    	
-        Object request = getExternalContext().getRequest();
-        if (request instanceof JBossActionRequest) {
-            org.jboss.portal.identity.User u = ((JBossActionRequest) request).getUser();
-            if (u == null) {
-                return false;
-            }
-
-            return PermissionTools.isUserInRole(u, permission);
-        } else if (request instanceof JBossRenderRequest) {
-            org.jboss.portal.identity.User u = ((JBossRenderRequest) request).getUser();
-            if (u == null) {
-                return false;
-            }
-
-            return PermissionTools.isUserInRole(u, permission);
-        } else 
-        	return false;
-    }
-
-    public static boolean isProjectLead() {
-    	
-    	Set<String> projectIds = ProjectsHelper.getProjectIds(ConTools.getPortalName());
-    	
-        org.jboss.portal.identity.User u = getUser();
-
-        if (u == null) {
-        	return false;
-        }
-            
-        List<String> roles = PermissionTools.getRoleNames(u);
-        for (String role : roles) {
-        	if (role.endsWith("-admin")) {
-        		if (projectIds.contains(role.replaceAll("-admin", "")))
-        			return true;
-        	}
-        }
-            
-        return false;
-    }
-    
-    public static org.jboss.portal.identity.User getUser() {
-    	
-        Object request = getExternalContext().getRequest();
-        
-        org.jboss.portal.identity.User u = null;
-        if (request instanceof JBossActionRequest) {
-            u = ((JBossActionRequest) request).getUser();
-        } else if (request instanceof JBossRenderRequest) {
-            u = ((JBossRenderRequest) request).getUser();
-        }
-        return u;
-    }
-    
-    public static Set<String> getLeadProjectIds() {
-    	
-    	Set<String> projectIds = ProjectsHelper.getProjectIds(ConTools.getPortalName());
-    	
-    	org.jboss.portal.identity.User user = getUser();
-    	
-    	if (user == null) {
-    		return null;
-    	}
-    	
-    	Set<String> results = new LinkedHashSet<String>();
-    	
-        List<String> roles = PermissionTools.getRoleNames(user);
-        for (String role : roles) {
-        	if (role.endsWith("-admin")) {
-        		String projectId = role.replaceAll("-admin", "");
-        		if (projectIds.contains(projectId))
-        			results.add(projectId);
-        	}
-        }
-    	
-    	return results;
-    }
-    
-    public static String getRemoteUser() {
-        return getExternalContext().getRemoteUser();
-    }
-    
-    public static org.jboss.portal.identity.User getUser(String username) {
-    	return null;    	
-    }
-
-}




More information about the jboss-svn-commits mailing list