com.ibm.itim.policy.join
Class JoinDirector

java.lang.Object
  |
  +--com.ibm.itim.policy.join.JoinDirector
All Implemented Interfaces:
EnroleRuntimeContext, PolicyJoinRuntimeContext

public class JoinDirector
extends java.lang.Object
implements PolicyJoinRuntimeContext

 This class is responsible for:
 1. sorting of policies by priority
 2. mediating the order of evaluating and generating of provisioning parameters.
 3. dispatching the entitlement join task to the appropriate concrete join class
    implementing a join interface depending on the attribute's join type.
 4. associating attributes with all entitlements which describe them
 5. finding the joined entitlement's type and process definition


Fields inherited from interface com.ibm.itim.fesiextensions.PolicyJoinRuntimeContext
FESI_CONTEXT_ITEM_PARAMS, FESI_CONTEXT_ITEM_SERVICE, FESI_CONTEXT_ITEM_SUBJECT, FESI_EXTENSION_PREFIX_PROVISIONING_POLICY
 
Fields inherited from interface com.ibm.itim.fesiextensions.EnroleRuntimeContext
FESI_CONTEXT_ITEM_ATTRIBUTES
 
Constructor Summary
JoinDirector(java.util.Collection policyEntitlementPairs, ServiceEntity service, PersonEntity person)
           
JoinDirector(java.util.Collection policyEntitlementPairs, ServiceEntity service, PersonEntity person, java.util.Map accountAttributes)
           
 
Method Summary
 com.ibm.itim.dataservices.model.policy.Entitlement combineEntitlements()
           Method will combine entitlements contained in the policy-entitlement associations into a joined entitlement.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinDirector

public JoinDirector(java.util.Collection policyEntitlementPairs,
                    ServiceEntity service,
                    PersonEntity person)
             throws ScriptEvaluatorException
Parameters:
policyEntitlementPairs - contains all relevant policy-entitlement associations
service - Service for which the attributes values will be created
person - Person to which the account belongs
Throws:
ScriptEvaluatorException - when script for some parameters cannot be evaluated.

JoinDirector

public JoinDirector(java.util.Collection policyEntitlementPairs,
                    ServiceEntity service,
                    PersonEntity person,
                    java.util.Map accountAttributes)
             throws ScriptEvaluatorException
Parameters:
policyEntitlementPairs - contains all relevant policy-entitlement associations
service - Service for which the attributes values will be created
person - Person to which the account belongs
Throws:
ScriptEvaluatorException - when script for some parameters cannot be evaluated.
Method Detail

combineEntitlements

public com.ibm.itim.dataservices.model.policy.Entitlement combineEntitlements()
                                                                       throws ModelCommunicationException,
                                                                              com.ibm.itim.dataservices.schema.SchemaEntryNotFoundException,
                                                                              com.ibm.itim.dataservices.schema.SchemaException,
                                                                              com.ibm.itim.policy.PolicyAuthorityException,
                                                                              IterationsExceededException,
                                                                              ScriptEvaluatorException
 Method will combine entitlements contained in the policy-entitlement associations
 into a joined entitlement.
 
Returns:
pseudo Entitlement object with all provisioning parameters joined.
Throws:
com.ibm.itim.policy.PolicyAuthorityException -
 thrown when unrecoverable error encountered during
 policy based generation of a provisioning parameter.
 
java.rmi.RemoteException -
 thrown when ejb server communication error
 is received when trying to use LDAPSchema.
 
com.ibm.itim.dataservices.schema.SchemaEntryNotFoundException -
 thrown when schema entry for an attribute cannot be
 found while retrieving join directive for that attribute.
 
javax.naming.NamingException - thrown when a JoinDirectiveCache cannot find home for JoinDirective.
ObjectNotFoundException - when a JoinDirectiveCache cannot find JoinDirectiveInfo for specified attribute.
ModelCommunicationException - when something goes wrong while trying to use JoinDirective instance.
IterationsExceededException -
when resulting entitlement is required and password couldn't be generated
 due to password rules being too strict.
 NOTE: Passwords are not generated unless joined entitlement is required.
 
PolicyNotFoundException - when governing policy could not be found for policy based generation of a provisioning parameter like uid.
ScriptEvaluatorException - thrown when script for a provisioning parameter cannot be evaluated.