Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/DataBackendException.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/DataBackendException.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/DataBackendException.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/DataBackendException.java Tue Aug 14 15:19:40 2012 @@ -27,7 +27,7 @@ package org.apache.fulcrum.security.util * @version $Id$ */ public class DataBackendException - extends TurbineSecurityException + extends FulcrumSecurityException { /** * Serial number
Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/EntityExistsException.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/EntityExistsException.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/EntityExistsException.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/EntityExistsException.java Tue Aug 14 15:19:40 2012 @@ -27,7 +27,7 @@ package org.apache.fulcrum.security.util * @version $Id$ */ public class EntityExistsException - extends TurbineSecurityException + extends FulcrumSecurityException { /** * Serial number Copied: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java (from r1361057, turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/TurbineSecurityException.java) URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java?p2=turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java&p1=turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/TurbineSecurityException.java&r1=1361057&r2=1372918&rev=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/TurbineSecurityException.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java Tue Aug 14 15:19:40 2012 @@ -25,7 +25,7 @@ package org.apache.fulcrum.security.util * @author <a href="mailto:[email protected]">Rafal Krzewski</a> * @version $Id$ */ -public class TurbineSecurityException +public class FulcrumSecurityException extends Exception { /** @@ -38,7 +38,7 @@ public class TurbineSecurityException * * @param msg The detail message. */ - public TurbineSecurityException(String msg) + public FulcrumSecurityException(String msg) { super(msg); } @@ -51,7 +51,7 @@ public class TurbineSecurityException * @param nested the exception or error that caused this exception * to be thrown. */ - public TurbineSecurityException(String msg, Throwable nested) + public FulcrumSecurityException(String msg, Throwable nested) { super(msg, nested); } Propchange: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java ------------------------------------------------------------------------------ cvs2svn:cvs-rev = 1.2 Propchange: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/FulcrumSecurityException.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/GroupSet.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/GroupSet.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/GroupSet.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/GroupSet.java Tue Aug 14 15:19:40 2012 @@ -20,7 +20,6 @@ package org.apache.fulcrum.security.util */ import java.util.Collection; -import java.util.Iterator; import org.apache.fulcrum.security.entity.Group; @@ -37,7 +36,7 @@ import org.apache.fulcrum.security.entit * @version $Id$ */ public class GroupSet - extends SecuritySet + extends SecuritySet<Group> { /** * Serial number @@ -60,128 +59,24 @@ public class GroupSet * * @param groups A collection of groups to be contained in the set. */ - public GroupSet(Collection groups) + public GroupSet(Collection<? extends Group> groups) { - super(); - add(groups); - } - - /** - * Adds a Group to this GroupSet. - * - * @param group A Group. - * @return True if Group was added; false if GroupSet - * already contained the Group. - */ - public boolean add(Group group) - { - if (contains(group)){ - return false; - } - else { - idMap.put(group.getId(), group); - return true; - } - } - - /** - * Adds a Group to this GroupSet. - * - * @param obj A Group. - * @return True if Group was added; false if GroupSet already - * contained the Group. - */ - public boolean add(Object obj) { - if(obj instanceof Group){ - return add((Group)obj); - } - else { - throw new ClassCastException("Object passed to add to GroupSet is not of type Group"); - } - } - - /** - * Adds the Groups in a Collection to this GroupSet. - * - * @param groups A Collection of Groups. - * @return True if this GroupSet changed as a result; false - * if no change to this GroupSet occurred (this GroupSet - * already contained all members of the added GroupSet). - */ - public boolean add(Collection groups) - { - boolean res = false; - for (Iterator it = groups.iterator(); it.hasNext();) - { - Group g = (Group) it.next(); - res |= add(g); - } - return res; - } - - /** - * Adds the Groups in another GroupSet to this GroupSet. - * - * @param groupSet A GroupSet. - * @return True if this GroupSet changed as a result; false - * if no change to this GroupSet occurred (this GroupSet - * already contained all members of the added GroupSet). - */ - public boolean add(GroupSet groupSet) - { - boolean res = false; - for( Iterator it = groupSet.iterator(); it.hasNext();) - { - Group g = (Group) it.next(); - res |= add(g); - } - return res; + this(); + addAll(groups); } /** - * Removes a Group from this GroupSet. - * - * @param group A Group. - * @return True if this GroupSet contained the Group - * before it was removed. - */ - public boolean remove(Group group) - { - boolean res = contains(group); - //nameMap.remove(group.getName()); - idMap.remove(group.getId()); - return res; - } - - /** - * Checks whether this GroupSet contains a Group. - * - * @param group A Group. - * @return True if this GroupSet contains the Group, - * false otherwise. - */ - public boolean contains(Group group) - { - return super.contains(group); - } - - - - /** * Returns a Group with the given name, if it is contained in * this GroupSet. * * @param groupName Name of Group. * @return Group if argument matched a Group in this * GroupSet; null if no match. + * @deprecated Use getByName() */ public Group getGroupByName(String groupName) { - /*groupName=groupName.toLowerCase(); - return (StringUtils.isNotEmpty(groupName)) - ? (Group) nameMap.get(groupName) : null; - */ - return (Group)getByName(groupName); + return getByName(groupName); } /** @@ -191,21 +86,11 @@ public class GroupSet * @param groupId Id of the group * @return Group if argument matched a Group in this * GroupSet; null if no match. + * @deprecated Use getById() */ public Group getGroupById(Object groupId) { - return (groupId != null) - ? (Group) idMap.get(groupId) : null; - } - - /** - * Returns an Array of Groups in this GroupSet. - * - * @return An Array of Group objects. - */ - public Group[] getGroupsArray() - { - return (Group[]) getSet().toArray(new Group[0]); + return getById(groupId); } /** @@ -218,23 +103,8 @@ public class GroupSet { StringBuffer sb = new StringBuffer(); sb.append("GroupSet: "); - - for(Iterator it = iterator(); it.hasNext();) - { - Group g = (Group) it.next(); - sb.append('['); - sb.append(g.getName()); - sb.append(" -> "); - sb.append(g.getId()); - sb.append(']'); - if (it.hasNext()) - { - sb.append(", "); - } - } + sb.append(super.toString()); return sb.toString(); } - - } Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PasswordMismatchException.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PasswordMismatchException.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PasswordMismatchException.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PasswordMismatchException.java Tue Aug 14 15:19:40 2012 @@ -26,7 +26,7 @@ package org.apache.fulcrum.security.util * @version $Id$ */ public class PasswordMismatchException - extends TurbineSecurityException + extends FulcrumSecurityException { /** * Serial number Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PermissionSet.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PermissionSet.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PermissionSet.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/PermissionSet.java Tue Aug 14 15:19:40 2012 @@ -19,7 +19,6 @@ package org.apache.fulcrum.security.util * under the License. */ import java.util.Collection; -import java.util.Iterator; import org.apache.fulcrum.security.entity.Permission; @@ -37,7 +36,7 @@ import org.apache.fulcrum.security.entit * @version $Id$ */ public class PermissionSet - extends SecuritySet + extends SecuritySet<Permission> { /** * Serial number @@ -60,114 +59,12 @@ public class PermissionSet * * @param permissions A collection of permissions to be contained in the set. */ - public PermissionSet(Collection permissions) + public PermissionSet(Collection<? extends Permission> permissions) { - super(); - add(permissions); - } - - /** - * Adds a Permission to this PermissionSet. - * - * @param permission A Permission. - * @return True if Permission was added; false if PermissionSet - * already contained the Permission. - */ - public boolean add(Permission permission) - { - if (contains(permission)){ - return false; - } - else { - idMap.put(permission.getId(), permission); - return true; - } - } - - /** - * Adds a Permission to this PermissionSet. - * - * @param obj A Permission. - * @return True if Permission was added; false if PermissionSet already - * contained the Permission. - */ - public boolean add(Object obj) { - if(obj instanceof Permission){ - return add((Permission)obj); - } - else { - throw new ClassCastException("Object passed to add to PermissionSet is not of type Permission"); - } - } - - /** - * Adds the Permissions in a Collection to this PermissionSet. - * - * @param permissions A Collection of Permissions. - * @return True if this PermissionSet changed as a result; false - * if no change to this PermissionSet occurred (this PermissionSet - * already contained all members of the added PermissionSet). - */ - public boolean add(Collection permissions) - { - boolean res = false; - for (Iterator it = permissions.iterator(); it.hasNext();) - { - Permission p = (Permission) it.next(); - res |= add(p); - } - return res; - } - - /** - * Adds the Permissions in another PermissionSet to this - * PermissionSet. - * - * @param permissionSet A PermissionSet. - * @return True if this PermissionSet changed as a result; false - * if no change to this PermissionSet occurred (this PermissionSet - * already contained all members of the added PermissionSet). - */ - public boolean add(PermissionSet permissionSet) - { - boolean res = false; - for( Iterator it = permissionSet.iterator(); it.hasNext();) - { - Permission p = (Permission) it.next(); - res |= add(p); - } - return res; - } - - /** - * Removes a Permission from this PermissionSet. - * - * @param permission A Permission. - * @return True if this PermissionSet contained the Permission - * before it was removed. - */ - public boolean remove(Permission permission) - { - boolean res = contains(permission); - //nameMap.remove(permission.getName()); - idMap.remove(permission.getId()); - return res; - } - - /** - * Checks whether this PermissionSet contains a Permission. - * - * @param permission A Permission. - * @return True if this PermissionSet contains the Permission, - * false otherwise. - */ - public boolean contains(Permission permission) - { - return super.contains(permission); + this(); + addAll(permissions); } - - /** * Returns a Permission with the given name, if it is contained in * this PermissionSet. @@ -175,13 +72,11 @@ public class PermissionSet * @param permissionName Name of Permission. * @return Permission if argument matched a Permission in this * PermissionSet; null if no match. + * @deprecated use getByName() */ public Permission getPermissionByName(String permissionName) { - return (Permission)getByName(permissionName); - //permissionName=permissionName.toLowerCase(); - //return (StringUtils.isNotEmpty(permissionName)) - // ? (Permission) nameMap.get(permissionName) : null; + return getByName(permissionName); } /** @@ -191,21 +86,11 @@ public class PermissionSet * @param permissionId Id of the Permission. * @return Permission if argument matched a Permission in this * PermissionSet; null if no match. + * @deprecated Use getById() */ public Permission getPermissionById(Object permissionId) { - return (permissionId != null) - ? (Permission) idMap.get(permissionId) : null; - } - - /** - * Returns an Array of Permissions in this PermissionSet. - * - * @return An Array of Permission Objects. - */ - public Permission[] getPermissionsArray() - { - return (Permission[]) getSet().toArray(new Permission[0]); + return getById(permissionId); } /** @@ -218,20 +103,7 @@ public class PermissionSet { StringBuffer sb = new StringBuffer(); sb.append("PermissionSet: "); - - for(Iterator it = iterator(); it.hasNext();) - { - Permission p = (Permission) it.next(); - sb.append('['); - sb.append(p.getName()); - sb.append(" -> "); - sb.append(p.getId()); - sb.append(']'); - if (it.hasNext()) - { - sb.append(", "); - } - } + sb.append(super.toString()); return sb.toString(); } Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/RoleSet.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/RoleSet.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/RoleSet.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/RoleSet.java Tue Aug 14 15:19:40 2012 @@ -20,7 +20,6 @@ package org.apache.fulcrum.security.util */ import java.util.Collection; -import java.util.Iterator; import org.apache.fulcrum.security.entity.Role; @@ -37,7 +36,7 @@ import org.apache.fulcrum.security.entit * @version $Id$ */ public class RoleSet - extends SecuritySet + extends SecuritySet<Role> { /** * Serial number @@ -60,126 +59,24 @@ public class RoleSet * * @param roles A collection of roles to be contained in the set. */ - public RoleSet(Collection roles) + public RoleSet(Collection<? extends Role> roles) { - super(); - add(roles); - } - - /** - * Adds a Role to this RoleSet. - * - * @param role A Role. - * @return True if Role was added; false if RoleSet already - * contained the Role. - */ - public boolean add(Role role) - { - if (contains(role)){ - return false; - } - else { - idMap.put(role.getId(), role); - return true; - } - } - - /** - * Adds a Role to this RoleSet. - * - * @param obj A Role. - * @return True if Role was added; false if RoleSet already - * contained the Role. - */ - public boolean add(Object obj) { - if(obj instanceof Role){ - return add((Role)obj); - } - else { - throw new ClassCastException("Object passed to add to RoleSet is not of type Role"); - } - } - - /** - * Adds the Roles in a Collection to this RoleSet. - * - * @param roles A Collection of Roles. - * @return True if this RoleSet changed as a result; false - * if no change to this RoleSet occurred (this RoleSet - * already contained all members of the added RoleSet). - */ - public boolean add(Collection roles) - { - boolean res = false; - for (Iterator it = roles.iterator(); it.hasNext();) - { - Role r = (Role) it.next(); - res |= add(r); - } - return res; - } - - /** - * Adds the Roles in another RoleSet to this RoleSet. - * - * @param roleSet A RoleSet. - * @return True if this RoleSet changed as a result; false - * if no change to this RoleSet occurred (this RoleSet - * already contained all members of the added RoleSet). - */ - public boolean add(RoleSet roleSet) - { - boolean res = false; - for( Iterator it = roleSet.iterator(); it.hasNext();) - { - Role r = (Role) it.next(); - res |= add(r); - } - return res; + this(); + addAll(roles); } /** - * Removes a Role from this RoleSet. - * - * @param role A Role. - * @return True if this RoleSet contained the Role - * before it was removed. - */ - public boolean remove(Role role) - { - boolean res = contains(role); - // nameMap.remove(role.getName()); - idMap.remove(role.getId()); - return res; - } - - /** - * Checks whether this RoleSet contains a Role. - * - * @param role A Role. - * @return True if this RoleSet contains the Role, - * false otherwise. - */ - public boolean contains(Role role) - { - return super.contains(role); - } - - - /** * Returns a Role with the given name, if it is contained in * this RoleSet. * * @param roleName Name of Role. * @return Role if argument matched a Role in this * RoleSet; null if no match. + * @deprecated use getByName() */ public Role getRoleByName(String roleName) { - return (Role)getByName(roleName); - /*roleName=roleName.toLowerCase(); - return (StringUtils.isNotEmpty(roleName)) - ? (Role) nameMap.get(roleName) : null;*/ + return getByName(roleName); } /** @@ -189,21 +86,11 @@ public class RoleSet * @param roleId id of the Role. * @return Role if argument matched a Role in this RoleSet; null * if no match. + * @deprecated Use getById() */ public Role getRoleById(Object roleId) { - return (roleId != null) - ? (Role) idMap.get(roleId) : null; - } - - /** - * Returns an Array of Roles in this RoleSet. - * - * @return An Array of Role objects. - */ - public Role[] getRolesArray() - { - return (Role[]) getSet().toArray(new Role[0]); + return getById(roleId); } /** @@ -216,23 +103,8 @@ public class RoleSet { StringBuffer sb = new StringBuffer(); sb.append("RoleSet: "); - - for(Iterator it = iterator(); it.hasNext();) - { - Role r = (Role) it.next(); - sb.append('['); - sb.append(r.getName()); - sb.append(" -> "); - sb.append(r.getId()); - sb.append(']'); - if (it.hasNext()) - { - sb.append(", "); - } - } + sb.append(super.toString()); return sb.toString(); } - - } Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/SecuritySet.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/SecuritySet.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/SecuritySet.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/SecuritySet.java Tue Aug 14 15:19:40 2012 @@ -26,6 +26,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; + import org.apache.commons.lang.StringUtils; import org.apache.fulcrum.security.entity.SecurityEntity; /** @@ -43,71 +44,66 @@ import org.apache.fulcrum.security.entit * @author <a href="mailto:[email protected]">Henning P. Schmiedehausen</a> * @version $Id$ */ -public abstract class SecuritySet implements Serializable, Set +public abstract class SecuritySet<T extends SecurityEntity> + implements Serializable, Set<T>, Iterable<T> { - /** Map for "name" -> "security object" */ - // protected Map nameMap = null; + /** Serial version */ + private static final long serialVersionUID = 2251987059226422569L; + + /** Map for "name" -> "security object" */ + protected Map<String, T> nameMap = null; /** Map for "id" -> "security object" */ - protected Map idMap = null; + protected Map<Object, T> idMap = null; + /** * Constructs an empty Set */ public SecuritySet() { - //nameMap = new TreeMap(); - idMap = new TreeMap(); + nameMap = new TreeMap<String, T>(); + idMap = new TreeMap<Object, T>(); } - /* - * To enable the typesafe handling, make this abstract - * and rely on the implementing classes like RoleSet to - * properly cast the Object type. - * - * @see java.util.Collection#add(java.lang.Object) - */ - public abstract boolean add(Object o); /** * Returns a set of security objects in this object. * * @return A Set Object * */ - public Set getSet() + public Set<T> getSet() { - return new HashSet(idMap.values()); + return new HashSet<T>(idMap.values()); } + /** * Returns a set of Names in this Object. * * @return The Set of Names in this Object, backed by the actual data. */ - public Set getNames() + public Set<String> getNames() { - Set names = new HashSet(); - for (Iterator i = getSet().iterator();i.hasNext();){ - SecurityEntity se = (SecurityEntity)i.next(); - names.add(se.getName()); - } - return names; - //return nameMap.keySet(); + return nameMap.keySet(); } + /** * Returns a set of Id values in this Object. * * @return The Set of Ids in this Object, backed by the actual data. */ - public Set getIds() + public Set<Object> getIds() { return idMap.keySet(); } + /** * Removes all Objects from this Set. */ public void clear() { - // nameMap.clear(); + nameMap.clear(); idMap.clear(); } + /** * Searches if an Object with a given name is in the Set * @@ -117,16 +113,11 @@ public abstract class SecuritySet implem */ public boolean containsName(String name) { - return (StringUtils.isNotEmpty(name)) - ? getNames().contains(name.toLowerCase()) - : false; - /* - * return (StringUtils.isNotEmpty(name)) - * ? nameMap.containsKey(name.toLowerCase()) - * : false; - */ + ? nameMap.containsKey(name.toLowerCase()) + : false; } + /** * Searches if an Object with a given Id is in the Set * @@ -138,15 +129,17 @@ public abstract class SecuritySet implem { return (id == null) ? false : idMap.containsKey(id); } + /** * Returns an Iterator for Objects in this Set. * * @return An iterator for the Set */ - public Iterator iterator() + public Iterator<T> iterator() { return idMap.values().iterator(); } + /** * Returns size (cardinality) of this set. * @@ -156,6 +149,7 @@ public abstract class SecuritySet implem { return idMap.size(); } + /** * list of role names in this set * @@ -164,28 +158,80 @@ public abstract class SecuritySet implem public String toString() { StringBuffer sbuf = new StringBuffer(12 * size()); - for (Iterator it = idMap.keySet().iterator(); it.hasNext();) + + for(Iterator<T> it = iterator(); it.hasNext();) { - sbuf.append((String) it.next()); + T se = it.next(); + sbuf.append('['); + sbuf.append(se.getName()); + sbuf.append(" -> "); + sbuf.append(se.getId()); + sbuf.append(']'); if (it.hasNext()) { sbuf.append(", "); } } + return sbuf.toString(); } + // methods from Set - public boolean addAll(Collection collection) + /** + * @see java.util.Collection#add(java.lang.Object) + */ + public boolean add(T o) + { + if (contains(o)) + { + return false; + } + + if (o.getId() != null) + { + idMap.put(o.getId(), o); + } + if (o.getName() != null) + { + nameMap.put(o.getName(), o); + } + + return true; + } + + /** + * Adds the entities in a Collection to this SecuritySet. + * + * @param collection A Collection of entities. + * @return True if this Set changed as a result; false + * if no change to this Set occurred (this Set + * already contained all members of the added Set). + */ + public boolean add(Collection<? extends T> collection) { - return add((Collection) collection); + return addAll(collection); + } + + public boolean addAll(Collection<? extends T> collection) + { + boolean res = false; + + for (T o : collection) + { + res |= add(o); + } + + return res; } + public boolean isEmpty() { return idMap.isEmpty(); } - public boolean containsAll(Collection collection) + + public boolean containsAll(Collection<?> collection) { - for (Iterator i = collection.iterator(); i.hasNext();) + for (Iterator<?> i = collection.iterator(); i.hasNext();) { Object object = i.next(); if (!contains(object)) @@ -195,10 +241,11 @@ public abstract class SecuritySet implem } return true; } - public boolean removeAll(Collection collection) + + public boolean removeAll(Collection<?> collection) { boolean changed = false; - for (Iterator i = collection.iterator(); i.hasNext();) + for (Iterator<?> i = collection.iterator(); i.hasNext();) { Object object = i.next(); boolean result = remove(object); @@ -207,12 +254,15 @@ public abstract class SecuritySet implem changed = true; } } + return changed; } - public boolean retainAll(Collection collection) + + public boolean retainAll(Collection<?> collection) { throw new RuntimeException("not implemented"); } + /* * (non-Javadoc) * @@ -223,55 +273,76 @@ public abstract class SecuritySet implem return getSet().toArray(); } - /* - * (non-Javadoc) + /** + * Checks whether this SecuritySet contains an entity. * - * @see java.util.Collection#contains(java.lang.Object) + * @param o An entity. + * @return True if this Set contains the entity, + * false otherwise. */ public boolean contains(Object o) { - if (o == null) + if (o == null || !(o instanceof SecurityEntity)) { return false; } else { - return containsName(((SecurityEntity) o).getName()); + return containsName(((SecurityEntity)o).getName()); } } - /* - * (non-Javadoc) + + /** + * Removes an entity from this SecuritySet. * - * @see java.util.Collection#remove(java.lang.Object) + * @param o An entity. + * @return True if this Set contained the entity + * before it was removed. */ public boolean remove(Object o) { - SecurityEntity se = (SecurityEntity)o; - boolean res = contains(se); - idMap.remove(se.getId()); - return res; + if (o instanceof SecurityEntity) + { + boolean res = contains(o); + idMap.remove(((SecurityEntity)o).getId()); + nameMap.remove(((SecurityEntity)o).getName()); + return res; + } + + return false; } - /* - * (non-Javadoc) + + /* (non-Javadoc) + * @see java.util.Set#toArray(T[]) + */ + public <A> A[] toArray(A[] a) + { + return getSet().toArray(a); + } + + /** + * Returns an entity with the given name, if it is contained in + * this SecuritySet. * - * @see java.util.Collection#toArray(java.lang.Object[]) + * @param name Name of entity. + * @return entity if argument matched an entity in this + * Set; null if no match. */ - public Object[] toArray(Object[] a) + public T getByName(String name) { - return getSet().toArray(a); + return nameMap.get(name); } - public SecurityEntity getByName(String name){ - SecurityEntity securityEntity = null; - for (Iterator i = getSet().iterator();i.hasNext();){ - SecurityEntity se = (SecurityEntity)i.next(); - if(se.getName().equalsIgnoreCase(name)){ - securityEntity = se; - break; - } - } - return securityEntity; - - + /** + * Returns an entity with the given id, if it is contained in + * this SecuritySet. + * + * @param id ID of entity. + * @return entity if argument matched an entity in this + * Set; null if no match. + */ + public T getById(Object id) + { + return idMap.get(id); } } Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UnknownEntityException.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UnknownEntityException.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UnknownEntityException.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UnknownEntityException.java Tue Aug 14 15:19:40 2012 @@ -27,7 +27,7 @@ package org.apache.fulcrum.security.util * @version $Id$ */ public class UnknownEntityException - extends TurbineSecurityException + extends FulcrumSecurityException { /** * Serial number Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UserSet.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UserSet.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UserSet.java (original) +++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/UserSet.java Tue Aug 14 15:19:40 2012 @@ -20,7 +20,6 @@ package org.apache.fulcrum.security.util */ import java.util.Collection; -import java.util.Iterator; import org.apache.fulcrum.security.entity.User; @@ -33,7 +32,7 @@ import org.apache.fulcrum.security.entit * @version $Id$ */ public class UserSet - extends SecuritySet + extends SecuritySet<User> { /** * Serial number @@ -56,129 +55,24 @@ public class UserSet * * @param users A collection of users to be contained in the set. */ - public UserSet(Collection users) + public UserSet(Collection<? extends User> users) { - super(); - add(users); - } - - /** - * Adds a User to this UserSet. - * - * @param user A User. - * @return True if User was added; false if UserSet already - * contained the User. - */ - public boolean add(User user) - { - if (contains(user)){ - return false; - } - else { - idMap.put(user.getId(), user); - return true; - } - } - - /** - * Adds a User to this UserSet. - * - * @param obj A User. - * @return True if User was added; false if UserSet already - * contained the User. - */ - public boolean add(Object obj) { - if(obj instanceof User){ - return add((User)obj); - } - else { - throw new ClassCastException("Object passed to add to UserSet is not of type User"); - } + this(); + addAll(users); } /** - * Adds the Users in a Collection to this UserSet. - * - * @param users A Collection of Users. - * @return True if this UserSet changed as a result; false - * if no change to this UserSet occurred (this UserSet - * already contained all members of the added UserSet). - */ - public boolean add(Collection users) - { - boolean res = false; - for (Iterator it = users.iterator(); it.hasNext();) - { - User r = (User) it.next(); - res |= add(r); - } - return res; - } - - /** - * Adds the Users in another UserSet to this UserSet. - * - * @param userSet A UserSet. - * @return True if this UserSet changed as a result; false - * if no change to this UserSet occurred (this UserSet - * already contained all members of the added UserSet). - */ - public boolean add(UserSet userSet) - { - boolean res = false; - for( Iterator it = userSet.iterator(); it.hasNext();) - { - User r = (User) it.next(); - res |= add(r); - } - return res; - } - - /** - * Removes a User from this UserSet. - * - * @param user A User. - * @return True if this UserSet contained the User - * before it was removed. - */ - public boolean remove(User user) - { - boolean res = contains(user); - // nameMap.remove(user.getName()); - idMap.remove(user.getId()); - return res; - } - - /** - * Checks whether this UserSet contains a User based on the - * name of the User. - * - * @param user A User. - * @return True if this UserSet contains the User, - * false otherwise. - */ - public boolean contains(User user) - { - return super.contains(user); - } - - - /** * Returns a User with the given name, if it is contained in * this UserSet. * * @param userName Name of User. * @return User if argument matched a User in this * UserSet; null if no match. + * @deprecated use getByName() */ public User getUserByName(String userName) { - return (User)getByName(userName); - /* - * userName=userName.toLowerCase(); - * return (StringUtils.isNotEmpty(userName)) - * ? (User) nameMap.get(userName) : null; - */ + return getByName(userName); } /** @@ -188,21 +82,11 @@ public class UserSet * @param userId id of the User. * @return User if argument matched a User in this UserSet; null * if no match. + * @deprecated use getById() */ public User getUserById(Object userId) { - return (userId != null) - ? (User) idMap.get(userId) : null; - } - - /** - * Returns an Array of Users in this UserSet. - * - * @return An Array of User objects. - */ - public User[] getUsersArray() - { - return (User[]) getSet().toArray(new User[0]); + return getById(userId); } /** @@ -215,20 +99,7 @@ public class UserSet { StringBuffer sb = new StringBuffer(); sb.append("UserSet: "); - - for(Iterator it = iterator(); it.hasNext();) - { - User r = (User) it.next(); - sb.append('['); - sb.append(r.getName()); - sb.append(" -> "); - sb.append(r.getId()); - sb.append(']'); - if (it.hasNext()) - { - sb.append(", "); - } - } + sb.append(super.toString()); return sb.toString(); } Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/dynamic/test/AbstractDynamicModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/dynamic/test/AbstractDynamicModelManagerTest.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/dynamic/test/AbstractDynamicModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/dynamic/test/AbstractDynamicModelManagerTest.java Tue Aug 14 15:19:40 2012 @@ -20,7 +20,6 @@ package org.apache.fulcrum.security.mode */ import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import org.apache.fulcrum.security.GroupManager; @@ -293,16 +292,17 @@ public abstract class AbstractDynamicMod group); assertTrue(((DynamicGroup) group).getUsers().contains(user)); group = groupManager.getGroupByName(GROUP_NAME); - Set users = ((DynamicGroup) group).getUsers(); + Set<User> users = ((DynamicGroup) group).getUsers(); int size = users.size(); assertEquals(1, size); // assertTrue("Check class:" + users.getClass().getName(),users // instanceof UserSet); boolean found = false; - Set newSet = new HashSet(); - for (Iterator i = users.iterator(); i.hasNext();) { - User u = (User) i.next(); - if (u.equals(user)) { + Set<User> newSet = new HashSet<User>(); + for (User u : users) + { + if (u.equals(user)) + { found = true; newSet.add(u); } Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java Tue Aug 14 15:19:40 2012 @@ -19,7 +19,6 @@ package org.apache.fulcrum.security.mode * under the License. */ -import java.util.Iterator; import java.util.Set; import org.apache.fulcrum.security.GroupManager; @@ -156,9 +155,9 @@ public abstract class AbstractTurbineMod modelManager.grant(user, group, role); group = groupManager.getGroupById(group.getId()); - Set userGroupRoleSet = ((TurbineGroup) group).getUserGroupRoleSet(); + Set<TurbineUserGroupRole> userGroupRoleSet = ((TurbineGroup) group).getUserGroupRoleSet(); assertEquals(1, userGroupRoleSet.size()); - Set userGroupRoleSet2 = ((TurbineGroup) group).getUserGroupRoleSet(); + Set<TurbineUserGroupRole> userGroupRoleSet2 = ((TurbineGroup) group).getUserGroupRoleSet(); assertEquals(1, userGroupRoleSet2.size()); modelManager.revokeAll(user); @@ -183,21 +182,20 @@ public abstract class AbstractTurbineMod userManager.addUser(user, "clint"); modelManager.grant(user, group, role); boolean ugrFound = false; - TurbineUserGroupRole ugr = null; - for (Iterator i = ((TurbineUser) user).getUserGroupRoleSet().iterator(); i - .hasNext();) + TurbineUserGroupRole ugrTest = null; + for (TurbineUserGroupRole ugr : ((TurbineUser) user).getUserGroupRoleSet()) { - ugr = (TurbineUserGroupRole) i.next(); if (ugr.getUser().equals(user) && ugr.getGroup().equals(group) && ugr.getRole().equals(role)) { ugrFound = true; + ugrTest = ugr; break; } } assertTrue(ugrFound); - assertTrue(ugr.getGroup().equals(group)); - assertTrue(ugr.getUser().equals(user)); + assertTrue(ugrTest.getGroup().equals(group)); + assertTrue(ugrTest.getUser().equals(user)); } @@ -214,11 +212,8 @@ public abstract class AbstractTurbineMod modelManager.grant(user, group, role); modelManager.revoke(user, group, role); boolean ugrFound = false; - TurbineUserGroupRole ugr = null; - for (Iterator i = ((TurbineUser) user).getUserGroupRoleSet().iterator(); i - .hasNext();) + for (TurbineUserGroupRole ugr : ((TurbineUser) user).getUserGroupRoleSet()) { - ugr = (TurbineUserGroupRole) i.next(); if (ugr.getUser().equals(user) && ugr.getGroup().equals(group) && ugr.getRole().equals(role)) { Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/GroupSetTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/GroupSetTest.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/GroupSetTest.java (original) +++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/GroupSetTest.java Tue Aug 14 15:19:40 2012 @@ -21,9 +21,7 @@ package org.apache.fulcrum.security.util import junit.framework.TestCase; import org.apache.fulcrum.security.entity.Group; -import org.apache.fulcrum.security.entity.Role; import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicGroupImpl; -import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicRoleImpl; /** * @author <a href="mailto:[email protected]">Eric Pugh</a> @@ -71,28 +69,10 @@ public class GroupSetTest extends TestCa group3.setName("Eric"); groupSet.add(group3); assertTrue(groupSet.contains(group)); - assertTrue(groupSet.contains((Object) group)); + assertTrue(groupSet.contains(group)); assertTrue(groupSet.contains(group2)); assertTrue(groupSet.contains(group3)); assertTrue(groupSet.contains(group)); - - Role role = new DynamicRoleImpl(); - role.setName("role"); - role.setId("role"); - try { - groupSet.add(role); - fail("Should have thrown ClassCastException"); - } - catch (ClassCastException cce){ - assertTrue(cce.getMessage().indexOf("GroupSet")>-1); - } - try { - ((SecuritySet)groupSet).add(role); - fail("Should have thrown ClassCastException"); - } - catch (ClassCastException cce){ - assertTrue(cce.getMessage().indexOf("GroupSet")>-1); - } } public void testGroupSetWithSubclass() throws Exception Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/SecuritySetTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/SecuritySetTest.java?rev=1372918&r1=1372917&r2=1372918&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/SecuritySetTest.java (original) +++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/SecuritySetTest.java Tue Aug 14 15:19:40 2012 @@ -47,13 +47,13 @@ public class SecuritySetTest extends Tes public void testNull() throws Exception { - SecuritySet securitySet = new GroupSet(); + SecuritySet<Group> securitySet = new GroupSet(); assertFalse(securitySet.contains(null)); } public void testContainsName() { - SecuritySet securitySet = new GroupSet(); + SecuritySet<Group> securitySet = new GroupSet(); assertFalse(securitySet.containsName(null)); Group g = new DynamicGroupImpl(); g.setName("BOB"); @@ -66,7 +66,7 @@ public class SecuritySetTest extends Tes public void testRemoveAll() { - SecuritySet securitySet = new GroupSet(); + SecuritySet<Group> securitySet = new GroupSet(); assertFalse(securitySet.containsName(null)); Group g = new DynamicGroupImpl(); g.setName("BOB"); @@ -74,7 +74,7 @@ public class SecuritySetTest extends Tes ((GroupSet) securitySet).add(g); - SecuritySet securitySet2 = new GroupSet(); + SecuritySet<Group> securitySet2 = new GroupSet(); assertFalse(securitySet.containsName(null)); g = new DynamicGroupImpl(); g.setName("BOB"); @@ -87,7 +87,7 @@ public class SecuritySetTest extends Tes public void testToArray() throws Exception { - SecuritySet securitySet = getTestData(); + SecuritySet<Group> securitySet = getTestData(); Object array[] = securitySet.toArray(); assertEquals(2, array.length); Object array2[] = new Object[2]; @@ -105,9 +105,9 @@ public class SecuritySetTest extends Tes assertTrue(securitySet.add(g)); } - private SecuritySet getTestData() + private SecuritySet<Group> getTestData() { - SecuritySet securitySet = new GroupSet(); + SecuritySet<Group> securitySet = new GroupSet(); assertFalse(securitySet.containsName(null)); Group g = new DynamicGroupImpl(); g.setName("JOE");
