I just built the project successfully. Thanks for fixing it! 2016-05-23 10:53 GMT+02:00 Angela Schreiber <[email protected]>:
> hi francesco > > i slightly refactored the benchmark; imo the junit dependency > doesn't need to have a changed scope with that modification. > otherwise let me know... > > thanks again > angela > > On 23/05/16 10:49, "Francesco Mari" <[email protected]> wrote: > > >I looked a little bit deeper into it. There is no need to revert. The > >problem can be solved by explicitly setting the scope of > >"org.apache.sling.testing.osgi-mock" and "junit" to compile. > > > >2016-05-23 9:14 GMT+02:00 Angela Schreiber <[email protected]>: > > > >> uh... sorry for that! i will revert and fix it. > >> thanks for the heads up > >> > >> angela > >> > >> On 20/05/16 16:00, "Francesco Mari" <[email protected]> wrote: > >> > >> >Hi Angela, > >> > > >> >the "org.apache.sling.testing.osgi-mock" dependency has an empty scope > >>in > >> >oak-run/pom.xml. Even if I change the scope to "test", I have a > >> >compilation > >> >error when building oak-run. > >> > > >> >[ERROR] > >> > >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi > >>>t/ > >> >oak/benchmark/authentication/external/AbstractExternalTest.java:[68,47] > >> >error: package org.apache.sling.testing.mock.osgi.junit does not exist > >> > > >> >[ERROR] > >> > >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi > >>>t/ > >> > >>>oak/benchmark/authentication/external/AbstractExternalTest.java:[183,24] > >> >error: cannot find symbol > >> > > >> >[ERROR] symbol: class OsgiContext > >> > > >> > >>>/Users/mari/src/svn/oak/trunk/oak-run/src/main/java/org/apache/jackrabbi > >>>t/ > >> > >>>oak/benchmark/authentication/external/AbstractExternalTest.java:[183,50] > >> >error: cannot find symbol > >> > > >> >[INFO] 3 errors > >> > > >> >Can you review this? > >> > > >> >---------- Forwarded message ---------- > >> >From: <[email protected]> > >> >Date: 2016-05-20 10:26 GMT+02:00 > >> >Subject: svn commit: r1744672 - in /jackrabbit/oak/trunk/oak-run: > >>pom.xml > >> >src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java > >> > >>>src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/externa > >>>l/ > >> >AbstractExternalTest.java > >> >To: [email protected] > >> > > >> > > >> >Author: angela > >> >Date: Fri May 20 08:26:23 2016 > >> >New Revision: 1744672 > >> > > >> >URL: http://svn.apache.org/viewvc?rev=1744672&view=rev > >> >Log: > >> >OAK-4385 : Benchmarks: proper init of ExternalPrincipalConfiguration > >>with > >> >dynamicMembership > >> > > >> >Modified: > >> > jackrabbit/oak/trunk/oak-run/pom.xml > >> > > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/BenchmarkRunner.java > >> > > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/authentication/external/AbstractExternalTest.java > >> > > >> >Modified: jackrabbit/oak/trunk/oak-run/pom.xml > >> >URL: > >> > > >> > >> > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=174 > >>4 > >> >672&r1=1744671&r2=1744672&view=diff > >> > >>>======================================================================== > >>>== > >> >==== > >> >--- jackrabbit/oak/trunk/oak-run/pom.xml (original) > >> >+++ jackrabbit/oak/trunk/oak-run/pom.xml Fri May 20 08:26:23 2016 > >> >@@ -427,6 +427,12 @@ > >> > <groupId>com.google.code.findbugs</groupId> > >> > <artifactId>jsr305</artifactId> > >> > </dependency> > >> >+ > >> >+ <dependency> > >> >+ <groupId>org.apache.sling</groupId> > >> >+ <artifactId>org.apache.sling.testing.osgi-mock</artifactId> > >> >+ <scope></scope> > >> >+ </dependency> > >> > > >> > <!-- Test dependencies --> > >> > <dependency> > >> > > >> >Modified: > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/BenchmarkRunner.java > >> >URL: > >> > > >> > >> > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/o > >>r > >> > >>>g/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=17 > >>>44 > >> >671&r2=1744672&view=diff > >> > >>>======================================================================== > >>>== > >> >==== > >> >--- > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/BenchmarkRunner.java > >> >(original) > >> >+++ > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/BenchmarkRunner.java > >> >Fri May 20 08:26:23 2016 > >> >@@ -131,6 +131,8 @@ public class BenchmarkRunner { > >> > .defaultsTo(Boolean.FALSE); > >> > OptionSpec<String> supportedPaths = > >> >parser.accepts("supportedPaths", "Supported paths in composite setup.") > >> > > >> > .withOptionalArg().ofType(String.class).withValuesSeparatedBy(','); > >> >+ OptionSpec<Boolean> dynamicMembership = > >> >parser.accepts("dynamicMembership", "Enable dynamic membership handling > >> >during synchronisation of external users.") > >> >+ > >> >.withOptionalArg().ofType(Boolean.class).defaultsTo(Boolean.FALSE); > >> > OptionSpec<String> autoMembership = > >> >parser.accepts("autoMembership", "Ids of those groups a given external > >> >identity automatically become member of.") > >> > > >> > .withOptionalArg().ofType(String.class).withValuesSeparatedBy(','); > >> > OptionSpec<String> nonOption = parser.nonOptions(); > >> >@@ -391,9 +393,9 @@ public class BenchmarkRunner { > >> > new ReplicaCrashResilienceTest(), > >> > > >> > // benchmarks for oak-auth-external > >> >- new ExternalLoginTest(numberOfUsers.value(options), > >> >numberOfGroups.value(options), expiration.value(options), false, > >> >autoMembership.values(options)), > >> >- new SyncAllExternalUsersTest(numberOfUsers.value(options), > >> >numberOfGroups.value(options), expiration.value(options), false, > >> >autoMembership.values(options)), > >> >- new SyncExternalUsersTest(numberOfUsers.value(options), > >> >numberOfGroups.value(options), expiration.value(options), false, > >> >autoMembership.values(options), batchSize.value(options)) > >> >+ new ExternalLoginTest(numberOfUsers.value(options), > >> >numberOfGroups.value(options), expiration.value(options), > >> >dynamicMembership.value(options), autoMembership.values(options)), > >> >+ new SyncAllExternalUsersTest(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)) > >> > }; > >> > > >> > Set<String> argset = > >>Sets.newHashSet(nonOption.values(options)); > >> > > >> >Modified: > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/authentication/external/AbstractExternalTest.java > >> >URL: > >> > > >> > >> > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/o > >>r > >> > >>>g/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExtern > >>>al > >> >Test.java?rev=1744672&r1=1744671&r2=1744672&view=diff > >> > >>>======================================================================== > >>>== > >> >==== > >> >--- > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/authentication/external/AbstractExternalTest.java > >> >(original) > >> >+++ > >> > >>>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/ben > >>>ch > >> >mark/authentication/external/AbstractExternalTest.java > >> >Fri May 20 08:26:23 2016 > >> >@@ -54,6 +54,7 @@ import org.apache.jackrabbit.oak.spi.sec > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.SyncHandl > >>>er > >> >; > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManag > >>>er > >> >; > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.basic.Def > >>>au > >> >ltSyncConfig; > >> >+import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defa > >>>ul > >> >tSyncConfigImpl; > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defa > >>>ul > >> >tSyncHandler; > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Exte > >>>rn > >> >alIDPManagerImpl; > >> > import > >> > >>>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Sync > >>>Ma > >> >nagerImpl; > >> >@@ -63,6 +64,8 @@ import org.apache.jackrabbit.oak.spi.sec > >> > import org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl; > >> > import org.apache.jackrabbit.oak.spi.security.user.UserConstants; > >> > import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard; > >> >+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils; > >> >+import org.apache.sling.testing.mock.osgi.junit.OsgiContext; > >> > > >> > import static com.google.common.base.Preconditions.checkNotNull; > >> > > >> >@@ -84,6 +87,10 @@ import static com.google.common.base.Pre > >> > abstract class AbstractExternalTest extends AbstractTest { > >> > > >> > private static final String PATH_PREFIX = "pathPrefix"; > >> >+ > >> >+ private final Random random = new Random(); > >> >+ private final ExternalPrincipalConfiguration > >> >externalPrincipalConfiguration = new ExternalPrincipalConfiguration(); > >> >+ > >> > final DefaultSyncConfig syncConfig = new DefaultSyncConfig(); > >> > final SyncHandler syncHandler = new > >>DefaultSyncHandler(syncConfig); > >> > > >> >@@ -92,8 +99,6 @@ abstract class AbstractExternalTest exte > >> > SyncManagerImpl syncManager; > >> > ExternalIdentityProviderManager idpManager; > >> > > >> >- private final Random random = new Random(); > >> >- > >> > protected AbstractExternalTest(int numberOfUsers, int > >>numberOfGroups, > >> > long expTime, boolean > >> >dynamicMembership, > >> > @Nonnull List<String> > >>autoMembership) > >> >{ > >> >@@ -173,6 +178,20 @@ abstract class AbstractExternalTest exte > >> > > >>whiteboard.register(ExternalIdentityProvider.class, > >> >idp, Collections.emptyMap()); > >> > whiteboard.register(SyncHandler.class, > >>syncHandler, > >> >Collections.emptyMap()); > >> > > >> >+ // assert proper init of the > >> >'externalPrincipalConfiguration' if dynamic membership is enabled > >> >+ if (syncConfig.user().getDynamicMembership()) { > >> >+ OsgiContext context = new OsgiContext(); > >> >+ > >> >+ // register the ExternalPrincipal > >>configuration > >> >in > >> >order to have it's > >> >+ // activate method invoked. > >> >+ > >> >context.registerInjectActivateService(externalPrincipalConfiguration); > >> >+ > >> >+ // now register the sync-handler with the > >>dynamic > >> >membership config > >> >+ // in order to enable dynamic membership with > >>the > >> >external principal configuration > >> >+ Map props = > >> >ImmutableMap.of(DefaultSyncConfigImpl.PARAM_USER_DYNAMIC_MEMBERSHIP, > >> >syncConfig.user().getDynamicMembership()); > >> >+ context.registerService(SyncHandler.class, > >> >WhiteboardUtils.getService(whiteboard, SyncHandler.class), props); > >> >+ } > >> >+ > >> > SecurityProvider sp = new > >> >TestSecurityProvider(ConfigurationParameters.EMPTY); > >> > return new Jcr(oak).with(sp); > >> > } > >> >@@ -190,7 +209,7 @@ abstract class AbstractExternalTest exte > >> > throw new IllegalStateException(); > >> > } else { > >> > PrincipalConfiguration defConfig = > >> >checkNotNull(((CompositePrincipalConfiguration) > >> >principalConfiguration).getDefaultConfig()); > >> >- bindPrincipalConfiguration((new > >> >ExternalPrincipalConfiguration(this))); > >> >+ > >> >bindPrincipalConfiguration(externalPrincipalConfiguration); > >> > bindPrincipalConfiguration(defConfig); > >> > } > >> > } > >> > >> > >
