public class LdapAttributeProvisioner extends LdapProvisioner<LdapAttributeProvisionerConfiguration>
ldapSystem, schemaRelatedLdapErrors
activeProvisioner, config, fullSyncMode, LOG, provisionerConfigName, provisionerDisplayName
Constructor and Description |
---|
LdapAttributeProvisioner(String provisionerName,
LdapAttributeProvisionerConfiguration 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> grouperGroups)
This fetches group information from the target system.
|
protected String |
getAttributeValueForGroup(GrouperGroupInfo grouperGroupInfo) |
static Class<? extends ProvisionerConfiguration> |
getPropertyClass() |
protected void |
purgeAttributeValue(String attributeName,
String valueToPurge,
JobStatistics stats) |
protected void |
scheduleUserModification(LdapUser ldapUser,
org.ldaptive.AttributeModificationType modType,
Collection<String> valuesToChange)
This adds/removes values from the given user.
|
createOuInExistingLocation, createUser, ensureLdapOusExist, ensureLdapOusExist, fetchTargetSystemUsers, finishCoordination, finishProvisioningBatch, getLdapSystem, getUserLdapFilter, isStringDnEscaped, isStringEscapedForLdapFilter, isWorkItemMakingChange, performLdapAdd, populateJexlMap, sanityCheckDnAttributesOfLdif, scheduleLdapModification, stringHasBeenDnEscaped, stringHasBeenLdapFilterEscaped
cacheGroup, 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, workItemShouldBeHandledByFullSyncOfEverything
public LdapAttributeProvisioner(String provisionerName, LdapAttributeProvisionerConfiguration config, boolean fullSyncMode)
public static Class<? extends ProvisionerConfiguration> getPropertyClass()
protected void scheduleUserModification(LdapUser ldapUser, org.ldaptive.AttributeModificationType modType, Collection<String> valuesToChange)
ldapUser
- modType
- valuesToChange
- protected void addMembership(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Subject subject, LdapUser ldapUser) throws PspException
Provisioner
addMembership
in class Provisioner<LdapAttributeProvisionerConfiguration,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.PspException
protected void deleteMembership(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Subject subject, LdapUser ldapUser) throws PspException
Provisioner
deleteMembership
in class Provisioner<LdapAttributeProvisionerConfiguration,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 infoPspException
protected boolean doFullSync(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Set<Subject> correctSubjects, Map<Subject,LdapUser> tsUserMap, Set<LdapUser> correctTSUsers, JobStatistics stats) throws PspException
Provisioner
doFullSync
in class Provisioner<LdapAttributeProvisionerConfiguration,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 performsPspException
protected String getAttributeValueForGroup(GrouperGroupInfo grouperGroupInfo) throws PspException
PspException
protected void doFullSync_cleanupExtraGroups(JobStatistics stats) throws PspException
Provisioner
doFullSync_cleanupExtraGroups
in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>
PspException
protected LdapGroup createGroup(GrouperGroupInfo grouperGroup, Collection<Subject> initialMembers) throws PspException
Provisioner
createGroup
in class Provisioner<LdapAttributeProvisionerConfiguration,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.PspException
protected void deleteGroup(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup) throws PspException
Provisioner
deleteGroup
in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>
PspException
protected void purgeAttributeValue(String attributeName, String valueToPurge, JobStatistics stats) throws PspException
PspException
protected Map<GrouperGroupInfo,LdapGroup> fetchTargetSystemGroups(Collection<GrouperGroupInfo> grouperGroups) throws PspException
Provisioner
fetchTargetSystemGroups
in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>
PspException
Copyright © 2016 Internet2. All rights reserved.