Interface PropagationManager
-
- All Known Implementing Classes:
DefaultPropagationManager
public interface PropagationManager
-
-
Field Summary
Fields Modifier and Type Field Description static String
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.static String
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.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<PropagationTaskInfo>
createTasks(Realm realm, PropagationByResource<String> propByRes, Collection<String> excludedResources)
Create the needed tasks for the realm for each resource associated, unless inexcludedResources
.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
.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
.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
.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
.List<PropagationTaskInfo>
getUserUpdateTasks(UserWorkflowResult<Pair<UserUR,Boolean>> wfResult)
Create the update tasks for the user on each resource associated; propagate password update only to requested resources.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
.PropagationTaskInfo
newTask(DerAttrHandler derAttrHandler, Any<?> any, ExternalResource resource, ResourceOperation operation, Provision provision, Stream<Item> mappingItems, Pair<String,Set<Attribute>> preparedAttrs)
Map<Pair<String,String>,Set<Attribute>>
prepareAttrs(AnyTypeKind kind, String key, String password, boolean changePwd, Boolean enable, Collection<String> excludedResources)
Prepare attributes for propagation.Map<Pair<String,String>,Set<Attribute>>
prepareAttrs(Realm realm)
Prepare attributes for propagation.List<PropagationTaskInfo>
setAttributeDeltas(List<PropagationTaskInfo> tasks, Map<Pair<String,String>,Set<Attribute>> beforeAttrs)
Enrich the provided tasks with attribute deltas.
-
-
-
Field Detail
-
MANDATORY_MISSING_ATTR_NAME
static final String 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:
- Constant Field Values
-
MANDATORY_NULL_OR_EMPTY_ATTR_NAME
static final String 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:
- Constant Field Values
-
-
Method Detail
-
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
List<PropagationTaskInfo> getUserUpdateTasks(UserWorkflowResult<Pair<UserUR,Boolean>> wfResult)
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>,Set<Attribute>> prepareAttrs(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
Map<Pair<String,String>,Set<Attribute>> prepareAttrs(Realm realm)
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
-
-