Author: baedke
Date: Wed Mar 30 18:20:29 2016
New Revision: 1737141

URL: http://svn.apache.org/viewvc?rev=1737141&view=rev
Log:
OAK-4154: SynchronizationMBean.syncUsers(...) should optionally not force group 
sync.

Added additional method signatures to SynchronizationMBean.

Modified:
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImpl.java
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java?rev=1737141&r1=1737140&r2=1737141&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
 Wed Mar 30 18:20:29 2016
@@ -117,12 +117,12 @@ final class Delegatee {
     }
 
     /**
-     * @see SynchronizationMBean#syncUsers(String[], boolean)
+     * @see SynchronizationMBean#syncUsers(String[], boolean, boolean)
      */
     @Nonnull
-    String[] syncUsers(@Nonnull String[] userIds, boolean purge) {
+    String[] syncUsers(@Nonnull String[] userIds, boolean purge, boolean 
forceGroupSync) {
         context.setKeepMissing(!purge)
-                .setForceGroupSync(true)
+                .setForceGroupSync(forceGroupSync)
                 .setForceUserSync(true);
         List<String> list = new ArrayList<String>();
         for (String userId: userIds) {
@@ -136,14 +136,14 @@ final class Delegatee {
     }
 
     /**
-     * @see SynchronizationMBean#syncAllUsers(boolean)
+     * @see SynchronizationMBean#syncAllUsers(boolean, boolean)
      */
     @Nonnull
-    String[] syncAllUsers(boolean purge) {
+    String[] syncAllUsers(boolean purge, boolean forceGroupSync) {
         try {
             List<String> list = new ArrayList<String>();
             context.setKeepMissing(!purge)
-                    .setForceGroupSync(true)
+                    .setForceGroupSync(forceGroupSync)
                     .setForceUserSync(true);
             Iterator<SyncedIdentity> iter = handler.listIdentities(userMgr);
             while (iter.hasNext()) {
@@ -164,12 +164,12 @@ final class Delegatee {
     }
 
     /**
-     * @see SynchronizationMBean#syncExternalUsers(String[])
+     * @see SynchronizationMBean#syncExternalUsers(String[], boolean)
      */
     @Nonnull
-    String[] syncExternalUsers(@Nonnull String[] externalIds) {
+    String[] syncExternalUsers(@Nonnull String[] externalIds, boolean 
forceGroupSync) {
         List<String> list = new ArrayList<String>();
-        context.setForceGroupSync(true).setForceUserSync(true);
+        context.setForceGroupSync(forceGroupSync).setForceUserSync(true);
         for (String externalId : externalIds) {
             ExternalIdentityRef ref = 
ExternalIdentityRef.fromString(externalId);
             try {
@@ -196,12 +196,12 @@ final class Delegatee {
     }
 
     /**
-     * @see SynchronizationMBean#syncAllExternalUsers()
+     * @see SynchronizationMBean#syncAllExternalUsers(boolean)
      */
     @Nonnull
-    String[] syncAllExternalUsers() {
+    String[] syncAllExternalUsers(boolean forceGroupSync) {
         List<String> list = new ArrayList<String>();
-        context.setForceGroupSync(true).setForceUserSync(true);
+        context.setForceGroupSync(forceGroupSync).setForceUserSync(true);
         try {
             Iterator<ExternalUser> iter = idp.listUsers();
             while (iter.hasNext()) {

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImpl.java?rev=1737141&r1=1737140&r2=1737141&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImpl.java
 Wed Mar 30 18:20:29 2016
@@ -83,9 +83,15 @@ public class SyncMBeanImpl implements Sy
     @Nonnull
     @Override
     public String[] syncUsers(@Nonnull String[] userIds, boolean purge) {
+        return syncUsers(userIds, purge, true);
+    }
+
+    @Nonnull
+    @Override
+    public String[] syncUsers(@Nonnull String[] userIds, boolean purge, 
boolean forceGroupSync) {
         Delegatee delegatee = getDelegatee();
         try {
-            return delegatee.syncUsers(userIds, purge);
+            return delegatee.syncUsers(userIds, purge, forceGroupSync);
         } finally {
             delegatee.close();
         }
@@ -94,9 +100,15 @@ public class SyncMBeanImpl implements Sy
     @Nonnull
     @Override
     public String[] syncAllUsers(boolean purge) {
+        return syncAllUsers(purge, true);
+    }
+
+    @Nonnull
+    @Override
+    public String[] syncAllUsers(boolean purge, boolean forceGroupSync) {
         Delegatee delegatee = getDelegatee();
         try {
-            return delegatee.syncAllUsers(purge);
+            return delegatee.syncAllUsers(purge, forceGroupSync);
         } finally {
             delegatee.close();
         }
@@ -105,9 +117,15 @@ public class SyncMBeanImpl implements Sy
     @Nonnull
     @Override
     public String[] syncExternalUsers(@Nonnull String[] externalIds) {
+        return syncExternalUsers(externalIds, true);
+    }
+
+    @Nonnull
+    @Override
+    public String[] syncExternalUsers(@Nonnull String[] externalIds, boolean 
forceGroupSync) {
         Delegatee delegatee = getDelegatee();
         try {
-            return delegatee.syncExternalUsers(externalIds);
+            return delegatee.syncExternalUsers(externalIds, forceGroupSync);
         } finally {
             delegatee.close();
         }
@@ -116,9 +134,15 @@ public class SyncMBeanImpl implements Sy
     @Nonnull
     @Override
     public String[] syncAllExternalUsers() {
+        return syncAllExternalUsers(true);
+    }
+
+    @Nonnull
+    @Override
+    public String[] syncAllExternalUsers(boolean forceGroupSync) {
         Delegatee delegatee = getDelegatee();
         try {
-            return delegatee.syncAllExternalUsers();
+            return delegatee.syncAllExternalUsers(forceGroupSync);
         } finally {
             delegatee.close();
         }

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java?rev=1737141&r1=1737140&r2=1737141&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynchronizationMBean.java
 Wed Mar 30 18:20:29 2016
@@ -74,6 +74,16 @@ public interface SynchronizationMBean {
     String[] syncUsers(@Nonnull String[] userIds, boolean purge);
 
     /**
+      * Synchronizes the local users with the given user ids.
+      * @param userIds the user ids
+      * @param purge if {@code true} users that don't exist in the IDP are 
deleted.
+      * @param forceGroupSync if synchronization of containing groups shall be 
forced
+      * @return result messages.
+      */
+     @Nonnull
+     String[] syncUsers(@Nonnull String[] userIds, boolean purge, boolean 
forceGroupSync);
+
+    /**
      * Synchronizes all local users with the given user ids. Note that this 
can be an expensive operation since all
      * potential users need to be examined.
      *
@@ -84,6 +94,17 @@ public interface SynchronizationMBean {
     String[] syncAllUsers(boolean purge);
 
     /**
+     * Synchronizes all local users with the given user ids. Note that this 
can be an expensive operation since all
+     * potential users need to be examined.
+     *
+     * @param purge if {@code true} users that don't exist in the IDP are 
deleted.
+     * @param forceGroupSync if synchronization of containing groups shall be 
forced
+     * @return result messages.
+     */
+    @Nonnull
+    String[] syncAllUsers(boolean purge, boolean forceGroupSync);
+
+    /**
      * Synchronizes the external users with the given external ids.
      * @param externalIds the external id
      * @return result messages.
@@ -92,6 +113,15 @@ public interface SynchronizationMBean {
     String[] syncExternalUsers(@Nonnull String[] externalIds);
 
     /**
+     * Synchronizes the external users with the given external ids.
+     * @param externalIds the external id
+     * @param forceGroupSync if synchronization of containing groups shall be 
forced
+     * @return result messages.
+     */
+    @Nonnull
+    String[] syncExternalUsers(@Nonnull String[] externalIds, boolean 
forceGroupSync);
+
+    /**
      * Synchronizes all the external users, i.e. basically imports the entire 
IDP. Note that this can be an expensive
      * operation.
      *
@@ -101,6 +131,16 @@ public interface SynchronizationMBean {
     String[] syncAllExternalUsers();
 
     /**
+     * Synchronizes all the external users, i.e. basically imports the entire 
IDP. Note that this can be an expensive
+     * operation.
+     *
+     * @param forceGroupSync if synchronization of containing groups shall be 
forced
+     * @return result messages.
+     */
+    @Nonnull
+    String[] syncAllExternalUsers(boolean forceGroupSync);
+
+    /**
      * Returns a list of orphaned users, i.e. users that don't exist anymore 
on the IDP. Note that this can be an
      * expensive operation since all potential users need to be examined.
      * @return a list of the user ids of orphaned users.


Reply via email to