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.