Interface PropagationManager
- All Known Implementing Classes:
DefaultPropagationManager
public interface PropagationManager
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Name for special propagation attribute used to indicate whether there are attributes, marked as mandatory in the mapping but not to be propagated.static final String
Name for special propagation attribute used to indicate whether there are attributes, marked as mandatory in the mapping but about to be propagated as null or empty. -
Method Summary
Modifier and TypeMethodDescriptioncreateTasks
(Realm realm, PropagationByResource<String> propByRes, Collection<String> excludedResources) Create the needed tasks for the realm for each resource associated, unless inexcludedResources
.getCreateTasks
(AnyTypeKind kind, String key, Boolean enable, PropagationByResource<String> propByRes, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the tasks for every associated resource, unless inexcludedResources
.getDeleteTasks
(AnyTypeKind kind, String key, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<String> excludedResources) Create the delete tasks from each resource associated, unless inexcludedResources
.getUpdateTasks
(AnyUR anyUR, AnyTypeKind kind, String key, boolean changePwd, Boolean enable, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the update tasks on each resource associated, unless inexcludedResources
.getUserCreateTasks
(String key, String password, Boolean enable, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the user tasks for every associated resource, unless inexcludedResources
.getUserUpdateTasks
(UserWorkflowResult<Pair<UserUR, Boolean>> wfResult) Create the update tasks for the user on each resource associated; propagate password update only to requested resources.getUserUpdateTasks
(UserWorkflowResult<Pair<UserUR, Boolean>> wfResult, boolean changePwd, Collection<String> excludedResources) Create the update tasks for the user on each resource associated, unless inexcludedResources
.newTask
(DerAttrHandler derAttrHandler, Any<?> any, ExternalResource resource, ResourceOperation operation, Provision provision, Stream<Item> mappingItems, Pair<String, Set<Attribute>> preparedAttrs) prepareAttrs
(AnyTypeKind kind, String key, String password, boolean changePwd, Boolean enable, Collection<String> excludedResources) Prepare attributes for propagation.prepareAttrs
(Realm realm) Prepare attributes for propagation.setAttributeDeltas
(List<PropagationTaskInfo> tasks, Map<Pair<String, String>, Set<Attribute>> beforeAttrs) Enrich the provided tasks with attribute deltas.
-
Field Details
-
MANDATORY_MISSING_ATTR_NAME
Name for special propagation attribute used to indicate whether there are attributes, marked as mandatory in the mapping but not to be propagated.- See Also:
-
MANDATORY_NULL_OR_EMPTY_ATTR_NAME
Name for special propagation attribute used to indicate whether there are attributes, marked as mandatory in the mapping but about to be propagated as null or empty.- See Also:
-
-
Method Details
-
getCreateTasks
List<PropagationTaskInfo> getCreateTasks(AnyTypeKind kind, String key, Boolean enable, PropagationByResource<String> propByRes, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the tasks for every associated resource, unless inexcludedResources
.- Parameters:
kind
- any type kindkey
- any keyenable
- whether any should be enabled or notpropByRes
- operation to be performed per resourcevAttrs
- virtual attributes to be setexcludedResources
- external resources performing not to be considered for propagation- Returns:
- list of propagation tasks
-
getUserCreateTasks
List<PropagationTaskInfo> getUserCreateTasks(String key, String password, Boolean enable, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the user tasks for every associated resource, unless inexcludedResources
.- Parameters:
key
- user keypassword
- to be setenable
- whether user must be enabled or notpropByRes
- operation to be performed per resourcepropByLinkedAccount
- operation to be performed for linked accountsvAttrs
- virtual attributes to be setexcludedResources
- external resources not to be considered for propagation- Returns:
- list of propagation tasks
-
getUpdateTasks
List<PropagationTaskInfo> getUpdateTasks(AnyUR anyUR, AnyTypeKind kind, String key, boolean changePwd, Boolean enable, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<Attr> vAttrs, Collection<String> excludedResources) Create the update tasks on each resource associated, unless inexcludedResources
.- Parameters:
anyUR
- update requestkind
- any type kindkey
- any keychangePwd
- whether password should be included for propagation attributes or notenable
- whether any should be enabled or not, may be null to leave unchangedpropByRes
- operation to be performed per resourcepropByLinkedAccount
- operation to be performed for linked accountsvAttrs
- virtual attributes to be setexcludedResources
- external resource keys not to be considered for propagation- Returns:
- list of propagation tasks
-
getUserUpdateTasks
List<PropagationTaskInfo> getUserUpdateTasks(UserWorkflowResult<Pair<UserUR, Boolean>> wfResult, boolean changePwd, Collection<String> excludedResources) Create the update tasks for the user on each resource associated, unless inexcludedResources
.- Parameters:
wfResult
- user to be propagated (and info associated), as per result from workflowchangePwd
- whether password should be included for propagation attributes or notexcludedResources
- external resources not to be considered for propagation- Returns:
- list of propagation tasks
-
getUserUpdateTasks
Create the update tasks for the user on each resource associated; propagate password update only to requested resources.- Parameters:
wfResult
- user to be propagated (and info associated), as per result from workflow- Returns:
- list of propagation tasks
-
getDeleteTasks
List<PropagationTaskInfo> getDeleteTasks(AnyTypeKind kind, String key, PropagationByResource<String> propByRes, PropagationByResource<Pair<String, String>> propByLinkedAccount, Collection<String> excludedResources) Create the delete tasks from each resource associated, unless inexcludedResources
.- Parameters:
kind
- any type kindkey
- any keypropByRes
- operation to be performed per resourcepropByLinkedAccount
- operation to be performed for linked accountsexcludedResources
- external resource keys not to be considered for propagation- Returns:
- list of propagation tasks
-
newTask
PropagationTaskInfo newTask(DerAttrHandler derAttrHandler, Any<?> any, ExternalResource resource, ResourceOperation operation, Provision provision, Stream<Item> mappingItems, Pair<String, Set<Attribute>> preparedAttrs) -
createTasks
List<PropagationTaskInfo> createTasks(Realm realm, PropagationByResource<String> propByRes, Collection<String> excludedResources) Create the needed tasks for the realm for each resource associated, unless inexcludedResources
.- Parameters:
realm
- realmpropByRes
- operation to be performed per resourceexcludedResources
- external resource keys not to be considered for propagation- Returns:
- list of propagation tasks
-
prepareAttrs
Map<Pair<String,String>, prepareAttrsSet<Attribute>> (AnyTypeKind kind, String key, String password, boolean changePwd, Boolean enable, Collection<String> excludedResources) Prepare attributes for propagation.- Parameters:
kind
- any type kindkey
- any keypassword
- to be set (for users)changePwd
- whether password should be included for propagation attributes or not (for users)enable
- whether any should be enabled or not, may be null to leave unchangedexcludedResources
- external resource keys not to be considered for propagation- Returns:
- map with prepared attributes per External Resource
-
prepareAttrs
Prepare attributes for propagation.- Parameters:
realm
- realm- Returns:
- map with prepared attributes per External Resource
-
setAttributeDeltas
List<PropagationTaskInfo> setAttributeDeltas(List<PropagationTaskInfo> tasks, Map<Pair<String, String>, Set<Attribute>> beforeAttrs) Enrich the provided tasks with attribute deltas.- Parameters:
tasks
- propagation tasksbeforeAttrs
- attribute values before update- Returns:
- enriched propagation tasks
-