Class DualDelegatingConnector

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

    public class DualDelegatingConnector
    extends sailpoint.connector.AbstractConnector
    implements openconnector.ConnectorStateChangeListener
    A connector that will forward ‘read’ and ‘write’ operations to different connectors, usually where reading from the source would be expensive or infeasible.

    Sort of the opposite of an IntegrationConfig.

    Optionally, getObject() can be forwarded to the ‘write’ connector.

    • 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
      DualDelegatingConnector​(sailpoint.object.Application application)
      Constructs a new BaseDelegatingConnector of the given type
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      sailpoint.object.ProvisioningResult checkStatus​(String id)  
      void destroy​(Map<String,​Object> optionsMap)  
      Map<String,​Object> discoverApplicationAttributes​(Map<String,​Object> options)  
      sailpoint.object.Schema discoverSchema​(String objectType, Map<String,​Object> options)  
      Map doHealthCheck​(Map<String,​Object> options)  
      String getConnectorType()  
      List<sailpoint.object.AttributeDefinition> getDefaultAttributes()  
      List<sailpoint.object.Schema> getDefaultSchemas()  
      List<sailpoint.object.Partition> getIteratorPartitions​(String objectType, int suggestedPartitionCount, sailpoint.object.Filter filter, Map<String,​Object> ops)  
      sailpoint.object.ResourceObject getObject​(String s, String s1, Map<String,​Object> map)  
      sailpoint.object.Schema getSchema​(String objectType)  
      List<sailpoint.object.Application.Feature> getSupportedFeatures()  
      String getSystemIdentity()  
      sailpoint.tools.CloseableIterator<sailpoint.object.ResourceObject> iterateObjects​(String s, sailpoint.object.Filter filter, Map<String,​Object> map)  
      sailpoint.tools.CloseableIterator<sailpoint.object.ResourceObject> iterateObjects​(sailpoint.object.Partition partition)  
      sailpoint.object.ProvisioningResult provision​(sailpoint.object.ProvisioningPlan plan)  
      void saveConnectorState()  
      void saveConnectorState​(Map<String,​Object> stateMap)  
      void setApplication​(sailpoint.object.Application application)  
      void setConnectorServices​(openconnector.ConnectorServices connServices)  
      boolean shouldRetry​(Exception ex, String error, sailpoint.object.ProvisioningResult result)  
      boolean supportsFeature​(sailpoint.object.Application.Feature feature)  
      boolean supportsPartitionedDeltaAggregation()  
      void testConfiguration()  
      void updateConnectorState​(Map<String,​Object> map)  
      • Methods inherited from class sailpoint.connector.AbstractConnector

        authenticate, authenticate, buildResourceObjectFromMap, defaultMergeMaps, defaultTransformObject, defaultTransformObject, defaultTransformObject, discoverApplications, filterPermissions, filterPermissions, getApplication, getAttributeNames, getAttributesToRetrieve, getChangeLogExtract, getConfigOptions, getDependencyData, getEffectiveAttribute, getExtractPartitions, getFeatureFlagValue, getInstance, getLocalApplication, getLoggingPlan, getProductFlagValue, getProxiedApplication, getRealConnector, getRequiredSchemaConfig, getSchema, getSchemaAttributeNames, getSchemaAttributes, getSchemaNativeObjectType, getSchemaPrototypeAttributeNames, getSchemas, getSecurityExtract, getStatisticsCollector, getTargetApplication, getTargetInstance, getUtilizationExtract, isAccount, isGroup, isSecret, logApplication, logPlan, mergeMaps, mergePermissions, setConnectorState, setInstance, setStatisticsCollector, setSystemIdentity, setTargetApplication, setTargetInstance, stringListToSchema, updateApplicationConfig
      • Methods inherited from class sailpoint.connector.CollectorServices

        addSchemaConfigs, buildList, buildStringList, buildStringList, coerceValue, getAttribute, getAttributes, getBooleanAttribute, getConnectorServices, getDecryptedAttributeValue, getEncryptedAttr, getEncryptedAttribute, getEncryptedSchemaConfig, getIntAttribute, getListAttribute, getLongAttribute, getObligatoryEncryptedAttr, getObligatoryStringAttribute, getRequiredAttribute, getRequiredEncryptedAttribute, getRequiredIntAttribute, getRequiredListAttribute, getRequiredStringAttribute, getSchemaConfig, getSchemaConfig, getSchemaConfigList, getSchemaConfigString, getStringAttribute, getStringListAttribute, runRule, setAttributes, toXml, toXml
      • Methods inherited from interface sailpoint.connector.Connector

        getConnectorServices
    • Constructor Detail

      • DualDelegatingConnector

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

      • checkStatus

        public sailpoint.object.ProvisioningResult checkStatus​(String id)
                                                        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> optionsMap)
                     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> options)
                                                               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 objectType,
                                                      Map<String,​Object> options)
                                               throws sailpoint.connector.ConnectorException
        Specified by:
        discoverSchema in interface sailpoint.connector.Connector
        Overrides:
        discoverSchema in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.ConnectorException
      • getConnectorType

        public String getConnectorType()
        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
      • getIteratorPartitions

        public List<sailpoint.object.Partition> getIteratorPartitions​(String objectType,
                                                                      int suggestedPartitionCount,
                                                                      sailpoint.object.Filter filter,
                                                                      Map<String,​Object> ops)
                                                               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
      • getSchema

        public sailpoint.object.Schema getSchema​(String objectType)
                                          throws sailpoint.connector.SchemaNotDefinedException
        Overrides:
        getSchema in class sailpoint.connector.AbstractConnector
        Throws:
        sailpoint.connector.SchemaNotDefinedException
      • 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
      • 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 plan)
                                                      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 connServices)
        Specified by:
        setConnectorServices in interface sailpoint.connector.Connector
        Overrides:
        setConnectorServices in class sailpoint.connector.CollectorServices
      • shouldRetry

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

        public boolean supportsFeature​(sailpoint.object.Application.Feature feature)
        Overrides:
        supportsFeature 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