Class GrouperProvisioningLogicIncremental

java.lang.Object
edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogicIncremental

public class GrouperProvisioningLogicIncremental extends Object
  • Constructor Details

    • GrouperProvisioningLogicIncremental

      public GrouperProvisioningLogicIncremental()
  • Method Details

    • provisioningMessageQueueHasMessages

      public boolean provisioningMessageQueueHasMessages(String provisionerName)
      see if queue has messages
      Parameters:
      provisionerName -
      Returns:
      true if has messages
    • getGrouperProvisioner

      public GrouperProvisioner getGrouperProvisioner()
      reference back up to the provisioner
      Returns:
      the provisioner
    • setGrouperProvisioner

      public void setGrouperProvisioner(GrouperProvisioner grouperProvisioner1)
      reference back up to the provisioner
      Parameters:
      grouperProvisioner1 -
    • acknowledgeMessagesProcessed

      public void acknowledgeMessagesProcessed()
      acknowledgeMessages processed
      Parameters:
      esbEventContainersToProcess -
      gcGrouperSync -
      lastProcessedSequenceNumber -
    • filterByGroupNotProvisionable

      public void filterByGroupNotProvisionable()
      take out events that are not provisionable to this target
      Parameters:
      esbEventContainersToProcess -
      grouperProvisioningProcessingResult -
    • filterByProvisioningFullSync

      public void filterByProvisioningFullSync()
      filter events that happened before the last full sync
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • filterByGroupSync

      public void filterByGroupSync()
      filter events that happened before the last group sync
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • filterByEntitySync

      public void filterByEntitySync()
      filter events that happened before the last entity sync
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • incrementalCheckForAndRunFullSync

      public boolean incrementalCheckForAndRunFullSync()
      Returns:
      if should continue
    • incrementalCheckMessages

      public void incrementalCheckMessages()
    • propagateProvisioningAttributes

      public void propagateProvisioningAttributes()
    • addGroupsFromSqlAttributes

      public void addGroupsFromSqlAttributes()
    • incrementalCheckChangeLog

      public void incrementalCheckChangeLog()
    • recalcEventsDuringFullSync

      public void recalcEventsDuringFullSync()
      filter events that happened after the last full sync
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • addErrorsToQueue

      public void addErrorsToQueue()
    • filterNonRecalcActionsCapturedByRecalc

      public void filterNonRecalcActionsCapturedByRecalc()
    • convertToGroupSync

      public void convertToGroupSync()
      convert many membership changes to a group sync
    • convertToFullSync

      public void convertToFullSync()
    • recalcEventsDuringGroupSync

      public void recalcEventsDuringGroupSync()
      filter events that happened after the last group sync TODO check to see if can do membership recalc... or change back later
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • recalcEventsDuringEntitySync

      public void recalcEventsDuringEntitySync()
      filter events that happened after the last entity sync TODO check to see if can do membership recalc... or change back later
      Parameters:
      esbEventContainers -
      gcGrouperSync -
    • filterUnneededActions

      public void filterUnneededActions()
      if a non recalc action is expected to not change the target, then ignore it
    • convertInconsistentMembershipEventActions

      public void convertInconsistentMembershipEventActions()
    • retrieveTargetIncrementalMembershipsWithRecalcWhereContainerIsNotRecalc

      public void retrieveTargetIncrementalMembershipsWithRecalcWhereContainerIsNotRecalc()
    • retrieveIncrementalTargetMemberships

      public GrouperProvisioningLists retrieveIncrementalTargetMemberships()
    • retrieveIncrementalTargetGroupsAndEntities

      public GrouperProvisioningLists retrieveIncrementalTargetGroupsAndEntities()
    • determineGroupsToSelect

      public void determineGroupsToSelect()
    • determineEntitiesToSelect

      public void determineEntitiesToSelect()
    • determineMembershipsToSelect

      public void determineMembershipsToSelect()
    • removeSomeMembershipRequestsAreInTheOnlyRequestsAlso

      public void removeSomeMembershipRequestsAreInTheOnlyRequestsAlso(TargetDaoRetrieveIncrementalDataRequest targetDaoRetrieveIncrementalDataRequest)
      dont double request groups/entities
      Parameters:
      targetDaoRetrieveIncrementalDataRequest -
    • ensureAllMembershipRequestsAreInTheOnlyRequestsAlso

      public void ensureAllMembershipRequestsAreInTheOnlyRequestsAlso(TargetDaoRetrieveIncrementalDataRequest targetDaoRetrieveIncrementalDataRequest)
      make sure that all the target requests that include memberships also are requesting the group or entities in the "only" lists.
      Parameters:
      targetDaoRetrieveIncrementalDataRequest -
    • convertMembershipsToRecalc

      public void convertMembershipsToRecalc()
      If a group or entity has any incremental recalc memberships inside then set all the membership events for that group or entity to be recalc We do this so that we don't have to clone the group or entity to make the specific target query by example
    • convertGroupsToRecalc

      public void convertGroupsToRecalc(boolean includeMemberships)
      Convert group to recalc if it's an insert or delete Convert group to recalc there's a group link that needs data. e.g. we only know the group name and need to fetch the uuid from the target marks group as having recalc memberships
    • convertEntitiesToRecalc

      public void convertEntitiesToRecalc(boolean includeMemberships)
      Convert entity to recalc if it's an insert or delete Convert entity to recalc when there's an entity link that needs data. e.g. we only know the entity name and need to fetch the uuid from the target marks entity as having recalc memberships
    • calculateGroupAction

      public void calculateGroupAction()
      based on group events, determine which action to perform on group (if not recalc already)