public class LdapAttributeProvisioner extends LdapProvisioner<LdapAttributeProvisionerConfiguration>
ldapSystem, schemaRelatedLdapErrorsactiveProvisioner, 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, 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 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
ProvisioneraddMembership 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.PspExceptionprotected void deleteMembership(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup, Subject subject, LdapUser ldapUser) throws PspException
ProvisionerdeleteMembership 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 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<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 performsPspExceptionprotected String getAttributeValueForGroup(GrouperGroupInfo grouperGroupInfo) throws PspException
PspExceptionprotected void doFullSync_cleanupExtraGroups(JobStatistics stats) throws PspException
ProvisionerdoFullSync_cleanupExtraGroups in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionprotected LdapGroup createGroup(GrouperGroupInfo grouperGroup, Collection<Subject> initialMembers) throws PspException
ProvisionercreateGroup 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.PspExceptionprotected void deleteGroup(GrouperGroupInfo grouperGroupInfo, LdapGroup ldapGroup) throws PspException
ProvisionerdeleteGroup in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionprotected void purgeAttributeValue(String attributeName, String valueToPurge, JobStatistics stats) throws PspException
PspExceptionprotected Map<GrouperGroupInfo,LdapGroup> fetchTargetSystemGroups(Collection<GrouperGroupInfo> grouperGroups) throws PspException
ProvisionerfetchTargetSystemGroups in class Provisioner<LdapAttributeProvisionerConfiguration,LdapUser,LdapGroup>PspExceptionCopyright © 2016 Internet2. All rights reserved.