Skip Headers
Oracle® Identity Manager API Usage Guide
Release 9.1.0.1

Part Number E14058-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

2 What's New

This chapter contains the following sections:

2.1 APIs Introduced in Release 9.1.0

Table 2-1 lists the new application programming interfaces (APIs) that are added in release 9.1.0.

Table 2-1 New APIs in Release 9.1.0

Operation API Method Description

Attestation

public void attestSpecificTask(String[] attestationTaskKeys , long attestationTaskKey) throws MissingResponsesException, tcAPIException, tcInvalidPermissionsException

Attests the specific tasks and initiates the setup of any workflow. This is called when the process owner delegates some of the records from the attestation run.

Attestation

public tcDataSet getAttestationTaskDetailKeys(long attestationRequestKey) throws tcAPIException

Returns the attestation records associated with an attestation request. Results are sorted by the following columns in the order:

  1. Attestation Tasks.Reviewer

  2. Provisioned User.Key

  3. Objects.Key

Attestation

public void updateResponses(String[] atd_keys, String apd_key, String apt_key) throws tcDataAccessException, tcAPIException, tcDataSetException

Submits the attestation task when the grace period expires, and response for each task is to be set to Delegated. As a result, the process is to be delegated to some other user.

Attestation

public void sendWarningEmails(List lstKeys) throws tcAPIException

Sends warning e-mails to reviewers before the attestation assigned to the reviewer expires

Audit

public boolean processAuditMessageOnline(int audJmsKey) throws tcAPIException

Processes the specific AUD_JMS_KEY online.

Connector Installation

public long createConnectorInstallationHistory(Map phAttributes) throws tcAPIException, tcInvalidAttributeException

Creates a new connector installation history with the list of specified attributes.

Connector Installation

public tcResultSet getConnectorInstallationHistory(Map phAttributeList) throws tcAPIException

Returns a connector history, in the form of tcResultSet, which matches the provided attribute list. This list includes only the connector history on which the user, who has logged in, has read permissions.

Connector Installation

public void updateConnectorInstallationHistory(long cihKey, Map attributes) throws tcAPIException

Updates connector history information based on the attributes that are passed to this method.

Error

public tcResultSet getErrorDetails(String error_code) throws tcAPIException

Returns error detail information based on error_code from the ERR table.

Generic Technology Connector

public String checkResourceObject(String connectorName) throws tcAPIException

Returns the entity name of the resource.

Generic Technology Connector

public List getColumnNames(String tableName) throws tcAPIException

Returns the column names of a table that is to be used in a lookup query associated to a lookup field.

Generic Technology Connector

public String getDefaultDateFormat() throws tcAPIException

Returns the default date format that is used in Oracle Identity Manager for reconciliation.

Generic Technology Connector

public List getFieldValues(String selection, GenericAdapter gtcModel, String childDataSetName) throws tcAPIException

Returns the column names of a table that is to be used in a lookup query associated to a lookup field.

Generic Technology Connector

public boolean isValidFieldProperty(String propertyName, String propertyValue) throws tcAPIException

Returns true or false after checking if a lookup field is valid.

Adapter

public void compileAdapter (String adpaterName) throws tcAPIException,tcNoAdapterException

Compiles an adapter with specified name.

Adapter

public void compileAll () throws tcBulkException

Compiles all adapters programmatically.

Audit

public void generateGPASnapshot(long groupKey)

Creates the snapshots for each group. This is part of the Group auditing update script.

Form Definition

public tcResultSet getFormFieldsAttestation(long plFormKey, long plFormUDFKey) throws tcAPIException, tcFormNotFoundException

Returns information about the user-defined fields and system fields of a specified form in the form of a tcResultSet. Each record in the result set holds information about one field of the form. LookupCode column in result set has lookup code value property set against the form field if at all it is defined.

Form Definition

public tcResultSet getDataFlowForProcess(long plProcessKey) throws tcAPIException, tcProcessNotFoundException

Returns data flow information about the specified process in the form of a tcResultSet.

Form Definition

public void addFormDataFlow(long plProcessKey, long plObjectKey, String sourceName, String targetName) throws tcAPIException, tcProcessNotFoundException, tcObjectNotFoundException

Adds a new data flow mapping.

Form Definition

public void removeFormDataFlowMapping(long plProcessKey, String sourceName, String targetName) throws tcAPIException, tcProcessNotFoundException

Removes an existing data flow mapping.

Form Definition

public tcResultSet getReconDataFlowForProcess(long plProcessKey) throws tcAPIException, tcProcessNotFoundException

Returns reconciliation data flow information about the specified process in the form of a tcResultSet.

Form Definition

public void addReconDataFlow(long plProcessKey, long plObjectKey, String sourceKey, String targetName, boolean isKeyField) throws tcAPIException, tcProcessNotFoundException, tcObjectNotFoundException

Adds a new reconciliation data flow mapping.

Form Definition

public void removeReconDataFlowMapping(long plProcessKey, long plObjectKey, String sourceKey) throws tcAPIException, tcProcessNotFoundException, tcObjectNotFoundException

Removes an existing reconciliation data flow mapping.

Form Definition

public void editReconDataFlow(long plProcessKey, long plObjectKey, String sourceKey, boolean isKeyField) throws tcAPIException, tcProcessNotFoundException,tcObjectNotFoundException

Edits an existing reconciliation data flow mapping to change the key field mapping information.

Form Definition

public String getUDFLabelForCode(String metaDataCode) throws tcAPIException

Returns the label Defined for the UDF field. It takes input as the Lookup Code defined for the field.

Group

public Boolean isUserGroupMember(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Specifies whether or not the given user is a member of the given group.

IT Resource Instance

public long createITResourceInstance(Map phAttributes) throws tcAPIException, tcAttributeMissingException, DuplicateITResourceInstanceException, tcInvalidAttributeException

Create an IT Resource with the list of specified attributes.

IT Resource Instance

public tcResultSet getAdministrators(long plITResourceInstanceKey) throws tcAPIException, tcITResourceNotFoundException

Gets a list of the groups that have administrative control over the specified IT resource.

IT Resource Instance

public tcResultSet getUnassignedAdministrators(long plITResourceInstanceKey) throws tcITResourceNotFoundException, tcAPIException

Gets a list of groups that are not assigned as the administrator groups of a specified IT resource.

IT Resource Instance

public void addAdministrators(long plITResourceInstanceKey, long[] palAdminGroupKeys, boolean[] read, boolean[] write, boolean[] delete) throws tcAdminNotFoundException, tcAdminGroupInvalidException, tcITResourceNotFoundException, tcAPIException, tcBulkException

Adds a list of groups as administrators to the specified IT Resource.

IT Resource Instance

public void updateAdministrators(long plITResourceInstanceKey, long[] palAdminGroupKeys, boolean[] read, boolean[] write, boolean[] delete) throws tcAdminNotFoundException, tcITResourceNotFoundException, tcAPIException, tcBulkException

Updates a list of groups that have administrative access over the specified IT Resource.

IT Resource Instance

public void removeAdministrators(long plITResourceInstanceKey, long[] palAdminGroupKeys) throws tcAdminNotFoundException, tcITResourceNotFoundException, tcAPIException, tcBulkException

Removes a list of administrator groups from the specified IT Resource.

IT Resource Instance

public void deleteITResourceInstance(long plITResourceInstanceKey) throws tcAPIException, tcITResourceNotFoundException

Deletes the specified IT Resource instance.

IT Resource Instance

public void updateITResourceInstance (long msITResourceKey, Map attributes) throws tcITResourceNotFoundException, tcInvalidAttributeException, tcAPIException

Updates the specified IT Resource instance.

IT Resource Instance

public tcResultSet findITResourceInstancesByRemoteManagerFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException, tcInvalidAttributeException

  • Returns the IT Resource instances that have the specified Remote Manager.

  • Checks the permissions for the current user or group to find out if accessing the IT Resource Instances is allowed.

Lookup

public tcResultSet getLookupValuesForEncoded(String psLookupCode, String encodedValues) throws tcAPIException, tcInvalidLookupException

Returns the lookup values of the lookup assigned to the specified column or field.

Password

public HashMap getObjectPasswordPolicyDescription(long objectKey) throws tcAPIException

Returns hashmap containing description of the password policy attached by using default rule to that Resource Object with key as objectKey.

Password

public HashMap getObjectPasswordPolicyDescription(long objectKey, long userKey) throws tcAPIException

Returns hashmap containing description of the highest priority password policy attached to that Resource Object associated with the input objectInstanceKey, which is applicable(based on Rule evaluation) on user with key as userKey.

Password

public HashMap getUserPasswordPolicyDescription(long userKey) throws tcAPIException

Returns hashmap containing description of the highest priority password policy attached to the Xellerate User Resource Object that is applicable (based on Rule evaluation) on user with key as userKey.

Password

public HashMap getUserPasswordPolicyDescription(String msUserId) throws tcAPIException

Returns password policy description in hashmap that is applicable to the user with UserID as msUserId.

Password

public HashMap getObjectInstancePasswordPolicyDescription(long objectInstanceKey) throws tcAPIException

Returns hashmap containing description of the password policy attached by using default rule to that Resource Object which is associated with the input objectInstanceKey.

Password

public HashMap getProcessPasswordPolicyDescription(long processInstanceKey) throws tcAPIException

Returns hashmap containing description of the highest priority password policy attached to that Resource Object associated with input processInstanceKey that is applicable(based on Rule evaluation) on target user associated with input processInstanceKey.

Resource

public void addAuditObjective(long plObjectKey, long plLKVKey) throws tcAPIException, tcObjectNotFoundException

Adds an audit objective to the list.

Resource

public void addAuditObjectives(long plObjectKey, long[] plLKVKeys) throws tcAPIException, tcObjectNotFoundException

Adds multiple audit objectives in bulk.

Resource

public tcResultSet getAuditObjectives(long plObjectKey) throws tcAPIException, tcObjectNotFoundException

Gets a list of all resource audit objectives for the specified object.

Resource

public tcResultSet getUnassignedAuditObjectives(long plObjectKey) throws tcAPIException, tcObjectNotFoundException

Gets a list of all the resource audit objectives that are defined and unassigned to given resource object.

Resource

public void removeAuditObjectives(long plObjectKey, long[] plLKVKeys) throws tcAPIException, tcObjectNotFoundException, tcGroupNotFoundException

Removes Resource Audit Objective for the specified object.

Resource

public void removeAuditObjective(long plObjectKey, long plLKVKey) throws tcAPIException, tcObjectNotFoundException

Removes Resource Audit Objective for the specified object.

Resource

public tcResultSet getReconciliationFields(long plObjectKey) throws tcAPIException,tcObjectNotFoundException

Retrieves the reconciliation fields for the resource object.

Resource

public tcResultSet getUnassignedAdministrators(long plObjectKey, String groupName) throws tcAPIException, tcObjectNotFoundException

Gets a list of all the groups whose name match the value provided in groupName that are not assigned as administrators of the given resource.

Resource

public tcResultSet getUnassignedAuthorizers(long plObjectKey, String groupName) throws tcAPIException, tcObjectNotFoundException

Gets a list of all the groups whose name match the value provided in groupName that are not assigned as authorizers of the given resource.

Reconciliation

public void processReconciliationEvent(long rceKey) throws tcAPIException

Processes reconciliation events without going through JMS. This API processes the current reconciliation event by applying matching rules and action rules and by linking the reconciliation event to the appropriate user, organization, or process instance.

Reconciliation

public void closeReconciliationEvent(long rceKey) throws tcAPIException

Closes the current reconciliation event. The status of the event is Event Closed.

Reconciliation

public tcResultSet findReconciliationEvent(Map moAttributeMap, String startDate, String endDate) throws tcAPIException

Returns reconciliation events (in the form of tcResultSet) that match the provided attribute list. The startDate and endDate parameters are used for date range. You can use these parameters to narrow down search and to avoid FULL-Table scan.

Scheduler

public void updateScheduleTask(long scheduledTaskKey, Map attributes) throws tcAPIException, tcScheduledTaskNotFoundException, tcInvalidAttributeException, tcAttributeMissingException

Updates scheduled task information based on the attributes that are passed to this method.

Scheduler

public void updateScheduleTaskAttribute(long scheduledTaskKey, long taskAttributeKey, Map attributes) throws tcAPIException, tcScheduledTaskNotFoundException, tcNoSuchTaskAttributeException

Updates scheduled task attribute information based on the attributes that are passed to this method.

Scheduler

public tcResultSet getScheduleTaskAttributes(long scheduleTaskKey) throws tcAPIException, tcScheduledTaskNotFoundException

Returns, in the form of a tcResultSet, a list of scheduled task attributes that are associated with the specified scheduled task.

Scheduler

public long createScheduleTask(Map phAttributes) throws tcAPIException, tcAttributeMissingException, DuplicateScheduleTaskException, tcInvalidAttributeException

Creates a scheduled task with the list of specified attributes.

Scheduler

public long addScheduleTaskAttribute(long scheduledTaskKey, Map attributes) throws tcAPIException, tcInvalidAttributeException, DuplicateScheduleTaskAttributeException

Adds a schedule task attribute against a given task key with information based on the attribute that are passed to this method.

Scheduler

public tcResultSet findScheduleTasks(Map phAttributeList) throws tcAPIException

Returns, in the form of a tcResultSet, a list of scheduled tasks with detail that matches the provided attribute list.

Scheduler

public tcResultSet findScheduleTaskAttributes (Map phAttributeList) throws tcAPIException

Returns, in the form of a tcResultSet, a list of scheduled task attributes with detail that matches the provided attribute list.

Scheduler

public void deleteScheduleTaskAttribute(long taskAttributeKey) throws tcAPIException, tcNoSuchTaskAttributeException

Deletes a specified schedule task attribute.

Scheduler

public void deleteScheduleTask (long scheduleTaskKey) throws tcAPIException, tcScheduledTaskNotFoundException

Deletes a specified schedule task.

Scheduler

public tcResultSet findScheduleTaskClassesFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException, tcInvalidAttributeException

Returns, in the form of a list of tcDataRecord, a list of scheduled task classes that matches the provided attribute list.

Workflow Definition

public void createProcess(ProcessDefinition process) throws tcAPIException

Creates a new workflow.

Workflow Definition

public tcResultSet getForms() throws tcAPIException

Gets all the available forms in the system.

Workflow Definition

public tcResultSet getChildForms(long parentFormKey, int parentCurrentFormVersion) throws tcAPIException

Gets all the child forms for a given parent form.

Workflow Definition

public tcResultSet getAvailableEventHandlers() throws tcAPIException

Gets all the available event handlers in the system.

Workflow Definition

public tcResultSet getAvailableAdapters() throws tcAPIException

Gets all the available adapters in the system.

Workflow Definition

public tcResultSet getAvailableTaskAssignmentAdapters() throws tcAPIException

Gets all the available task assignment adapters in the system.

Workflow Definition

public tcResultSet getUserDefinedFields(String formName) throws tcAPIException

Gets all the user defined fields for a form.

Workflow Definition

public tcResultSet getTaskAssignmentRule() throws tcAPIException

Gets all the task assignment rules in the system.

Workflow Definition

public void updateWorkflow(WorkflowDefinition workflow) throws tcAPIException

Updates and saves a workflow.

Workflow Definition

public tcResultSet getTaskStatusKeyMapping() throws tcAPIException

Retrieves the mapping of status key and the corresponding status mapping.

Workflow Definition

public tcResultSet getObjectStatuses(long objectKey) throws tcAPIException

Retrieves the object statuses defined on a object.

Workflow Definition

public tcResultSet getAllRules() throws tcAPIException

Retrieves the list of rules in the system.

Workflow Definition

public tcResultSet getTaskAssignmentTypes() throws tcAPIException

Retrieves various task assignment types.

Workflow Definition

public boolean isWorkflowCreationPermitted() throws tcAPIException

Checks if the logged in user has permissions to create new workflows.

Workflow Definition

public void addAdministrators(long plWorkflowKey, long[] plGroupKeys, boolean[] pbWrite, boolean[] pbDelete) throws tcAdminNotFoundException, tcAPIException, tcProcessNotFoundException, tcGroupNotFoundException

Adds groups to the list of groups that have administrative access over the specified workflow.

Workflow Definition

public boolean isWorkflowUpdatePermitted() throws tcAPIException

Checks if the logged in user has permissions to update existing workflows.

Workflow Definition

public tcResultSet getAdapterMappings(String adpType, long adpKey) throws tcAPIException

Returns the adapter mappings for an adapter.

Workflow Definition

public String getColumnLength(String psTable, String psColName) throws tcAPIException

Retrieves the column length in the table.

Workflow Definition

public Vector getUserAttributesForTrustedSourceReconMapping() throws tcAPIException

Retrieves the user attributes from user profile to be used for trusted source reconciliation mappings.

Workflow Definition

public Vector getOrgAttributesForTrustedSourceReconMapping() throws tcAPIException

Retrieves the organization attributes from organization profile to be used for trusted source reconciliation mappings.

Unauthenticated

public void lockUser(String psUserId) throws tcAPIException

Locks a user with a given user ID.

Unauthenticated

public void checkUserLogin(String psUser, String psPassword) throws tcLoginException

This method logs the user in with the given username and password.

Unauthenticated

public HashMap getUserPasswordPolicyDescription(String msUserId) throws tcAPIException

This method returns password policy description in hashmap that is applicable to the user with UserID as msUserId.

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList,boolean changePassword) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

Updates a user in Oracle Identity Manager. Requires a result set to maintain locking mechanism to ensure that the changes by the user are not lost. In addition to the user information, a boolean parameter is also passed which specifies whether or not this update is triggerred for a password change.

Provisioning

public tcResultSet getAssignedOpenProvisioningTasks(long userKey, Map attributeList , String[] statuses) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the provisioning tasks with details that are assigned to the given user or to the groups to which the user belongs. For displaying the open pending and rejected tasks, the status argument filter can be used. The returned object is a result set with each row consisting of information about each task. The returned result set also contains a column mentioning whether or not the specified user can see the task because the user is a proxy for some other user. In addition, this method returns a new column called Date Assigned, which consists of the date when the task was assigned to the user or group. This method uses the OTI table that has a subset of data present in OSI or SCH table.

Provisioning

public int getNumberOfProvisioningTasksAssignedToUser(long userKey, String[] statuses) throws tcUserNotFoundException, tcAPIException

Returns the number of provisioning tasks that are assigned to a given user based on the given status. This uses the OTI table that has a subset of data present in OSI or SCH table.

Provisioning

public tcResultSet getOpenProvisioningTasksAssignedToManagedUsers(long userKey, Map attributeList, String[] statuses) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the provisioning tasks with details that are assigned to the users for whom the specified user is a manager. For displaying the open pending and rejected tasks, the status argument filter can be used. The returned object is a result set with each row consisting of information about each task. The result set also contains a column mentioning whether or not the specified user is a proxy for some other user. In addition, this method returns a new column called Date Assigned, which consists of the date when the task was assigned to the user or group. The method also includes a map as an argument that contains name-value pairs so that the result set can be filtered over multiple columns. The attribute list must support the date search feature so that the tasks can be searched with start and end date ranges.

Provisioning

public tcResultSet getOpenProvisioningTasksAssignedToSubgroups(long userKey, Map attributeList,String[] statuses , boolean hierarchyOrder) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the assigned provisioning tasks that are visible to the specified user based on the user's indirect group membership. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set. This uses the OTI table, which has a subset of the data present in the OSI or SCH table.

Provisioning

public long getTasksArchived(String reqKey ) throws tcUserNotFoundException, tcAPIException

Specifies whether or not the tasks for a particular process instance are archived.

Request

public void cancelRequest(String plRequestId) throws tcAPIException, tcRequestInvalidException

Cancels a request made in the system by the request Id.

Request

public int getNumberOfPendingApprovalTasksAssignedToUser(long userKey) throws tcUserNotFoundException, tcAPIException

Returns the number of approval tasks assigned to a given user, to any user that this user is a proxy of, and to any groups that this user is a member based on the given status.

Request

public long getNumberOfPendingRequestsAssignedToUser(long userKey) throws tcUserNotFoundException, tcAPIException

Returns the number of pending requests given a user key. This uses the OTI table that consists of a subset of the data present in the OSI or SCH table.

Request

public tcResultSet getPendingApprovalTasksAssigned(Map attributeList) throws tcAPIException, tcAttributeNotFoundException

Returns a list of all the pending approval tasks that are assigned to the specified user. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set. This method returns the tasks not only assigned to the user passed in as a parameter, but also to the users who assigned the passed-in-user as a proxy. The same is applicable to groups as well. This method looks into the OTI table for information.

Request

public tcResultSet getPendingApprovalTasksAssignedToManagedUsers( long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

Functions similar to the getApprovalTasksAssignedToUser method, except for the fact that this method returns only the tasks assigned to the users managed by the user passed into this method, represented by userKey. The proxy functionality will have no effect on the results of this API method. This method uses the OTI table, which has a subset of data present in OSI or SCH table.

Request

public tcResultSet getPendingApprovalTasksAssignedToSubgroups(long userKey, Map attributeMap, boolean hierarchyOrder) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the pending approval tasks that are visible to the specified user based on the user's indirect group membership. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set. This method looks at both the standard approval and object approval processes and returns a resultset of tasks from both. This method uses the OTI table, which has a subset of data present in the OSI or SCH table.

Request

public tcResultSet getPendingApprovalTasksAssignedToUser(long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

  • Returns a list of all the pending approval tasks that are assigned to the specified user. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set. This method returns tasks not only assigned to the user passed in as a parameter, but also to the users who assigned the passed-in-user as a proxy. The same is applicable to groups as well. This method uses the OTI table, which has a subset of data present in the OSI or SCH table.

  • Fixed the issue in which null values were displayed in the Assigned To User column of the Pending Approvals page for the Assignment types Group User With Highest Priority, Object Authorizer User With Highest Priority, Object Authorizer User With Least Load, and Group User With Least Load.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Map attributeList, Date startDate, Date endDate) throws tcAPIException, tcUserNotFoundException

Returns, in the form of a tcResultSet, a list of requests made for the specified user created between the specified start and end dates. It also can narrow down the requests by the status.

Request

public long[] addRequestObjects(long plRequestKey, long[] plObjectKeys) throws tcAPIException, tcRequestNotFoundException, tcRequestObjectInvalidException

Adds all resources to be provisioned to a request. Assumes that a resource is not a service account.


2.2 APIs Modified in Release 9.1.0

Table 2-2 lists the APIs that are modified in release 9.1.0.

Table 2-2 APIs Modified in Release 9.1.0

Operation API Method Description

Attestation Definition

public long createAttestationDefinition(AttestationProcessDefinitionVO definition) throws DuplicateAttestationProcessException, tcAPIException

  • Changed the method signature to accept the AttestationProcessDefinitionVO object instead of the AttestationProcessDefinition object.

  • Added code to insert data in the column apd_attestation_definition.

  • Removed the insertion for the APD_DESCRIPTION, APD_SCOPE_TYPE, APD_SCOPE_PARAMETER, APD_SCHEDULE_TYPE, APD_SCHEDULE_FREQUENCY, APD_SENDMAIL_TO_OWNER, and APD_INCLUDE_SUB_ORGS columns.

  • Modified for grace period on the Attestation Detail page.

Attestation Definition

public AttestationProcessDefinitionVO getAttestationProcessDefinition(long processDefKey) throws tcAPIException, AttestationProcessNotFoundException

  • Added fields for reviewer first name and reviewer last name.

  • Changed the method signature so that it returns AttestationProcessDefinitionVO object instead of AttestationProcessDefinition object.

  • Modified to return the fields from the XML.

Attestation Definition

public void updateAttestationDefinition(long processDefKey, AttestationProcessDefinitionVO definition) throws DuplicateAttestationProcessException, tcInvalidPermissionsException, tcAPIException, AttestationProcessNotFoundException

  • Changed the method signature to accept AttestationProcessDefinitionVO object instead of AttestationProcessDefinition object.

  • Added code to modify data in the column apd_attestation_definition.

  • Removed the insertion for the APD_DESCRIPTION, APD_SCOPE_TYPE, APD_SCOPE_PARAMETER, APD_SCHEDULE_TYPE, APD_SCHEDULE_FREQUENCY, APD_SENDMAIL_TO_OWNER, and APD_INCLUDE_SUB_ORGS columns.

  • Modified for grace period on the Attestation Detail page.

Attestation Definition

public tcResultSet getUnassignedAdministrators(long processDefKey) throws tcAPIException, AttestationProcessNotFoundException

  • Modified SQL statements to handle a situation where there are more than 1000 groups in the IN clause

  • Fixed the issue of duplicate groups being displayed when assigning administrators to attestation process

Attestation Definition

public tcResultSet findAttestationProcesses(Map attributes) throws tcAPIException

  • Modified SQL statements to handle a situation where there are more than 1000 groups in the IN clause

  • Removed the search on the basis of scope parameter and scope type.

Attestation Definition

public void enableAttestationDefinition(long processDefKey) throws tcInvalidPermissionsException, tcAPIException

Takes data from the XML and gets ScheduleType from AttestationProcessDefinitionVO.

Attestation

public tcResultSet getAttRequestDetailsForDashBoard(long attestationRequestKey, String attestationresponse, int startRow, int pageSize) throws tcAPIException

Modified call to the changed Xl_Sp_Getattreqdtls_For_Dboard stored procedure to include the Attestation Record Status.

Attestation

public void submitReponses(long attestationTaskKey, AttestationItemResponse [] responses, String defaultDelegate, String defalutComment) throws TaskAlreadyAttestedException, tcAPIException, tcInvalidPermissionsException, UnknownAttestationRecordResponse

  • Modified for the query to check if the logged in user is a reviewer or a member of the process owner group.

  • Added check to see if the logged in user is a reviewer or a member of the process owner group.

Attestation

public tcResultSet getRequestDetailsForDashBoard(long attestationRequestKey, Map attributes, int startRow, int pageSize) throws tcAPIException

Updated the stored procedure and accordingly the parameters passed to it, to take care of the filter criteria when searching the attestation details.

Attestation

public tcResultSet getAttestationRecordDelegatedPath(long recordKey) throws tcAPIException, AttestationRecordNotDelegatedException

Updated code to show the delegation path. This takes care of instances where the same attestation request is now delegated multiple times, either by the reviewer or by the system.

Attestation

public tcResultSet getAttestationRequestDetails(long attestationRequestKey, Map attributes, int startRow, int pageSize) throws tcAPIException

Updated the stored procedure and accordingly the parameters passed to it, to take care of the filter criteria while searching the attestation details.

Attestation

public tcResultSet getAttestationProcessExecutionHistory(long processDefKey) throws tcAPIException, AttestationProcessNotFoundException

  • Updated the code to remove the Scope type parameter check.

  • Fixed the issue in which an exception was thrown when running an attestation process when Reviewer was selected as Group User with Highest Priority.

Attestation

public void initiateAttestationProcess(String processName) throws tcAPIException, tcInvalidPermissionsException, AttestationProcessNotFoundException

Fixed the issue in which an exception was thrown when running an attestation process when Reviewer was selected as Group User with Highest Priority.

Access Policy

public void assignGroups(long policyKey, long[] groupKeys) throws tcPolicyNotFoundException, tcBulkException, tcAPIException

  • Fixed to avoid changing the Retrofit Access Policy option in Access Policies to No, although it is set to Yes if a new assignment is done or entries in other sets, such as resources to be assigned or revoked, are unassigned.

  • Enhanced error handling mechanism so that if a user, who does not have write permissions, tries to update an access policy, then an appropriate error message is generated.

Access Policy

public void assignObjects(long policyKey, long[] objectKeys, Map attributeList) throws tcPolicyNotFoundException, tcBulkException,tcInvalidAttributeException, tcAPIException

  • Fixed to avoid changing the Retrofit Access Policy option in Access Policies to No, although it is set to Yes if a new assignment is done or entries in other sets, such as resources to be assigned or revoked, are unassigned.

  • Enhanced error handling mechanism so that if a user, who does not have write permissions, tries to update an access policy, then an appropriate error message is generated.

Access Policy

public void unAssignGroups(long policyKey, long[] groupKeys) throws tcPolicyNotFoundException, tcAPIException, tcBulkException

  • Fixed to avoid changing the Retrofit Access Policy option in Access Policies to No, although it is set to Yes if a new assignment is done or entries in other sets, such as resources to be assigned or revoked, are unassigned.

  • Enhanced error handling mechanism so that if a user, who does not have write permissions, tries to update an access policy, then an appropriate error message is generated.

Access Policy

public void unAssignObjects(long policyKey, long[] objectKeys) throws tcPolicyNotFoundException, tcAPIException, tcBulkException

  • Fixed to avoid changing the Retrofit Access Policy option in Access Policies to No, although it is set to Yes if a new assignment is done or entries in other sets, such as resources to be assigned or revoked, are unassigned.

  • Enhanced error handling mechanism so that if a user, who does not have write permissions, tries to update an access policy, then an appropriate error message is generated.

Access Policy

public void updateAccessPolicy(tcResultSet accessPolicyResultSet, Map attributeList) throws tcPolicyNotFoundException, tcInvalidAttributeException, tcAPIException

Enhanced error handling mechanism so that if a user, who does not have write permissions, tries to update an access policy, then an appropriate error message is generated.

Access Policy

public long createAccessPolicy(Map attributeList, long[] provObjKeys, boolean[] revokeObjectIfNotApply, long[] denyObjKeys, long[] groupKeys) throws tcObjectNotFoundException, tcGroupNotFoundException, tcInvalidAttributeException, tcAPIException

Enhanced error handling mechanism so that when creating an access policy, if a user selects Revoke if no longer applies and also selects a resource to deny, then an appropriate error message is generated.

Access Policy

public void setDataSpecifiedForObject(long policyKey, long objectKey, long formKey, AccessPolicyResourceData resourceData) throws tcPolicyNotFoundException, tcObjectNotAssignedException, tcAPIException

Changed the API to ensure that the policy data is stored in the correct format on the parent and child forms. If a type is a date field and cannot be parsed by using Time stamp, then the time stamp 00:00:00.000000 is added to it.

Form Instance

public void setProcessFormData(long plProcessInstanceKey, Map phAttributeList) throws tcAPIException, tcInvalidValueException, tcNotAtomicProcessException, tcFormNotFoundException, tcRequiredDataMissingException, tcProcessNotFoundException

Enhanced error handling so that the appropriate tcAPIException is generated to the calling function to more effectively surface the correct error.

Form Instance

public long addProcessFormChildData(long plChildFormDefinitionKey, long plProcessInstanceKey, Map phAttributeList) throws tcProcessNotFoundException, tcFormNotFoundException, tcRequiredDataMissingException, tcInvalidValueException, tcNotAtomicProcessException, tcAPIException

Enhanced error handling capability to more effectively surface the correct error.

Form Instance

public void setObjectFormData(long plObjectInstanceKey, UDFormData resourceData) throws tcAPIException, tcInvalidValueException, tcRequiredDataMissingException, tcObjectNotFoundException, tcFormNotFoundException

Enhanced error handling capability to more effectively surface the correct error to avoid displaying the Edit link under the Data column in the Request Detail page.

Form Instance

public void updateObjectFormChildData(long plChildFormDefinitionKey, long plChildFormPrimaryKey, Map phAttributeList) throws tcFormNotFoundException, tcFormEntryNotFoundException, tcInvalidValueException, tcAPIException

Enhanced error handling capability to more effectively surface the correct error to avoid displaying the Edit link under the Data column in the Request Detail page.

IT Resource Instance

public void updateITResourceInstanceParameters(long plITResourceInstanceKey, Map attributes) throws tcITResourceNotFoundException, tcInvalidAttributeException, tcAPIException

Modified to add support for allowing semicolon (;) in IT Resource input fields in Deployment Manager.

IT Resource Instance

public tcResultSet getITResourceInstanceParameters( long plITResourceInstanceKey) throws tcITResourceNotFoundException, tcAPIException

Fixed to avoid returning duplicate rows if administrator is part of more than one group.

Group

public tcResultSet findGroups(Map phAttributeList) throws tcAPIException

Fixed to avoid searching integer or date type UDF on Manage Group page.

Group

public long createGroup(Map phAttributes) throws tcAPIException, tcDuplicateGroupException, tcInvalidAttributeException

Modified to ensure that a group name entered by the creator of the group is stored. It also ensures that the same user cannot create two groups that differ only in casing.

Group

public void updateAdministrator(long plGroupKey, long plAdminGroupKey, boolean pbWrite, boolean pbDelete) throws tcAPIException, tcGroupNotFoundException, tcAdminNotFoundException

Modified to add handling for delete permission passed as a parameter.

Group

public tcResultSet getUnassignedMemberGroups(long groupKey, Map attributeMap) throws tcGroupNotFoundException, tcAPIException

Added support for searching on UDF fields.

Group

public tcResultSet getUnassignedMemberUsers(long groupKey, Map attributeMap) throws tcGroupNotFoundException, tcAPIException

Added support for searching on UDF fields.

Group

public void addObjectPermission(long plGroupKey, long plDobKey, boolean insertAllow, boolean updateAllow, boolean deleteAllow) throws tcAPIException, tcGroupNotFoundException, tcDataObjectNotFoundException

Fixed to set permissions correctly.

Group

public void updateObjectPermission(long groupKey, long dobKey, Map attribute) throws tcAPIException, tcGroupNotFoundException, tcDataObjectNotFoundException

Fixed to set permissions correctly.

Group

public void addMemberUser(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Added check so that the user is added to the group only if it is not already present.

Group

public void addMemberUsers(long plGroupKey, long[] paUserKeys) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Added check so that the users areadded to the group only if they are not already present.

Group

public void removeMemberUser(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Added check so that the user is removed from the group only if it is currently present in the group.

Group

public void removeMemberUsers(long plGroupKey, long[] paUserKeys) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Added check so that the users are removed from the group only if they are currently present in the group.

Group

public void removeObjectPermissions(long groupKey, long[] dobKeys) throws tcAPIException, tcGroupNotFoundException, tcDataObjectNotFoundException, tcBulkException

Fixed the issue in which the search on the Manage Group page was not configurable.

Import

public void performImport(Collection col) throws DDMException, SQLException, NamingException

  • Enhanced to automatically compile the adapters when importing them by using the Deployment Manager.

  • Enhanced Error handling to surface adapter compilation errors to API level. Changed signature to add the throws clause for tcBulkException.

  • Changed signature to add the throws clause for tcBulkException.

Import

public Collection findITResourceTypeParams(RootObject obj) throws SQLException, DDMException

Fixed issue in which a user can enter password, and the password is shown in plain text when importing an IT resource with the password field

Lookup

public String getLookupCodeForColumn(String psColumnCode ) throws tcAPIException, tcInvalidColumnException, tcNoLookupException

Fixed to stop by using the lookupQuery option for a lookup field, which displays encoded values. The issue is now fixed to display decoded values for the field.

Lookup

public tcResultSet getLookupValuesForColumn(String psColumnCode, Map poFilters, long obiOrOrcKey, ProvisioningData provData) throws tcAPIException, tcInvalidColumnException, tcNoLookupException

Fixed the failure to handle the user-defined lookup fields with an exception when creating a user.

Lookup

public tcResultSet getLookupValuesForColumn(String psColumnCode, Map poFilters) throws tcAPIException, tcInvalidColumnException, tcNoLookupException

Fixed the failure to handle the user-defined lookup fields with an exception when creating a user.

Lookup

public tcResultSet getLookupValuesForColumn(String psColumnCode, Map poFilters, long obiOrOrcKey) throws tcAPIException, tcInvalidColumnException, tcNoLookupException

Fixed the failure to handle the user-defined lookup fields with an exception when creating a user.

Lookup

public tcResultSet getLookupValuesForColumn(String psColumnCode, Map poFilters, ProvisioningData provData) throws tcAPIException, tcInvalidColumnException, tcNoLookupException

Fixed the failure to handle the user-defined lookup fields with an exception when creating a user.

Resource

public tcResultSet findObjects(Map phAttributeList) throws tcAPIException

  • Added handling of Resource Audit Objective as a search criteria. This is fixed to avoid searching integer or date type UDF on Manage Group page.

  • Enhanced to return the column OBJ_TRUSTED_SOURCE in the result set.

Resource

public tcResultSet getProcessesForObject(long objectKey) throws tcAPIException, tcObjectNotFoundException

Added the Process.Process Definition.Process Key column to the returned tcResultSet. The API is changed so that permissions are set and only those workflows are returned, on which the logged in user has permissions.

Resource

public tcResultSet getServiceAccountList(long objectKey, Map filterMap) throws tcObjectNotFoundException, tcAPIException

Modified query to fix issue concerning duplicate rows returned by this method.

Resource

public tcResultSet getAssociatedOrganizations(long objectKey, Map attributeMap) throws tcObjectNotFoundException, tcAPIException

  • Fixed the issue of the API not returning data for the Waiting status.

  • Changed to add support for allowing semi-colon (;) in IT Resource input fields in Deployment Manager.

Resource

public tcResultSet getAssociatedUsers(long objectKey, Map attributeMap) throws tcObjectNotFoundException, tcAPIException

  • Fixed the issue of the API not returning data for the Waiting status.

  • Fixed the issue of duplicate records being returned by the API.

  • Fixed the issue in which resources with Waiting and Revoked statuses were not displayed on the Resource Detail >> Users Associated With This Resource page.

  • Changed to add support for allowing semicolon (;) in IT Resource input fields in the Deployment Manager.

Resource

public tcResultSet getAssociatedOrganizations(long objectKey, Map attributeMap) throws tcObjectNotFoundException, tcAPIException

Fixed known issues in the code with SQL-injection and cross-site scripting attack possibilities.

A New System property XL.UseSemiColonAsDelimiter is added. This property is used to specify if semicolon should be used as a delimiter to the API input parameter values. Some APIs accepted String input values that were separated by semicolon. This has been changed to use a vertical bar "|" instead. To keep backward compatibility, this new property can be used to go back to using semicolons. The default value is FALSE signifying usage of "|". When set to TRUE, the input for those APIs will be accepted with semicolon as separator.

Resource

public tcResultSet getAssociatedUsers(long objectKey, Map attributeMap) throws tcObjectNotFoundException, tcAPIException

Fixed known issues in the code with SQL-injection and cross-site scripting attack possibilities.

A New System property XL.UseSemiColonAsDelimiter is added. This property is used to specify if semicolon should be used as a delimiter to the API input parameter values. Some APIs accepted String input values that were separated by semicolon. This has been changed to use a vertical bar "|" instead. To keep backward compatibility, this new property can be used to go back to using semicolons. The default value is FALSE signifying usage of "|". When set to TRUE, the input for those APIs will be accepted with semicolon as separator.

Organization

public tcResultSet findOrganizations(Map phAttributeList) throws tcAPIException

Fixed to avoid searching integer or date type UDF on Manage Organization page.

Organization

public tcResultSet getSubOrganizations(long plOrganizationKey) throws tcAPIException, tcOrganizationNotFoundException

Added permission check so that if the logged in user, who is running the API, is not an administrator of a given sub organization, then the API must not return that organization.

Organization

public tcResultSet findOrganizationsFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException

Fixed potential SQL Injection issue.

Password

public void setXelleratePassword(long plUserKey, String psPassword) throws tcAPIException, tcPolicyFailedException

  • Enhanced error handling so that correct exception is thrown depending on the error.

  • Fixed so that the API method now throws tcPolicyFailedException when password policy fails instead of tcAPIException.

Reconciliation

The change has been made in all four versions of this method:

- public long addDirectMultiAttributeData(long plReconciliationEventKey, String psFieldName, Map poData, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

- public long addDirectMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, Map poData, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

- public long addDirectMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, Map poData) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

- public long addDirectMultiAttributeData(long plReconciliationEventKey, String psFieldName, Map poData) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

Fixed date parsing exception to clear an existing value of a date field through reconciliation.

Reconciliation

The change has been made in all four versions of this method:

- public long addMultiAttributeData(long plReconciliationEventKey, String psFieldName, Map poData, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

- public long addMultiAttributeData(long plReconciliationEventKey, String psFieldName, Map poData) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

- public long addMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, Map poData, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

- public long addMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, Map poData) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

Fixed date parsing exception to clear an existing value of a date field through reconciliation.

Reconciliation

The change has been made in both versions of this method:

- public long createDeleteReconciliationEvent(String psObjName, Map poAttributeList) throws tcAPIException, tcObjectNotFoundException

- public long createDeleteReconciliationEvent(String psObjName, Map poAttributeList, String psDateFormat) throws tcAPIException, tcObjectNotFoundException

  • Fixed date parsing exception to clear an existing value of a date field through reconciliation.

  • Fixed to avoid storing of the values of the reconciliation data fields mapped to encrypted or password type fields in the rce_note field of the rce table when a reconciliation event is created.

Reconciliation

The change has been made in both versions of this method:

- public long createReconciliationEvent(String psObjectName, Map poData, boolean pbFinishEvent) throws tcAPIException, tcObjectNotFoundException

- public long createReconciliationEvent(String psObjectName, Map poData, boolean pbFinishEvent, String psDateFormat) throws tcAPIException, tcObjectNotFoundException

  • Fixed date parsing exception to clear an existing value of a date field through reconciliation.

  • Fixed to avoid storing of the values of the reconciliation data fields mapped to encrypted or password type fields in the rce_note field of the rce table when a reconciliation event is created.

Reconciliation

The change has been made in both versions of this method:

- public boolean ignoreEvent(String psObjName, Map poData) throws tcAPIException, tcObjectNotFoundException

- public boolean ignoreEvent(String psObjName, Map poData, String psDateFormat) throws tcAPIException, tcObjectNotFoundException

Fixed date parsing exception to clear an existing value of a date field through reconciliation.

Reconciliation

The change has been made in all four versions of this method:

- public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, String psFieldName, List dataList) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

- public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, String psFieldName, List dataList, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

- public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, List dataList) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

- public void addDirectBulkMultiAttributeData(long reconciliationEventKey, long reconciliationAttributeKey, String tableFieldName, List dataList, String dateFormat) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

Fixed to maintain the correct casing of the field names in child tables.

Reconciliation

public long[] deleteDetectedAccounts(tcResultSet poDetectedAccounts) throws tcAPIException

Fixed the timing out of the transaction for creating delete reconciliation events. The API is modified to perform the following:

  • Create reconciliation events in the RCE table for each missing account.

  • Add matched user, organization, or process to the RCU, RCA, or RCP tables as appropriate.

  • Create and send a JMS message for each delete reconciliation event in a single transaction. The delete reconciliation events are then finished in the JMS message handler.

Reconciliation

public void providingAllMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, boolean pbFlag) throws tcAPIException

Fixed to enable reconciliation when there are no key fields defined for a multi-attribute. If providingAllMultiAttributeData() is used with true flag after calling addMultiAttributeData(), addDirectMultiAttributeData(), or addDirectBulkMultiAttributeData(), then reconciliation of child table data occurs even if the child table does not contain any field as the key field. Therefore, whether or not the child table contains any key field, the RECON engine pushes this child table data to Oracle Identity Manager because the multi-attribute data passed is the final data.

Reconciliation

public void changePasswordForUser(String psUserID, String psOldPassword, String psNewPassword, String psConfirmPassword) throws tcAPIException, tcPasswordIncorrectException, tcPasswordMismatchException, tcPasswordPolicyException, tcUserAccountInvalidException, tcUserAccountDisabledException

Added enhancement to enable recording UPA changes when password for a user is changed.

Reconciliation

public void login(String psUser, String psPassword) throws tcLoginException

Added enhancement to enable recording UPA changes when any error occurs while the user is logging in.

Reconciliation

public boolean resetForgottenPassword(String psUserID, Map poQuesAns, String psPassword) throws tcAPIException, tcUserAccountDisabledException, tcUserAccountInvalidException, tcNumberOfChallengesMismatchException, tcQuestionsNotDefinedException, tcPasswordIncorrectException, tcPasswordMismatchException, tcPasswordPolicyException, tcPasswordResetAttemptsExceededException, tcUserAlreadyLoggedInException

Added enhancement to enable recording UPA changes when the user's password is reset.

Reconciliation

public void signatureLogin(String psUser, String psSignature) throws tcLoginException

Added enhancement to enable recording UPA changes when any error occurs while the user is logging in.

Reconciliation

public boolean ignoreEventAttributeData(String psObjName, Map poData, String psFieldName, Map[] paoAttributeDataList) throws tcAPIException, tcObjectNotFoundException

Fixed the issue in which the user was not able to change the value of the date type field to null or empty.

Reconciliation

public boolean ignoreEventAttributeData(String psObjName, Map poData, String psFieldName, Map[] paoAttributeDataList, String psDateFormat) throws tcAPIException, tcObjectNotFoundException

Fixed the issue in which the user was not able to change the value of the date type field to null or empty.

User

public tcResultSet findAllUsers(Map phAttributeList) throws tcAPIException

Fixed to prevent search results showing multiple entries of the same user, as many as the number of times the resource is provisioned to the user, when a user is provisioned with multiple instances of a resource object, if the search criteria Provisioned Resources = <OBJECT_NAME> is used.

User

public tcResultSet findUsersFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException

  • Fixed to avoid searching integer or date type UDF on Manage Users page returning all the data.

  • Fixed to prevent search results showing multiple entries of the same user, as many as the number of times the resource is provisioned to the user, when a user is provisioned with multiple instances of a resource object, if the search criteria Provisioned Resources = OBJECT_NAME is used.

  • Fixed the potential SQL injection issue

User

public tcResultSet findUsersFiltered(Map phAttributeList, String[] pasFieldList, int startRow, int pageSize, String[] order, boolean ascendingOrder) throws tcAPIException

  • Fixed to avoid searching integer or date type UDF on Manage Users page returning all the data.

  • Fixed to prevent search results showing multiple entries of the same user, as many as the number of times the resource is provisioned to the user, when a user is provisioned with multiple instances of a resource object, if the search criteria Provisioned Resources = OBJECT_NAME is used.

User

public void disableAppsForUser(long plUserKey, long[] paObjectInstancesForUserKey) throws tcObjectNotFoundException, tcUserNotFoundException, tcAPIException, tcBulkException

  • Fixed to set the description correctly for bulk disable, enable, or revoke operations for resource instances.

  • Fixed to avoid updates on deleted users.

User

public void enableAppsForUser(long plUserKey, long[] paObjectInstancesForUserKey) throws tcObjectNotFoundException, tcUserNotFoundException, tcAPIException, tcBulkException

Fixed to set the description correctly for bulk disable, enable, or revoke operations for resource instances.

User

public void revokeObjects(long plUserKey, long[] paObjectInstancesForUserKey) throws tcAPIException, tcObjectNotFoundException, tcRevocationNotAllowedException, tcUserNotFoundException, tcBulkException

  • Fixed to set the description correctly for bulk disable, enable, or revoke operations for resource instances.

  • Fixed to avoid updates on deleted users.

User

public void changeFromServiceAccount(long plObjectInstanceForUserKey) throws tcAPIException

Fixed to surface error correctly from the API layer to run the Pre-Delete entity adapter.

User

public void changeToServiceAccount(long plObjectInstanceForUserKey) throws tcAPIException

Fixed to surface error correctly from the API layer to run the Pre-Delete entity adapter.

User

public void deleteUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

  • Fixed to surface error correctly from the API layer to run the Pre-Delete entity adapter.

  • Fixed to avoid updates on deleted users.

User

public void enableUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

  • Fixed to surface error correctly from the API layer to run the Pre-Delete entity adapter.

  • Fixed to avoid updates on deleted users.

User

public void deleteProxies(long userKey) throws tcAPIException, tcUserNotFoundException

Fixed to avoid updates on deleted users. Date validation techniques are also enhanced.

User

public void deleteUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

Fixed to avoid updates on deleted users.

User

public void disableAppForUser(long plUserKey, long plObjectInstanceForUserKey) throws tcObjectNotFoundException, tcUserNotFoundException, tcAPIException

Fixed to avoid updates on deleted users.

User

public void disableUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

Fixed to avoid updates on deleted users.

User

public void disableUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

Fixed to avoid updates on deleted users.

User

public void enableAppForUser(long plUserKey, long plObjectInstanceForUserKey) throws tcObjectNotFoundException, tcUserNotFoundException, tcAPIException

Fixed to avoid updates on deleted users.

User

public void enableAppsForUser(long plUserKey, long[] paObjectInstancesForUserKey) throws tcObjectNotFoundException, tcUserNotFoundException, tcAPIException, tcBulkException

Fixed to avoid updates on deleted users.

User

public void enableUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

Fixed to avoid updates on deleted users.

User

public long provisionObject(long plUserKey, long plObjectKey, boolean pbServiceAccount) throws tcAPIException, tcObjectNotFoundException, tcProvisioningNotAllowedException, tcUserNotFoundException

  • Fixed to avoid updates on deleted users.

  • Enhanced to redirect the user to the appropriate page if direct provisioning fails because of incomplete adapter mappings.

User

public ResourceData provisionResource(long plUserKey, long plObjectKey, boolean pbServiceAccount) throws tcAPIException, tcObjectNotFoundException, tcProvisioningNotAllowedException, tcUserNotFoundException

Fixed to avoid updates on deleted users.

User

public void revokeObject(long plUserKey, long plObjectInstanceForUserKey) throws tcAPIException, tcObjectNotFoundException, tcRevocationNotAllowedException, tcUserNotFoundException

Fixed to avoid updates on deleted users.

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

Fixed to avoid updates on deleted users.

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList,boolean changePassword) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

Fixed to avoid updates on deleted users.

Provisioning

public tcResultSet getProcessDetail(long plProcessInstanceKey) throws tcAPIException, tcNotAtomicProcessException

  • Added the Process Instance.Task Information.Assign Type column to the returned tcResultSet.

  • Ordered the list of tasks by the task status

  • Fixed the issue in which a task instance that was already retried and failed resulting in addition of another task instance was still available for retrying. If a task instance is already retried, then it must not be allowed to retry.

Provisioning

public tcResultSet getTasksAvailableForUpdate (long taskInstanceKey) throws tcAPIException

Fixed to provide the ability to cancel a task with Rejected status. If a task has Rejected status, it can be canceled from the Change Status functionality on the Task Details page.

Provisioning

public tcResultSet getAssignedProvisioningTasks(long userKey, Map attributeList, String[] statuses) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Improved the performance of the API so that the Open Tasks page does not take a long time to load.

Provisioning

public int getNumberOfProvisioningTasksAssignedToUser(long userKey, String[] statuses) throws tcUserNotFoundException, tcAPIException

Improved the performance of the API so that the Open Tasks page does not take a long time to load.

Provisioning

public tcResultSet getProvisioningTaskDetails(long taskInstanceKey) throws tcAPIException

Enhanced to return the Process Instance.Task Information.Assign Type column in the result set.

Provisioning

public long addProcessTaskInstance(long plTaskKey, long plOrcKey) throws tcTaskNotFoundException, tcAPIException

Fixed the API to prevent addition of any task after the resource status is set to revoked.

Provisioning

public void updateTask(long plTaskInstanceKey, Map phAttributeList) throws tcTaskNotFoundException, tcAPIException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException

Fixed to refresh the Request Details page when a task is approved and the subsequent tasks that get inserted do not have adapters mapped.

Provisioning

public void updateTask(long taskInstanceKey, byte[] taskInstanceRowVer, Map phAttributeList) throws tcTaskNotFoundException, tcAPIException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException, tcStaleDataUpdateException

Fixed to refresh the Request Details page when a task is approved and the following tasks that get inserted have adapters mapped.

Request

public tcResultSet getApprovalTasksAssignedToUser(long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

Fixed to prevent all the users of the group to act on an approval request even if the Target Type is Group User with Highest Priority.

Request

public tcResultSet getApprovalTasksAssigned(Map attributeList) throws tcAPIException, tcAttributeNotFoundException

Enhanced performance.

Request

public tcResultSet findRequests(Map phAttributeList, Date startDate, Date endDate) throws tcAPIException

  • Enhanced so that the API method can search by Requester.User ID.

  • Fixed so that the API works correctly on Microsoft SQL Server.

    Note: Microsoft SQL Server is not supported in Oracle Identity Manager release 9.1.0.

  • Enhanced performance by removing call to the upper() function when not required.

  • Enhanced so that the API method specifies the meridian indicator in the correct format, that is A.M. or AM and P.M. or PM.

Request

public tcResultSet findRequests(Map phAttributeList) throws tcAPIException

  • Enhanced so that the API method can search by Requester.User ID.

  • Fixed so that the API works correctly on Microsoft SQL Server.

    Note: Microsoft SQL Server is not supported in Oracle Identity Manager release 9.1.0.

  • Enhanced performance by removing call to the upper() function when not required.

  • Enhanced so that the API method specifies the meridian indicator in the correct format, that is A.M. or AM and P.M. or PM.

Request

public tcResultSet findRequests(Map phAttributeList, int startRow, int pageSize, String[] order, boolean ascendingOrder, Date startDate, Date endDate) throws tcAPIException

Fixed date-related issue by specifying a valid meridian indicator.

Request

public tcResultSet findRequests(Map phAttributeList, int startRow, int pageSize, String[] order, boolean ascendingOrder) throws tcAPIException

Fixed date-related issue by specifying a valid meridian indicator.

Request

public tcResultSet getApprovalTasksAssignedToSubgroups(long userKey, Map attributeMap, boolean hierarchyOrder) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Fixed the performance of the API so that the Pending Approvals page does not take a long time load.

Request

public tcResultSet getApprovalTasksAssignedToUser(long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

Fixed the performance of the API so that the Pending Approvals page does not take a long time load.

Request

public int getNumberOfApprovalTasksAssignedToUser(long userKey, String[] statuses) throws tcUserNotFoundException, tcAPIException

Fixed the performance of the API so that the Pending Approvals page does not take a long time load.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Date pdEndDate) throws tcAPIException, tcUserNotFoundException

  • Fixed to avoid errors on the Requests Raised for Me page when filter criteria is used.

  • Fixed date-related issue by specifying a valid meridian indicator.

  • Enhanced so that the API method specifies the meridian indicator in the correct format, that is A.M. or AM and P.M. or PM.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Map attributeList, Date startDate, Date endDate) throws tcAPIException, tcUserNotFoundException

  • Fixed to avoid errors on the Requests Raised for Me page when filter criteria is used.

  • Fixed date-related issue by specifying a valid meridian indicator.

  • Enhanced so that the API method specifies the meridian indicator in the correct format, that is A.M. or AM and P.M. or PM.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Map attributeList) throws tcAPIException, tcUserNotFoundException

API now specifies the meridian indicator in the correct format, A.M. or AM and P.M. or PM.

Request

public long addRequestObject(long plRequestKey, long plObjectKey, boolean pbServiceAccount) throws tcAPIException, tcRequestNotFoundException, tcRequestObjectInvalidException

  • Fixed the issue that occurred when requesting two resources, out of which one was dependent on the other, and the Allow Multiple was cleared for parent resource.

  • Fixed the issue in which if a resource is dependent on another resource and if both are requested together, then the Approval Task is displayed twice.

Request

public void requestMoreInfoFromUserWithCommentForResource(long plRequestKey, long plUserKey, long plObjectKey, String psComment) throws tcAPIException, tcInvalidResponseException, tcRequestApprovedException

Fixed the issue in which the date when a comment was added to a request was wrong.

Request

public long addRequestObject(long plRequestKey, long plObjectKey) throws tcAPIException, tcRequestNotFoundException, tcRequestObjectInvalidException

This method has been deprecated in this release.

Workflow Definition

public WorkflowDefinition getWorkflowDefinition(String workflowName) throws tcAPIException

Removed the uppercase conversion of the workflow name because it might cause issues for non-ASCII characters.


2.3 New and Modified APIs When Upgrading from 9.0.1.x to 9.1.0

For information about the APIs when upgrading from Oracle Identity Manager 9.0.1.x to 9.1.0, see Oracle Identity Manager API Usage Guide for release 9.0.3.

Note:

For customers upgrading from Oracle Identity Manager release 9.0.3 to release 9.1.0, the APIs referred to in this section are in addition to those introduce and modified in 9.1.0 and are listed in the "APIs Introduced in Release 9.1.0" section and the "APIs Modified in Release 9.1.0" section respectively.

2.4 New and Modified APIs When Upgrading From 9.0.3.x to 9.1.0

This section is divided into the following:

Note:

For customers upgrading from Oracle Identity Manager release 9.0.3 to release 9.1.0.1, the APIs listed in this section are in addition to those introduced and modified in 9.1.0 and are listed in the "APIs Introduced in Release 9.1.0" section and the "APIs Modified in Release 9.1.0" section respectively.

2.4.1 New APIs

Table 2-3 lists the new APIs when upgrading from Oracle Identity Manager release 9.0.3.x to 9.1.0.

Table 2-3 New APIs When Upgrading from Oracle Identity Manager Release 9.0.3.x to 9.1.0

Operation API Method Description

Task Definition

public tcResultSet getTaskDetail(long processInstanceKey, Map filterMap) throws tcAPIException

Returns detailed information about all the task definitions in the specified provisioning process.

E-mail

public String getEmailAddressForGroup(long plGroupKey) throws tcAPIException, tcNoEmailAddressException

Returns the e-mail address associated with a user group.

Group

public tcResultSet getAllMembers(long plGroupKey, int startRow, int pageSize, String order, boolean ascendingOrder) throws tcAPIException, tcGroupNotFoundException

Gets a list of all users and groups that are member of the specified group by direct inclusion only. Users and groups under subgroups of the specified group are not included.

Group

public tcResultSet getAllMemberUsersAndGroups(long plGroupKey, int startRow, int pageSize, String order, boolean ascendingOrder) throws tcAPIException, tcGroupNotFoundException

Gets a list of all users and groups that are members of the specified group by direct and indirect inclusion.

Organization

public void updateOrganization(tcResultSet poOrgResultSet, Map phAttributeList) throws tcAPIException, tcOrganizationNotFoundException, tcStaleDataUpdateException

Updates an organization in Oracle Identity Manager. This method is in addition to the existing updateOrganization method that takes organization key and attribute map as parameters. This method handles multiple users updating organizations at the same time by providing a locking mechanism.

Reconciliation

public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, String psFieldName, List dataList) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

Adds data for multi-valued attributes in child tables for a reconciliation event. The data provided pertains to multiple child records. This API bypasses the data object layer for improved performance.

Reconciliation

public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, String psFieldName, List dataList, String psDateFormat) throws tcAPIException, tcEventNotFoundException, tcEventDataReceivedException

Adds data for multi-valued attributes in child tables for a reconciliation event. The data provided pertains to multiple child records. This API bypasses the data object layer for improved performance.

Reconciliation

public void addDirectBulkMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, List dataList) throws tcAPIException, tcEventNotFoundException, tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

Adds data for multi-valued attributes in child tables for a reconciliation event. The data provided pertains to multiple child records. This API bypasses the data object layer for improved performance.

Reconciliation

public void addDirectBulkMultiAttributeData(long reconciliationEventKey, long reconciliationAttributeKey, String tableFieldName, List dataList, String dateFormat) throws tcAPIException, tcEventNotFoundException,tcAttributeNotFoundException, tcEventDataReceivedException, tcInvalidAttributeException

Adds data for multi-valued attributes in child tables for a reconciliation event. The data provided pertains to multiple child records. This API bypasses the data object layer for improved performance.

User

public tcResultSet getProxyList(Map attributeMap, String[] fieldList) throws tcUserNotFoundException, tcAPIException

Returns a result set of the proxy users for the user whose key is passed in. This API checks for the presence of a system property called XL.CustomProxyClassName. If this system property is set, then the value of this system property is the class name, which the API introspects and instantiates to get the custom proxies. If this system property is not set, then the API returns the list of proxies in the manner that is default in Oracle Identity Manager.

User

public tcResultSet getChallengeValuesForUser(long userKey) throws tcAPIException, tcQuestionsNotDefinedException, tcUserNotFoundException

Returns challenge questions and answers in the form of a result set for the given user.

Provisioning

public tcResultSet getProvisioningTasksAssignedToSubgroups(long userKey, Map attributeList, String[] statuses, boolean hierarchyOrder) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the assigned provisioning tasks that are visible to the specified user based on the user's indirect group membership. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set.

Provisioning

public tcResultSet getTaskHistory(long taskKey) throws tcAPIException

Returns a history of the assignment of the indicated task.

Provisioning

public tcResultSet getTasksAvailableForUpdate (long taskInstanceKey) throws tcAPIException

Returns task status and bucket against task instance key that are available for update. It is based on the current status of the task.

Provisioning

public void reassignTasksToUser(long[] taskInstanceKeys, byte[][] taskInstanceRowvers, long userKey) throws tcAPIException, tcUserNotFoundException, tcTaskNotFoundException, tcStaleDataUpdateException, tcBulkException

Reassigns the selected tasks to the specified user. This version of the API is introduced to have optimistic locking. When multiple users try to reassign the task at the same time, then the first user succeeds and others fail.

Provisioning

public void reassignTasksToGroup(long[] taskInstanceKeys, byte[][] taskInstanceRowvers, long groupKey) throws tcAPIException, tcGroupNotFoundException, tcTaskNotFoundException, tcStaleDataUpdateException, tcBulkException

Reassigns the selected tasks to the specified group. This version of API is introduced to have optimistic locking. When multiple users try to reassign the task at the same time, then the first user succeeds and others fail.

Provisioning

public void updateTask(long taskInstanceKey, byte[] taskInstanceRowVer, Map phAttributeList) throws tcTaskNotFoundException, tcAPIException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException, tcStaleDataUpdateException

Updates the details of a specified task instance. This version of API is introduced to have optimistic locking. When multiple users try to update the task at the same time, the first user succeeds and others fail.

Request

public tcResultSet findObjects(String actionType, String[] targetKeys, String type, String[] statusesIn, String[] statusesNotIn, Map searchCriteria) throws tcAPIException

Returns all resource objects based on the parameters.

Request

public tcResultSet getApprovalTasksAssignedToSubgroups(long userKey, Map attributeMap, boolean hierarchyOrder) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Returns a list of all the pending approval tasks that are visible to the specified user based on the user's indirect group membership. The attributeList parameter contains the name-value pairs used to filter the results returned by the result set. This method looks at both the standard approval and object approval processes and returns a resultset of the tasks from both the processes.

Request

public int getNumberOfRequestsCreatedByUser(Map phAttributeMap) throws tcUserNotFoundException, tcAPIException

Returns the number of requests that is created by a specific user.

Request

public RequestDetail getRequestDetail(String requestKey,String requestID)

Returns all the request details by request key.

Request

public tcResultSet findRequests(Map phAttributeList, Date startDate, Date endDate) throws tcAPIException

Returns a list of requests that match the provided attribute list and is created between the given start and end dates.

Request

public tcResultSet findRequests(Map phAttributeList, int startRow, int pageSize, String[] order, boolean ascendingOrder) throws tcAPIException

Returns a list of requests that match the provided attribute list and is created between the given start and end dates.


2.4.2 Modified APIs

Table 2-4 lists the APIs modified when upgrading from Oracle Identity Manager 9.0.3.x to 9.1.0.

Table 2-4 APIs Modified When Upgrading From Oracle Identity Manager Release 9.0.3.x to 9.1.0

Operation API Method Description

Access Policy

public long createAccessPolicy(Map attributeList, long[] provObjKeys,boolean[] revokeObjectIfNotApply, long[] denyObjKeys, long[] groupKeys) throws tcObjectNotFoundException, tcGroupNotFoundException, tcInvalidAttributeException, tcAPIException

Made provisioning through access policy consistent with direct provisioning in case of dependent objects. The dependent object is also provisioned when the parent object is provisioned through access policy.

Audit

public void reIssueAuditMessageByIdentifier(String auditor, String identifier) throws tcAPIException

Modified the method so that the reissue of a message is done by sending a JMS message. The audit engine takes care of any related processing. Because messages are processed by an identifier, the identifier is passed to the API as the user to send the message.

Organization

public tcResultSet getObjects(long orgKey) throws tcAPIException, tcOrganizationNotFoundException

Added the Process.Process Definition.Process Key column to the returned tcResultSet.

Reconciliation

public void providingAllMultiAttributeData(long plReconciliationEventKey, String psFieldName, boolean pbFlag) throws tcAPIException

Modified Javadoc comment to inform the user that when used for child table data, this method should always be called after calling the addMultiAttributeData(), addDirectMultiAttributeData(), or addDirectBulkMultiAttributeData() methods in order.

Reconciliation

public void providingAllMultiAttributeData(long plReconciliationEventKey, long plReconciliationAttributeKey, String psFieldName, boolean pbFlag) throws tcAPIException

Modified Javadoc comment to inform the user that when used for child table data, this method should always be called after calling the addMultiAttributeData(), addDirectMultiAttributeData(), or addDirectBulkMultiAttributeData() methods in order.

Group

public void updateGroup(tcResultSet poGroupResultSet, Map phAttributeList) throws tcAPIException, tcGroupNotFoundException, tcStaleDataUpdateException

  • Added a check to ensure that there is no data inconsistency due to simultaneous updates to the same group.

  • Changed the signature of the API to add tcStaleDataUpdateException from public void updateGroup(tcResultSet poGroupResultSet, Map phAttributeList) throws tcAPIException, tcGroupNotFoundException to public void updateGroup(tcResultSet poGroupResultSet, Map phAttributeList) throws tcAPIException, tcGroupNotFoundException, tcStaleDataUpdateException.

ScheduledTask

public void approveRequestObject(String obiKey, tcDataSet dataSet) throws tcAPIException, tcObjectNotFoundException, tcRequestNotFoundException

Fixed multiple issues that caused the request to remain in Object Approval Complete and not to go to the Request Complete state.

User

public tcResultSet getAvailableObjectsForSelf() throws tcAPIException

Added check to ignore objects in the Revoked status.

User

public tcResultSet getAvailableObjectsForUser(long[] palUserKeys) throws tcUserNotFoundException, tcAPIException

Added check to ignore objects in the Revoked status.

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

Added a check to ensure that there is no data inconsistency because of simultaneous updates to the same group.

User

public tcResultSet getObjectsByType(long plUserKey, String psObjectType) throws tcAPIException, tcUserNotFoundException

Added the Process Instance.Create column to the returned tcResultSet.

User

public tcResultSet getObjectsByTypeStatus(long plUserKey, String psObjectType, String psStatus) throws tcAPIException, tcUserNotFoundException

Added the Process Instance.Create column to the returned tcResultSet.

User

public tcResultSet getObjects(long plUserKey) throws tcAPIException, tcUserNotFoundException

Added the Process Instance.Create column to the returned tcResultSet. This method is also enhanced to return the Requests.Key column in the result set.

Provisioning

public long addProcessTaskInstance(long plTaskKey, long plOrcKey) throws tcTaskNotFoundException, tcAPIException

Changed method signature from public void addProcessTaskInstance(long plTaskKey, long plOrcKey) throws tcTaskNotFoundException, tcAPIException to public long ddProcessTaskInstance(long plTaskKey, long plOrcKey) throws tcTaskNotFoundException, tcAPIException for returning the Process Instance.Task Details.Key value.

Provisioning

public tcResultSet getProvisioningTaskDetails(long taskInstanceKey) throws tcAPIException

Added the Process Instance.Descriptive Data column to the returned tcResultSet.

Provisioning

public tcResultSet getAssignedProvisioningTasks(long userKey, Map attributeList, String[] statuses) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Enhanced to take into account the value of the system property XL.OpenTask.DayLimit that specifies the day limit set for open provisioning tasks.

Provisioning

public int getNumberOfProvisioningTasksAssignedToUser(long userKey, String[] statuses) throws tcUserNotFoundException, tcAPIException

Enhanced to take into account the value of the system property XL.OpenTask.DayLimit that specifies the day limit set for open provisioning tasks.

Provisioning

public tcResultSet getProvisioningTasksAssignedToManagedUsers( long userKey, Map attributeList, String[] statuses) throws tcAPIException, tcUserNotFoundException, tcAttributeNotFoundException

Enhanced to take into account the value of the system property XL.OpenTask.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public int getNumberOfApprovalTasksAssignedToUser(long userKey, String[] statuses) throws tcUserNotFoundException, tcAPIException

  • Fixed to avoid two duplicate pending approval records if a single request is made for a user for two different resources having approval tasks.

  • Enhanced performance.

  • Enhanced to take into account the value of the XL.PendingApproval.DayLimit system property that specifies the day limit set for open provisioning tasks.

Request

public tcResultSet findRequests(Map phAttributeList, int startRow, int pageSize, String[] order, boolean ascendingOrder) throws tcAPIException

Enhanced to take into account the value of the system property XL.RequestRaisedByYou.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public tcResultSet getApprovalTasksAssignedToManagedUsers(long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

Enhanced to take into account the value of the system property XL.PendingApproval.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public tcResultSet getApprovalTasksAssignedToUser(long userKey, Map attributeList) throws tcUserNotFoundException, tcAPIException, tcAttributeNotFoundException

Enhanced to take into account the value of the system property XL.PendingApproval.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public int getNumberOfRequestsForTargetUser(long userKey) throws tcAPIException, tcUserNotFoundException

Enhanced to take into account the value of the system property XL.RequestRaisedForYou.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Date pdEndDate) throws tcAPIException, tcUserNotFoundException

Enhanced to take into account the value of the system property XL.RequestRaisedForYou.DayLimit that specifies the day limit set for open provisioning tasks.

Request

public tcResultSet getRequestsForUserTarget(long plUserKey, String[] pasStatus, Map attributeList, Date startDate, Date endDate) throws tcAPIException, tcUserNotFoundException

Enhanced to take into account the value of the system property XL.RequestRaisedForYou.DayLimit that specifies the day limit set for open provisioning tasks.


Changes have been made to the APIs listed in Table 2-5 to enable them to handle more than 1000 entities:

Table 2-5 APIs Modified to Handle More Than 1000 Entities

Operation API Method

Attestation Definition

getUnassignedAdministrators(long processDefKey)

Attestation Definition

findAttestationProcesses(Map attributes)

Attestation

getOwnerAttestationProcesses()

Attestation

initiateAttestationProcess(String processName)

Group

public tcResultSet findGroups(Map phAttributeList, String permission) throws tcAPIException

Group

public tcResultSet findGroups(Map phAttributeList) throws tcAPIException

Group

public tcResultSet findUnAssignedGroups(Map phAttributeList,long plUserKey) throws tcAPIException

Group

public tcResultSet getUnassignedMemberUsers(long groupKey, Map attributeMap) throws tcGroupNotFoundException, tcAPIException

Group

public tcResultSet getAllMemberUsersAndGroups(long groupKey) throws tcGroupNotFoundException, tcAPIException

IT Resource Instance

public tcDataSetData findITResourceInstances(tcMapping[] paoAttributeList) throws tcAPIException

IT Resource Instance

public tcResultSet findITResourceInstancesByDefinition(long plITResourceDefinitionKey) throws tcITResourceDefinitionNotFoundException, tcAPIException

IT Resource Instance

public tcResultSet findITResourceInstancesByRemoteManager( long plRemoteManagerInstanceKey) throws tcRemoteManagerNotFoundException, tcAPIException

IT Resource Instance

public tcResultSet getITResourceInstanceParameters( long plITResourceInstanceKey) throws tcITResourceNotFoundException, tcAPIException

Organization

public tcResultSet findOrganizations(Map phAttributeList) throws tcAPIException

Organization

public tcResultSet findOrganizationsFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException

Organization

public tcResultSet getUnassignedAdministrators(long plOrgKey) throws tcAPIException, tcOrganizationNotFoundException

Organization

public tcResultSet getUnassignedResources(long plOrgKey) throws tcAPIException, tcOrganizationNotFoundException

Organization

public tcResultSet getUnassignedSubOrganizations(long plOrgKey) throws tcAPIException, tcOrganizationNotFoundException

Organization

public tcResultSet getUnassignedUsers(long plOrgKey) throws tcAPIException, tcOrganizationNotFoundException

Queue

public tcResultSet getQueuesForMemberUser(long plUserKey, String psWrite, String psDelete) throws tcAPIException, tcUserNotFoundException, tcInvalidPermissionsException

User

public boolean canResourceBeProvisioned(long userKey, long objectKey) throws tcAPIException, tcUserNotFoundException, tcObjectNotFoundException

User

public tcResultSet findAllUsers(Map phAttributeList) throws tcAPIException

User

public tcResultSet findUsers(Map phAttributeList) throws tcAPIException

User

public tcResultSet findUsers(Map phAttributeList, String permission) throws tcAPIException

User

public tcResultSet findUsers(Map phAttributeList, String permission, String[] status) throws tcAPIException

User

public tcResultSet findUsersFiltered(Map phAttributeList, String[] pasFieldList) throws tcAPIException

User

public tcResultSet findUsersFiltered(Map phAttributeList, String[] pasFieldList, int startRow, int pageSize, String[] order, boolean ascendingOrder) throws tcAPIException

User

public int findUsersFilteredCount(Map phAttributeList, String[] pasFieldList) throws tcAPIException

User

public tcResultSet getActiveUsers(Map attributes) throws tcAPIException

User

public tcResultSet getObjectAuthorizationPermissions(long plUserKey) throws tcAPIException, tcUserNotFoundException

Provisioning

public boolean isTaskUpdatable(long plTaskInstanceKey, long plUserKey) throws tcTaskNotFoundException, tcAPIException

Request

public boolean canTriggerObject(long plUserKey, long plObjectInstanceKey) throws tcAPIException, tcUserNotFoundException, tcRequestObjectInvalidException, tcObjectNotApprovedException

Request

public long getNumberOfPendingRequests(long userKey) throws tcUserNotFoundException, tcAPIException

Request

public String[] getRequestResponses(long plRequestKey, long plUserKey) throws tcAPIException

Request

public String[] getRequestRoles(long plRequestKey, long plUserKey) throws tcAPIException

Request

public tcResultSet getRequestsAssignedForApproval(long plUserKey, String[] pasStatus, boolean pbUserPending, Date pdEndDate) throws tcAPIException, tcUserNotFoundException

Request

public tcResultSet getRequestsForAuthorization(long plUserKey, String[] pasStatus, boolean pbUserPending) throws tcAPIException, tcUserNotFoundException

Request

public boolean isRequestApprovable(long plRequestKey, long plUserKey) throws tcAPIException

Request

public boolean isResourceApprovable(long plObjectInstanceKey, long plUserKey) throws tcAPIException

Request

public void setRequestResponse(long plRequestKey, long plUserKey, String psResponse) throws tcAPIException, tcInvalidResponseException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException

Request

public void setResourceResponse(long plUserKey, long plObjectInstanceKey, String psResponse) throws tcAPIException, tcInvalidResponseException


2.5 Additional Changes Made in Some APIs

Changes have been made to the APIs listed in Table 2-6 to enable them to capture the reason and reasonKey data items that are used in profile auditing as a part of the audit engine enhancements.

See Also:

Oracle Identity Manager Audit Report Developer's Guide for more information about the reason and reasonkey data items

Table 2-6 Modified APIs to Capture the reason and reasonkey Data Items As Part of the Audit Engine Enhancements

Operation Description

Form Instance

public void removeObjectFormChildData(long plChildFormDefinitionKey, long plChildFormPrimaryKey) throws tcFormNotFoundException, tcFormEntryNotFoundException, tcAPIException

Form Instance

public void removeProcessFormChildData(long plChildFormDefinitionKey, long plChildFormPrimaryKey) throws tcFormNotFoundException, tcFormEntryNotFoundException, tcAPIException

Form Instance

public void setObjectFormData(long plObjectInstanceKey, UDFormData resourceData) throws tcAPIException,tcInvalidValueException, tcRequiredDataMissingException, tcObjectNotFoundException, tcFormNotFoundException

Group

public void addAdministrator(long plGroupKey, long plAdminGroupKey, boolean pbWrite, boolean pbDelete) throws tcAPIException, tcGroupNotFoundException, tcAdminNotFoundException, tcAdminGroupInvalidException

Group

public void addAdministrators(long plGroupKey, long[] palAdminGroupKeys, boolean[] pbWrite, boolean[] pbDelete) throws tcAdminNotFoundException, tcAdminGroupInvalidException, tcGroupNotFoundException, tcAPIException, tcBulkException

Group

public void addMemberGroup(long plGroupKey, long plMemberGroupKey) throws tcAPIException, tcGroupNotFoundException, tcInvalidMemberGroupException, tcMemberGroupNotFoundException

Group

public void addMemberGroups(long plGroupKey, long[] palMemberGroupKeys) throws tcGroupNotFoundException, tcInvalidMemberGroupException, tcMemberGroupNotFoundException, tcAPIException, tcBulkException

Group

public void addMemberUser(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public void addMemberUsers(long plGroupKey, long[] paUserKeys) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public long createGroup(Map phAttributes) throws tcAPIException, tcDuplicateGroupException, tcInvalidAttributeException

Group

public void decreaseMemberGroupPriority(long plGroupKey, long plMemberGroupKey) throws tcAPIException, tcGroupNotFoundException, tcMemberGroupNotFoundException

Group

public void decreaseMemberUserPriority(long plGroupKey, long plUserKey) throws tcAPIException, tcUserNotFoundException, tcGroupNotFoundException

Group

public void deleteGroup(long groupKey) throws tcAPIException, tcGroupNotFoundException

Group

public void deleteGroups(long[] groupKeys) throws tcAPIException, tcGroupNotFoundException

Group

public void increaseMemberGroupPriority(long plGroupKey, long plMemberGroupKey) throws tcAPIException, tcGroupNotFoundException, tcMemberGroupNotFoundException

Group

public void increaseMemberUserPriority(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public void removeAdministrator(long plGroupKey, long plAdminGroupKey) throws tcAPIException, tcGroupNotFoundException, tcAdminNotFoundException

Group

public void removeAdministrators(long plGroupKey, long[] palAdminGroupKeys) throws tcAdminNotFoundException, tcGroupNotFoundException, tcAPIException, tcBulkException

Group

public void removeAllMembers(long plGroupKey) throws tcGroupNotFoundException, tcAPIException

Group

public void removeMemberGroup(long plGroupKey, long plMemberGroupKey) throws tcAPIException, tcGroupNotFoundException, tcMemberGroupNotFoundException

Group

public void removeMemberGroups(long plGroupKey, long[] palMemberGroupKeys) throws tcGroupNotFoundException, tcInvalidMemberGroupException, tcMemberGroupNotFoundException, tcAPIException, tcBulkException

Group

public void removeMemberUser(long plGroupKey, long plUserKey) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public void removeMemberUsers(long plGroupKey, long[] paUserKeys) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public void setMemberGroupPriority(long plGroupKey, long plMemberGroupKey, int pnPriority) throws tcAPIException, tcGroupNotFoundException, tcMemberGroupNotFoundException

Group

public void setMemberUserPriority(long plGroupKey, long plUserKey, int pnPriority) throws tcAPIException, tcGroupNotFoundException, tcUserNotFoundException

Group

public void updateAdministrator(long plGroupKey, long plAdminGroupKey, boolean pbWrite, boolean pbDelete) throws tcAPIException, tcGroupNotFoundException, tcAdminNotFoundException

Group

public void updateAdministrators(long plGroupKey, long[] palAdminGroupKeys, boolean[] pbWrite, boolean[] pbDelete) throws tcAdminNotFoundException, tcGroupNotFoundException, tcAPIException, tcBulkException

Group

public void updateGroup(tcResultSet poGroupResultSet, Map phAttributeList) throws tcAPIException, tcGroupNotFoundException, tcStaleDataUpdateException

Organization

public void moveUsers(long[] palUserKeys, long plTargetOrgKey) throws tcAPIException, tcUserNotFoundException, tcOrganizationNotFoundException, tcBulkException

Password

public void setObjectPasswords(long plUserKey, long[] palObjInsUsrKeys, String psPassword) throws tcAPIException, tcPolicyFailedException

Password

public void setXelleratePassword(long plUserKey, String psPassword) throws tcAPIException, tcPolicyFailedException

Scheduled Task

public void createScheduleItem(String orcKey, String milKey, Map attributes, long osiRetryCount) throws tcAPIException, tcProcessNotFoundException, tcTaskNotFoundException

Scheduled Task

public void executeEscalationOnTask(tcDataSet poOsiDataSet) throws tcAPIException, tcTaskNotFoundException

User

public void changeFromServiceAccount(long plObjectInstanceForUserKey) throws tcAPIException

User

public void changeToServiceAccount(long plObjectInstanceForUserKey) throws tcAPIException

User

public long createUser(Map phMapping) throws tcAPIException, tcDuplicateUserException, tcAttributeMissingException, tcInvalidAttributeException

User

public void deleteUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

User

public void deleteUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

User

public void disableUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

User

public void disableUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

User

public void enableUser(long plUserKey) throws tcAPIException, tcUserNotFoundException

User

public void enableUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

User

public void moveServiceAccount(long plObjectInstanceForUserKey, long plTargetUserKey) throws tcAPIException

User

public void unlockUsers(long[] paUserKeys) throws tcAPIException, tcUserNotFoundException, tcBulkException

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

User

public void updateUser(tcResultSet poUserResultSet, Map phAttributeList,boolean changePassword) throws tcAPIException, tcUserNotFoundException, tcStaleDataUpdateException

Provisioning

public long addProcessTaskInstance(long plTaskKey, long plOrcKey) throws tcTaskNotFoundException, tcAPIException

Provisioning

public void reassignTasksToGroup(long[] taskInstanceKeys, byte[][] taskInstanceRowvers, long groupKey) throws tcAPIException, tcGroupNotFoundException, tcTaskNotFoundException, tcStaleDataUpdateException, tcBulkException

Provisioning

public void reassignTasksToGroup(long[] taskInstanceKeys, long groupKey) throws tcAPIException, tcGroupNotFoundException, tcTaskNotFoundException, tcBulkException

Provisioning

public void reassignTasksToUser(long[] taskInstanceKeys, byte[][] taskInstanceRowvers, long userKey) throws tcAPIException, tcUserNotFoundException, tcTaskNotFoundException, tcStaleDataUpdateException, tcBulkException

Provisioning

public void reassignTasksToUser(long[] taskInstanceKeys, long userKey) throws tcAPIException, tcUserNotFoundException, tcTaskNotFoundException, tcBulkException

Provisioning

public String retryTask(long plTaskInstanceKey) throws tcTaskNotFoundException, tcAPIException

Provisioning

public Map retryTasks(long[] taskInstanceKeys) throws tcTaskNotFoundException, tcBulkException, tcAPIException

Provisioning

public void setTasksCompletedManually(long[] taskInstanceKeys) throws tcTaskNotFoundException, tcBulkException, tcAPIException

Provisioning

public void updateTask(long taskInstanceKey, byte[] taskInstanceRowVer, Map phAttributeList) throws tcTaskNotFoundException, tcAPIException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException, tcStaleDataUpdateException

Provisioning

public void updateTask(long plTaskInstanceKey, Map phAttributeList) throws tcTaskNotFoundException, tcAPIException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException

Request

public void reassignApprovalTasksToGroup(long[] taskInstanceKeys, long groupKey) throws tcAPIException, tcGroupNotFoundException, tcTaskNotFoundException, tcBulkException

Request

public void reassignApprovalTasksToUser(long[] taskInstanceKeys, long userKey) throws tcAPIException, tcUserNotFoundException, tcTaskNotFoundException, tcBulkException

Request

public void requestMoreInfoFromUser(long plRequestKey, long plUserKey) throws tcAPIException, tcInvalidResponseException, tcRequestApprovedException

Request

public void requestMoreInfoFromUserForResource(long plRequestKey, long plUserKey, long plObjectKey) throws tcAPIException, tcInvalidResponseException, tcRequestApprovedException

Request

public void requestMoreInfoFromUserWithComment(long plRequestKey, long plUserKey, String psComment) throws tcAPIException, tcInvalidResponseException, tcRequestApprovedException

Request

public void requestMoreInfoFromUserWithCommentForResource(long plRequestKey, long plUserKey, long plObjectKey, String psComment) throws tcAPIException, tcInvalidResponseException, tcRequestApprovedException

Request

public void setRequestResponse(long plRequestKey, long plUserKey, String psResponse) throws tcAPIException, tcInvalidResponseException, tcAwaitingObjectDataCompletionException, tcAwaitingApprovalDataCompletionException

Request

public void setResourceResponse(long plUserKey, long plObjectInstanceKey, String psResponse) throws tcAPIException, tcInvalidResponseException