Class AccountAggregationExecutor
- java.lang.Object
-
- sailpoint.request.AbstractRequestExecutor
-
- com.identityworksllc.iiq.common.request.AccountAggregationExecutor
-
- All Implemented Interfaces:
sailpoint.object.BaseExecutor
,sailpoint.object.RequestExecutor
public class AccountAggregationExecutor extends sailpoint.request.AbstractRequestExecutor
Request handler to do an async execution of a single aggregation event.This can be one of three types, corresponding to different inputs:
If type is null or ‘provided’, we expect the Request to contain a Map called ‘data’, which will contain the attributes of the account. The account name will be derived from the account schema on the application.
If type is ‘resource’, we expect the Request to contain a ResourceObject called ‘resource’. It must be fully populated.
If type is ‘fetch’, we expect the Request to contain a String ‘accountName’, containing the native ID of the object to pass to getObject.
For ‘data’ and ‘resource’ requests, the application’s Customization Rule(s) will be invoked against the inputs. In particular, be aware that if you fetched the ResourceObject using getObject before passing it here, the Customization Rule will have already been run by the Connector and thus will be invoked twice.
In all cases, you can supply a Map of ‘aggregateOptions’, which will be provided to the Aggregator API. The arguments ‘promoteAttributes’ and ‘noOptimizeReaggregation’ will always be provided and set to true.
-
-
Field Summary
Fields Modifier and Type Field Description static String
INPUT_ACCOUNT_NAME
The name of the Request input containing the account name.static String
INPUT_APPLICATION_NAME
The name of the Request input containing the application name.static String
INPUT_DATA
The name of the Request input containing the Map of account datastatic String
INPUT_RESOURCE
The name of the Request input containing a ResourceObjectstatic String
INPUT_TYPE
The name of the Request input containing the aggregation typestatic String
REQUEST_DEFINITION
The name of the default request definition associated with this executorstatic String
TYPE_FETCH
A type string indicating that we should retrieve the object from the sourcestatic String
TYPE_PROVIDED
A type string indicating that the object is provided as a Mapstatic String
TYPE_RESOURCE
A type string indicating that the object is provided as a ResourceObject
-
Constructor Summary
Constructors Constructor Description AccountAggregationExecutor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
aggregateRecord(sailpoint.api.SailPointContext context, Map<String,Object> requestOptions)
An API that can be used to aggregate a record according to the contract imposed on Requests of this type.void
execute(sailpoint.api.SailPointContext context, sailpoint.object.Request request, sailpoint.object.Attributes<String,Object> attributes)
-
-
-
Field Detail
-
INPUT_ACCOUNT_NAME
public static final String INPUT_ACCOUNT_NAME
The name of the Request input containing the account name.This is used when the type is ‘fetch’.
- See Also:
- Constant Field Values
-
INPUT_APPLICATION_NAME
public static final String INPUT_APPLICATION_NAME
The name of the Request input containing the application name.- See Also:
- Constant Field Values
-
INPUT_DATA
public static final String INPUT_DATA
The name of the Request input containing the Map of account data- See Also:
- Constant Field Values
-
INPUT_RESOURCE
public static final String INPUT_RESOURCE
The name of the Request input containing a ResourceObject- See Also:
- Constant Field Values
-
INPUT_TYPE
public static final String INPUT_TYPE
The name of the Request input containing the aggregation type- See Also:
- Constant Field Values
-
REQUEST_DEFINITION
public static final String REQUEST_DEFINITION
The name of the default request definition associated with this executor- See Also:
- Constant Field Values
-
TYPE_FETCH
public static final String TYPE_FETCH
A type string indicating that we should retrieve the object from the source- See Also:
- Constant Field Values
-
TYPE_PROVIDED
public static final String TYPE_PROVIDED
A type string indicating that the object is provided as a Map- See Also:
- Constant Field Values
-
TYPE_RESOURCE
public static final String TYPE_RESOURCE
A type string indicating that the object is provided as a ResourceObject- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AccountAggregationExecutor
public AccountAggregationExecutor()
-
-
Method Detail
-
aggregateRecord
public static void aggregateRecord(sailpoint.api.SailPointContext context, Map<String,Object> requestOptions) throws sailpoint.request.RequestPermanentException
An API that can be used to aggregate a record according to the contract imposed on Requests of this type.This method can be invoked with an arbitrary map, apart from a Request, such as in a workflow.
- Parameters:
context
- The contextrequestOptions
- The request options, as a Map- Throws:
sailpoint.request.RequestPermanentException
- if the aggregation fails for some reason
-
execute
public void execute(sailpoint.api.SailPointContext context, sailpoint.object.Request request, sailpoint.object.Attributes<String,Object> attributes) throws sailpoint.request.RequestPermanentException, sailpoint.request.RequestTemporaryException
- Throws:
sailpoint.request.RequestPermanentException
sailpoint.request.RequestTemporaryException
-
-