com.ibm.itim.apps.lifecycle

Class LifecycleRuleManager

  • java.lang.Object
    • com.ibm.itim.apps.lifecycle.LifecycleRuleManager


  • public class LifecycleRuleManager
    extends java.lang.Object
    Provides aggregate lifecycle rule management capabilities. These capabilities include
     the creation of the lifecycle rule, modification of the existing lifecycle rule, 
     search and deletion.
     
     The details of the rule is specified in LifecycleRule class. Each rule is identified by the 
     ruleID and the level in which the rule is defined. LifecycleRuleSpec class represents the details
     of the rule along with the schedules.
    
     The rule level is specified using ruleType and typeInfo and can be one of the following
     RuleType               |    typeInfo                          | Comments
     -----------------------------------------------------------------------------------------------
     CATEGORY_TYPE          |  Global, Account, Person, BPPerson   | Global and other entity type level
     PROFILE_TYPE           |  ADProfile, ITIMAccount, Person etc  | Specific entity level (Person, Account entities etc) 
     RECERT_POLICY_TYPE     |          Recertpolicy DN             | Distinguished name of Recertification policy
    .
    See Also:
    LifecycleRule, LifecycleRuleSpec
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String CATEGORY_TYPE
      Constant for CATEGORY_TYPE of the rule.
      static java.lang.String PROFILE_TYPE
      Constant for PROFILE_TYPE of the rule.
      static java.lang.String RECERT_POLICY_TYPE
      Constant for RECERT_POLICY_TYPE of the rule.
    • Constructor Summary

      Constructors 
      Constructor and Description
      LifecycleRuleManager(PlatformContext platform, javax.security.auth.Subject subject)
      Constructs the manager with a platform context and a subject.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec addRule(java.lang.String ruleType, java.lang.String typeInfo, com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec ruleSpec)
      Adds the new lifecycle rule to a category or a profile depends on whether the profileName is specified.
      java.util.Collection getOperations(java.lang.String ruleType, java.lang.String typeInfo)
      Returns collections of ObjectProfileOperation within a Category or Profile.
      java.util.Collection getRules(java.lang.String ruleType, java.lang.String typeInfo)
      Returns collection of LifecycleRule within a category, profile, or recertification policy
      com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec getRuleSpec(java.lang.String ruleType, java.lang.String typeInfo, long ruleID)
      Returns LifecycleRuleSpec for the given ruleID, category or a profile
      void modifyRule(java.lang.String ruleType, java.lang.String typeInfo, com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec ruleSpec)
      Modifies the lifecycle rule of a category or a profile
      void removeRules(java.lang.String ruleType, java.lang.String typeInfo, java.util.Collection rulesIDs)
      Removes the lifecycle rule(s) of a category or a profile
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CATEGORY_TYPE

        public static final java.lang.String CATEGORY_TYPE
        Constant for CATEGORY_TYPE of the rule.
        See Also:
        Constant Field Values
      • PROFILE_TYPE

        public static final java.lang.String PROFILE_TYPE
        Constant for PROFILE_TYPE of the rule.
        See Also:
        Constant Field Values
      • RECERT_POLICY_TYPE

        public static final java.lang.String RECERT_POLICY_TYPE
        Constant for RECERT_POLICY_TYPE of the rule.
        See Also:
        Constant Field Values
    • Constructor Detail

      • LifecycleRuleManager

        public LifecycleRuleManager(PlatformContext platform,
                                    javax.security.auth.Subject subject)
        Constructs the manager with a platform context and a subject.
        Parameters:
        platform - PlatformContext holding platform connection information.
        subject - Subject representing the authenticated caller.
    • Method Detail

      • getRuleSpec

        public com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec getRuleSpec(java.lang.String ruleType,
                                                                                  java.lang.String typeInfo,
                                                                                  long ruleID)
                                                                           throws java.rmi.RemoteException,
                                                                                  AuthorizationException,
                                                                                  ApplicationException
        Returns LifecycleRuleSpec for the given ruleID, category or a profile
        Parameters:
        ruleType - type of the rule (PROFILE_TYPE, CATEGORY_TYPE, or POLICY_TYPE)
        typeInfo - String representing the type (either name (profile and category type) or DN (policy type)
        ruleID - Long id of LifecycleRule
        Returns:
        LifecycleRuleSpec object containing the details of rule and its associated schedules.
        Throws:
        java.rmi.RemoteException - if there are errors communicating with the server
        AuthorizationException - Thrown if client is unauthorized to perform operation.
        ApplicationException - if a rule with the given parameters is not found or the operation fails
      • addRule

        public com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec addRule(java.lang.String ruleType,
                                                                              java.lang.String typeInfo,
                                                                              com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec ruleSpec)
                                                                       throws AuthorizationException,
                                                                              ApplicationException,
                                                                              java.rmi.RemoteException
        Adds the new lifecycle rule to a category or a profile depends on whether the profileName is specified.
        Parameters:
        ruleType - type of the rule (PROFILE_TYPE, CATEGORY_TYPE, or POLICY_TYPE)
        typeInfo - string representing the type (either name (profile and category type) or DN (policy type)
        ruleSpec - new LifecycleRuleSpec to be added
        Returns:
        LifecycleRuleSpec object representing the newly created rule.
        Throws:
        AuthorizationException - Thrown if client is unauthorized to perform operation.
        ApplicationException - if the operation fails
        java.rmi.RemoteException - if there are errors communicating with the server
      • getRules

        public java.util.Collection getRules(java.lang.String ruleType,
                                             java.lang.String typeInfo)
                                      throws ApplicationException,
                                             AuthorizationException,
                                             java.rmi.RemoteException
        Returns collection of LifecycleRule within a category, profile, or recertification policy
        Parameters:
        ruleType - type of the rule (PROFILE_TYPE, CATEGORY_TYPE, or POLICY_TYPE)
        typeInfo - string representing the type (either name (profile and category type) or DN (policy type)
        Throws:
        java.rmi.RemoteException - if there are errors communicating with the server.
        AuthorizationException - Thrown if client is unauthorized to perform the operation.
        ApplicationException - if the operation failed or only partial rules are removed.
      • modifyRule

        public void modifyRule(java.lang.String ruleType,
                               java.lang.String typeInfo,
                               com.ibm.itim.orchestration.lifecycle.LifecycleRuleSpec ruleSpec)
                        throws ApplicationException,
                               AuthorizationException,
                               java.rmi.RemoteException
        Modifies the lifecycle rule of a category or a profile
        Parameters:
        ruleType - type of the rule (PROFILE_TYPE, CATEGORY_TYPE, or POLICY_TYPE)
        typeInfo - string representing the type (either name (profile and category type) or DN (policy type)
        ruleSpec - LifecycleRuleSpec to be modified, or replaced
        Throws:
        java.rmi.RemoteException - if there are errors communicating with the server
        AuthorizationException - Thrown if client is unauthorized to perform operation.
        ApplicationException - if the operation failed
      • removeRules

        public void removeRules(java.lang.String ruleType,
                                java.lang.String typeInfo,
                                java.util.Collection rulesIDs)
                         throws ApplicationException,
                                AuthorizationException,
                                java.rmi.RemoteException
        Removes the lifecycle rule(s) of a category or a profile
        Parameters:
        ruleType - type of the rule (PROFILE_TYPE, CATEGORY_TYPE, or POLICY_TYPE)
        typeInfo - string representing the type (either name (profile and category type) or DN (policy type)
        rulesIDs - Collection of Long of lifecycle rule IDs to be removed
        Throws:
        java.rmi.RemoteException - if there are errors communicating with the server.
        AuthorizationException - Thrown if client is unauthorized to perform the operation.
        ApplicationException - if the operation failed or only partial rules are removed.
      • getOperations

        public java.util.Collection getOperations(java.lang.String ruleType,
                                                  java.lang.String typeInfo)
                                           throws ApplicationException,
                                                  AuthorizationException,
                                                  java.rmi.RemoteException
        Returns collections of ObjectProfileOperation within a Category or Profile.
        Parameters:
        typeInfo - name of the profile
        Throws:
        java.rmi.RemoteException - If there are errors communicating with the server.
        ApplicationException - If the operation failed or only partial rules are removed.
        AuthorizationException