Class BaseDelegatingConnector

  • All Implemented Interfaces:
    openconnector.ConnectorStateChangeListener, sailpoint.connector.Connector

    public class BaseDelegatingConnector
    extends sailpoint.connector.AbstractConnector
    implements openconnector.ConnectorStateChangeListener
    A straightforward “delegating” connector that will allow loading of connector classes from a plugin.

    All connector operations will be forwarded to the delegate.

    • Field Summary

      • Fields inherited from class sailpoint.connector.AbstractConnector

        _state, CONFIG_DONT_TRANSFORM_CSV, CONFIG_DONT_TRANSFORM_CSV_ATTRS, CONFIG_FILTER_STRING, CONFIG_PAGE_SIZE, CONFIG_RETRYABLE_ERRORS, DEFAULT_PAGE_SIZE, RESPONSE_DATA_KEY
      • Fields inherited from interface sailpoint.connector.Connector

        ATT_CHILD_OBJECTS, ATT_CIQ_MULTIPLEX_IDENTITY, ATT_CIQ_SOURCE_APPLICATION, ATT_IIQ_DISABLED, ATT_IIQ_LOCKED, ATT_MULTIPLEX_IDENTITY, ATT_PRIVILEGED, ATT_SOURCE_APPLICATION, ATTR_DIRECT_PERMISSIONS, ATTR_GROUPS, ATTR_TARGET_PERMISSIONS, CONFIG_AGGREGATION_MODE, CONFIG_AUTH_SEARCH_ATTRIBUTES, CONFIG_BUILD_MAP_RULE, CONFIG_GROUP_HIERARCHY_ATTRIBUTE, CONFIG_HOST, CONFIG_JDBC_BUILD_MAP_RULE, CONFIG_JDBC_CREATE_PROVISION_RULE, CONFIG_JDBC_DELETE_PROVISION_RULE, CONFIG_JDBC_DISABLE_PROVISION_RULE, CONFIG_JDBC_ENABLE_PROVISION_RULE, CONFIG_JDBC_MODIFY_PROVISION_RULE, CONFIG_JDBC_PROVISION_RULE, CONFIG_JDBC_UNLOCK_PROVISION_RULE, CONFIG_MERGE_MAPS_RULE, CONFIG_OBJECT_FILTERS, CONFIG_PARTITION_MODE, CONFIG_PASSWORD, CONFIG_PEOPLESOFTHRMS_CREATE_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_DELETE_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_DISABLE_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_ENABLE_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_MODIFY_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_PROVISION_RULE, CONFIG_PEOPLESOFTHRMS_UNLOCK_PROVISION_RULE, CONFIG_PERMISSION_SCOPE, CONFIG_PORT, CONFIG_PROVIDER, CONFIG_PROXY_GENERATOR_RULE, CONFIG_RWS_AFTER_OPERATION_RULE, CONFIG_RWS_BEFORE_OPERATION_RULE, CONFIG_SAPHR_CREATE_PROVISION_RULE, CONFIG_SAPHR_DELETE_PROVISION_RULE, CONFIG_SAPHR_DISABLE_PROVISION_RULE, CONFIG_SAPHR_ENABLE_PROVISION_RULE, CONFIG_SAPHR_MODIFY_PROVISION_RULE, CONFIG_SAPHR_PROVISION_RULE, CONFIG_SAPHR_UNLOCK_PROVISION_RULE, CONFIG_SUCCESSFACTORS_PROVISION_RULE, CONFIG_TRANSFORMATION_RULE, CONFIG_USER, OP_AGGREGATION_TYPE, OP_ALLOW_BRUTE_FORCE_SEARCH, OP_ATTRIBUTE_NAMES, OP_DELTA_AGGREGATION, OP_INCLUDE_ACCOUNTS, OP_IS_PARTITIONED, OP_IS_TERMINATE, OP_PHASE_NAME, OP_UNIQUENESS_CHECK, PROVISION_GLOBAL_RULE, PROVISION_OPERATION_RULE, PROVISION_RULE_TYPE, SAPHR_CUSTOM_MANAGER_MODEL_RULE, SAPHR_CUSTOM_MANAGER_RULE, TYPE_ACCOUNT, TYPE_GROUP
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseDelegatingConnector​(sailpoint.object.Application application)
      Constructs a new BaseDelegatingConnector of the given type
    • Constructor Detail

      • BaseDelegatingConnector

        public BaseDelegatingConnector​(sailpoint.object.Application application)
        Constructs a new BaseDelegatingConnector of the given type
        Parameters:
        application - The application to use for the connector
    • Method Detail

      • authenticate

        public sailpoint.object.ResourceObject authenticate​(String s,
                                                            String s1)
                                                     throws sailpoint.connector.ConnectorException,
                                                            sailpoint.connector.ObjectNotFoundException,
                                                            sailpoint.connector.AuthenticationFailedException,
                                                            sailpoint.connector.ExpiredPasswordException
        Specified by:
        authenticate in interface sailpoint.connector.Connector
        Overrides:
        authenticate in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
        sailpoint.connector.ObjectNotFoundException
        sailpoint.connector.AuthenticationFailedException
        sailpoint.connector.ExpiredPasswordException
      • authenticate

        public sailpoint.object.ResourceObject authenticate​(String s,
                                                            Map<String,​Object> map)
                                                     throws sailpoint.connector.ConnectorException,
                                                            sailpoint.connector.ObjectNotFoundException,
                                                            sailpoint.connector.AuthenticationFailedException,
                                                            sailpoint.connector.ExpiredPasswordException
        Specified by:
        authenticate in interface sailpoint.connector.Connector
        Overrides:
        authenticate in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
        sailpoint.connector.ObjectNotFoundException
        sailpoint.connector.AuthenticationFailedException
        sailpoint.connector.ExpiredPasswordException
      • checkStatus

        public sailpoint.object.ProvisioningResult checkStatus​(String s)
                                                        throws sailpoint.connector.ConnectorException,
                                                               sailpoint.tools.GeneralException
        Specified by:
        checkStatus in interface sailpoint.connector.Connector
        Overrides:
        checkStatus in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
        sailpoint.tools.GeneralException
      • destroy

        public void destroy​(Map<String,​Object> map)
                     throws sailpoint.connector.ConnectorException
        Specified by:
        destroy in interface sailpoint.connector.Connector
        Overrides:
        destroy in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • discoverApplicationAttributes

        public Map<String,​ObjectdiscoverApplicationAttributes​(Map<String,​Object> map)
                                                               throws sailpoint.connector.ConnectorException
        Specified by:
        discoverApplicationAttributes in interface sailpoint.connector.Connector
        Overrides:
        discoverApplicationAttributes in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • discoverSchema

        public sailpoint.object.Schema discoverSchema​(String s,
                                                      Map<String,​Object> map)
                                               throws sailpoint.connector.ConnectorException
        Specified by:
        discoverSchema in interface sailpoint.connector.Connector
        Overrides:
        discoverSchema in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • doHealthCheck

        public Map doHealthCheck​(Map<String,​Object> map)
                          throws sailpoint.connector.ConnectorException
        Specified by:
        doHealthCheck in interface sailpoint.connector.Connector
        Overrides:
        doHealthCheck in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • getApplication

        public sailpoint.object.Application getApplication()
        Specified by:
        getApplication in interface sailpoint.connector.Connector
        Overrides:
        getApplication in class sailpoint.connector.AbstractConnector
      • getConnectorServices

        public openconnector.ConnectorServices getConnectorServices()
        Specified by:
        getConnectorServices in interface sailpoint.connector.Connector
        Overrides:
        getConnectorServices in class sailpoint.connector.CollectorServices
      • getConnectorType

        @Deprecated
        public String getConnectorType()
        Deprecated.
        Specified by:
        getConnectorType in interface sailpoint.connector.Connector
        Overrides:
        getConnectorType in class sailpoint.connector.AbstractConnector
      • getDefaultAttributes

        public List<sailpoint.object.AttributeDefinition> getDefaultAttributes()
        Specified by:
        getDefaultAttributes in interface sailpoint.connector.Connector
        Overrides:
        getDefaultAttributes in class sailpoint.connector.AbstractConnector
      • getDefaultSchemas

        public List<sailpoint.object.Schema> getDefaultSchemas()
        Specified by:
        getDefaultSchemas in interface sailpoint.connector.Connector
        Overrides:
        getDefaultSchemas in class sailpoint.connector.AbstractConnector
      • getDependencyData

        public Map<String,​ObjectgetDependencyData()
                                                   throws sailpoint.connector.ConnectorException
        Specified by:
        getDependencyData in interface sailpoint.connector.Connector
        Overrides:
        getDependencyData in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • getInstance

        public String getInstance()
        Specified by:
        getInstance in interface sailpoint.connector.Connector
        Overrides:
        getInstance in class sailpoint.connector.AbstractConnector
      • getIteratorPartitions

        public List<sailpoint.object.Partition> getIteratorPartitions​(String s,
                                                                      int i,
                                                                      sailpoint.object.Filter filter,
                                                                      Map<String,​Object> map)
                                                               throws sailpoint.connector.ConnectorException
        Specified by:
        getIteratorPartitions in interface sailpoint.connector.Connector
        Overrides:
        getIteratorPartitions in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • getObject

        public sailpoint.object.ResourceObject getObject​(String s,
                                                         String s1,
                                                         Map<String,​Object> map)
                                                  throws sailpoint.connector.ConnectorException
        Specified by:
        getObject in interface sailpoint.connector.Connector
        Throws:
        sailpoint.connector.ConnectorException
      • getProxiedApplication

        public sailpoint.object.Application getProxiedApplication​(String s,
                                                                  Map<String,​Object> map)
                                                           throws sailpoint.connector.ConnectorException
        Specified by:
        getProxiedApplication in interface sailpoint.connector.Connector
        Overrides:
        getProxiedApplication in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • getRealConnector

        protected sailpoint.connector.Connector getRealConnector()
                                                          throws IllegalArgumentException
        Retrieves the actual Connector to delegate to, optionally loading from a plugin if needed.

        If no plugin is specified, this will use the ConnectorFactory to get the real connector class using the built-in functionality used by such things as logical connectors.

        The new connector instance will be cached and returned on subsequent calls.

        Returns:
        The connector class
        Throws:
        IllegalArgumentException - if any failures to get the connector occur
      • getSupportedFeatures

        public List<sailpoint.object.Application.Feature> getSupportedFeatures()
        Specified by:
        getSupportedFeatures in interface sailpoint.connector.Connector
        Overrides:
        getSupportedFeatures in class sailpoint.connector.AbstractConnector
      • getSystemIdentity

        public String getSystemIdentity()
        Specified by:
        getSystemIdentity in interface sailpoint.connector.Connector
        Overrides:
        getSystemIdentity in class sailpoint.connector.AbstractConnector
      • getTargetApplication

        public sailpoint.object.Application getTargetApplication()
        Specified by:
        getTargetApplication in interface sailpoint.connector.Connector
        Overrides:
        getTargetApplication in class sailpoint.connector.AbstractConnector
      • getTargetInstance

        public String getTargetInstance()
        Specified by:
        getTargetInstance in interface sailpoint.connector.Connector
        Overrides:
        getTargetInstance in class sailpoint.connector.AbstractConnector
      • iterateObjects

        public sailpoint.tools.CloseableIterator<sailpoint.object.ResourceObject> iterateObjects​(String s,
                                                                                                 sailpoint.object.Filter filter,
                                                                                                 Map<String,​Object> map)
                                                                                          throws sailpoint.connector.ConnectorException
        Specified by:
        iterateObjects in interface sailpoint.connector.Connector
        Throws:
        sailpoint.connector.ConnectorException
      • iterateObjects

        public sailpoint.tools.CloseableIterator<sailpoint.object.ResourceObject> iterateObjects​(sailpoint.object.Partition partition)
                                                                                          throws sailpoint.connector.ConnectorException
        Specified by:
        iterateObjects in interface sailpoint.connector.Connector
        Overrides:
        iterateObjects in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • provision

        public sailpoint.object.ProvisioningResult provision​(sailpoint.object.ProvisioningPlan provisioningPlan)
                                                      throws sailpoint.connector.ConnectorException,
                                                             sailpoint.tools.GeneralException
        Specified by:
        provision in interface sailpoint.connector.Connector
        Overrides:
        provision in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
        sailpoint.tools.GeneralException
      • saveConnectorState

        public void saveConnectorState()
        Overrides:
        saveConnectorState in class sailpoint.connector.AbstractConnector
      • saveConnectorState

        public void saveConnectorState​(Map<String,​Object> stateMap)
        Overrides:
        saveConnectorState in class sailpoint.connector.AbstractConnector
      • setApplication

        public void setApplication​(sailpoint.object.Application application)
        Specified by:
        setApplication in interface sailpoint.connector.Connector
        Overrides:
        setApplication in class sailpoint.connector.AbstractConnector
      • setConnectorServices

        public void setConnectorServices​(openconnector.ConnectorServices connectorServices)
        Specified by:
        setConnectorServices in interface sailpoint.connector.Connector
        Overrides:
        setConnectorServices in class sailpoint.connector.CollectorServices
      • setInstance

        public void setInstance​(String s)
        Specified by:
        setInstance in interface sailpoint.connector.Connector
        Overrides:
        setInstance in class sailpoint.connector.AbstractConnector
      • setSystemIdentity

        public void setSystemIdentity​(String s)
        Specified by:
        setSystemIdentity in interface sailpoint.connector.Connector
        Overrides:
        setSystemIdentity in class sailpoint.connector.AbstractConnector
      • setTargetApplication

        public void setTargetApplication​(sailpoint.object.Application application)
        Specified by:
        setTargetApplication in interface sailpoint.connector.Connector
        Overrides:
        setTargetApplication in class sailpoint.connector.AbstractConnector
      • setTargetInstance

        public void setTargetInstance​(String s)
        Specified by:
        setTargetInstance in interface sailpoint.connector.Connector
        Overrides:
        setTargetInstance in class sailpoint.connector.AbstractConnector
      • shouldRetry

        public boolean shouldRetry​(Exception ex,
                                   String error,
                                   sailpoint.object.ProvisioningResult result)
        Overrides:
        shouldRetry in class sailpoint.connector.AbstractConnector
      • supportsPartitionedDeltaAggregation

        public boolean supportsPartitionedDeltaAggregation()
        Specified by:
        supportsPartitionedDeltaAggregation in interface sailpoint.connector.Connector
        Overrides:
        supportsPartitionedDeltaAggregation in class sailpoint.connector.AbstractConnector
      • testConfiguration

        public void testConfiguration()
                               throws sailpoint.connector.ConnectorException
        Specified by:
        testConfiguration in interface sailpoint.connector.Connector
        Throws:
        sailpoint.connector.ConnectorException
      • updateConnectorState

        public void updateConnectorState​(Map<String,​Object> map)
        Specified by:
        updateConnectorState in interface openconnector.ConnectorStateChangeListener