Class ICProvisioningManager

java.lang.Object
oracle.iam.connectors.icfcommon.prov.ICProvisioningManager
All Implemented Interfaces:
oracle.iam.connectors.icfcommon.prov.ProvisioningManager

public final class ICProvisioningManager extends Object implements oracle.iam.connectors.icfcommon.prov.ProvisioningManager
Common Provisioning Manager for ICF based connectors. Methods in this class should be used by OIM Connector's adapter tasks.
  • Constructor Details

    • ICProvisioningManager

      public ICProvisioningManager(String itResourceFieldName, long processInstanceKey, com.thortech.xl.dataaccess.tcDataProvider dataProvider)
      Creates instance of ICProvisioningManager
      Parameters:
      itResourceFieldName - ITResource Field Name
      processInstanceKey - Process Instance Key
      dataProvider - OIM Data Provider
  • Method Details

    • addChildTableValue

      public String addChildTableValue(String objectType, String childTableName, long childPrimaryKey)
      Updates the target by adding the newly added row in child table.
      Specified by:
      addChildTableValue in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type, can't be null
      childTableName - Child table name which is being updated
      childPrimaryKey - Child primary key representing the new row added into child row
      Returns:
    • removeChildTableValue

      public String removeChildTableValue(String objectType, String childTableName, Integer taskInstanceKey)
      Updates the target by removing the row which was just deleted from child table
      Specified by:
      removeChildTableValue in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type, can't be null
      childTableName - Child table name which is being updated
      taskInstanceKey - Task instance key responsible for deleting the row from child table
      Returns:
      Response Code as String
    • updateChildTableValue

      public String updateChildTableValue(String objectType, String childTableName, Integer taskInstanceKey, long childPrimaryKey)
      Updates the target by removing the deleted row and adding the newly created row
      Specified by:
      updateChildTableValue in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type, can't be null
      childTableName - Child table name which is being updated
      taskInstanceKey - Task instance key responsible for deleting the row from child table
      childPrimaryKey - Child primary key representing the new row added into child row
      Returns:
      Response Code as String
    • setEffectiveITResourceName

      public void setEffectiveITResourceName(String itResourceName)
      If the connector needs to use different IT Resource for provisioning operations, it can be set by this method
      Parameters:
      itResourceName - IT Resource Name which will be used for provisioning operations
    • setOperationOptions

      public void setOperationOptions(Map<String,Object> options)

      Sets OperationOptions which are going to be used for any provisioning operation called on this instance. This is helpfull in cases when OIM Process/Adapter needs to set some operation option explicitly.

      Note ICF INTG has also way of mapping the form fields to operation options.

      If both ways are used the the maps are going to be merged into one (options set by this method are used first, the form field mapping can override them)

      Parameters:
      options - Map of operation options to set
    • createObject

      public String createObject(String objectType)
      Creates object of specified type on target resource, the values are taken from current Form
      Specified by:
      createObject in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type, can't be null
      Returns:
      Response Code as String
    • deleteObject

      public String deleteObject(String objectType)
      Deletes object of specified type on target resource
      Specified by:
      deleteObject in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type, can't be null
      Returns:
      Response Code as String
    • updateAttributeValue

      public String updateAttributeValue(String objectType, String attrFieldName)
      Updates object on target resource, only the attribute with the provided label is updated
      Specified by:
      updateAttributeValue in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - Object Type to update, can't be null
      attrFieldName - Field Label to update, can't be null
      Returns:
      Response Code as String
    • updateAttributeValues

      public String updateAttributeValues(String objectType, String[] labels)
      Use this method if there is a group update of fields. This will be useful when a set of attributes have to updated together.
      Parameters:
      objectType - Object Type
      labels - List of attribute field names to be updated
      Returns:
      Response code
    • updateAttributeValues

      public String updateAttributeValues(String objectType, Map<String,String> fields)
      Specified by:
      updateAttributeValues in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
    • updateAttributeValues

      public String updateAttributeValues(String objectType, Map<String,String> fields, Map<String,String> oldFields)
      Specified by:
      updateAttributeValues in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
    • updateChildTableValues

      public String updateChildTableValues(String objectType, String childTableName)
      Updates values provided in child table on target resource
      Specified by:
      updateChildTableValues in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
      Parameters:
      objectType - ObjectType, can't be null
      childTableName - Child table name which was changed
      Returns:
      Response Code as String
    • updatePassword

      public String updatePassword(String objectType, String pswdFieldLabel, String oldPassword)
      Use this method in Adapter ONLY if you need to provide old password value, currently there is no way to get the old value using the formAPI. If you don't need old password value to change the password, use updateAttributeValue(String, String) method instead.
      Parameters:
      objectType - Object Type
      pswdFieldLabel - Password Field Label
      oldPassword - Old Password Value
      Returns:
      Response code
    • enableUser

      @Deprecated public String enableUser()
      Deprecated.
      Specified by:
      enableUser in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
    • disableUser

      @Deprecated public String disableUser()
      Deprecated.
      Specified by:
      disableUser in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
    • enableObject

      public String enableObject(String objectType)
      Specified by:
      enableObject in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager
    • disableObject

      public String disableObject(String objectType)
      Specified by:
      disableObject in interface oracle.iam.connectors.icfcommon.prov.ProvisioningManager