svn commit: r1854314 - in /jackrabbit/oak/trunk: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/ oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/ oak-secu

2019-02-25 Thread stillalex
Author: stillalex
Date: Mon Feb 25 14:24:41 2019
New Revision: 1854314

URL: http://svn.apache.org/viewvc?rev=1854314=rev
Log:
OAK-7994 Principal Management APIs don't allow for search pagination


Added:

jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalQueryManager.java
   (with props)
Modified:

jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrincipalManagerDelegator.java

jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalManagerImpl.java

jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalProvider.java

jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/package-info.java

jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/principal/CompositePrincipalProviderTest.java

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrincipalManagerDelegator.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrincipalManagerDelegator.java?rev=1854314=1854313=1854314=diff
==
--- 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrincipalManagerDelegator.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PrincipalManagerDelegator.java
 Mon Feb 25 14:24:41 2019
@@ -26,6 +26,7 @@ import javax.jcr.RepositoryException;
 import org.apache.jackrabbit.api.security.principal.PrincipalIterator;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.jackrabbit.oak.jcr.session.operation.SessionOperation;
+import org.apache.jackrabbit.oak.spi.security.principal.PrincipalQueryManager;
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -34,7 +35,7 @@ import org.jetbrains.annotations.NotNull
  *
  * @see SessionDelegate#perform(SessionOperation)
  */
-public class PrincipalManagerDelegator implements PrincipalManager {
+public class PrincipalManagerDelegator implements PrincipalManager, 
PrincipalQueryManager {
 private final SessionDelegate delegate;
 private final PrincipalManager principalManager;
 
@@ -123,4 +124,22 @@ public class PrincipalManagerDelegator i
 }
 });
 }
+
+@Override
+public PrincipalIterator findPrincipals(String simpleFilter, int 
searchType, long offset, long limit) {
+return delegate.safePerform(new 
SessionOperation("findPrincipals") {
+@NotNull
+@Override
+public PrincipalIterator perform() {
+if (principalManager instanceof PrincipalQueryManager) {
+return ((PrincipalQueryManager) 
principalManager).findPrincipals(simpleFilter, searchType, offset,
+limit);
+} else {
+PrincipalIterator pi = 
principalManager.findPrincipals(simpleFilter, searchType);
+pi.skip(offset);
+return pi;
+}
+}
+});
+}
 }

Modified: 
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalManagerImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalManagerImpl.java?rev=1854314=1854313=1854314=diff
==
--- 
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalManagerImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalManagerImpl.java
 Mon Feb 25 14:24:41 2019
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullabl
 /**
  * Default implementation of the {@code PrincipalManager} interface.
  */
-public class PrincipalManagerImpl implements PrincipalManager {
+public class PrincipalManagerImpl implements PrincipalQueryManager, 
PrincipalManager {
 
 private final PrincipalProvider principalProvider;
 
@@ -78,4 +78,9 @@ public class PrincipalManagerImpl implem
 }
 return everyone;
 }
+
+@Override
+public PrincipalIterator findPrincipals(String simpleFilter, int 
searchType, long offset, long limit) {
+return new 
PrincipalIteratorAdapter(principalProvider.findPrincipals(simpleFilter, 
searchType, offset, limit));
+}
 }

Modified: 
jackrabbit/oak/trunk/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalProvider.java
URL: 

svn commit: r1854316 - in /jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark: BenchmarkRunner.java authentication/external/AbstractExternalTest.java authentication/

2019-02-25 Thread stillalex
Author: stillalex
Date: Mon Feb 25 15:18:55 2019
New Revision: 1854316

URL: http://svn.apache.org/viewvc?rev=1854316=rev
Log:
OAK-8053 Add intermediate report to ExternalLoginTest


Modified:

jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java

jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java

jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/ExternalLoginTest.java

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1854316=1854315=1854316=diff
==
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 Mon Feb 25 15:18:55 2019
@@ -486,7 +486,9 @@ public class BenchmarkRunner {
 new ReplicaCrashResilienceTest(),
 
 // benchmarks for oak-auth-external
-new ExternalLoginTest(numberOfUsers.value(options), 
numberOfGroups.value(options), expiration.value(options), 
dynamicMembership.value(options), autoMembership.values(options)),
+new ExternalLoginTest(numberOfUsers.value(options), 
numberOfGroups.value(options),
+expiration.value(options), 
dynamicMembership.value(options), autoMembership.values(options),
+report.value(options)),
 new SyncAllExternalUsersTest(numberOfUsers.value(options), 
numberOfGroups.value(options), expiration.value(options), 
dynamicMembership.value(options), autoMembership.values(options)),
 new SyncAllUsersTest(numberOfUsers.value(options), 
numberOfGroups.value(options), expiration.value(options), 
dynamicMembership.value(options), autoMembership.values(options)),
 new SyncExternalUsersTest(numberOfUsers.value(options), 
numberOfGroups.value(options), expiration.value(options), 
dynamicMembership.value(options), autoMembership.values(options), 
batchSize.value(options)),

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1854316=1854315=1854316=diff
==
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
 Mon Feb 25 15:18:55 2019
@@ -91,7 +91,8 @@ abstract class AbstractExternalTest exte
 
 private static final String PATH_PREFIX = "pathPrefix";
 
-private final Random random = new Random();
+protected final long seed = Long.getLong("seed", 
System.currentTimeMillis());
+private final Random random = new Random(seed);
 private final ExternalPrincipalConfiguration 
externalPrincipalConfiguration = new ExternalPrincipalConfiguration();
 
 private ContentRepository contentRepository;

Modified: 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/ExternalLoginTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/ExternalLoginTest.java?rev=1854316=1854315=1854316=diff
==
--- 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/ExternalLoginTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/ExternalLoginTest.java
 Mon Feb 25 15:18:55 2019
@@ -16,7 +16,10 @@
  */
 package org.apache.jackrabbit.oak.benchmark.authentication.external;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
+
 import javax.jcr.SimpleCredentials;
 import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
@@ -30,7 +33,6 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.jetbrains.annotations.NotNull;
 
 import static 
javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag.SUFFICIENT;
-import static