Author: julien(a)jboss.com
Date: 2007-04-23 18:29:26 -0400 (Mon, 23 Apr 2007)
New Revision: 7034
Added:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AuthorizationBean.java
Removed:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AbstractAuthorizationBean.java
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
Log:
consistent behavior when clicking update/cancel from security editor go to portal object
page (the udpate was going to the parent of the portal object)
Deleted:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AbstractAuthorizationBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AbstractAuthorizationBean.java 2007-04-23
22:18:57 UTC (rev 7033)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AbstractAuthorizationBean.java 2007-04-23
22:29:26 UTC (rev 7034)
@@ -1,210 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, 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.portal.core.admin.ui;
-
-import org.jboss.portal.common.util.Tools;
-import org.jboss.portal.faces.el.dynamic.AbstractDynamicBean;
-import org.jboss.portal.faces.el.PropertyValue;
-import org.jboss.portal.security.RoleSecurityBinding;
-import org.jboss.portal.security.SecurityConstants;
-import org.jboss.portal.security.spi.provider.DomainConfigurator;
-import org.jboss.portal.security.spi.provider.SecurityConfigurationException;
-import org.jboss.portal.identity.RoleModule;
-import org.jboss.portal.identity.Role;
-import org.jboss.portal.identity.IdentityException;
-
-import javax.faces.model.SelectItem;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.Collections;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6252 $
- */
-public abstract class AbstractAuthorizationBean
-{
-
- public AbstractDynamicBean getForRole()
- {
- return new AbstractDynamicBean()
- {
- public Class getType(Object propertyName)
- {
- return String[].class;
- }
-
- public PropertyValue getValue(Object propertyName)
- {
- String[] actions = getActionsForRole((String)propertyName);
- return actions != null ? new PropertyValue(actions) : null;
- }
-
- public boolean setValue(Object propertyName, Object value)
- {
- return setActionsForRole((String)propertyName, (String[])value);
- }
- };
- }
-
- public boolean setActionsForRole(String roleName, String[] actions)
- {
- String uri = getURI();
- if (uri != null)
- {
- Set constraints = getDomainConfigurator().getSecurityBindings(uri);
- Map newConstraints = new HashMap();
- if (constraints != null)
- {
- for (Iterator i = constraints.iterator(); i.hasNext();)
- {
- RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
- newConstraints.put(binding.getRoleName(), binding);
- }
- }
- Set blah = Tools.toSet(actions);
- newConstraints.put(roleName, new RoleSecurityBinding(blah, roleName));
- try
- {
- getDomainConfigurator().setSecurityBindings(uri, new
HashSet(newConstraints.values()));
- }
- catch (SecurityConfigurationException e)
- {
- e.printStackTrace();
- }
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public String[] getActionsForRole(String roleName)
- {
- String uri = getURI();
- if (uri != null)
- {
- Set constraints = getDomainConfigurator().getSecurityBindings(uri);
- if (constraints != null)
- {
- Set actions = new HashSet();
- for (Iterator i = constraints.iterator(); i.hasNext();)
- {
- RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
- if (binding.getRoleName().equals(roleName))
- {
- actions.addAll(binding.getActions());
- }
- }
- return (String[])actions.toArray(new String[actions.size()]);
- }
- else
- {
- return new String[0];
- }
- }
- else
- {
- return null;
- }
- }
-
- public String[] getRoles()
- {
- SortedSet roleNames = new TreeSet();
-
- // Get role names from URI
- String uri = getURI();
- if (uri != null)
- {
- Set constraints = getDomainConfigurator().getSecurityBindings(uri);
- if (constraints != null)
- {
- for (Iterator i = constraints.iterator(); i.hasNext();)
- {
- RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
- roleNames.add(binding.getRoleName());
- }
- }
- }
-
- // Get other roles from role module
- try
- {
- roleNames.add(SecurityConstants.UNCHECKED_ROLE_NAME);
- for (Iterator i = getRoleModule().findRoles().iterator(); i.hasNext();)
- {
- Role role = (Role)i.next();
- roleNames.add(role.getName());
- }
- }
- catch (IdentityException e)
- {
- e.printStackTrace();
- }
-
- //
- return (String[])roleNames.toArray(new String[roleNames.size()]);
- }
-
- public Map getRoleDisplayNameMap()
- {
- try
- {
- Map map = new HashMap();
- for (Iterator i = getRoleModule().findRoles().iterator();i.hasNext();)
- {
- Role role = (Role)i.next();
- String displayName = role.getDisplayName();
- if (displayName != null)
- {
- String name = role.getName();
- map.put(name, displayName);
- }
- }
- return map;
- }
- catch (IdentityException e)
- {
- return Collections.EMPTY_MAP;
- }
- }
-
- public abstract String submit();
-
- public abstract String cancel();
-
- public abstract RoleModule getRoleModule();
-
- public abstract DomainConfigurator getDomainConfigurator();
-
- public abstract SelectItem[] getAvailableActions();
-
- protected abstract String getURI();
-}
Copied: trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AuthorizationBean.java
(from rev 7033,
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AbstractAuthorizationBean.java)
===================================================================
--- trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AuthorizationBean.java
(rev 0)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AuthorizationBean.java 2007-04-23
22:29:26 UTC (rev 7034)
@@ -0,0 +1,210 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, 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.portal.core.admin.ui;
+
+import org.jboss.portal.common.util.Tools;
+import org.jboss.portal.faces.el.dynamic.AbstractDynamicBean;
+import org.jboss.portal.faces.el.PropertyValue;
+import org.jboss.portal.security.RoleSecurityBinding;
+import org.jboss.portal.security.SecurityConstants;
+import org.jboss.portal.security.spi.provider.DomainConfigurator;
+import org.jboss.portal.security.spi.provider.SecurityConfigurationException;
+import org.jboss.portal.identity.RoleModule;
+import org.jboss.portal.identity.Role;
+import org.jboss.portal.identity.IdentityException;
+
+import javax.faces.model.SelectItem;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6252 $
+ */
+public abstract class AuthorizationBean
+{
+
+ public AbstractDynamicBean getForRole()
+ {
+ return new AbstractDynamicBean()
+ {
+ public Class getType(Object propertyName)
+ {
+ return String[].class;
+ }
+
+ public PropertyValue getValue(Object propertyName)
+ {
+ String[] actions = getActionsForRole((String)propertyName);
+ return actions != null ? new PropertyValue(actions) : null;
+ }
+
+ public boolean setValue(Object propertyName, Object value)
+ {
+ return setActionsForRole((String)propertyName, (String[])value);
+ }
+ };
+ }
+
+ public boolean setActionsForRole(String roleName, String[] actions)
+ {
+ String uri = getURI();
+ if (uri != null)
+ {
+ Set constraints = getDomainConfigurator().getSecurityBindings(uri);
+ Map newConstraints = new HashMap();
+ if (constraints != null)
+ {
+ for (Iterator i = constraints.iterator(); i.hasNext();)
+ {
+ RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
+ newConstraints.put(binding.getRoleName(), binding);
+ }
+ }
+ Set blah = Tools.toSet(actions);
+ newConstraints.put(roleName, new RoleSecurityBinding(blah, roleName));
+ try
+ {
+ getDomainConfigurator().setSecurityBindings(uri, new
HashSet(newConstraints.values()));
+ }
+ catch (SecurityConfigurationException e)
+ {
+ e.printStackTrace();
+ }
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public String[] getActionsForRole(String roleName)
+ {
+ String uri = getURI();
+ if (uri != null)
+ {
+ Set constraints = getDomainConfigurator().getSecurityBindings(uri);
+ if (constraints != null)
+ {
+ Set actions = new HashSet();
+ for (Iterator i = constraints.iterator(); i.hasNext();)
+ {
+ RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
+ if (binding.getRoleName().equals(roleName))
+ {
+ actions.addAll(binding.getActions());
+ }
+ }
+ return (String[])actions.toArray(new String[actions.size()]);
+ }
+ else
+ {
+ return new String[0];
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public String[] getRoles()
+ {
+ SortedSet roleNames = new TreeSet();
+
+ // Get role names from URI
+ String uri = getURI();
+ if (uri != null)
+ {
+ Set constraints = getDomainConfigurator().getSecurityBindings(uri);
+ if (constraints != null)
+ {
+ for (Iterator i = constraints.iterator(); i.hasNext();)
+ {
+ RoleSecurityBinding binding = (RoleSecurityBinding)i.next();
+ roleNames.add(binding.getRoleName());
+ }
+ }
+ }
+
+ // Get other roles from role module
+ try
+ {
+ roleNames.add(SecurityConstants.UNCHECKED_ROLE_NAME);
+ for (Iterator i = getRoleModule().findRoles().iterator(); i.hasNext();)
+ {
+ Role role = (Role)i.next();
+ roleNames.add(role.getName());
+ }
+ }
+ catch (IdentityException e)
+ {
+ e.printStackTrace();
+ }
+
+ //
+ return (String[])roleNames.toArray(new String[roleNames.size()]);
+ }
+
+ public Map getRoleDisplayNameMap()
+ {
+ try
+ {
+ Map map = new HashMap();
+ for (Iterator i = getRoleModule().findRoles().iterator();i.hasNext();)
+ {
+ Role role = (Role)i.next();
+ String displayName = role.getDisplayName();
+ if (displayName != null)
+ {
+ String name = role.getName();
+ map.put(name, displayName);
+ }
+ }
+ return map;
+ }
+ catch (IdentityException e)
+ {
+ return Collections.EMPTY_MAP;
+ }
+ }
+
+ public abstract String submit();
+
+ public abstract String cancel();
+
+ public abstract RoleModule getRoleModule();
+
+ public abstract DomainConfigurator getDomainConfigurator();
+
+ public abstract SelectItem[] getAvailableActions();
+
+ protected abstract String getURI();
+}
Property changes on:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/AuthorizationBean.java
___________________________________________________________________
Name: svn:executable
+ *
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java 2007-04-23
22:18:57 UTC (rev 7033)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/InstanceManagerBean.java 2007-04-23
22:29:26 UTC (rev 7034)
@@ -96,7 +96,7 @@
private List instances;
/** . */
- private AbstractAuthorizationBean auth = new AuthorizationBean();
+ private AuthorizationBean auth = new InstanceAuthorizationBean();
// Services accessors
@@ -221,7 +221,7 @@
return selectedPrefs;
}
- public AbstractAuthorizationBean getAuth()
+ public AuthorizationBean getAuth()
{
return auth;
}
@@ -366,7 +366,7 @@
}
};
- public class AuthorizationBean extends AbstractAuthorizationBean
+ public class InstanceAuthorizationBean extends AuthorizationBean
{
public DomainConfigurator getDomainConfigurator()
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-04-23
22:18:57 UTC (rev 7033)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-04-23
22:29:26 UTC (rev 7034)
@@ -111,7 +111,7 @@
// Runtime state
/** . */
- private final AbstractAuthorizationBean auth = new PortalObjectAuthorizationBean();
+ private final AuthorizationBean auth = new PortalObjectAuthorizationBean();
/** . */
private SelectItem[] instanceItems;
@@ -291,7 +291,7 @@
return portletDefinitionInvoker;
}
- public AbstractAuthorizationBean getAuth()
+ public AuthorizationBean getAuth()
{
return auth;
}
@@ -556,7 +556,7 @@
getDomainConfigurator().setSecurityBindings(page.getId().toString(PortalObjectId.CANONICAL_FORMAT),
constraints);
}
- public class PortalObjectAuthorizationBean extends AbstractAuthorizationBean
+ public class PortalObjectAuthorizationBean extends AuthorizationBean
{
public DomainConfigurator getDomainConfigurator()
@@ -595,10 +595,6 @@
FacesContext.getCurrentInstance().addMessage("status", message);
//
- PortalObject po = getSelectedObject();
- selectObject(po.getParent());
-
- //
return "objects";
}