com.evolveum.midpoint.model.lens.projector
Class AssignmentProcessor

java.lang.Object
  extended by com.evolveum.midpoint.model.lens.projector.AssignmentProcessor

@Component
public class AssignmentProcessor
extends Object

Assignment processor is recomputing user assignments. It recomputes all the assignemts whether they are direct or indirect (roles). Processor does not do the complete recompute. Only the account "existence" is recomputed. I.e. the processor determines what accounts should be added, deleted or kept as they are. The result is marked in account context SynchronizationPolicyDecision. This step does not create any deltas. It recomputes the attributes to delta set triples but does not "refine" them to deltas yet. It cannot create deltas as other mapping may interfere, e.g. outbound mappings. These needs to be computed before we can create the final deltas (because there may be mapping exclusions, interference of weak mappings, etc.) The result of assignment processor are intermediary data in the context such as LensContext.evaluatedAssignmentTriple and LensProjectionContext.accountConstructionDeltaSetTriple.

Author:
Radovan Semancik

Constructor Summary
AssignmentProcessor()
           
 
Method Summary
<F extends ObjectType,P extends ObjectType>
void
checkForAssignmentConflicts(LensContext<F,P> context, OperationResult result)
           
 void processAssignmentsAccounts(LensContext<UserType,AccountShadowType> context, OperationResult result)
          Processing user-account assignments (including roles).
 void processAssignmentsAccountValues(LensProjectionContext<AccountShadowType> accountContext, OperationResult result)
           
<F extends ObjectType,P extends ObjectType>
void
processAssignmentsProjections(LensContext<F,P> context, OperationResult result)
          Processing all the assignments to determine which projections should be added, deleted or kept as they are.
<F extends ObjectType,P extends ObjectType>
void
processOrgAssignments(LensContext<F,P> context, OperationResult result)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssignmentProcessor

public AssignmentProcessor()
Method Detail

processAssignmentsProjections

public <F extends ObjectType,P extends ObjectType> void processAssignmentsProjections(LensContext<F,P> context,
                                                                                      OperationResult result)
                                   throws SchemaException,
                                          ObjectNotFoundException,
                                          ExpressionEvaluationException,
                                          PolicyViolationException,
                                          CommunicationException,
                                          ConfigurationException,
                                          SecurityViolationException
Processing all the assignments to determine which projections should be added, deleted or kept as they are. Generic method for all projection types (theoretically).

Throws:
SchemaException
ObjectNotFoundException
ExpressionEvaluationException
PolicyViolationException
CommunicationException
ConfigurationException
SecurityViolationException

processAssignmentsAccounts

public void processAssignmentsAccounts(LensContext<UserType,AccountShadowType> context,
                                       OperationResult result)
                                throws SchemaException,
                                       ObjectNotFoundException,
                                       ExpressionEvaluationException,
                                       PolicyViolationException,
                                       CommunicationException,
                                       ConfigurationException,
                                       SecurityViolationException
Processing user-account assignments (including roles). Specific user-account method.

Throws:
SchemaException
ObjectNotFoundException
ExpressionEvaluationException
PolicyViolationException
CommunicationException
ConfigurationException
SecurityViolationException

processOrgAssignments

public <F extends ObjectType,P extends ObjectType> void processOrgAssignments(LensContext<F,P> context,
                                                                              OperationResult result)
                           throws SchemaException
Throws:
SchemaException

checkForAssignmentConflicts

public <F extends ObjectType,P extends ObjectType> void checkForAssignmentConflicts(LensContext<F,P> context,
                                                                                    OperationResult result)
                                 throws PolicyViolationException
Throws:
PolicyViolationException

processAssignmentsAccountValues

public void processAssignmentsAccountValues(LensProjectionContext<AccountShadowType> accountContext,
                                            OperationResult result)
                                     throws SchemaException,
                                            ObjectNotFoundException,
                                            ExpressionEvaluationException
Throws:
SchemaException
ObjectNotFoundException
ExpressionEvaluationException


Copyright © 2013 evolveum. All Rights Reserved.