You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by tv...@apache.org on 2016/07/29 16:08:15 UTC

svn commit: r1754545 - in /turbine/fulcrum/trunk/security/api/src: changes/changes.xml java/org/apache/fulcrum/security/util/SecuritySet.java test/org/apache/fulcrum/security/util/SecuritySetTest.java

Author: tv
Date: Fri Jul 29 16:08:15 2016
New Revision: 1754545

URL: http://svn.apache.org/viewvc?rev=1754545&view=rev
Log:
Make SecuritySet truly case-insensitive

Modified:
    turbine/fulcrum/trunk/security/api/src/changes/changes.xml
    turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/util/SecuritySet.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/util/SecuritySetTest.java

Modified: turbine/fulcrum/trunk/security/api/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/changes/changes.xml?rev=1754545&r1=1754544&r2=1754545&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/changes/changes.xml (original)
+++ turbine/fulcrum/trunk/security/api/src/changes/changes.xml Fri Jul 29 16:08:15 2016
@@ -24,6 +24,14 @@
   </properties>
 
   <body>
+    <release version="1.1.1" date="in SVN">
+      <action type="fix" dev="tv">
+        Make SecuritySet truly case-insensitive
+      </action>
+      <action type="fix" dev="tv">
+        Make sure that TurbinePermissions are populated when creating an ACL
+      </action>
+    </release>
     <release version="1.1.0" date="">
       <action type="update" dev="tv">
         Add extended user having first name, last name, email and objectdata

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=1754545&r1=1754544&r2=1754545&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 Fri Jul 29 16:08:15 2016
@@ -35,7 +35,7 @@ import org.apache.fulcrum.security.entit
  * UI. It wraps a TreeSet object to enforce that only relevant methods are
  * available. TreeSet's contain only unique Objects (no duplicates) based on the
  * ID. They may or may not have a name, that depends on the implementation. Want
- * to get away frm requiring an ID and a name... Nothing should force Name to be
+ * to get away from requiring an ID and a name... Nothing should force Name to be
  * unique in the basic architecture of Fulcrum Security.
  *
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
@@ -60,7 +60,7 @@ public abstract class SecuritySet<T exte
      */
     public SecuritySet()
     {
-        nameMap = new TreeMap<String, T>();
+        nameMap = new TreeMap<String, T>(String.CASE_INSENSITIVE_ORDER);
         idMap = new TreeMap<Object, T>();
     }
 
@@ -98,6 +98,7 @@ public abstract class SecuritySet<T exte
     /**
      * Removes all Objects from this Set.
      */
+    @Override
     public void clear()
     {
         nameMap.clear();
@@ -114,7 +115,7 @@ public abstract class SecuritySet<T exte
      */
     public boolean containsName(String name)
     {
-        return (StringUtils.isNotEmpty(name)) ? nameMap.containsKey(name.toLowerCase()) : false;
+        return (StringUtils.isNotEmpty(name)) ? nameMap.containsKey(name) : false;
     }
 
     /**
@@ -135,6 +136,7 @@ public abstract class SecuritySet<T exte
      *
      * @return An iterator for the Set
      */
+    @Override
     public Iterator<T> iterator()
     {
         return idMap.values().iterator();
@@ -145,6 +147,7 @@ public abstract class SecuritySet<T exte
      *
      * @return The cardinality of this Set.
      */
+    @Override
     public int size()
     {
         return idMap.size();
@@ -181,6 +184,7 @@ public abstract class SecuritySet<T exte
     /**
      * @see java.util.Collection#add(java.lang.Object)
      */
+    @Override
     public boolean add(T o)
     {
         if (contains(o))
@@ -214,6 +218,7 @@ public abstract class SecuritySet<T exte
         return addAll(collection);
     }
 
+    @Override
     public boolean addAll(Collection<? extends T> collection)
     {
         boolean res = false;
@@ -226,11 +231,13 @@ public abstract class SecuritySet<T exte
         return res;
     }
 
+    @Override
     public boolean isEmpty()
     {
         return idMap.isEmpty();
     }
 
+    @Override
     public boolean containsAll(Collection<?> collection)
     {
         for (Object object : collection)
@@ -243,6 +250,7 @@ public abstract class SecuritySet<T exte
         return true;
     }
 
+    @Override
     public boolean removeAll(Collection<?> collection)
     {
         boolean changed = false;
@@ -258,6 +266,7 @@ public abstract class SecuritySet<T exte
         return changed;
     }
 
+    @Override
     public boolean retainAll(Collection<?> collection)
     {
         throw new RuntimeException("not implemented");
@@ -268,6 +277,7 @@ public abstract class SecuritySet<T exte
      *
      * @see java.util.Collection#toArray()
      */
+    @Override
     public Object[] toArray()
     {
         return getSet().toArray();
@@ -280,6 +290,7 @@ public abstract class SecuritySet<T exte
      *            An entity.
      * @return True if this Set contains the entity, false otherwise.
      */
+    @Override
     public boolean contains(Object o)
     {
         if (o == null || !(o instanceof SecurityEntity))
@@ -299,6 +310,7 @@ public abstract class SecuritySet<T exte
      *            An entity.
      * @return True if this Set contained the entity before it was removed.
      */
+    @Override
     public boolean remove(Object o)
     {
         if (o instanceof SecurityEntity)
@@ -312,11 +324,10 @@ public abstract class SecuritySet<T exte
         return false;
     }
 
-    /*
-     * (non-Javadoc)
-     *
+    /**
      * @see java.util.Set#toArray(T[])
      */
+    @Override
     public <A> A[] toArray(A[] a)
     {
         return getSet().toArray(a);
@@ -333,7 +344,7 @@ public abstract class SecuritySet<T exte
      */
     public T getByName(String name)
     {
-        return nameMap.get(name.toLowerCase());
+        return nameMap.get(name);
     }
 
     /**

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=1754545&r1=1754544&r2=1754545&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 Fri Jul 29 16:08:15 2016
@@ -25,7 +25,7 @@ import org.apache.fulcrum.security.model
 
 /**
  * Test using a SecuritySet. Useing various subclasses since it is Abstract.
- * 
+ *
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
  * @version $Id$
  */
@@ -34,7 +34,7 @@ public class SecuritySetTest extends Tes
 
     /**
      * Defines the testcase name for JUnit.
-     * 
+     *
      * @param name
      *            the testcase's name.
      */
@@ -43,11 +43,6 @@ public class SecuritySetTest extends Tes
         super(name);
     }
 
-    public static void main(String[] args)
-    {
-        junit.textui.TestRunner.run(SecuritySetTest.class);
-    }
-
     public void testNull() throws Exception
     {
         SecuritySet<Group> securitySet = new GroupSet();