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 st...@apache.org on 2017/10/12 10:35:03 UTC

svn commit: r1811937 - in /jackrabbit/oak/trunk: oak-core/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ oak-core/src/main/java/org/apache/jackrabbit/oak/spi/ oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/ oak-core/src/...

Author: stillalex
Date: Thu Oct 12 10:35:03 2017
New Revision: 1811937

URL: http://svn.apache.org/viewvc?rev=1811937&view=rev
Log:
OAK-6318 Refactor oak.spi.security into a separate module/bundle


Added:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/TreeUtilTest.java
      - copied unchanged from r1810355, jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/impl/TreeUtilTest.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/
      - copied from r1810355, jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/
    jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/
      - copied from r1810355, jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/
Removed:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/RootFactory.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeConstants.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeContext.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeFactory.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocation.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeType.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeTypeAware.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeTypeProvider.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtil.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeLocationTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeTypeProviderTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/tree/TreeUtilTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/
Modified:
    jackrabbit/oak/trunk/oak-core/pom.xml
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
    jackrabbit/oak/trunk/oak-security-spi/pom.xml
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java
    jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java

Modified: jackrabbit/oak/trunk/oak-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/pom.xml?rev=1811937&r1=1811936&r2=1811937&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-core/pom.xml Thu Oct 12 10:35:03 2017
@@ -69,24 +69,8 @@
               org.apache.jackrabbit.oak.plugins.nodetype.write,
               org.apache.jackrabbit.oak.plugins.observation,
               org.apache.jackrabbit.oak.plugins.observation.filter,
-              org.apache.jackrabbit.oak.plugins.tree,
               org.apache.jackrabbit.oak.plugins.tree.factories,
               org.apache.jackrabbit.oak.plugins.version,
-              org.apache.jackrabbit.oak.spi.security,
-              org.apache.jackrabbit.oak.spi.security.authentication,
-              org.apache.jackrabbit.oak.spi.security.authentication.callback,
-              org.apache.jackrabbit.oak.spi.security.authentication.credentials,
-              org.apache.jackrabbit.oak.spi.security.authentication.token,
-              org.apache.jackrabbit.oak.spi.security.authorization,
-              org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol,
-              org.apache.jackrabbit.oak.spi.security.authorization.permission,
-              org.apache.jackrabbit.oak.spi.security.authorization.restriction,
-              org.apache.jackrabbit.oak.spi.security.principal,
-              org.apache.jackrabbit.oak.spi.security.privilege,
-              org.apache.jackrabbit.oak.spi.security.user,
-              org.apache.jackrabbit.oak.spi.security.user.action,
-              org.apache.jackrabbit.oak.spi.security.user.util,
-              org.apache.jackrabbit.oak.spi.xml,
               org.apache.jackrabbit.oak.security,
               org.apache.jackrabbit.oak.util,
             </Export-Package>

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java?rev=1811937&r1=1811936&r2=1811937&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlManagerImplTest.java Thu Oct 12 10:35:03 2017
@@ -47,7 +47,10 @@ import com.google.common.collect.Immutab
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
 import org.apache.jackrabbit.JcrConstants;
+import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
 import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
@@ -68,9 +71,9 @@ import org.apache.jackrabbit.oak.spi.nod
 import org.apache.jackrabbit.oak.plugins.value.jcr.ValueFactoryImpl;
 import org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration;
 import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.ACE;
+import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AbstractAccessControlList;
 import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AbstractAccessControlManager;
 import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
-import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.TestACL;
 import org.apache.jackrabbit.oak.spi.security.authorization.restriction.Restriction;
 import org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider;
 import org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal;
@@ -2367,4 +2370,69 @@ public class AccessControlManagerImplTes
         // now try to write it back, which is expected to throw AccessControlException
         acMgr.removePolicy(acl.getPath(), acl);
     }
+
+    private final static class TestACL extends AbstractAccessControlList {
+
+        private final List<JackrabbitAccessControlEntry> entries = new ArrayList<JackrabbitAccessControlEntry>();
+        private final RestrictionProvider restrictionProvider;
+
+        public TestACL(@Nullable String jcrPath,
+                       @Nonnull RestrictionProvider restrictionProvider,
+                       @Nonnull NamePathMapper namePathMapper,
+                       @Nonnull List<JackrabbitAccessControlEntry> entries) {
+            super((jcrPath == null) ? null : namePathMapper.getOakPath(jcrPath), namePathMapper);
+            this.entries.addAll(entries);
+            this.restrictionProvider = restrictionProvider;
+        }
+
+        public TestACL(@Nullable String jcrPath,
+                       @Nonnull RestrictionProvider restrictionProvider,
+                       @Nonnull NamePathMapper namePathMapper,
+                       @Nonnull JackrabbitAccessControlEntry... entry) {
+            this(jcrPath, restrictionProvider, namePathMapper, Lists.newArrayList(entry));
+        }
+
+        @Override
+        public boolean isEmpty() {
+            return entries.isEmpty();
+        }
+
+        @Override
+        public int size() {
+            return entries.size();
+        }
+
+        @Override
+        public boolean addEntry(Principal principal, Privilege[] privileges,
+                                boolean isAllow, Map<String, Value> restrictions) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public boolean addEntry(Principal principal, Privilege[] privileges, boolean isAllow, Map<String, Value> restrictions, Map<String, Value[]> mvRestrictions) throws AccessControlException, RepositoryException {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public void orderBefore(AccessControlEntry srcEntry, AccessControlEntry destEntry) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public void removeAccessControlEntry(AccessControlEntry ace) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Nonnull
+        @Override
+        public List<JackrabbitAccessControlEntry> getEntries() {
+            return entries;
+        }
+
+        @Nonnull
+        @Override
+        public RestrictionProvider getRestrictionProvider() {
+            return restrictionProvider;
+        }
+    }
 }

Modified: jackrabbit/oak/trunk/oak-security-spi/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/pom.xml?rev=1811937&r1=1811936&r2=1811937&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-security-spi/pom.xml Thu Oct 12 10:35:03 2017
@@ -39,7 +39,22 @@
           <configuration>
             <instructions>
               <Export-Package>
-
+                org.apache.jackrabbit.oak.plugins.tree,
+                org.apache.jackrabbit.oak.spi.security,
+                org.apache.jackrabbit.oak.spi.security.authentication,
+                org.apache.jackrabbit.oak.spi.security.authentication.callback,
+                org.apache.jackrabbit.oak.spi.security.authentication.credentials,
+                org.apache.jackrabbit.oak.spi.security.authentication.token,
+                org.apache.jackrabbit.oak.spi.security.authorization,
+                org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol,
+                org.apache.jackrabbit.oak.spi.security.authorization.permission,
+                org.apache.jackrabbit.oak.spi.security.authorization.restriction,
+                org.apache.jackrabbit.oak.spi.security.principal,
+                org.apache.jackrabbit.oak.spi.security.privilege,
+                org.apache.jackrabbit.oak.spi.security.user,
+                org.apache.jackrabbit.oak.spi.security.user.action,
+                org.apache.jackrabbit.oak.spi.security.user.util,
+                org.apache.jackrabbit.oak.spi.xml
               </Export-Package>
             </instructions>
           </configuration>
@@ -82,10 +97,13 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.scr.annotations</artifactId>
-      <scope>provided</scope>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.component.annotations</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.metatype.annotations</artifactId>
+   </dependency>
 
     <!-- JCR and Jackrabbit dependencies -->
     <dependency>

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java?rev=1811937&r1=1810355&r2=1811937&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ReadOnly.java Thu Oct 12 10:35:03 2017
@@ -17,9 +17,8 @@
 package org.apache.jackrabbit.oak.plugins.tree;
 
 /**
- * Marker interface to indicate if a {@link org.apache.jackrabbit.oak.api.Tree}
- * or {@link org.apache.jackrabbit.oak.api.Root} can only be read (write
- * operations not implemented).
+ * Marker interface to indicate if a {@link org.apache.jackrabbit.oak.api.Tree} or {@link org.apache.jackrabbit.oak.api.Root}
+ * can only be read (write operations not implemented).
  */
 public interface ReadOnly {
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java?rev=1811937&r1=1810355&r2=1811937&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java (original)
+++ jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/plugins/tree/package-info.java Thu Oct 12 10:35:03 2017
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("2.3.0")
+@Version("3.0.0")
 package org.apache.jackrabbit.oak.plugins.tree;
 
 import org.osgi.annotation.versioning.Version;