Class GrouperProvisioner

java.lang.Object
edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioner
Direct Known Subclasses:
ExampleGroupAttributeProvisioner, GrouperAzureProvisioner, GrouperBoxProvisioner, GrouperDigitalMarketplaceProvisioner, GrouperDuoProvisioner, GrouperDuoRoleProvisioner, GrouperExampleWsProvisioner, GrouperGenericProvisioner, GrouperGoogleProvisioner, GrouperMessagingProvisioner, GrouperRemedyProvisioner, GrouperScim2Provisioner, LdapSync, MidPointProvisioner, SqlProvisioner, TeamDynamixProvisioner

public abstract class GrouperProvisioner extends Object
  • Field Details

    • executorConfigIdToThreadPool

      public static Map<String,ExecutorService> executorConfigIdToThreadPool
      cache the thread pool
  • Constructor Details

    • GrouperProvisioner

      public GrouperProvisioner()
  • Method Details

    • setTest_saveLastProvisionerInStaticVariable

      public static void setTest_saveLastProvisionerInStaticVariable(boolean test_saveLastProvisionerInStaticVariable)
    • getProvisioningStateGlobal

      public ProvisioningStateGlobal getProvisioningStateGlobal()
    • setProvisioningStateGlobal

      public void setProvisioningStateGlobal(ProvisioningStateGlobal provisioningStateGlobal)
    • retrieveExecutorService

      public ExecutorService retrieveExecutorService()
      if running threads, this is the pool. if null then dont use threads
      Returns:
      executor service
    • getJobName

      public String getJobName()
      job name from full or incremental
      Returns:
    • setJobName

      public void setJobName(String jobName1)
      job name from full or incremental
      Parameters:
      jobName1 -
    • getJobNames

      public Set<String> getJobNames()
      get job names configured for this provisioner
      Returns:
      the job name
    • getControllerForProvisioningConfiguration

      public ProvisioningConfiguration getControllerForProvisioningConfiguration()
      this is the controller that makes the editing screen work, this is not the provisioning configuration class: retrieveGrouperProvisioningConfiguration()
      Returns:
      provisioner configuration
    • getInstanceId

      public String getInstanceId()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getProvisioningConsumer

      public ProvisioningConsumer getProvisioningConsumer()
      reference to the consumer which is sending provisioning events to be processed
      Returns:
    • setProvisioningConsumer

      public void setProvisioningConsumer(ProvisioningConsumer provisioningConsumer)
      reference to the consumer which is sending provisioning events to be processed
      Parameters:
      provisioningConsumer -
    • setDebugMap

      public void setDebugMap(Map<String,Object> debugMap)
    • retrieveGrouperProvisioningObjectLog

      public GrouperProvisioningObjectLog retrieveGrouperProvisioningObjectLog()
    • getDebugMap

      public Map<String,Object> getDebugMap()
    • grouperTargetDaoClass

      protected abstract Class<? extends GrouperProvisionerTargetDaoBase> grouperTargetDaoClass()
      return the class of the DAO for this provisioner
    • retrieveGrouperProvisioningTargetDaoAdapter

      public GrouperProvisionerTargetDaoAdapter retrieveGrouperProvisioningTargetDaoAdapter()
      returns the subclass of Data Access Object for this provisioner
      Returns:
      the DAO
    • retrieveGrouperDao

      public GrouperProvisioningGrouperDao retrieveGrouperDao()
      returns the Grouper Data access Object
      Returns:
      the DAO
    • grouperDaoClass

      protected Class<? extends GrouperProvisioningGrouperDao> grouperDaoClass()
    • grouperProvisioningConfigurationClass

      protected abstract Class<? extends GrouperProvisioningConfiguration> grouperProvisioningConfigurationClass()
      return the class of the DAO for this provisioner
    • retrieveGrouperProvisioningDiagnosticsContainer

      public GrouperProvisioningDiagnosticsContainer retrieveGrouperProvisioningDiagnosticsContainer()
      Returns:
      the diagnostics
    • grouperProvisioningDiagnosticsContainerClass

      protected Class<? extends GrouperProvisioningDiagnosticsContainer> grouperProvisioningDiagnosticsContainerClass()
      return the class of the attribute manipulation
    • retrieveGrouperProvisioningConfiguration

      public GrouperProvisioningConfiguration retrieveGrouperProvisioningConfiguration()
      returns the subclass of Data Access Object for this provisioner
      Returns:
      the DAO
    • grouperProvisioningSyncIntegrationClass

      protected Class<? extends GrouperProvisioningSyncIntegration> grouperProvisioningSyncIntegrationClass()
      return the class of the attribute manipulation
    • retrieveGrouperProvisioningSyncIntegration

      public GrouperProvisioningSyncIntegration retrieveGrouperProvisioningSyncIntegration()
      return the instance of the attribute manipulation
      Returns:
      the logic
    • grouperProvisioningAttributeManipulationClass

      protected Class<? extends GrouperProvisioningAttributeManipulation> grouperProvisioningAttributeManipulationClass()
      return the class of the attribute manipulation
    • retrieveGrouperProvisioningAttributeManipulation

      public GrouperProvisioningAttributeManipulation retrieveGrouperProvisioningAttributeManipulation()
      return the instance of the attribute manipulation
      Returns:
      the logic
    • grouperProvisioningValidationClass

      protected Class<? extends GrouperProvisioningValidation> grouperProvisioningValidationClass()
      return the class of the provisioning validation
    • retrieveGrouperProvisioningValidation

      public GrouperProvisioningValidation retrieveGrouperProvisioningValidation()
      return the instance of the validation
      Returns:
      the logic
    • retrieveGrouperProvisioningLog

      public GrouperProvisioningLog retrieveGrouperProvisioningLog()
      return the instance of the provisioning log
      Returns:
      the logic
    • grouperProvisioningLogClass

      protected Class<? extends GrouperProvisioningLog> grouperProvisioningLogClass()
      return the class of the provisioning logic
    • grouperProvisioningLogicClass

      protected Class<? extends GrouperProvisioningLogic> grouperProvisioningLogicClass()
      return the class of the provisioning logic
    • grouperProvisioningLogicIncrementalClass

      protected Class<? extends GrouperProvisioningLogicIncremental> grouperProvisioningLogicIncrementalClass()
      return the class of the provisioning logic Incremental
    • retrieveGrouperProvisioningLogic

      public GrouperProvisioningLogic retrieveGrouperProvisioningLogic()
      return the instance of the provisioning logic
      Returns:
      the logic
    • retrieveGrouperProvisioningLogicIncremental

      public GrouperProvisioningLogicIncremental retrieveGrouperProvisioningLogicIncremental()
      return the instance of the provisioning logic incremental
      Returns:
      the logic
    • retrieveGrouperProvisioningTranslator

      public GrouperProvisioningTranslator retrieveGrouperProvisioningTranslator()
      returns the instance of the translator
      Returns:
      the translator
    • grouperTranslatorClass

      protected Class<? extends GrouperProvisioningTranslator> grouperTranslatorClass()
      Returns:
      the class of the translator for this provisioner (optional)
    • retrieveInternalLastProvisioner

      public static GrouperProvisioner retrieveInternalLastProvisioner()
      last provisioner for junit
      Returns:
      provisioner
    • retrieveProvisioner

      public static GrouperProvisioner retrieveProvisioner(String configId)
      factory method to get a provisioner by config id
      Parameters:
      configId -
      Returns:
      the provisioner
    • retrieveCurrentGrouperProvisioner

      public static GrouperProvisioner retrieveCurrentGrouperProvisioner()
    • assignCurrentGrouperProvisioner

      public static void assignCurrentGrouperProvisioner(GrouperProvisioner grouperProvisioner)
    • removeCurrentGrouperProvisioner

      public static void removeCurrentGrouperProvisioner()
    • retrieveGrouperProvisioningOutput

      public GrouperProvisioningOutput retrieveGrouperProvisioningOutput()
      provisioning output
      Returns:
      output
    • logPeriodically

      public void logPeriodically(Map<String,Object> debugMap, GrouperProvisioningOutput grouperProvisioningOutput)
      log periodically
      Parameters:
      debugMap -
      gcTableSyncOutput -
    • initialize

      public GrouperProvisioner initialize(GrouperProvisioningType grouperProvisioningType1)
    • provision

      public GrouperProvisioningOutput provision(GrouperProvisioningType grouperProvisioningType1)
      provision
      Parameters:
      grouperProvisioningType -
      Returns:
      the output
    • provisionFinallyBlock

      public void provisionFinallyBlock()
    • setGrouperProvisioningOutput

      public void setGrouperProvisioningOutput(GrouperProvisioningOutput grouperProvisioningOutput)
    • getGcGrouperSync

      public GcGrouperSync getGcGrouperSync()
      provisioning table about this provisioner
      Returns:
      sync
    • getGcGrouperSyncHeartbeat

      public GcGrouperSyncHeartbeat getGcGrouperSyncHeartbeat()
      heartbeat thread
      Returns:
      heartbeat
    • getGcGrouperSyncJob

      public GcGrouperSyncJob getGcGrouperSyncJob()
      provisioning table about this job (full, incremental, etc) in this provisioner
      Returns:
      job
    • getGcGrouperSyncLog

      public GcGrouperSyncLog getGcGrouperSyncLog()
      log for this sync
      Returns:
    • getMillisWhenSyncStarted

      public long getMillisWhenSyncStarted()
      millis since 1970 when the sync started
      Returns:
      when started
    • setGcGrouperSync

      public void setGcGrouperSync(GcGrouperSync gcGrouperSync1)
      provisioning table about this provisioner
      Parameters:
      gcGrouperSync1 -
    • setGcGrouperSyncHeartbeat

      public void setGcGrouperSyncHeartbeat(GcGrouperSyncHeartbeat gcGrouperSyncHeartbeat1)
      heartbeat thread
      Parameters:
      gcGrouperSyncHeartbeat1 -
    • setGcGrouperSyncJob

      public void setGcGrouperSyncJob(GcGrouperSyncJob gcGrouperSyncJob1)
      provisioning table about this job (full, incremental, etc) in this provisioner
      Parameters:
      gcGrouperSyncJob1 -
    • setGcGrouperSyncLog

      public void setGcGrouperSyncLog(GcGrouperSyncLog gcGrouperSyncLog1)
      log for this sync
      Parameters:
      gcGrouperSyncLog1 -
    • getConfigId

      public String getConfigId()
    • setConfigId

      public void setConfigId(String configId)
    • retrieveGrouperProvisioningData

      public GrouperProvisioningData retrieveGrouperProvisioningData()
    • retrieveGrouperProvisioningDataIncrementalInput

      public GrouperProvisioningDataIncrementalInput retrieveGrouperProvisioningDataIncrementalInput()
    • retrieveGrouperProvisioningDataChanges

      public GrouperProvisioningDataChanges retrieveGrouperProvisioningDataChanges()
    • retrieveGrouperProvisioningDataIndex

      public GrouperProvisioningDataIndex retrieveGrouperProvisioningDataIndex()
    • getProvisioningSyncResult

      public ProvisioningSyncResult getProvisioningSyncResult()
    • setProvisioningSyncResult

      public void setProvisioningSyncResult(ProvisioningSyncResult provisioningSyncResult)
    • retrieveGrouperProvisioningCompare

      public GrouperProvisioningCompare retrieveGrouperProvisioningCompare()
      return the instance of the compare logic
      Returns:
      the logic
    • grouperProvisioningCompareClass

      protected Class<? extends GrouperProvisioningCompare> grouperProvisioningCompareClass()
    • grouperProvisioningBehaviorClass

      protected Class<? extends GrouperProvisioningBehavior> grouperProvisioningBehaviorClass()
    • retrieveGrouperProvisioningMatchingIdIndex

      public GrouperProvisioningMatchingIdIndex retrieveGrouperProvisioningMatchingIdIndex()
      return the instance of the indexing logic
      Returns:
      the logic
    • grouperProvisioningMatchingIdIndexClass

      protected Class<? extends GrouperProvisioningMatchingIdIndex> grouperProvisioningMatchingIdIndexClass()
    • retrieveGrouperProvisioningConfigurationValidation

      public GrouperProvisioningConfigurationValidation retrieveGrouperProvisioningConfigurationValidation()
      return the instance of the provisioning configuration validation
      Returns:
      the logic
    • grouperProvisioningConfigurationValidationClass

      protected Class<? extends GrouperProvisioningConfigurationValidation> grouperProvisioningConfigurationValidationClass()
    • retrieveGrouperProvisioningSyncDao

      public GrouperProvisioningGrouperSyncDao retrieveGrouperProvisioningSyncDao()
      returns the Grouper Sync Data access Object
      Returns:
      the DAO
    • grouperSyncDaoClass

      protected Class<? extends GrouperProvisioningGrouperSyncDao> grouperSyncDaoClass()
    • retrieveGrouperProvisioningBehavior

      public GrouperProvisioningBehavior retrieveGrouperProvisioningBehavior()
    • registerProvisioningBehaviors

      public void registerProvisioningBehaviors(GrouperProvisioningBehavior grouperProvisioningBehavior)
      let the provisioner tell the framework how the provisioner should behave with respect to the target
      Parameters:
      grouperProvisioningBehavior -
    • retrieveGrouperProvisioningLinkLogic

      public GrouperProvisioningLinkLogic retrieveGrouperProvisioningLinkLogic()
      returns the subclass of Data Access Object for this provisioner
      Returns:
      the DAO
    • retrieveGrouperProvisioningObjectMetadata

      public GrouperProvisioningObjectMetadata retrieveGrouperProvisioningObjectMetadata()
      returns the object metadata instance
      Returns:
      the object metadata instance
    • grouperProvisioningObjectMetadataClass

      protected Class<? extends GrouperProvisioningObjectMetadata> grouperProvisioningObjectMetadataClass()
      return the class of the object metadata
    • grouperProvisioningLinkLogicClass

      protected Class<? extends GrouperProvisioningLinkLogic> grouperProvisioningLinkLogicClass()
      return the class of the link logic
    • propagateProvisioningAttributes

      public void propagateProvisioningAttributes()
    • grouperProvisioningFailsafeClass

      protected Class<? extends GrouperProvisioningFailsafe> grouperProvisioningFailsafeClass()
    • retrieveGrouperProvisioningFailsafe

      public GrouperProvisioningFailsafe retrieveGrouperProvisioningFailsafe()
      return the instance of the failsafe logic
      Returns:
      the logic
    • grouperProvisioningLogCommandsClass

      protected Class<? extends GrouperProvisioningLogCommands> grouperProvisioningLogCommandsClass()
    • retrieveGrouperProvisioningLogCommands

      public GrouperProvisioningLogCommands retrieveGrouperProvisioningLogCommands()
      return the instance of the LogCommands logic
      Returns:
      the logic
    • grouperProvisioningLoaderClass

      protected Class<? extends GrouperProvisioningLoader> grouperProvisioningLoaderClass()
    • retrieveGrouperProvisioningLoader

      public GrouperProvisioningLoader retrieveGrouperProvisioningLoader()