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 tr...@apache.org on 2013/11/22 21:25:42 UTC

svn commit: r1544671 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission: AbstractEntryIterator.java CompiledPermissionImpl.java PermissionEntryProviderImpl.java

Author: tripod
Date: Fri Nov 22 20:25:42 2013
New Revision: 1544671

URL: http://svn.apache.org/r1544671
Log:
Use AbstractLazyIterator where possible

Removed:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/AbstractEntryIterator.java
Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImpl.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java?rev=1544671&r1=1544670&r2=1544671&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/CompiledPermissionImpl.java Fri Nov 22 20:25:42 2013
@@ -50,6 +50,7 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBitsProvider;
 import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.util.AbstractLazyIterator;
 import org.apache.jackrabbit.oak.util.TreeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -534,7 +535,7 @@ final class CompiledPermissionImpl imple
         }
     }
 
-    private static final class LazyIterator extends AbstractEntryIterator {
+    private static final class LazyIterator extends AbstractLazyIterator<PermissionEntry> {
 
         private final TreePermissionImpl treePermission;
         private final boolean isUser;
@@ -555,8 +556,9 @@ final class CompiledPermissionImpl imple
         }
 
         @Override
-        protected void seekNext() {
-            for (next = null; next == null;) {
+        protected PermissionEntry getNext() {
+            PermissionEntry next = null;
+            while (next == null) {
                 if (nextEntries.hasNext()) {
                     PermissionEntry pe = nextEntries.next();
                     if (predicate.apply(pe)) {
@@ -572,6 +574,7 @@ final class CompiledPermissionImpl imple
                     tp = tp.parent;
                 }
             }
+            return next;
         }
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImpl.java?rev=1544671&r1=1544670&r2=1544671&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionEntryProviderImpl.java Fri Nov 22 20:25:42 2013
@@ -29,6 +29,7 @@ import javax.annotation.Nonnull;
 
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
+import org.apache.jackrabbit.oak.util.AbstractLazyIterator;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterators;
@@ -134,7 +135,7 @@ class PermissionEntryProviderImpl implem
         return ret;
     }
 
-    private final class EntryIterator extends AbstractEntryIterator {
+    private final class EntryIterator extends AbstractLazyIterator<PermissionEntry> {
 
         private final EntryPredicate predicate;
 
@@ -150,8 +151,9 @@ class PermissionEntryProviderImpl implem
         }
 
         @Override
-        protected void seekNext() {
-            for (next = null; next == null;) {
+        protected PermissionEntry getNext() {
+            PermissionEntry next = null;
+            while (next == null) {
                 if (nextEntries.hasNext()) {
                     PermissionEntry pe = nextEntries.next();
                     if (predicate.apply(pe)) {
@@ -165,6 +167,7 @@ class PermissionEntryProviderImpl implem
                     path = PermissionUtil.getParentPathOrNull(path);
                 }
             }
+            return next;
         }
     }
 }
\ No newline at end of file