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
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/
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