You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dj...@apache.org on 2006/12/28 05:48:33 UTC
svn commit: r490646 [3/8] - in /directory/trunks/triplesec: ./ admin-api/
admin-api/src/main/java/org/safehaus/triplesec/admin/
admin-api/src/main/java/org/safehaus/triplesec/admin/dao/
admin-api/src/main/java/org/safehaus/triplesec/admin/dao/ldap/ adm...
Modified: directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Profile.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Profile.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Profile.java (original)
+++ directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Profile.java Wed Dec 27 20:48:29 2006
@@ -22,6 +22,8 @@
import java.io.Serializable;
import java.security.AccessControlException;
+import java.security.Permission;
+import java.security.Permissions;
import java.util.Iterator;
@@ -31,17 +33,17 @@
* to manage access controls for user profiles associated with applications.
* Profiles associate users with applications. This class models that profile
* by linking the user with an application and allowing the assignment of an
- * application specific {@link Role} set and {@link Permission} set to the
+ * application specific {@link Role} set and {@link StringPermission} set to the
* profile.
* </p>
* <p>
* Profiles contain three sets of Permissions and a set of Roles used for
* managing an authorization policy of a user. A Role Based Access Control
- * (RBAC) model is used to easily manage the Profile. The three Permission
+ * (RBAC) model is used to easily manage the Profile. The three StringPermission
* sets are: grants, denials and the effective calculated permissions for the
- * profile. Roles assigned to the Profile lead to the inheritance of Permission
- * granted to Role. Besides Role based Permission inheritence, additional
- * Permission may be granted or denied to influence the total effective Permission.
+ * profile. Roles assigned to the Profile lead to the inheritance of StringPermission
+ * granted to Role. Besides Role based StringPermission inheritence, additional
+ * StringPermission may be granted or denied to influence the total effective StringPermission.
* The grants Permissions set contains extra granted Permissions which may not be
* inherited by assigned Roles. The denials Permissions set contains
* {@link Permissions} that are denied whether they are inherited by assigned
@@ -73,8 +75,10 @@
private final Permissions grants;
/** the permissions denied by this Profile */
private final Permissions denials;
- /** the effective calculated permissions for this Profile */
- private final Permissions effectivePermissions;
+ /** the calculated effective granted permissions for this Profile */
+ private final Permissions effectiveGrantedPermissions;
+ /** the calculated effective denied permissions for this Profile */
+ private final Permissions effectiveDeniedPermissions;
/** a brief description of the Profile */
private final String description;
/** whether or not this profile is disabled */
@@ -143,32 +147,32 @@
}
if( grants == null )
{
- grants = new Permissions( store.getApplicationName(), null );
- }
- if( !store.getApplicationName().equals( grants.getApplicationName() ) )
- {
- throw new IllegalArgumentException( "Invalid applicationName in grants: " + grants.getApplicationName() );
- }
- if( !store.getPermissions().containsAll( grants ) )
- {
- throw new IllegalArgumentException(
- "store doesn't provide all permissions specified: " +
- grants );
+ grants = new Permissions();
}
+// if( !store.getApplicationName().equals( grants.getApplicationName() ) )
+// {
+// throw new IllegalArgumentException( "Invalid applicationName in grants: " + grants.getApplicationName() );
+// }
+// if( !store.getPermissions().containsAll( grants ) )
+// {
+// throw new IllegalArgumentException(
+// "store doesn't provide all permissions specified: " +
+// grants );
+// }
if( denials == null )
{
- denials = new Permissions( store.getApplicationName(), null );
- }
- if( !store.getApplicationName().equals( denials.getApplicationName() ) )
- {
- throw new IllegalArgumentException( "Invalid applicationName in denials: " + denials.getApplicationName() );
- }
- if( !store.getPermissions().containsAll( denials ) )
- {
- throw new IllegalArgumentException(
- "store doesn't provide all permissions specified: " +
- denials );
+ denials = new Permissions();
}
+// if( !store.getApplicationName().equals( denials.getApplicationName() ) )
+// {
+// throw new IllegalArgumentException( "Invalid applicationName in denials: " + denials.getApplicationName() );
+// }
+// if( !store.getPermissions().containsAll( denials ) )
+// {
+// throw new IllegalArgumentException(
+// "store doesn't provide all permissions specified: " +
+// denials );
+// }
this.disabled = disabled;
this.store = store;
@@ -180,14 +184,20 @@
this.description = description;
// Calculate effective permissions
- Permissions effectivePermissions = new Permissions( store.getApplicationName(), null );
+ effectiveGrantedPermissions = new Permissions();
+ for( Iterator i = roles.iterator(); i.hasNext(); )
+ {
+ Role r = ( Role ) i.next();
+ PermissionsUtil.addAll(effectiveGrantedPermissions, r.getGrantedPermissions() );
+ }
+ PermissionsUtil.addAll(effectiveGrantedPermissions, grants );
+ effectiveDeniedPermissions = new Permissions();
for( Iterator i = roles.iterator(); i.hasNext(); )
{
Role r = ( Role ) i.next();
- effectivePermissions = effectivePermissions.addAll( r.getGrants() );
+ PermissionsUtil.addAll(effectiveDeniedPermissions, r.getDeniedPermissions() );
}
- effectivePermissions = effectivePermissions.addAll( grants );
- this.effectivePermissions = effectivePermissions.removeAll( denials );
+ PermissionsUtil.addAll(effectiveDeniedPermissions, denials );
}
@@ -270,9 +280,9 @@
/**
- * Gets the set of {@link Permission}s granted to this Profile.
+ * Gets the set of {@link StringPermission}s granted to this Profile.
*
- * @return a container of granted {@link Permission} objects
+ * @return a container of granted {@link StringPermission} objects
*/
public Permissions getGrants()
{
@@ -284,7 +294,7 @@
* This is the only time and place where negative permissions will ever be
* found.
*
- * @return a container of denied {@link Permission} objects
+ * @return a container of denied {@link StringPermission} objects
*/
public Permissions getDenials()
{
@@ -298,52 +308,26 @@
* granted {@link Permissions} and denied {@link Permissions} of this
* Profile.
*
- * @return a container of effective {@link Permission} objects for this profile.
+ * @return a container of effective {@link StringPermission} objects for this profile.
*/
- public Permissions getEffectivePermissions()
+ public Permissions getEffectiveGrantedPermissions()
{
- return effectivePermissions;
+ return effectiveGrantedPermissions;
}
-
- /**
- * Assertive check to test if this Profile has the effective {@link Permission}.
- *
- * @param permissionName the permission name to check for
- * @throws AccessControlException if the permission is not granted or
- * inherited from an assigned Role
- */
- public void checkPermission( String permissionName )
- {
- checkPermission(
- permissionName,
- "User '" + profileId + "' " +
- "in application '" + getApplicationName() + '\'' +
- "does not posess the permission '" + permissionName + "'." );
+ public Permissions getEffectiveDeniedPermissions() {
+ return effectiveDeniedPermissions;
}
-
/**
* Get's whether or not this Profile has the permission.
*
* @param permission the permission to check for
* @return true if the permission is granted, false otherwise
*/
- public boolean hasPermission( Permission permission )
- {
- return effectivePermissions.contains( permission );
- }
-
-
- /**
- * Get's whether or not this Profile has the permission.
- *
- * @param permissionName the permission to check for
- * @return true if the permission is granted, false otherwise
- */
- public boolean hasPermission( String permissionName )
+ public boolean implies( Permission permission )
{
- return effectivePermissions.get( permissionName ) != null;
+ return effectiveGrantedPermissions.implies( permission ) && ! effectiveDeniedPermissions.implies(permission);
}
@@ -355,7 +339,7 @@
* @throws AccessControlException if the permission is not granted or
* inherited from an assigned Role
*/
- public void checkPermission( Permission permission )
+ public void checkPermission( StringPermission permission )
{
checkPermission(
permission,
@@ -369,42 +353,19 @@
* Assertive permission check to test if this Profile has the effective
* permission.
*
- * @param permissionName the permission name to check for
- * @param message to use for AccessControlException if it is thrown
- * @throws AccessControlException if the permission is not granted or
- * inherited from an assigned Role
- */
- public void checkPermission( String permissionName, String message )
- {
- if ( permissionName == null )
- {
- throw new NullPointerException( "permissionName" );
- }
-
- if ( !effectivePermissions.contains( permissionName ) )
- {
- throw new AccessControlException( message );
- }
- }
-
-
- /**
- * Assertive permission check to test if this Profile has the effective
- * permission.
- *
* @param permission the permission to check for
* @param message to use for AccessControlException if it is thrown
* @throws AccessControlException if the permission is not granted or
* inherited from an assigned Role
*/
- public void checkPermission( Permission permission, String message )
+ public void checkPermission( StringPermission permission, String message )
{
if ( permission == null )
{
throw new NullPointerException( "permission" );
}
- if ( !effectivePermissions.contains( permission ) )
+ if ( !implies( permission ) )
{
throw new AccessControlException( message );
}
@@ -468,6 +429,6 @@
public String toString()
{
- return "Profile(" + getProfileId() + ": " + effectivePermissions + ')';
+ return "Profile(" + getProfileId() + ": " + effectiveGrantedPermissions + ')';
}
}
Modified: directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Role.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Role.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Role.java (original)
+++ directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Role.java Wed Dec 27 20:48:29 2006
@@ -22,6 +22,7 @@
import java.io.Serializable;
import java.security.AccessControlException;
+import java.security.Permissions;
/**
@@ -37,15 +38,13 @@
{
private static final long serialVersionUID = 6190625586883412135L;
- /** an empty byte array used as a placeholder for empty grants */
- private static final Permission[] EMPTY_PERMISSION_ARRAY = new Permission[0];
-
/** the name of this Role */
private final String name;
/** the store the Role is defined for */
private final ApplicationPolicy store;
- /** the permissions granted for this role */
- private final Permissions permissions;
+ /** the grantedPermissions granted for this role */
+ private final Permissions grantedPermissions;
+ private final Permissions deniedPermissions;
/** a brief description of the Role */
private final String description;
@@ -55,10 +54,11 @@
*
* @param store the parent store this role is defined for
* @param name the name of this role
- * @param permissions a set of permissions granted for this role
+ * @param grantedPermissions
+ * @param deniedPermissions
* @param description a breif description of the role
*/
- public Role( ApplicationPolicy store, String name, Permissions permissions, String description )
+ public Role(ApplicationPolicy store, String name, Permissions grantedPermissions, Permissions deniedPermissions, String description)
{
if( store == null )
{
@@ -73,28 +73,33 @@
throw new IllegalArgumentException( "name is empty." );
}
- if( permissions == null )
+ if( grantedPermissions == null )
{
- permissions = new Permissions(
- store.getApplicationName(), EMPTY_PERMISSION_ARRAY );
+ grantedPermissions = new Permissions();
}
- if( !store.getApplicationName().equals( permissions.getApplicationName() ) )
+ if( deniedPermissions == null )
{
- throw new IllegalArgumentException(
- "Invalid applicationName in permissions: " +
- permissions.getApplicationName() );
- }
-
- if( !store.getPermissions().containsAll( permissions ) )
- {
- throw new IllegalArgumentException(
- "store doesn't provide all permissions specified: " +
- permissions );
+ deniedPermissions = new Permissions();
}
+// if( !store.getApplicationName().equals( grantedPermissions.getApplicationName() ) )
+// {
+// throw new IllegalArgumentException(
+// "Invalid applicationName in grantedPermissions: " +
+// grantedPermissions.getApplicationName() );
+// }
+
+ //This is meaningless if grantedPermissions.implies is used rather than equality.
+// if( !store.getPermissions().containsAll( grantedPermissions ) )
+// {
+// throw new IllegalArgumentException(
+// "store doesn't provide all grantedPermissions specified: " +
+// grantedPermissions );
+// }
this.store = store;
this.name = name;
- this.permissions = permissions;
+ this.grantedPermissions = grantedPermissions;
+ this.deniedPermissions = deniedPermissions;
this.description = description;
}
@@ -104,11 +109,12 @@
*
* @param store the parent store this role is defined for
* @param name the name of this role
- * @param permissions a set of permissions granted for this role
+ * @param grantedPermissions
+ * @param deniedPermissions
*/
- public Role( ApplicationPolicy store, String name, Permissions permissions )
+ public Role(ApplicationPolicy store, String name, Permissions grantedPermissions, Permissions deniedPermissions)
{
- this ( store, name, permissions, null );
+ this ( store, name, grantedPermissions, deniedPermissions, null );
}
@@ -146,15 +152,18 @@
/**
- * Gets a set of permissions granted to this role.
+ * Gets a set of grantedPermissions granted to this role.
*
- * @return a set of permissions granted to this role.
+ * @return a set of grantedPermissions granted to this role.
*/
- public Permissions getGrants()
+ public Permissions getGrantedPermissions()
{
- return permissions;
+ return grantedPermissions;
}
+ public Permissions getDeniedPermissions() {
+ return deniedPermissions;
+ }
/**
* Assertive permission check to test if this role has the effective
@@ -163,7 +172,7 @@
* @param permission the permission to check for
* @throws AccessControlException if the permission is not granted
*/
- public void checkPermission( Permission permission )
+ public void checkPermission( StringPermission permission )
{
checkPermission(
permission,
@@ -176,41 +185,12 @@
/**
* Get's whether or not this Role has the permission.
*
- * @param permissionName the permission to check for
- * @return true if the permission is granted,false otherwise
- */
- public boolean hasPermission( String permissionName )
- {
- return permissions.get( permissionName ) != null;
- }
-
-
- /**
- * Get's whether or not this Role has the permission.
- *
* @param permission the name of permission to check for
* @return true if the permission is granted,false otherwise
*/
- public boolean hasPermission( Permission permission )
- {
- return permissions.contains( permission );
- }
-
-
- /**
- * Assertive permission check to test if this role has the effective
- * permission.
- *
- * @param permissionName the name of the permission to check for
- * @throws AccessControlException if the permission is not granted
- */
- public void checkPermission( String permissionName )
+ public boolean hasPermission( StringPermission permission )
{
- checkPermission(
- permissionName,
- "Role '" + name + "' " +
- "in application '" + getApplicationName() + '\'' +
- "does not posess the permission '" + permissionName + "'." );
+ return grantedPermissions.implies( permission );
}
@@ -222,36 +202,14 @@
* @param message to use for AccessControlException if it is thrown
* @throws AccessControlException if the permission is not granted
*/
- public void checkPermission( Permission permission, String message )
+ public void checkPermission( StringPermission permission, String message )
{
if ( permission == null )
{
throw new NullPointerException( "permission" );
}
- if ( !permissions.contains( permission ) )
- {
- throw new AccessControlException( message );
- }
- }
-
-
- /**
- * Assertive permission check to test if this role has the effective
- * permission.
- *
- * @param permissionName the permission name to check for
- * @param message to use for AccessControlException if it is thrown
- * @throws AccessControlException if the permission is not granted
- */
- public void checkPermission( String permissionName, String message )
- {
- if ( permissionName == null )
- {
- throw new NullPointerException( "permissionName" );
- }
-
- if ( !permissions.contains( permissionName ) )
+ if ( !grantedPermissions.implies( permission ) )
{
throw new AccessControlException( message );
}
@@ -302,8 +260,8 @@
}
- public Object clone()
- {
+ @Override
+ public Object clone() throws CloneNotSupportedException {
try
{
return super.clone();
@@ -317,6 +275,6 @@
public String toString()
{
- return "Role(" + getName() + ": " + permissions + ')';
+ return "Role(" + getName() + ": " + grantedPermissions + ')';
}
}
Modified: directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Roles.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Roles.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Roles.java (original)
+++ directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/Roles.java Wed Dec 27 20:48:29 2006
@@ -246,56 +246,33 @@
}
- public Roles getDependentRoles( String permName )
- {
- List dependents = new ArrayList();
- for ( Iterator ii = this.roles.values().iterator(); ii.hasNext(); /**/ )
- {
- Role role = ( Role ) ii.next();
- if ( role.hasPermission( permName ) )
- {
- dependents.add( role );
- }
- }
-
- if ( dependents.size() == 0 )
- {
- return new Roles( getApplicationName(), EMPTY_ROLE_ARRAY );
- }
-
- Role[] roleArray = new Role[dependents.size()];
- dependents.toArray( roleArray );
- return new Roles( getApplicationName(), roleArray );
- }
-
-
- public Roles getDependentRoles( Permission perm )
- {
- if ( ! perm.getApplicationName().equals( getApplicationName() ) )
- {
- throw new IllegalArgumentException( "The permission '" + perm.getName() + "' is not " +
- "\nassociated with this application. It is associated with " + perm.getApplicationName() );
- }
-
- List dependents = new ArrayList();
- for ( Iterator ii = this.roles.values().iterator(); ii.hasNext(); /**/ )
- {
- Role role = ( Role ) ii.next();
- if ( role.hasPermission( perm ) )
- {
- dependents.add( role );
- }
- }
-
- if ( dependents.size() == 0 )
- {
- return new Roles( getApplicationName(), EMPTY_ROLE_ARRAY );
- }
-
- Role[] roleArray = new Role[dependents.size()];
- dependents.toArray( roleArray );
- return new Roles( getApplicationName(), roleArray );
- }
+// public Roles getDependentRoles( StringPermission perm )
+// {
+// if ( ! perm.getApplicationName().equals( getApplicationName() ) )
+// {
+// throw new IllegalArgumentException( "The permission '" + perm.getName() + "' is not " +
+// "\nassociated with this application. It is associated with " + perm.getApplicationName() );
+// }
+//
+// List dependents = new ArrayList();
+// for ( Iterator ii = this.roles.values().iterator(); ii.hasNext(); /**/ )
+// {
+// Role role = ( Role ) ii.next();
+// if ( role.hasPermission( perm ) )
+// {
+// dependents.add( role );
+// }
+// }
+//
+// if ( dependents.size() == 0 )
+// {
+// return new Roles( getApplicationName(), EMPTY_ROLE_ARRAY );
+// }
+//
+// Role[] roleArray = new Role[dependents.size()];
+// dependents.toArray( roleArray );
+// return new Roles( getApplicationName(), roleArray );
+// }
// ------------------------------------------------------------------------
Added: directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/StringPermission.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/StringPermission.java?view=auto&rev=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/StringPermission.java (added)
+++ directory/trunks/triplesec/guardian-api/src/main/java/org/safehaus/triplesec/guardian/StringPermission.java Wed Dec 27 20:48:29 2006
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.guardian;
+
+import java.io.Serializable;
+import java.security.Permission;
+import java.security.PermissionCollection;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
+
+
+/**
+ * An application permission.
+ *
+ * @author <a href="mailto:akarasulu@safehaus.org">Alex Karasulu</a>
+ * @author Trustin Lee
+ * @version $Rev: 71 $, $Date: 2005-11-07 19:11:39 -0500 (Mon, 07 Nov 2005) $
+ */
+public class StringPermission extends Permission implements Comparable, Cloneable, Serializable {
+ private static final long serialVersionUID = -522561010304299861L;
+
+ /** the name of the permission */
+// private final String permissionName;
+ /**
+ * the name of the application this permission is associated with
+ */
+// private final String applicationName;
+ /**
+ * a short description of the permission
+ */
+// private final String description;
+
+
+
+ /**
+ * Creates a new permission instance with description.
+ *
+ * @param permissionName the permissionName of the permission
+ */
+ public StringPermission(String permissionName) {
+ super(permissionName);
+ if (permissionName == null) {
+ throw new NullPointerException("permissionName");
+ }
+ if (permissionName.length() == 0) {
+ throw new IllegalArgumentException("permissionName is empty.");
+ }
+ }
+
+
+ public String getActions() {
+ return "";
+ }
+
+
+ // ------------------------------------------------------------------------
+ // Object Overrides
+ // ------------------------------------------------------------------------
+
+
+ public int hashCode() {
+ return getName().hashCode();
+ }
+
+
+ public boolean implies(Permission permission) {
+ return permission instanceof StringPermission && permission.getName().equals(getName());
+ }
+
+ public boolean equals(Object that) {
+ if (this == that) {
+ return true;
+ }
+
+ if (that instanceof StringPermission) {
+ StringPermission thatP = (StringPermission) that;
+ return getName().equals(thatP.getName());
+ }
+
+ return false;
+ }
+
+
+ public int compareTo(Object that) {
+ StringPermission thatP = (StringPermission) that;
+ return this.getName().compareTo(thatP.getName());
+ }
+
+
+ public String toString() {
+ return "StringPermission(" + getName() + ')';
+ }
+
+
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ try {
+ return super.clone();
+ }
+ catch (CloneNotSupportedException e) {
+ throw new InternalError();
+ }
+ }
+
+ @Override
+ public PermissionCollection newPermissionCollection() {
+ return new StringPermissionCollection();
+ }
+
+ private static class StringPermissionCollection extends PermissionCollection {
+
+ private final Map<String, StringPermission> permissionMap = new HashMap<String, StringPermission>();
+
+
+ public void add(Permission permission) {
+ if (permission instanceof StringPermission) {
+ permissionMap.put(permission.getName(), (StringPermission) permission);
+ } else {
+ throw new IllegalArgumentException("Permission must be a StringPermission not a " + permission.getClass());
+ }
+ }
+
+ public boolean implies(Permission permission) {
+ if (permission instanceof StringPermission) {
+ return permissionMap.containsKey(permission.getName());
+ }
+ return false;
+ }
+
+ public Enumeration<Permission> elements() {
+ final Iterator<StringPermission> iterator = permissionMap.values().iterator();
+
+ return new Enumeration<Permission>() {
+
+
+ public boolean hasMoreElements() {
+ return iterator.hasNext();
+ }
+
+ public StringPermission nextElement() {
+ return iterator.next();
+ }
+ };
+ }
+ }
+
+}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/AbstractEntityTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/AbstractEntityTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/AbstractEntityTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/AbstractEntityTest.java Wed Dec 27 20:48:29 2006
@@ -29,11 +29,11 @@
*/
public abstract class AbstractEntityTest extends TestCase {
- private Object a1;
- private Object a2;
- private Object b1;
- private Object b2;
- private Object wrong;
+ protected Object a1;
+ protected Object a2;
+ protected Object b1;
+ protected Object b2;
+ protected Object wrong;
protected abstract Object newInstanceA1();
protected abstract Object newInstanceA2();
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ApplicationPolicyFactoryTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ApplicationPolicyFactoryTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ApplicationPolicyFactoryTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ApplicationPolicyFactoryTest.java Wed Dec 27 20:48:29 2006
@@ -19,6 +19,7 @@
*/
package org.safehaus.triplesec.guardian;
+import java.security.Permissions;
import java.util.Collections;
import java.util.Iterator;
import java.util.Properties;
@@ -176,7 +177,7 @@
return null;
}
- public Set getDependentProfileNames( Permission permission ) throws GuardianException
+ public Set getDependentProfileNames( StringPermission permission ) throws GuardianException
{
return null;
}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionTest.java Wed Dec 27 20:48:29 2006
@@ -30,25 +30,25 @@
protected Object newInstanceA1()
{
- return new Permission( "app1", "perm1" );
+ return new StringPermission("perm1" );
}
protected Object newInstanceA2()
{
- return new Permission( "app1", "perm1" );
+ return new StringPermission("perm1" );
}
protected Object newInstanceB1()
{
- return new Permission( "app1", "perm2" );
+ return new StringPermission("perm2" );
}
protected Object newInstanceB2()
{
- return new Permission( "app2", "perm1" );
+ return new StringPermission("perm2" );
}
@@ -56,49 +56,47 @@
{
try
{
- new Permission( "test", null );
+ new StringPermission(null );
fail( "Exception is not thrown." );
}
catch ( NullPointerException e )
{
// OK
}
- try
- {
- new Permission( null, "test" );
- fail( "Exception is not thrown." );
- }
- catch ( NullPointerException e )
- {
- // OK
- }
- try
- {
- new Permission( "test", "" );
- fail( "Exception is not thrown." );
- }
- catch ( IllegalArgumentException e )
- {
- // OK
- }
- try
- {
- new Permission( "", "test" );
- fail( "Exception is not thrown." );
- }
- catch ( IllegalArgumentException e )
- {
- // OK
- }
+// try
+// {
+// new StringPermission("test" );
+// fail( "Exception is not thrown." );
+// }
+// catch ( NullPointerException e )
+// {
+// // OK
+// }
+// try
+// {
+// new StringPermission("" );
+// fail( "Exception is not thrown." );
+// }
+// catch ( IllegalArgumentException e )
+// {
+// // OK
+// }
+// try
+// {
+// new StringPermission("test" );
+// fail( "Exception is not thrown." );
+// }
+// catch ( IllegalArgumentException e )
+// {
+// // OK
+// }
}
public void testPropeties()
{
- Permission p = new Permission( "a", "b", "c" );
- assertEquals( "a", p.getApplicationName() );
+ StringPermission p = new StringPermission("b");
assertEquals( "b", p.getName() );
- assertEquals( "c", p.getDescription() );
}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionsTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionsTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionsTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/PermissionsTest.java Wed Dec 27 20:48:29 2006
@@ -19,204 +19,214 @@
*/
package org.safehaus.triplesec.guardian;
+import java.security.Permission;
+import java.security.Permissions;
+import java.util.Enumeration;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
import junit.framework.Assert;
/**
- *
- *
* @author Trustin Lee
* @version $Rev: 52 $, $Date: 2005-08-19 23:03:36 -0400 (Fri, 19 Aug 2005) $
- *
*/
-public class PermissionsTest extends AbstractEntityTest
-{
- protected Object newInstanceA1()
- {
- return new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- new Permission( "app1", "perm2" ),
- new Permission( "app1", "perm3" ),
+public class PermissionsTest extends AbstractEntityTest {
+ protected Object newInstanceA1() {
+ return newPermissions(new StringPermission[]{
+ new StringPermission("perm1"),
+ new StringPermission("perm2"),
+ new StringPermission("perm3"),
});
}
- protected Object newInstanceA2()
- {
- return new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- new Permission( "app1", "perm2" ),
- new Permission( "app1", "perm3" ),
+ private Permissions newPermissions(Permission[] permissions) {
+ Permissions perms = new Permissions();
+ for (Permission perm : permissions) {
+ perms.add(perm);
+ }
+ return perms;
+ }
+
+ protected Object newInstanceA2() {
+ return newPermissions(new StringPermission[]{
+ new StringPermission("perm1"),
+ new StringPermission("perm2"),
+ new StringPermission("perm3"),
});
}
- protected Object newInstanceB1()
- {
- return new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
+ protected Object newInstanceB1() {
+ return newPermissions(new StringPermission[]{
+ new StringPermission("perm1"),
});
}
- protected Object newInstanceB2()
+ protected Object newInstanceB2() {
+ return newPermissions(new StringPermission[0]);
+ }
+
+ public void testEquals() {
+ assertTrue(PermissionsUtil.equivalent((Permissions) a1, (Permissions) a1));
+ assertTrue(PermissionsUtil.equivalent((Permissions) a1, (Permissions) a2));
+// assertFalse(a1.equals(null));
+ assertFalse(PermissionsUtil.equivalent((Permissions) a1, (Permissions) b1));
+ assertFalse(PermissionsUtil.equivalent((Permissions) a1, (Permissions) b2));
+// assertFalse(a1.equals(wrong));
+ }
+
+ public void testHashCode()
{
- return new Permissions( "app2", new Permission[0] );
+ //we can't affect Permissions.hashCode()
}
-
- public void testInstantiation()
+
+ public void testClone() throws Exception
{
+ //Permissions is not cloneable
+ }
+
+
+ public void testInstantiation() {
// Test null values
- try
- {
- new Permissions( null, null );
- Assert.fail( "Execption is not thrown." );
- }
- catch( NullPointerException e )
- {
- // OK
- }
-
+// try
+// {
+// new Permissions( null, null );
+// Assert.fail( "Execption is not thrown." );
+// }
+// catch( NullPointerException e )
+// {
+// // OK
+// }
+
// Test empty values
- try
- {
- new Permissions( "", null );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
-
+// try
+// {
+// new Permissions( "", null );
+// Assert.fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
+
// Test null elements
- Permissions perms = new Permissions( "app1", new Permission[] {
- null, null, null,
- });
- Assert.assertTrue( perms.isEmpty() );
-
+// Permissions perms = newPermissions(new StringPermission[] {
+// null, null, null,
+// });
+// Assert.assertTrue( PermissionsUtil.isEmpty(perms) );
+
// Test mismatching application names
- try
- {
- new Permissions( "app1", new Permission[] {
- new Permission( "app2", "perm1" ),
- });
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- //OK
- }
-
- Assert.assertTrue( perms.isEmpty() );
- }
-
- public void testProperties()
- {
- Permission p1 = new Permission( "app1", "perm1" );
- Permission p2 = new Permission( "app1", "perm2" );
- Permission p3 = new Permission( "app1", "perm3" );
- Permissions perms = new Permissions( "app1", new Permission[] {
+// try
+// {
+// newPermissions(new StringPermission[] {
+// new StringPermission( "app2", "perm1" ),
+// });
+// Assert.fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// //OK
+// }
+
+// Assert.assertTrue( PermissionsUtil.isEmpty(perms) );
+ }
+
+ public void testProperties() {
+ StringPermission p1 = new StringPermission("perm1");
+ StringPermission p2 = new StringPermission("perm2");
+ StringPermission p3 = new StringPermission("perm3");
+ Permissions perms = newPermissions(new StringPermission[]{
p1, p2, p3,
});
-
- Assert.assertEquals( "app1", perms.getApplicationName() );
- Assert.assertEquals( 3, perms.size() );
- Assert.assertTrue( perms.contains( p1 ) );
- Assert.assertTrue( perms.contains( p2 ) );
- Assert.assertTrue( perms.contains( p3 ) );
- Assert.assertTrue( perms.contains( p1.getName() ) );
- Assert.assertTrue( perms.contains( p2.getName() ) );
- Assert.assertTrue( perms.contains( p3.getName() ) );
- Assert.assertEquals( p1, perms.get( p1.getName() ) );
- Assert.assertEquals( p2, perms.get( p2.getName() ) );
- Assert.assertEquals( p3, perms.get( p3.getName() ) );
-
+
+// Assert.assertEquals( "app1", perms.getApplicationName() );
+ Assert.assertEquals(3, PermissionsUtil.size(perms));
+ Assert.assertTrue(perms.implies(p1));
+ Assert.assertTrue(perms.implies(p2));
+ Assert.assertTrue(perms.implies(p3));
+
// Test iterator integrity
Set allPerms = new HashSet();
- allPerms.add( p1 );
- allPerms.add( p2 );
- allPerms.add( p3 );
- for( Iterator i = perms.iterator(); i.hasNext(); )
- {
- Permission p = ( Permission ) i.next();
- Assert.assertTrue( allPerms.contains( p ) );
- allPerms.remove( p );
+ allPerms.add(p1);
+ allPerms.add(p2);
+ allPerms.add(p3);
+ for (Enumeration<Permission> i = perms.elements(); i.hasMoreElements();) {
+ StringPermission p = (StringPermission) i.nextElement();
+ Assert.assertTrue(allPerms.contains(p));
+ allPerms.remove(p);
}
}
-
- public void testSetOperations()
- {
- Permissions perms1 = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
+
+ public void testSetOperations() {
+ Permissions perms1 = newPermissions(new StringPermission[]{
+ new StringPermission("perm1"),
+ });
+ Permissions perms2 = newPermissions(new StringPermission[]{
+ new StringPermission("perm2"),
});
- Permissions perms2 = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm2" ),
+ Permissions perms12 = newPermissions(new StringPermission[]{
+ new StringPermission("perm1"),
+ new StringPermission("perm2"),
});
- Permissions perms12 = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- new Permission( "app1", "perm2" ),
- });
- Permissions wrongPerms = new Permissions( "wrongApp", null );
-
-
+ Permissions wrongPerms = new Permissions();
+
// addAll
- Assert.assertEquals( perms12, perms1.addAll( perms2 ) );
- Assert.assertEquals( perms1, perms1.addAll( perms1 ) );
- try
- {
- perms1.addAll( wrongPerms );
- Assert.fail( "Exception is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
-
+ Assert.assertTrue(PermissionsUtil.equivalent(perms12, PermissionsUtil.union(perms1, perms2)));
+ Assert.assertTrue(PermissionsUtil.equivalent(perms1, PermissionsUtil.union(perms1, perms1)));
+// try
+// {
+// PermissionsUtil.union(perms1, wrongPerms );
+// Assert.fail( "Exception is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
+
// removeAll
- Assert.assertEquals( perms1, perms12.removeAll( perms2 ) );
- Assert.assertEquals( perms1, perms1.removeAll( perms2 ) );
- try
- {
- perms1.removeAll( wrongPerms );
- Assert.fail( "Exception is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
-
+// Assert.assertEquals( perms1, perms12.removeAll( perms2 ) );
+// Assert.assertEquals( perms1, perms1.removeAll( perms2 ) );
+// try
+// {
+// perms1.removeAll( wrongPerms );
+// Assert.fail( "Exception is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+ // OK
+// }
+
// retainAll
- Assert.assertEquals( perms1, perms12.retainAll( perms1 ) );
- Assert.assertEquals(
- new Permissions( "app1", null ), perms1.retainAll( perms2 ) );
- try
- {
- perms1.retainAll( wrongPerms );
- Assert.fail( "Exception is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
+// Assert.assertEquals( perms1, perms12.retainAll( perms1 ) );
+// Assert.assertEquals(
+// new Permissions( "app1", null ), perms1.retainAll( perms2 ) );
+// try
+// {
+// perms1.retainAll( wrongPerms );
+// Assert.fail( "Exception is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+ // OK
+// }
// containsAll
- Assert.assertTrue( perms12.containsAll( perms12 ) );
- Assert.assertFalse( perms1.containsAll( perms12 ) );
- try
- {
- perms1.containsAll( wrongPerms );
- Assert.fail( "Exception is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
+// Assert.assertTrue( perms12.containsAll( perms12 ) );
+// Assert.assertFalse( perms1.containsAll( perms12 ) );
+// try
+// {
+// perms1.containsAll( wrongPerms );
+// Assert.fail( "Exception is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// OK
+// }
}
-
- public static void main( String[] args )
- {
- junit.textui.TestRunner.run( PermissionsTest.class );
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(PermissionsTest.class);
}
}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ProfileTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ProfileTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ProfileTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ProfileTest.java Wed Dec 27 20:48:29 2006
@@ -20,6 +20,7 @@
package org.safehaus.triplesec.guardian;
import java.security.AccessControlException;
+import java.security.Permissions;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
@@ -31,370 +32,286 @@
* @author <a href="mailto:akarasulu@safehaus.org">Alex Karasulu</a>
* @version $Rev: 72 $
*/
-public class ProfileTest extends AbstractEntityTest
-{
+public class ProfileTest extends AbstractEntityTest {
private static final ApplicationPolicy STORE1 = new TestApplicationPolicyStore(
- "app1" );
+ "app1");
private static final ApplicationPolicy STORE2 = new TestApplicationPolicyStore(
- "app2" );
+ "app2");
- protected Object newInstanceA1()
- {
- return new Profile( STORE1, "trustin", "trustin", null, null, null, false );
+ protected Object newInstanceA1() {
+ return new Profile(STORE1, "trustin", "trustin", null, null, null, false);
}
- protected Object newInstanceA2()
- {
- return new Profile( STORE1, "trustin", "trustin", null, null, null, false );
+ protected Object newInstanceA2() {
+ return new Profile(STORE1, "trustin", "trustin", null, null, null, false);
}
- protected Object newInstanceB1()
- {
- return new Profile( STORE1, "alex", "alex", null, null, null, false );
+ protected Object newInstanceB1() {
+ return new Profile(STORE1, "alex", "alex", null, null, null, false);
}
- protected Object newInstanceB2()
- {
- return new Profile( STORE2, "trustin", "trustin", null, null, null, false );
+ protected Object newInstanceB2() {
+ return new Profile(STORE2, "trustin", "trustin", null, null, null, false);
}
- public void testInstantiation()
- {
- Roles roles = new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- })),
- });
- Permissions grants = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- });
- Permissions denials = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm2" ),
+ public void testInstantiation() {
+ StringPermission perm1 = new StringPermission("perm1");
+ Roles roles = new Roles("app1", new Role[]{
+ new Role(STORE1, "role1", newPermissions(perm1), null),
});
+ Permissions grants = newPermissions(perm1);
+ StringPermission perm2 = new StringPermission("perm2");
+ Permissions denials = newPermissions(perm2);
// Test null parameters
- try
- {
- new Profile( null, "trustin", "trustin", roles, grants, denials, false );
- Assert.fail( "Execption is not thrown." );
+ try {
+ new Profile(null, "trustin", "trustin", roles, grants, denials, false);
+ Assert.fail("Execption is not thrown.");
}
- catch( NullPointerException e )
- {
+ catch (NullPointerException e) {
// OK
}
- try
- {
- new Profile( STORE1, null, "trustin", roles, grants, denials, false );
- Assert.fail( "Execption is not thrown." );
+ try {
+ new Profile(STORE1, null, "trustin", roles, grants, denials, false);
+ Assert.fail("Execption is not thrown.");
}
- catch( NullPointerException e )
- {
+ catch (NullPointerException e) {
// OK
}
// Test empty fields
- try
- {
- new Profile( STORE1, "", "trustin", roles, grants, denials, false );
- Assert.fail( "Execption is not thrown." );
+ try {
+ new Profile(STORE1, "", "trustin", roles, grants, denials, false);
+ Assert.fail("Execption is not thrown.");
}
- catch( IllegalArgumentException e )
- {
+ catch (IllegalArgumentException e) {
// OK
}
- try
- {
- new Profile( new TestApplicationPolicyStore( "" ), "role1", "trustin", roles, grants, denials, false );
- Assert.fail( "Execption is not thrown." );
+ try {
+ new Profile(new TestApplicationPolicyStore(""), "role1", "trustin", roles, grants, denials, false);
+ Assert.fail("Execption is not thrown.");
}
- catch( IllegalArgumentException e )
- {
+ catch (IllegalArgumentException e) {
// OK
}
-
+
// Test unknown permissions
- Permissions wrongPerms = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "wrongPerm" ),
- });
- try
- {
-
- new Profile( STORE1, "trustin", "trustin", roles, wrongPerms, denials, false );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
- try
- {
-
- new Profile( STORE1, "trustin", "trustin", roles, grants, wrongPerms, false );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
-
+ //TODO could be resuscitated if we implement impliesAll
+// Permissions wrongPerms = new Permissions( "app1", new StringPermission[] {
+// new StringPermission( "app1", "wrongPerm" ),
+// });
+// try
+// {
+//
+// new Profile( STORE1, "trustin", "trustin", roles, wrongPerms, denials, false );
+// Assert.fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
+// try
+// {
+//
+// new Profile( STORE1, "trustin", "trustin", roles, grants, wrongPerms, false );
+// Assert.fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
// Test mismatching application names.
- try
- {
- new Profile( STORE2, "role1", "trustin", roles, null, null, false );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
- try
- {
- new Profile( STORE2, "role1", "trustin", null, grants, null, false );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
- try
- {
- new Profile( STORE2, "role1", "trustin", null, null, denials, false );
- Assert.fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
+ try {
+ new Profile(STORE2, "role1", "trustin", roles, null, null, false);
+ Assert.fail("Execption is not thrown.");
+ }
+ catch (IllegalArgumentException e) {
+ // OK
+ }
+// try {
+// new Profile(STORE2, "role1", "trustin", null, grants, null, false);
+// Assert.fail("Execption is not thrown.");
+// }
+// catch (IllegalArgumentException e) {
+// // OK
+// }
+// try {
+// new Profile(STORE2, "role1", "trustin", null, null, denials, false);
+// Assert.fail("Execption is not thrown.");
+// }
+// catch (IllegalArgumentException e) {
+// // OK
+// }
+
+ Profile p = new Profile(STORE1, "role1", "trustin", null, null, null, false);
+ Assert.assertEquals(0, p.getRoles().size());
+ Assert.assertEquals(0, PermissionsUtil.size(p.getGrants()));
+ Assert.assertEquals(0, PermissionsUtil.size(p.getDenials()));
+ assertEquals("trustin", p.getUserName());
+ }
- Profile p = new Profile( STORE1, "role1", "trustin", null, null, null, false );
- Assert.assertEquals( 0, p.getRoles().size() );
- Assert.assertEquals( 0, p.getGrants().size() );
- Assert.assertEquals( 0, p.getDenials().size() );
- assertEquals( "trustin", p.getUserName() );
+ private Permissions newPermissions(StringPermission perm1) {
+ Permissions permissions = new Permissions();
+ permissions.add(perm1);
+ return permissions;
}
- public void testProperties()
- {
- Roles roles = new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm2" ),
- new Permission( "app1", "perm3" ),
- new Permission( "app1", "perm4" ),
- })),
- });
- Permissions grants = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- new Permission( "app1", "perm2" ),
+ public void testProperties() {
+ Permissions permissions = new Permissions();
+ permissions.add(new StringPermission("perm2"));
+ permissions.add(new StringPermission("perm3"));
+ permissions.add(new StringPermission("perm4"));
+ Roles roles = new Roles("app1", new Role[]{
+ new Role(STORE1, "role1", permissions, null),
});
- Permissions denials = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm3" ),
- });
-
- Profile p = new Profile( STORE1, "trustin", "trustin", roles, grants, denials, "test description", false );
- assertEquals( "app1", p.getApplicationName() );
- assertEquals( "trustin", p.getProfileId() );
- assertEquals( roles, p.getRoles() );
- assertEquals( grants, p.getGrants() );
- assertEquals( denials, p.getDenials() );
- assertEquals( "test description", p.getDescription() );
-
- Permissions effectivePermissions = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "perm1" ),
- new Permission( "app1", "perm2" ),
- new Permission( "app1", "perm4" ),
- });
- assertEquals( effectivePermissions, p.getEffectivePermissions() );
-
- assertTrue( p.isInRole( "role1" ) );
+ Permissions grants = new Permissions();
+ grants.add(new StringPermission("perm1"));
+ grants.add(new StringPermission("perm2"));
+
+ Permissions denials = newPermissions(new StringPermission("perm3"));
+
+ Profile p = new Profile(STORE1, "trustin", "trustin", roles, grants, denials, "test description", false);
+ assertEquals("app1", p.getApplicationName());
+ assertEquals("trustin", p.getProfileId());
+ assertEquals(roles, p.getRoles());
+ assertEquals(grants, p.getGrants());
+ assertEquals(denials, p.getDenials());
+ assertEquals("test description", p.getDescription());
+
+ Permissions effectivePermissions = new Permissions();
+ effectivePermissions.add(new StringPermission("perm1"));
+ effectivePermissions.add(new StringPermission("perm2"));
+ effectivePermissions.add(new StringPermission("perm3"));
+ effectivePermissions.add(new StringPermission("perm4"));
+ assertTrue(PermissionsUtil.equivalent(effectivePermissions, p.getEffectiveGrantedPermissions()));
+ assertTrue(PermissionsUtil.equivalent(denials, p.getEffectiveDeniedPermissions()));
+
+ assertTrue(p.isInRole("role1"));
}
- public void testRolePermissions()
- {
- Permission perm = new Permission( "app1", "perm1" );
- Permission wrongPerm = new Permission( "app1", "perm2" );
- Permissions perms = new Permissions( "app1", new Permission[] { perm, } );
+ public void testRolePermissions() {
+ StringPermission perm = new StringPermission("perm1");
+ StringPermission wrongPerm = new StringPermission("perm2");
+ Permissions perms = newPermissions(perm);
// Effective permissions will be: 'perm1'
Profile p = new Profile(
STORE1, "trustin", "trustin",
- new Roles( "app1", null ),
- perms, null, false );
-
+ new Roles("app1", null),
+ perms, null, false);
+
// Check existing permissions
- p.checkPermission( perm );
- p.checkPermission( perm, "unused" );
- p.checkPermission( perm.getName() );
- p.checkPermission( perm.getName(), "unused" );
- assertTrue( p.hasPermission( perm ) );
- assertTrue( p.hasPermission( perm.getName() ) );
- assertFalse( p.hasPermission( "nonexistant" ) );
+ p.checkPermission(perm);
+ p.checkPermission(perm, "unused");
+ assertTrue(p.implies(perm));
+ assertFalse(p.implies(new StringPermission("nonexistant")));
// Check null parameters
- try
- {
- p.checkPermission( ( Permission ) null );
- Assert.fail( "Exception is not thrown." );
- }
- catch( NullPointerException e )
- {
- // OK
- }
- try
- {
- p.checkPermission( ( String ) null );
- Assert.fail( "Exception is not thrown." );
- }
- catch( NullPointerException e )
- {
- // OK
- }
- try
- {
- p.checkPermission( ( Permission ) null, "unused" );
- Assert.fail( "Exception is not thrown." );
+ try {
+ p.checkPermission((StringPermission) null);
+ Assert.fail("Exception is not thrown.");
}
- catch( NullPointerException e )
- {
+ catch (NullPointerException e) {
// OK
}
- try
- {
- p.checkPermission( ( String ) null, "unused" );
- Assert.fail( "Exception is not thrown." );
+ try {
+ p.checkPermission((StringPermission) null, "unused");
+ Assert.fail("Exception is not thrown.");
}
- catch( NullPointerException e )
- {
+ catch (NullPointerException e) {
// OK
}
-
// Check non-existing permissions
- try
- {
- p.checkPermission( wrongPerm );
- Assert.fail( "Exception is not thrown." );
- }
- catch( AccessControlException e )
- {
- // OK
- }
- try
- {
- p.checkPermission( wrongPerm, "unused" );
- Assert.fail( "Exception is not thrown." );
- }
- catch( AccessControlException e )
- {
- // OK
- }
- try
- {
- p.checkPermission( wrongPerm.getName() );
- Assert.fail( "Exception is not thrown." );
+ try {
+ p.checkPermission(wrongPerm);
+ Assert.fail("Exception is not thrown.");
}
- catch( AccessControlException e )
- {
+ catch (AccessControlException e) {
// OK
}
- try
- {
- p.checkPermission( wrongPerm.getName(), "unused" );
- Assert.fail( "Exception is not thrown." );
+ try {
+ p.checkPermission(wrongPerm, "unused");
+ Assert.fail("Exception is not thrown.");
}
- catch( AccessControlException e )
- {
+ catch (AccessControlException e) {
// OK
}
}
-
-
- protected void _testClone( Object a, Object b )
- {
- Profile pa = ( Profile ) a;
- Profile pb = ( Profile ) b;
- Assert.assertEquals( pa.getRoles(), pb.getRoles() );
- Assert.assertEquals( pa.getGrants(), pb.getGrants() );
- Assert.assertEquals( pa.getDenials(), pb.getDenials() );
+
+
+ protected void _testClone(Object a, Object b) {
+ Profile pa = (Profile) a;
+ Profile pb = (Profile) b;
+ Assert.assertEquals(pa.getRoles(), pb.getRoles());
+ Assert.assertEquals(pa.getGrants(), pb.getGrants());
+ Assert.assertEquals(pa.getDenials(), pb.getDenials());
}
private static class TestApplicationPolicyStore implements
- ApplicationPolicy
- {
+ ApplicationPolicy {
private final String appName;
- public TestApplicationPolicyStore( String appName )
- {
+ public TestApplicationPolicyStore(String appName) {
this.appName = appName;
}
- public String getApplicationName()
- {
+ public String getApplicationName() {
return appName;
}
- public Roles getRoles()
- {
+ public Roles getRoles() {
return null;
}
- public Permissions getPermissions()
- {
- Permission[] perms = new Permission[] {
- new Permission( appName, "perm1" ),
- new Permission( appName, "perm2" ),
- new Permission( appName, "perm3" ),
- new Permission( appName, "perm4" ),
- };
- return new Permissions( appName, perms );
+ public Permissions getPermissions() {
+ Permissions perms = new Permissions();
+ perms.add(new StringPermission("perm1"));
+ perms.add(new StringPermission("perm2"));
+ perms.add(new StringPermission("perm3"));
+ perms.add(new StringPermission("perm4"));
+ return perms;
}
- public Profile getProfile( String userName )
- {
+ public Profile getProfile(String userName) {
return null;
}
- public String getDescription()
- {
+ public String getDescription() {
return null;
}
- public void close() {}
+ public void close() {
+ }
- public boolean removePolicyListener( PolicyChangeListener listener )
- {
+ public boolean removePolicyListener(PolicyChangeListener listener) {
return false;
}
- public boolean addPolicyListener( PolicyChangeListener listener )
- {
+ public boolean addPolicyListener(PolicyChangeListener listener) {
return false;
}
- public Set getDependentProfileNames( Role role ) throws GuardianException
- {
+ public Set getDependentProfileNames(Role role) throws GuardianException {
return null;
}
- public Set getDependentProfileNames( Permission permission ) throws GuardianException
- {
+ public Set getDependentProfileNames(StringPermission permission) throws GuardianException {
return null;
}
- public Set getUserProfileIds( String userName ) throws GuardianException
- {
+ public Set getUserProfileIds(String userName) throws GuardianException {
return Collections.EMPTY_SET;
}
- public Iterator getProfileIdIterator() throws GuardianException
- {
+ public Iterator getProfileIdIterator() throws GuardianException {
return null;
}
- public Profile getAdminProfile()
- {
+ public Profile getAdminProfile() {
return null;
}
}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RoleTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RoleTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RoleTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RoleTest.java Wed Dec 27 20:48:29 2006
@@ -21,6 +21,7 @@
import java.security.AccessControlException;
+import java.security.Permissions;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
@@ -41,32 +42,32 @@
protected Object newInstanceA1()
{
- return new Role( STORE1, "role1", null );
+ return new Role( STORE1, "role1", null, null);
}
protected Object newInstanceA2()
{
- return new Role( STORE1, "role1", null );
+ return new Role( STORE1, "role1", null, null);
}
protected Object newInstanceB1()
{
- return new Role( STORE1, "role2", null );
+ return new Role( STORE1, "role2", null, null);
}
protected Object newInstanceB2()
{
- return new Role( STORE2, "role1", null );
+ return new Role( STORE2, "role1", null, null);
}
public void testInstantiation()
{
- Permissions perms = new Permissions( "app1", null );
+ Permissions perms = new Permissions();
// Test null parameters
try
{
- new Role( null, "role1", perms );
+ new Role( null, "role1", perms, null);
fail( "Execption is not thrown." );
}
catch( NullPointerException e )
@@ -75,7 +76,7 @@
}
try
{
- new Role( STORE1, null, perms );
+ new Role( STORE1, null, perms, null);
fail( "Execption is not thrown." );
}
catch( NullPointerException e )
@@ -86,91 +87,90 @@
// Test empty fields
try
{
- new Role( STORE2, "", perms );
- fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
- try
- {
- new Role( new TestApplicationPolicyStore( "" ), "role1", perms );
+ new Role( STORE2, "", perms, null);
fail( "Execption is not thrown." );
}
catch( IllegalArgumentException e )
{
// OK
}
+// try
+// {
+// new Role( new TestApplicationPolicyStore( "" ), "role1", perms );
+// fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
// Test unknown permissions
- try
- {
- Permissions wrongPerms = new Permissions( "app1", new Permission[] {
- new Permission( "app1", "wrongPerm" ),
- });
-
- new Role( STORE1, "role1", wrongPerms );
- fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
+ //TODO could be resuscitated if we had an impliesAll method.
+// try
+// {
+// Permissions wrongPerms = new Permissions( "app1", new StringPermission[] {
+// new StringPermission( "app1", "wrongPerm" ),
+// });
+//
+// new Role( STORE1, "role1", wrongPerms );
+// fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
// Test mismatching application names.
- try
- {
- new Role( STORE2, "role1", perms );
- fail( "Execption is not thrown." );
- }
- catch( IllegalArgumentException e )
- {
- // OK
- }
-
- Role r = new Role( STORE1, "role1", null );
- assertEquals( 0, r.getGrants().size() );
+// try
+// {
+// new Role( STORE2, "role1", perms );
+// fail( "Execption is not thrown." );
+// }
+// catch( IllegalArgumentException e )
+// {
+// // OK
+// }
+
+ Role r = new Role( STORE1, "role1", null, null);
+ assertEquals( 0, PermissionsUtil.size(r.getGrantedPermissions()) );
+ assertEquals( 0, PermissionsUtil.size(r.getDeniedPermissions()) );
}
public void testProperties()
{
- Permission perm1= new Permission( "app1", "perm1" );
- Permissions perms = new Permissions( "app1", new Permission[] {
- perm1,
- new Permission( "app1", "perm2" ),
- new Permission( "app1", "perm3" ), } );
+ StringPermission perm1= new StringPermission("perm1" );
+ Permissions perms = new Permissions();
+ perms.add(perm1);
+ perms.add(new StringPermission("perm2" ));
+ perms.add(new StringPermission("perm3" ));
- Role r = new Role( STORE1, "role1", perms, "test description" );
+ Role r = new Role( STORE1, "role1", perms, null, "test description" );
assertEquals( "app1", r.getApplicationName() );
assertEquals( "role1", r.getName() );
- assertEquals( perms, r.getGrants() );
+ assertEquals( perms, r.getGrantedPermissions() );
assertEquals( "test description", r.getDescription() );
assertTrue( r.hasPermission( perm1 ) ) ;
- assertTrue( r.hasPermission( perm1.getName() ) ) ;
}
public void testRolePermissions()
{
- Permission perm = new Permission( "app1", "perm1" );
- Permission wrongPerm = new Permission( "app1", "perm2" );
- Permissions perms = new Permissions( "app1", new Permission[] { perm, } );
+ StringPermission perm = new StringPermission("perm1" );
+ StringPermission wrongPerm = new StringPermission("perm2" );
+ Permissions perms = new Permissions();
+ perms.add(perm);
- Role r = new Role( STORE1, "role1", perms );
+ Role r = new Role( STORE1, "role1", perms, null);
// Check existing permissions
r.checkPermission( perm );
- assertTrue( r.hasPermission( perm.getName() ) );
assertTrue( r.hasPermission( perm ) );
r.checkPermission( perm, "unused" );
- r.checkPermission( perm.getName() );
- r.checkPermission( perm.getName(), "unused" );
// Check null parameters
try
{
- r.checkPermission( ( Permission ) null );
+ r.checkPermission( ( StringPermission ) null );
fail( "Exception is not thrown." );
}
catch( NullPointerException e )
@@ -179,32 +179,13 @@
}
try
{
- r.checkPermission( ( String ) null );
+ r.checkPermission( ( StringPermission ) null, "unused" );
fail( "Exception is not thrown." );
}
catch( NullPointerException e )
{
// OK
}
- try
- {
- r.checkPermission( ( Permission ) null, "unused" );
- fail( "Exception is not thrown." );
- }
- catch( NullPointerException e )
- {
- // OK
- }
- try
- {
- r.checkPermission( ( String ) null, "unused" );
- fail( "Exception is not thrown." );
- }
- catch( NullPointerException e )
- {
- // OK
- }
-
// Check non-existing permissions
try
{
@@ -224,24 +205,6 @@
{
// OK
}
- try
- {
- r.checkPermission( wrongPerm.getName() );
- fail( "Exception is not thrown." );
- }
- catch( AccessControlException e )
- {
- // OK
- }
- try
- {
- r.checkPermission( wrongPerm.getName(), "unused" );
- fail( "Exception is not thrown." );
- }
- catch( AccessControlException e )
- {
- // OK
- }
}
@@ -250,7 +213,7 @@
{
Role ra = ( Role ) a;
Role rb = ( Role ) b;
- assertEquals( ra.getGrants(), rb.getGrants() );
+ assertEquals( ra.getGrantedPermissions(), rb.getGrantedPermissions() );
}
private static class TestApplicationPolicyStore implements
@@ -273,14 +236,12 @@
return null;
}
- public Permissions getPermissions()
- {
- Permission[] perms = new Permission[] {
- new Permission( appName, "perm1" ),
- new Permission( appName, "perm2" ),
- new Permission( appName, "perm3" ),
- };
- return new Permissions( appName, perms );
+ public Permissions getPermissions() {
+ Permissions perms = new Permissions();
+ perms.add(new StringPermission("perm1"));
+ perms.add(new StringPermission("perm2"));
+ perms.add(new StringPermission("perm3"));
+ return perms;
}
public Profile getProfile( String userName )
@@ -310,7 +271,7 @@
return null;
}
- public Set getDependentProfileNames( Permission permission ) throws GuardianException
+ public Set getDependentProfileNames( StringPermission permission ) throws GuardianException
{
return null;
}
Modified: directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RolesTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RolesTest.java?view=diff&rev=490646&r1=490645&r2=490646
==============================================================================
--- directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RolesTest.java (original)
+++ directory/trunks/triplesec/guardian-api/src/test/java/org/safehaus/triplesec/guardian/RolesTest.java Wed Dec 27 20:48:29 2006
@@ -19,6 +19,7 @@
*/
package org.safehaus.triplesec.guardian;
+import java.security.Permissions;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
@@ -36,34 +37,35 @@
*/
public class RolesTest extends AbstractEntityTest
{
+ private static final String APP1 = "app1";
private static final ApplicationPolicy STORE1 = new TestApplicationPolicyStore(
- "app1" );
+ APP1 );
private static final ApplicationPolicy STORE2 = new TestApplicationPolicyStore(
"app2" );
protected Object newInstanceA1()
{
- return new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", null ),
- new Role( STORE1, "role2", null ),
- new Role( STORE1, "role3", null ),
+ return new Roles( APP1, new Role[] {
+ new Role( STORE1, "role1", null, null),
+ new Role( STORE1, "role2", null, null),
+ new Role( STORE1, "role3", null, null),
});
}
protected Object newInstanceA2()
{
- return new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", null ),
- new Role( STORE1, "role2", null ),
- new Role( STORE1, "role3", null ),
+ return new Roles( APP1, new Role[] {
+ new Role( STORE1, "role1", null, null),
+ new Role( STORE1, "role2", null, null),
+ new Role( STORE1, "role3", null, null),
});
}
protected Object newInstanceB1()
{
- return new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", null ),
+ return new Roles( APP1, new Role[] {
+ new Role( STORE1, "role1", null, null),
});
}
@@ -97,7 +99,7 @@
}
// Test null elements
- Roles roles = new Roles( "app1", new Role[] {
+ Roles roles = new Roles( APP1, new Role[] {
null, null, null,
});
Assert.assertTrue( roles.isEmpty() );
@@ -105,8 +107,8 @@
// Test mismatching application names
try
{
- new Roles( "app1", new Role[] {
- new Role( STORE2, "role1", null ),
+ new Roles( APP1, new Role[] {
+ new Role( STORE2, "role1", null, null),
});
Assert.fail( "Execption is not thrown." );
}
@@ -120,14 +122,14 @@
public void testProperties()
{
- Role r1 = new Role( STORE1, "role1", null );
- Role r2 = new Role( STORE1, "role2", null );
- Role r3 = new Role( STORE1, "role3", null );
- Roles roles = new Roles( "app1", new Role[] {
+ Role r1 = new Role( STORE1, "role1", null, null);
+ Role r2 = new Role( STORE1, "role2", null, null);
+ Role r3 = new Role( STORE1, "role3", null, null);
+ Roles roles = new Roles( APP1, new Role[] {
r1, r2, r3,
});
- Assert.assertEquals( "app1", roles.getApplicationName() );
+ Assert.assertEquals( APP1, roles.getApplicationName() );
Assert.assertEquals( 3, roles.size() );
Assert.assertTrue( roles.contains( r1 ) );
Assert.assertTrue( roles.contains( r2 ) );
@@ -154,15 +156,15 @@
public void testSetOperations()
{
- Roles roles1 = new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", null ),
+ Roles roles1 = new Roles( APP1, new Role[] {
+ new Role( STORE1, "role1", null, null),
});
- Roles roles2 = new Roles( "app1", new Role[] {
- new Role( STORE1, "role2", null ),
+ Roles roles2 = new Roles( APP1, new Role[] {
+ new Role( STORE1, "role2", null, null),
});
- Roles roles12 = new Roles( "app1", new Role[] {
- new Role( STORE1, "role1", null ),
- new Role( STORE1, "role2", null ),
+ Roles roles12 = new Roles( APP1, new Role[] {
+ new Role( STORE1, "role1", null, null),
+ new Role( STORE1, "role2", null, null),
});
Roles wrongRoles = new Roles( "wrongApp", null );
@@ -222,35 +224,35 @@
}
- public void testGetDependentRoles()
- {
- Role role1 = new Role( STORE1, "role1", STORE1.getPermissions() );
- Role role2 = new Role( STORE1, "role2", null );
- Roles roles12 = new Roles( "app1", new Role[] { role1, role2 });
-
- Roles dependents = roles12.getDependentRoles( "perm1" );
- assertEquals( 1, dependents.size() );
- assertEquals( role1, dependents.get( "role1" ) );
-
- dependents = roles12.getDependentRoles( STORE1.getPermissions().get( "perm1" ) );
- assertEquals( 1, dependents.size() );
- assertEquals( role1, dependents.get( "role1" ) );
-
- dependents = roles12.getDependentRoles( "perm99" );
- assertEquals( 0, dependents.size() );
-
- dependents = roles12.getDependentRoles( new Permission( "app1", "perm99" ) );
- assertEquals( 0, dependents.size() );
-
- try
- {
- dependents = roles12.getDependentRoles( new Permission( "blah", "perm99" ) );
- fail( "Should never get here due to an exception" );
- }
- catch ( IllegalArgumentException e )
- {
- }
- }
+// public void testGetDependentRoles()
+// {
+// Role role1 = new Role( STORE1, "role1", STORE1.getPermissions(), null);
+// Role role2 = new Role( STORE1, "role2", null, null);
+// Roles roles12 = new Roles( APP1, new Role[] { role1, role2 });
+//
+// Roles dependents = roles12.getDependentRoles(new StringPermission(APP1, "perm1" ));
+// assertEquals( 1, dependents.size() );
+// assertEquals( role1, dependents.get( "role1" ) );
+//
+// dependents = roles12.getDependentRoles(new StringPermission(APP1, "perm1" ));
+// assertEquals( 1, dependents.size() );
+// assertEquals( role1, dependents.get( "role1" ) );
+//
+// dependents = roles12.getDependentRoles(new StringPermission(APP1, "perm99" ));
+// assertEquals( 0, dependents.size() );
+//
+// dependents = roles12.getDependentRoles( new StringPermission( APP1, "perm99" ) );
+// assertEquals( 0, dependents.size() );
+//
+// try
+// {
+// dependents = roles12.getDependentRoles( new StringPermission( "blah", "perm99" ) );
+// fail( "Should never get here due to an exception" );
+// }
+// catch ( IllegalArgumentException e )
+// {
+// }
+// }
public static void main( String[] args )
@@ -277,16 +279,14 @@
return null;
}
- public Permissions getPermissions()
- {
- Permission[] perms = new Permission[] {
- new Permission( appName, "perm1" ),
- new Permission( appName, "perm2" ),
- new Permission( appName, "perm3" ),
- };
- return new Permissions( appName, perms );
+ public Permissions getPermissions() {
+ Permissions perms = new Permissions();
+ perms.add(new StringPermission("perm1"));
+ perms.add(new StringPermission("perm2"));
+ perms.add(new StringPermission("perm3"));
+ return perms;
}
-
+
public Profile getProfile( String userName )
{
return null;
@@ -314,7 +314,7 @@
return null;
}
- public Set getDependentProfileNames( Permission permission ) throws GuardianException
+ public Set getDependentProfileNames( StringPermission permission ) throws GuardianException
{
return null;
}