Interface SynchronizationMBean

  • All Known Implementing Classes:
    SyncMBeanImpl

    @ProviderType
    public interface SynchronizationMBean
    Provides utilities to manage synchronized external identities. The operations return a single or array of messages of the operations performed. for simplicity the messages are JSON serialized strings:
    
     {
         "op": "upd",
         "uid": "bob",
         "eid": "cn=bob,o=apache"
     }
     
    With the following operations:
    • nop: nothing changed
    • upd: entry updated
    • add: entry added
    • del: entry deleted
    • err: operation failed. in this case, the 'msg' property will contain a reason
    Note that this interface is not exported via OSGi as it is not intended to use outside of JMX (yet).
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @NotNull java.lang.String[] convertToDynamicMembership()
      Migrates all previously synchronized users to have dynamic membership if the SyncHandler has the dynamic membership option enabled.
      @NotNull java.lang.String getIDPName()
      Returns the name of the ExternalIdentityProvider that this MBean operates on.
      @NotNull java.lang.String getSyncHandlerName()
      Returns the name of the SyncHandler that this MBean operates on.
      @NotNull java.lang.String[] listOrphanedUsers()
      Returns a list of orphaned users, i.e.
      @NotNull java.lang.String[] purgeOrphanedUsers()
      Purges all orphaned users.
      @NotNull java.lang.String[] syncAllExternalUsers()
      Synchronizes all the external users, i.e.
      @NotNull java.lang.String[] syncAllUsers​(boolean purge)
      Synchronizes all local users for the given IDP.
      @NotNull java.lang.String[] syncExternalUsers​(@NotNull java.lang.String[] externalIds)
      Synchronizes the external users with the given external ids.
      @NotNull java.lang.String[] syncUsers​(@NotNull java.lang.String[] userIds, boolean purge)
      Synchronizes the local users with the given user ids.
    • Method Detail

      • getSyncHandlerName

        @NotNull
        @NotNull java.lang.String getSyncHandlerName()
        Returns the name of the SyncHandler that this MBean operates on.
        Returns:
        the name of the sync handler.
      • getIDPName

        @NotNull
        @NotNull java.lang.String getIDPName()
        Returns the name of the ExternalIdentityProvider that this MBean operates on.
        Returns:
        the name of the IDP.
      • syncUsers

        @NotNull
        @NotNull java.lang.String[] syncUsers​(@NotNull
                                              @NotNull java.lang.String[] userIds,
                                              boolean purge)
        Synchronizes the local users with the given user ids.
        Parameters:
        userIds - the user ids
        purge - if true users that don't exist in the IDP are deleted.
        Returns:
        result messages.
      • syncAllUsers

        @NotNull
        @NotNull java.lang.String[] syncAllUsers​(boolean purge)
        Synchronizes all local users for the given IDP. Note that this can be an expensive operation since all potential users need to be examined.
        Parameters:
        purge - if true users that don't exist in the IDP are deleted.
        Returns:
        result messages.
      • syncExternalUsers

        @NotNull
        @NotNull java.lang.String[] syncExternalUsers​(@NotNull
                                                      @NotNull java.lang.String[] externalIds)
        Synchronizes the external users with the given external ids.
        Parameters:
        externalIds - the external id
        Returns:
        result messages.
      • syncAllExternalUsers

        @NotNull
        @NotNull java.lang.String[] syncAllExternalUsers()
        Synchronizes all the external users, i.e. basically imports the entire IDP. Note that this can be an expensive operation.
        Returns:
        result messages.
      • listOrphanedUsers

        @NotNull
        @NotNull java.lang.String[] listOrphanedUsers()
        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.
        Returns:
        a list of the user ids of orphaned users.
      • purgeOrphanedUsers

        @NotNull
        @NotNull java.lang.String[] purgeOrphanedUsers()
        Purges all orphaned users. this is similar to invoke syncUsers(String[], boolean) with the list of orphaned users. Note tha this can be an expensive operation since all potential users need to be examined.
        Returns:
        result messages.
      • convertToDynamicMembership

        @NotNull
        @NotNull java.lang.String[] convertToDynamicMembership()

        Migrates all previously synchronized users to have dynamic membership if the SyncHandler has the dynamic membership option enabled. Otherwise this method will have no effect.

        Note: calling this method will only migrate existing group membership information to the dynamic persistence format. It does not retrieve the latest membership information from the external identity provider. Membership information will therefore only be updated upon the next synchronization.
        Returns:
        result messages
        See Also:
        DefaultSyncConfig.User.getDynamicMembership()