Class 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.

    • 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 context
        requestOptions - 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