Interface ReconOperationsService


public interface ReconOperationsService
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addDirectBulkMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, List inputDataForMultiValueAttribute)
    Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
    void
    addDirectBulkMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, List inputDataForMultiValueAttribute, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
    void
    addDirectBulkMultiAttributeData(long reconciliationEventKey, String childFieldName, List inputDataForMultiValueAttribute)
    Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
    void
    addDirectBulkMultiAttributeData(long reconciliationEventKey, String childFieldName, List inputDataForMultiValueAttribute, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
    long
    addDirectMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData)
    Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
    long
    addDirectMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
    long
    addDirectMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData)
    Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
    long
    addDirectMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
    long
    addMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData)
    Adds data for multi-valued attributes (child table) for a reconciliation event.
    long
    addMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.
    long
    addMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData)
    Adds data for multi-valued attributes (child table) for a reconciliation event.
    long
    addMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData, String dateFormat)
    Adds data for multi-valued attributes (child table) for a reconciliation event.
    void
    This API is called by the EndofJob Plug-in , which in turn is called by the Scheduler when a job completes.
    void
    closeReconciliationEvent(long reconciliationEventKey)
    Closes the reconciliation event for the given reconciliation key by updating the status to 'Event Closed'
    long
    createDeleteReconciliationEvent(String objectName, Map inputData)
    long
    createDeleteReconciliationEvent(String objectName, Map inputData, String dateFormat)
    long
    createReconciliationEvent(String objectName, Map<String,Object> inputData, EventAttributes eventAttribs)
    Creates a reconciliation event for the specified object.
    long
    createReconciliationEvent(String objectName, Map inputData, boolean finishEvent)
    long
    createReconciliationEvent(String objectName, Map inputData, boolean finishEvent, String dateFormat)
    Creates a bulk reconciliation events for the data passed in Input Data.
    void
    deleteBulkMultiAttributeData(String objectName, Map<String,Object> inputData, String childFieldName, List<? extends Map<String,Object>> inputDataForMultiValueAttribute)
    Delete data for multi-valued attributes (child table) for a reconciliation event.
    void
    deleteBulkMultiAttributeData(String objectName, Map<String,Object> inputData, String childFieldName, List<? extends Map<String,Object>> inputDataForMultiValueAttribute, String dateFormat)
    Delete data for multi-valued attributes (child table) for a reconciliation event.
    long[]
    deleteDetectedAccounts(Thor.API.tcResultSet detectedAccountsForDeletion)
    This API takes the tcResultSet returned by the getMissingAccounts method and for each USER or ACCOUNT identified in the resultset, creates a reconciliation event of type "Delete".
    void
    finishReconciliationEvent(long reconciliationEventKey)
    Marks the status of a reconciliation event as 'Data Received' which was left in status 'Event Received' to allow additional data (child table data) to be added
    Gets the default date format from the PTY table.
    Thor.API.tcResultSet
    getMissingAccounts(String objectName, Set matchedAccounts)
    This API retrieves all USER or ACCOUNT keys from OIM and compares them with the keys present in the set returned by the provideDeletionDetectionData method.
    Thor.API.tcResultSet
    getMissingAccounts(String objectName, Set<Serializable> foundData, Map<String,Serializable> scope)
    Takes ids of the data that exist in target system and OIM and returns the extra data found in OIM but not present in Target System.
    boolean
    ignoreEvent(String objectName, Map inputData)
    Validates whether the reconciliation event needs to be raised or not for the specified object.
    boolean
    ignoreEvent(String objectName, Map inputData, String dateFormat)
    Validates whether the reconciliation event needs to be raised or not for the specified object.
    boolean
    ignoreEventAttributeData(String objectName, Map inputData, String childFieldName, Map[] inputDataForMultiValueAttribute)
    Validates whether the reconciliation event needs to be raised or not for the multi-valued attributes .
    boolean
    ignoreEventAttributeData(String objectName, Map inputData, String childFieldName, Map[] inputDataForMultiValueAttribute, String dateFormat)
    Validates whether the reconciliation event needs to be raised or not for the multi-valued attributes .
    void
    linkEventToResourceInstanceForUser(long reconciliationEventKey, long objectInstanceForUserKey)
    Links the specified reconciliation event to given account.
    void
    linkEventToUser(long reconciliationEventKey, long userKey)
    Links the specified reconciliation event to given user.
    void
    processReconciliationEvent(long reconciliationEventKey)
    This API will process the current reconciliation event, applying the matching rules and the action rules, and linking it to the appropriate User, Org or Process Instance.
    provideDeletionDetectionData(String objectName, Map[] targetDataList)
    This API will raise the delete events for all the USER or ACCOUNT which are deleted from the target and present in the OIM.
    provideDeletionDetectionData(String objectName, Map[] poDataList, Map scope, boolean ignoreStatus)
     
    Compares target system data provided as input with existing data in OIM and returns the intersection of the two.
    void
    providingAllMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, boolean multiAttributeDataFlag)
    Specifies whether the multi valued data being provided for a particular attribute (fieldName) is the entire list of data, or only that which has been added/updated
    void
    providingAllMultiAttributeData(long reconciliationEventKey, String childFieldName, boolean multiAttributeDataFlag)
    Specifies whether the multi valued data being provided for a particular attribute (fieldName) is the entire list of data, or only that which has been added/updated
  • Method Details

    • createReconciliationEvent

      long createReconciliationEvent(String objectName, Map<String,Object> inputData, EventAttributes eventAttribs)
      Creates a reconciliation event for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name. For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which needs to be populated in the target table (i.e the actual OIM table used to store the reconciliation event data). The inputData contains the combination of reconciliation field name and its corresponding value
      eventAttribs - EventAttributes like changetype, dateformat etc.
      Returns:
      Reconciliation Event Key
      Since:
      11g
    • createReconciliationEvents

      ReconciliationResult createReconciliationEvents(BatchAttributes batchAttribs, InputData... input)
      Creates a bulk reconciliation events for the data passed in Input Data. It accepts all the data including multivalued attributes and submits it for processing as one batch if the size of data is less then or equals to batchsize else multiple batches, there is no need to call endOfJobApi after this.
       
         InputData[] input = new InputData[2];
       
         HashMap<String, Serializable> reconData1 = new HashMap<String, Serializable>();
         reconData1.put("First Name", "name1");
         
         List<Map<String, Serializable>> allMultiValRecords = new ArrayList<Map<String, Serializable>>();
         Map<String, List<Map<String, Serializable>>> allMultiValAttribMap = new HashMap<String, List<Map<String, Serializable>>>();
         allMultiValAttribMap.put("Member Of A", allMultiValRecords);
         
         HashMap<String, Serializable> multiValRecord1 = new HashMap<String, Serializable>();
         multiValRecord1.put("Group Name", "mygroup1");
         allMultiValRecords.add(multiValRecord1);
         
         HashMap<String, Serializable> multiValRecord2 = new HashMap<String, Serializable>();
         multiValRecord2.put("Group Name", "mygroup2");
         allMultiValRecords.add(multiValRecord2);
            
         input[0] = new InputData(reconData1, allMultiValAttribMap, true, ChangeType.CHANGELOG, null);
         
         
         HashMap<String, Serializable> reconData2 = new HashMap<String, Serializable>();
         reconData2.put("First Name", "name2");
         
         List<Map<String, Serializable>> allMultiValRecords = new ArrayList<Map<String, Serializable>>();
         Map<String, List<Map<String, Serializable>>> allMultiValAttribMap = new HashMap<String, List<Map<String, Serializable>>>();
         allMultiValAttribMap.put("Member Of B", allMultiValRecords);
         
         HashMap<String, Serializable> multiValRecord1 = new HashMap<String, Serializable>();
         multiValRecord1.put("Group Name", "mygroup3");
         allMultiValRecords.add(multiValRecord1);
         
         HashMap<String, Serializable> multiValRecord2 = new HashMap<String, Serializable>();
         multiValRecord2.put("Group Name", "mygroup2");
         allMultiValRecords.add(multiValRecord2);
         
         input[1] = new InputData(reconData2, allMultiValAttribMap, false, ChangeType.REGULAR, null);
         
         BatchAttributes batchAttribs = new BatchAttributes("ResourceObjectName", "yyyy/MM/dd hh:mm:ss z");
       
         ReconciliationResult result = reconOperationsService.createReconciliationEvents(batchAttribs, input);
       
         ArrayList failedResult = result.getFailedResult();
         assertEquals(0, failedResult.size());
       
         ArrayList batchIds = result.getSuccessResult();
         Long batchId = (Long) batchIds.get(0);
               
       
       
      Parameters:
      input - The target data which needs to be populated in the OIM. The map attribute in inputdata contains the combination of reconciliation field name and its corresponding value
      batchAttribs - BatchAttributes like resource name, dateformat etc.
      Returns:
      ReconciliationResult Contains a list of batch Ids depending on the number of events submitted and the recon batch size configuration, it also contains a list of Exception objects for all the data which failed to get converted to recon events.
      Since:
      11gR2
    • createReconciliationEvent

      long createReconciliationEvent(String objectName, Map inputData, boolean finishEvent) throws tcAPIException
      Creates a reconciliation event for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name. For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which needs to be populated in the target table (i.e the actual OIM table used to store the reconciliation event data). The inputData contains the combination of reconciliation field name and its corresponding value
      finishEvent - Boolean indicating whether child data is going to be provided or not.It is set to false if child data is going to be added later to the event.If the finishEvent is true that means event status is set to 'Data Received' otherwise it would be set to'Event Received'
      Returns:
      Reconciliation Event Key
      Throws:
      tcAPIException
    • createReconciliationEvent

      long createReconciliationEvent(String objectName, Map inputData, boolean finishEvent, String dateFormat) throws tcAPIException
      Creates a reconciliation event for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which needs to be populated in the target table (i.e the actual OIM table used to store the reconciliation event data). The inputData contains the combination of reconciliation field name and its corresponding value
      finishEvent - Boolean indicating whether child data is going to be provided or not.It is set to false if child data is going to be added later to the event.If the finishEvent is true that means event status is set to 'Data Received' otherwise it would be set to 'Event Received'.
      dateFormat - Date Format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      Reconciliation Event Key
      Throws:
      tcAPIException
    • addMultiAttributeData

      long addMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcAttributeNotFoundException
      Adds data for multi-valued attributes (child table) for a reconciliation event.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addMultiAttributeData

      long addMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcAttributeNotFoundException
      Adds data for multi-valued attributes (child table) for a reconciliation event.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addMultiAttributeData

      long addMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException
      Adds data for multi-valued attributes (child table) for a reconciliation event.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      parentTableKey - This is the parent table key required while populating the data in child table.
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addMultiAttributeData

      long addMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException
      Adds data for multi-valued attributes (child table) for a reconciliation event.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      parentTableKey - This is the parent table key required while populating the data in child table.
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
      tcInvalidAttributeException
    • addDirectMultiAttributeData

      long addDirectMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcAttributeNotFoundException
      Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addDirectMultiAttributeData

      long addDirectMultiAttributeData(long reconciliationEventKey, String childFieldName, Map inputData) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcAttributeNotFoundException
      Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addDirectMultiAttributeData

      long addDirectMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException
      Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      parentTableKey - This is the parent table key required while populating the data in child table.
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
    • addDirectMultiAttributeData

      long addDirectMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, Map inputData) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException
      Adds data for multi-valued attributes (child table) for a reconciliation event.This API is supported for backward compatibility.Functionally, the processing is same as that of addMultiAttributeData, it just provides a wrapper over addMultiAttributeData and delegate call to this method.In 9.1 this was used to invoke SQL directly instead of going through data access layer for performance reasons.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      parentTableKey - This is the parent table key required while populating the data in child table.
      inputData - A Map containing the field-value pairs for the data record pertaining to multi valued attributes
      Returns:
      The key of the parent table which has been retrieved based on the reconciliationEventKey
      Throws:
      tcAPIException - ,tcEventNotFoundException, tcEventDataReceivedException,tcAttributeNotFoundException , tcInvalidAttributeException
      tcEventNotFoundException
      tcAttributeNotFoundException
      tcEventDataReceivedException
      tcInvalidAttributeException
    • addDirectBulkMultiAttributeData

      void addDirectBulkMultiAttributeData(long reconciliationEventKey, String childFieldName, List inputDataForMultiValueAttribute, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException
      Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputDataForMultiValueAttribute - A List containing objects of type Map each of which contains field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
    • addDirectBulkMultiAttributeData

      void addDirectBulkMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, List inputDataForMultiValueAttribute) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException
      Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      parentTableKey - This is the parent table key required while populating the data in child table.
      childFieldName - The name of the multi-attribute reconciliation field
      inputDataForMultiValueAttribute - A List containing objects of type Map each of which contains field-value pairs for the data record pertaining to multi valued attributes
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
      tcInvalidAttributeException
    • addDirectBulkMultiAttributeData

      void addDirectBulkMultiAttributeData(long reconciliationEventKey, String childFieldName, List inputDataForMultiValueAttribute) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException
      Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      childFieldName - The name of the multi-attribute reconciliation field
      inputDataForMultiValueAttribute - A List containing objects of type Map each of which contains field-value pairs for the data record pertaining to multi valued attributes
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
    • addDirectBulkMultiAttributeData

      void addDirectBulkMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, List inputDataForMultiValueAttribute, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException
      Adds data for multi-valued attributes (child table) for a reconciliation event.The data provided pertains to multiple child records instead of a single child record.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned after creation of reconciliation event
      parentTableKey - This is the parent table key required while populating the data in child table.
      childFieldName - The name of the multi-attribute reconciliation field
      inputDataForMultiValueAttribute - A List containing objects of type Map each of which contains field-value pairs for the data record pertaining to multi valued attributes
      dateFormat - Date format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcAttributeNotFoundException
      tcInvalidAttributeException
    • finishReconciliationEvent

      void finishReconciliationEvent(long reconciliationEventKey) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException
      Marks the status of a reconciliation event as 'Data Received' which was left in status 'Event Received' to allow additional data (child table data) to be added
      Parameters:
      reconciliationEventKey - The key for the reconciliation event created by createReconciliationEvent.
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
    • processReconciliationEvent

      void processReconciliationEvent(long reconciliationEventKey) throws tcAPIException
      This API will process the current reconciliation event, applying the matching rules and the action rules, and linking it to the appropriate User, Org or Process Instance.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned by the createReconciliationEvent
      Throws:
      tcAPIException
    • closeReconciliationEvent

      void closeReconciliationEvent(long reconciliationEventKey) throws tcAPIException
      Closes the reconciliation event for the given reconciliation key by updating the status to 'Event Closed'
      Parameters:
      reconciliationEventKey - The key for the reconciliation event created by createReconciliationEvent.
      Throws:
      tcAPIException
    • getDefaultDateFormat

      String getDefaultDateFormat() throws tcAPIException
      Gets the default date format from the PTY table.
      Returns:
      The string representing the format in which the date values will be expected
      Throws:
      tcAPIException
    • provideDeletionDetectionData

      Set provideDeletionDetectionData(String objectName, Map[] targetDataList) throws tcAPIException, tcIDNotFoundException, tcMultipleMatchesFoundException
      This API will raise the delete events for all the USER or ACCOUNT which are deleted from the target and present in the OIM.
      Parameters:
      objectName - Name of the resource Object or profile Name. For user and account reconciliation setup the resource object name is used as the default profile name.
      targetDataList - An Array of Map elements. Each of these Map elements represents data about one Account or User that was found on the target system, and therefore has not been deleted
      Returns:
      Set which contains all the Users or Accounts which are found in OIM as well as target.
      Throws:
      tcAPIException
      tcIDNotFoundException
      tcMultipleMatchesFoundException
    • provideDeletionDetectionData

      Set provideDeletionDetectionData(String objectName, Map[] poDataList, Map scope, boolean ignoreStatus) throws tcAPIException, tcIDNotFoundException, tcMultipleMatchesFoundException
      Throws:
      tcAPIException
      tcIDNotFoundException
      tcMultipleMatchesFoundException
    • getMissingAccounts

      Thor.API.tcResultSet getMissingAccounts(String objectName, Set matchedAccounts) throws tcAPIException, tcIDNotFoundException, tcDataNotProvidedException
      This API retrieves all USER or ACCOUNT keys from OIM and compares them with the keys present in the set returned by the provideDeletionDetectionData method.
      Parameters:
      objectName - Name of the resource Object or profile Name. For user and account reconciliation setup the resource object name is used as the default profile name.
      matchedAccounts - It is a Set which contains keys of matched data info returned by the provideDeletionDetectionData method
      Returns:
      tcResultSet which contains all the users or accounts which are found in OIM but missing from the target.
      Throws:
      tcAPIException
      tcIDNotFoundException
      tcDataNotProvidedException
    • deleteDetectedAccounts

      long[] deleteDetectedAccounts(Thor.API.tcResultSet detectedAccountsForDeletion) throws tcAPIException, tcAPIException
      This API takes the tcResultSet returned by the getMissingAccounts method and for each USER or ACCOUNT identified in the resultset, creates a reconciliation event of type "Delete".
      Parameters:
      detectedAccountsForDeletion - It is a Set returned by the getMissingAccounts for which delete reconciliation event is to be generated
      Returns:
      An array of reconciliation event keys
      Throws:
      tcAPIException
    • createDeleteReconciliationEvent

      long createDeleteReconciliationEvent(String objectName, Map inputData) throws tcAPIException, tcObjectNotFoundException
      Creates a reconciliation events of type "Delete" for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which needs to be populated in the target table (i.e the actual OIM table used to store the reconciliation event data). The inputData contains the combination of reconciliation field name and its respective value
      Returns:
      Reconciliation Event Key
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • createDeleteReconciliationEvent

      long createDeleteReconciliationEvent(String objectName, Map inputData, String dateFormat) throws tcAPIException, tcObjectNotFoundException
      Creates a reconciliation events of type "Delete" for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which needs to be populated in the target table (i.e the actual OIM table used to store the reconciliation event data). The inputData contains the combination of reconciliation field name and its respective value
      dateFormat - Date Format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      Reconciliation Event Key
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • providingAllMultiAttributeData

      void providingAllMultiAttributeData(long reconciliationEventKey, String childFieldName, boolean multiAttributeDataFlag) throws tcAPIException
      Specifies whether the multi valued data being provided for a particular attribute (fieldName) is the entire list of data, or only that which has been added/updated
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned by the createReconciliationEvent
      childFieldName - The name of the multi-attribute reconciliation field for which data has to be ignored. eg. Member Of
      multiAttributeDataFlag - Indicates whether the values being provided is the whole list (true) or only the additional/updated list(false)
      Throws:
      tcAPIException
    • providingAllMultiAttributeData

      void providingAllMultiAttributeData(long reconciliationEventKey, long parentTableKey, String childFieldName, boolean multiAttributeDataFlag) throws tcAPIException
      Specifies whether the multi valued data being provided for a particular attribute (fieldName) is the entire list of data, or only that which has been added/updated
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned by the createReconciliationEvent
      parentTableKey - This is the parent table key required while populating the data in child table.
      childFieldName - The name of the multi-attribute reconciliation field for which data has to be ignored. eg. Member Of
      multiAttributeDataFlag - Indicates whether the values being provided is the whole list (true) or only the additional/updated list(false)
      Throws:
      tcAPIException
    • ignoreEvent

      boolean ignoreEvent(String objectName, Map inputData) throws tcAPIException, tcObjectNotFoundException
      Validates whether the reconciliation event needs to be raised or not for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which has to be compared with the OIM records. The inputData contains the combination of reconciliation field name and its respective value
      Returns:
      True if the event is to be ignored otherwise false
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • ignoreEvent

      boolean ignoreEvent(String objectName, Map inputData, String dateFormat) throws tcObjectNotFoundException, tcAPIException
      Validates whether the reconciliation event needs to be raised or not for the specified object.
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which has to be compared with the OIM records. The inputData contains the combination of reconciliation field name and its respective value
      dateFormat - Date Format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      True if the event is to be ignored otherwise false
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • ignoreEventAttributeData

      boolean ignoreEventAttributeData(String objectName, Map inputData, String childFieldName, Map[] inputDataForMultiValueAttribute, String dateFormat) throws tcAPIException, tcObjectNotFoundException
      Validates whether the reconciliation event needs to be raised or not for the multi-valued attributes .
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which has to be compared with the OIM records. The inputData contains the combination of reconciliation field name and its respective value
      childFieldName - The name of the multi-attribute reconciliation field for which data has to be ignored. eg. Member Of
      inputDataForMultiValueAttribute - Contains data for the multi-valued attributes which has to be compared with OIM records
      dateFormat - Date Format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Returns:
      True if the event is to be ignored otherwise false
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • ignoreEventAttributeData

      boolean ignoreEventAttributeData(String objectName, Map inputData, String childFieldName, Map[] inputDataForMultiValueAttribute) throws tcAPIException, tcObjectNotFoundException
      Validates whether the reconciliation event needs to be raised or not for the multi-valued attributes .
      Parameters:
      objectName - Name of the resource Object or profile Name.For user and account reconciliation setup the resource object name is used as the default profile name.
      inputData - The data which has to be compared with the OIM records. The inputData contains the combination of reconciliation field name and its respective value
      childFieldName - The name of the multi-attribute reconciliation field for which data has to be ignored. eg. Member Of
      inputDataForMultiValueAttribute - Contains data for the multi-valued attributes which has to be compared with OIM records
      Returns:
      True if the event is to be ignored otherwise false
      Throws:
      tcAPIException
      tcObjectNotFoundException
    • linkEventToResourceInstanceForUser

      void linkEventToResourceInstanceForUser(long reconciliationEventKey, long objectInstanceForUserKey) throws tcAPIException, tcEventNotFoundException
      Links the specified reconciliation event to given account. The event must not be already linked, closed, nor have required data missing.This will in turn call the action engine establishAccountLink API.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned by the createReconciliationEvent
      objectInstanceForUserKey - Object Instance Key
      Throws:
      tcAPIException
      tcEventNotFoundException
    • linkEventToUser

      void linkEventToUser(long reconciliationEventKey, long userKey) throws tcAPIException, tcEventNotFoundException, tcUserNotFoundException, tcAPIException
      Links the specified reconciliation event to given user. The event must not be already linked, closed, nor have required data missing.This will in turn call * the action engine establishUserLink API.
      Parameters:
      reconciliationEventKey - The key for the reconciliation event, as returned by the createReconciliationEvent
      userKey - Object User Key
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcUserNotFoundException
    • callingEndOfJobAPI

      void callingEndOfJobAPI() throws tcAPIException
      This API is called by the EndofJob Plug-in , which in turn is called by the Scheduler when a job completes.
      Throws:
      tcAPIException
    • deleteBulkMultiAttributeData

      void deleteBulkMultiAttributeData(String objectName, Map<String,Object> inputData, String childFieldName, List<? extends Map<String,Object>> inputDataForMultiValueAttribute) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcObjectNotFoundException
      Delete data for multi-valued attributes (child table) for a reconciliation event. The data provided pertains to one child record.
      Parameters:
      objectName - The Name for the object for which the reconciliation is taking place
      inputData - A map containing the field-value pairs for the data received from the target.
      childFieldName - The name of the multi-attribute reconciliation field that the data is for
      inputDataForMultiValueAttribute - A List containing the Hashtable objects. Every Hashtable will have field-value pairs for the data record pertaining to multi valued attribute
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcObjectNotFoundException
    • deleteBulkMultiAttributeData

      void deleteBulkMultiAttributeData(String objectName, Map<String,Object> inputData, String childFieldName, List<? extends Map<String,Object>> inputDataForMultiValueAttribute, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException, tcObjectNotFoundException
      Delete data for multi-valued attributes (child table) for a reconciliation event. The data provided pertains to one child record. This method itself creates a RECON key and submit the RECON key to the JMS message.
      Parameters:
      objectName - The Name for the object for which the reconciliation is taking place
      inputData - A map containing the field-value pairs for the data received from the target.
      childFieldName - The name of the multi-attribute reconciliation field that the data is for
      inputDataForMultiValueAttribute - A List containing the Hashtable objects. Every Hashtable will have field-value pairs for the data record pertaining to multi valued attribute
      dateFormat - Date Format to be used when processing the date.For example: "yyyy-mm-dd hh:mm:ss".
      Throws:
      tcAPIException
      tcEventNotFoundException
      tcEventDataReceivedException
      tcObjectNotFoundException
    • provideDeletionDetectionData

      Set<Serializable> provideDeletionDetectionData(String objectName, Map<String,Serializable>[] inputData, Map<String,Serializable> scope) throws tcAPIException, tcIDNotFoundException, tcMultipleMatchesFoundException
      Compares target system data provided as input with existing data in OIM and returns the intersection of the two.
      Parameters:
      objectName - The object name to be revoked.
      inputData - Array of maps that correspond to each of the records from the target system.
      scope - Key/Value pair similar to inputData but only for fields which would be used to define the scope of search and matching. For instance, "ITResource=62" means it would compare the input data with OIM data which has ITResource as 62 only.
      Returns:
      Set which contains all the records which are found in OIM as well as target.
      Throws:
      tcAPIException
      tcIDNotFoundException - the ID is not found or is not valid
      tcMultipleMatchesFoundException
      See Also:
    • getMissingAccounts

      Thor.API.tcResultSet getMissingAccounts(String objectName, Set<Serializable> foundData, Map<String,Serializable> scope) throws tcAPIException, tcIDNotFoundException, tcDataNotProvidedException
      Takes ids of the data that exist in target system and OIM and returns the extra data found in OIM but not present in Target System.
      Parameters:
      objectName - The object name to be revoked
      foundData - A set of record ids eg. usr_key or orc_key or act_key
      scope - Key/Value pair similar to inputData provided to provideDeletionDetectionData api but only for fields which would be used to define the scope of search and matching. For instance, "ITResource=62" means it would compare the input data with OIM data which has ITResource as 62 only.
      Returns:
      a tcResultSet of the accounts found in Xellerate and not matched by the accounts provided.
      Throws:
      tcAPIException
      tcIDNotFoundException
      tcDataNotProvidedException
      See Also: