public class LdapGroupProvisioner extends LdapProvisioner<LdapGroupProvisionerConfiguration>
ldapSystem, schemaRelatedLdapErrorsactiveProvisioner, config, fullSyncMode, LOG, provisionerConfigName, provisionerDisplayName| Constructor and Description |
|---|
LdapGroupProvisioner(String provisionerName,
LdapGroupProvisionerConfiguration config,
boolean fullSyncMode) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addMembership(GrouperGroupInfo grouperGroupInfo,
LdapGroup ldapGroup,
Subject subject,
LdapUser ldapUser)
Action method that handles membership additions where a person-subject is added to a
group.
|
protected LdapGroup |
createGroup(GrouperGroupInfo grouperGroup,
Collection<Subject> initialMembers)
Provisioning a new Group in the target system.
|
protected void |
deleteGroup(GrouperGroupInfo grouperGroupInfo,
LdapGroup ldapGroup)
Action method that handles group removal.
|
protected void |
deleteMembership(GrouperGroupInfo grouperGroupInfo,
LdapGroup ldapGroup,
Subject subject,
LdapUser ldapUser)
Abstract action method that handles membership removals.
|
protected void |
doFullSync_cleanupExtraGroups(JobStatistics stats)
This method's responsibility is find extra groups within Grouper's responsibility that
exist in the target system.
|
protected boolean |
doFullSync(GrouperGroupInfo grouperGroupInfo,
LdapGroup ldapGroup,
Set<Subject> correctSubjects,
Map<Subject,LdapUser> tsUserMap,
Set<LdapUser> correctTSUsers,
JobStatistics stats)
This method's responsibility is to make sure that group's only provisioned memberships are those
of correctSubjects.
|
protected Map<GrouperGroupInfo,LdapGroup> |
fetchTargetSystemGroups(Collection<GrouperGroupInfo> grouperGroupsToFetch)
This fetches group information from the target system.
|
static Class<? extends ProvisionerConfiguration> |
getPropertyClass() |
protected void |
scheduleGroupModification(GrouperGroupInfo grouperGroupInfo,
LdapGroup ldapGroup,
org.ldaptive.AttributeModificationType modType,
Collection<String> membershipValuesToChange) |
protected LdapGroup |
updateGroupFromTemplate(GrouperGroupInfo grouperGroupInfo,
LdapGroup existingLdapGroup)
This method compares the existing LdapGroup to how the groupCreationTemplate might have
changed due to group changes (eg, a changed group name) or due to template changes
|
createOuInExistingLocation, createUser, ensureLdapOusExist, ensureLdapOusExist, fetchTargetSystemUsers, finishCoordination, finishProvisioningBatch, getLdapSystem, getUserLdapFilter, isStringDnEscaped, isStringEscapedForLdapFilter, isWorkItemMakingChange, performLdapAdd, populateJexlMap, sanityCheckDnAttributesOfLdif, scheduleLdapModification, stringHasBeenDnEscaped, stringHasBeenLdapFilterEscapedcacheGroup, evaluateJexlExpression, fetchTargetSystemGroup, fetchTargetSystemGroupsInBatches, fetchTargetSystemUser, filterWorkItems, flushCachesIfNecessary, getAllGroupsForProvisioner, getConfig, getConfigName, getCurrentWorkItem, getDisplayName, getGroupInfo, getGroupInfoOfExistingGroup, getGroupInfoOfExistingGroup, getGroupJexlMap, getSubject, getSubjectCacheKey, getSubjectCacheKey, getTargetSystemUser, isFullSyncMode, provisionBatchOfItems, provisionItem, setCurrentWorkItem, shouldGroupBeProvisioned, shouldLogAboutMissingSubjects, shouldWorkItemBeProcessed, startCoordination, startProvisioningBatch, toString, uncacheAllGroups, uncacheGroup, warnAboutCacheSizeConcerns, workItemShouldBeHandledByFullSyncOfEverythingpublic LdapGroupProvisioner(String provisionerName, LdapGroupProvisionerConfiguration config, boolean fullSyncMode)
public static Class<? extends ProvisionerConfiguration> getPropertyClass()
protected void addMembership(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Subject subject, LdapUser ldapUser) throws PspException
ProvisioneraddMembership in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>grouperGroupInfo - The group to which the subject needs to be added as a memberldapGroup - A TSGroupClass created for group by fetchTargetSystemGroup. This will
be null for systems that do not need target system groups.subject - The (person) subject that needs to be provisioned as a member of 'group'ldapUser - A TSUserClass created for the subject by fetchTargetSystemUser. This will
be null for systems that do not need target system users.PspExceptionprotected void scheduleGroupModification(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, org.ldaptive.AttributeModificationType modType, Collection<String> membershipValuesToChange)
protected void deleteMembership(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Subject subject, LdapUser ldapUser) throws PspException
ProvisionerdeleteMembership in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>grouperGroupInfo - The group to which the subject needs to be removed as a memberldapGroup - TSGroupClass for the 'group.' This is null for systems that do not need
target-system group infosubject - The subject that needs to be deprovisioned as a member of 'group'ldapUser - TSUserClass for the 'subject.' This is null for systems that do not need
target-system user infoPspExceptionprotected boolean doFullSync(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Set<Subject> correctSubjects, Map<Subject,LdapUser> tsUserMap, Set<LdapUser> correctTSUsers, JobStatistics stats) throws PspException
ProvisionerdoFullSync in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>grouperGroupInfo - Grouper group to fully synchronize with target systemldapGroup - TSGroupClass that maps to group.correctSubjects - What subjects are members in the Grouper RegistrytsUserMap - Map of TargetSystemUsers which map to the correctSubjects. This will be empty
for provisioners that do not use TargetSystemUsers.correctTSUsers - A list of the TSUsers that correspond to correctSubjects. This might be a subset
of the TSUsers in the tsUserMap.stats - A holder of the number of changes the fullSync performsPspExceptionprotected LdapGroup updateGroupFromTemplate(GrouperGroupInfo grouperGroupInfo, LdapGroup existingLdapGroup) throws PspException
grouperGroupInfo - existingLdapGroup - PspExceptionprotected void doFullSync_cleanupExtraGroups(JobStatistics stats) throws PspException
ProvisionerdoFullSync_cleanupExtraGroups in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionprotected LdapGroup createGroup(GrouperGroupInfo grouperGroup, Collection<Subject> initialMembers) throws PspException
ProvisionercreateGroup in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>initialMembers - What members should in the provisioned group once the method completes.
This is generally empty during incremental/changelog-based provisioning, but may list users
at other times.PspExceptionprotected Map<GrouperGroupInfo,LdapGroup> fetchTargetSystemGroups(Collection<GrouperGroupInfo> grouperGroupsToFetch) throws PspException
ProvisionerfetchTargetSystemGroups in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionprotected void deleteGroup(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup) throws PspException
ProvisionerdeleteGroup in class Provisioner<LdapGroupProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionCopyright © 2016 Internet2. All rights reserved.