You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2013/11/04 15:17:47 UTC

svn commit: r1538618 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java

Author: angela
Date: Mon Nov  4 14:17:47 2013
New Revision: 1538618

URL: http://svn.apache.org/r1538618
Log:
OAK-64: privilege mgt

- remove unused code
- change signature of getInstance(PrivilegeBits) to allow for specifying multiple base privileges

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java?rev=1538618&r1=1538617&r2=1538618&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java Mon Nov  4 14:17:47 2013
@@ -121,8 +121,12 @@ public final class PrivilegeBits impleme
      * @return a new instance of privilege bits.
      */
     @Nonnull
-    public static PrivilegeBits getInstance(@Nonnull PrivilegeBits base) {
-        return new PrivilegeBits(new ModifiableData(base.d));
+    public static PrivilegeBits getInstance(@Nonnull PrivilegeBits... base) {
+        PrivilegeBits bts = getInstance();
+        for (PrivilegeBits baseBits : base) {
+            bts.add(baseBits);
+        }
+        return bts;
     }
 
     /**
@@ -491,8 +495,6 @@ public final class PrivilegeBits impleme
 
         abstract boolean includes(Data other);
 
-        abstract boolean includes(long permissions);
-
         /**
          * Checks if all {@code otherBits} is already included in {@code bits}.
          * <p>
@@ -619,11 +621,6 @@ public final class PrivilegeBits impleme
             }
         }
 
-        @Override
-        boolean includes(long permissions) {
-            return (isSimple) ? (bits & permissions) == permissions : (bitsArr[0] & permissions) == permissions;
-        }
-
         //---------------------------------------------------------< Object >---
         @Override
         public int hashCode() {
@@ -713,11 +710,6 @@ public final class PrivilegeBits impleme
             }
         }
 
-        @Override
-        boolean includes(long permissions) {
-            return (bits[0] & permissions) == permissions;
-        }
-
         /**
          * Add the other Data to this instance.
          *

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java?rev=1538618&r1=1538617&r2=1538618&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java Mon Nov  4 14:17:47 2013
@@ -476,6 +476,21 @@ public class PrivilegeBitsTest extends A
     }
 
     @Test
+    public void testGetInstanceFromBase() {
+        PrivilegeBits pb = PrivilegeBits.getInstance(READ_NODES_PRIVILEGE_BITS);
+        pb.add(PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ_ACCESS_CONTROL));
+        pb.add(PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_NODE_TYPE_MANAGEMENT));
+
+        PrivilegeBits pb2 = PrivilegeBits.getInstance(READ_NODES_PRIVILEGE_BITS,
+                PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_READ_ACCESS_CONTROL),
+                PrivilegeBits.BUILT_IN.get(PrivilegeConstants.JCR_NODE_TYPE_MANAGEMENT));
+
+        assertNotSame(pb, pb2);
+        assertEquivalent(pb, pb2);
+        assertSame(pb.unmodifiable(), pb2.unmodifiable());
+    }
+
+    @Test
     public void testGetInstanceFromPropertyState() {
         for (long l : LONGS) {
             PropertyState property = createPropertyState(l);