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 an...@apache.org on 2016/05/20 08:26:23 UTC

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/external/AbstractExternalTest.java

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/benchmark/BenchmarkRunner.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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=1744672&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/benchmark/BenchmarkRunner.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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/benchmark/authentication/external/AbstractExternalTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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.SyncHandler;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncConfig;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncConfigImpl;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl;
@@ -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);
             }
         }



Re: 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/external/AbstractExternalTest.java

Posted by Francesco Mari <ma...@gmail.com>.
I just built the project successfully. Thanks for fixing it!

2016-05-23 10:53 GMT+02:00 Angela Schreiber <an...@adobe.com>:

> 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" <ma...@gmail.com> 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 <an...@adobe.com>:
> >
> >> uh... sorry for that! i will revert and fix it.
> >> thanks for the heads up
> >>
> >> angela
> >>
> >> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
> >> >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: oak-commits@jackrabbit.apache.org
> >> >
> >> >
> >> >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);
> >> >             }
> >> >         }
> >>
> >>
>
>

Re: 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/external/AbstractExternalTest.java

Posted by Angela Schreiber <an...@adobe.com>.
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" <ma...@gmail.com> 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 <an...@adobe.com>:
>
>> uh... sorry for that! i will revert and fix it.
>> thanks for the heads up
>>
>> angela
>>
>> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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: <an...@apache.org>
>> >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: oak-commits@jackrabbit.apache.org
>> >
>> >
>> >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);
>> >             }
>> >         }
>>
>>


Re: 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/external/AbstractExternalTest.java

Posted by Francesco Mari <ma...@gmail.com>.
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 <an...@adobe.com>:

> uh... sorry for that! i will revert and fix it.
> thanks for the heads up
>
> angela
>
> On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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/jackrabbit/
> >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/jackrabbit/
> >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/jackrabbit/
> >oak/benchmark/authentication/external/AbstractExternalTest.java:[183,50]
> >error: cannot find symbol
> >
> >[INFO] 3 errors
> >
> >Can you review this?
> >
> >---------- Forwarded message ----------
> >From: <an...@apache.org>
> >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/external/
> >AbstractExternalTest.java
> >To: oak-commits@jackrabbit.apache.org
> >
> >
> >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/bench
> >mark/BenchmarkRunner.java
> >
> >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
> >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=1744
> >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/bench
> >mark/BenchmarkRunner.java
> >URL:
> >
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or
> >g/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744
> >671&r2=1744672&view=diff
> >==========================================================================
> >====
> >---
> >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
> >mark/BenchmarkRunner.java
> >(original)
> >+++
> >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
> >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/bench
> >mark/authentication/external/AbstractExternalTest.java
> >URL:
> >
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or
> >g/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternal
> >Test.java?rev=1744672&r1=1744671&r2=1744672&view=diff
> >==========================================================================
> >====
> >---
> >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
> >mark/authentication/external/AbstractExternalTest.java
> >(original)
> >+++
> >jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
> >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.SyncHandler
> >;
> > import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager
> >;
> > import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.basic.Defau
> >ltSyncConfig;
> >+import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul
> >tSyncConfigImpl;
> > import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul
> >tSyncHandler;
> > import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Extern
> >alIDPManagerImpl;
> > import
> >org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncMa
> >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);
> >             }
> >         }
>
>

Re: 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/external/AbstractExternalTest.java

Posted by Angela Schreiber <an...@adobe.com>.
uh... sorry for that! i will revert and fix it.
thanks for the heads up

angela

On 20/05/16 16:00, "Francesco Mari" <ma...@gmail.com> 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/jackrabbit/
>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/jackrabbit/
>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/jackrabbit/
>oak/benchmark/authentication/external/AbstractExternalTest.java:[183,50]
>error: cannot find symbol
>
>[INFO] 3 errors
>
>Can you review this?
>
>---------- Forwarded message ----------
>From: <an...@apache.org>
>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/external/
>AbstractExternalTest.java
>To: oak-commits@jackrabbit.apache.org
>
>
>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/bench
>mark/BenchmarkRunner.java
>
>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
>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=1744
>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/bench
>mark/BenchmarkRunner.java
>URL:
>http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or
>g/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744
>671&r2=1744672&view=diff
>==========================================================================
>====
>---
>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
>mark/BenchmarkRunner.java
>(original)
>+++
>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
>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/bench
>mark/authentication/external/AbstractExternalTest.java
>URL:
>http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/or
>g/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternal
>Test.java?rev=1744672&r1=1744671&r2=1744672&view=diff
>==========================================================================
>====
>---
>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
>mark/authentication/external/AbstractExternalTest.java
>(original)
>+++
>jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/bench
>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.SyncHandler
>;
> import
>org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager
>;
> import
>org.apache.jackrabbit.oak.spi.security.authentication.external.basic.Defau
>ltSyncConfig;
>+import
>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul
>tSyncConfigImpl;
> import
>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Defaul
>tSyncHandler;
> import
>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.Extern
>alIDPManagerImpl;
> import
>org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncMa
>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);
>             }
>         }


Fwd: 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/external/AbstractExternalTest.java

Posted by Francesco Mari <ma...@gmail.com>.
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/jackrabbit/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/jackrabbit/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/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java:[183,50]
error: cannot find symbol

[INFO] 3 errors

Can you review this?

---------- Forwarded message ----------
From: <an...@apache.org>
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/external/AbstractExternalTest.java
To: oak-commits@jackrabbit.apache.org


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/benchmark/BenchmarkRunner.java

jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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=1744672&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/benchmark/BenchmarkRunner.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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/benchmark/authentication/external/AbstractExternalTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java?rev=1744672&r1=1744671&r2=1744672&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/authentication/external/AbstractExternalTest.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/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.SyncHandler;
 import
org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager;
 import
org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncConfig;
+import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncConfigImpl;
 import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler;
 import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl;
 import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl;
@@ -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);
             }
         }