Class GrouperProvisioningLogicIncremental
java.lang.Object
edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogicIncremental
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeMessages processedvoidvoidvoidbased on group events, determine which action to perform on group (if not recalc already)static voidclear the cache of queues with messages, e.g. for testing when messages are sent in the same JVM and the cache might be stalevoidconvertEntitiesToRecalc(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.voidconvertGroupsToRecalc(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.voidvoidIf 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 examplevoidvoidconvert many membership changes to a group syncvoidvoidvoidvoidensureAllMembershipRequestsAreInTheOnlyRequestsAlso(TargetDaoRetrieveIncrementalDataRequest targetDaoRetrieveIncrementalDataRequest) make sure that all the target requests that include memberships also are requesting the group or entities in the "only" lists.voidfilter events that happened before the last entity syncvoidtake out events that are not provisionable to this targetvoidfilter events that happened before the last group syncvoidfilter events that happened before the last full syncvoidvoidif a non recalc action is expected to not change the target, then ignore itreference back up to the provisionervoidbooleanvoidvoidbooleanprovisioningMessageQueueHasMessages(String provisionerName) see if queue has messagesvoidfilter events that happened after the last entity sync TODO check to see if can do membership recalc... or change back latervoidfilter events that happened after the last full syncvoidfilter events that happened after the last group sync TODO check to see if can do membership recalc... or change back latervoidremoveSomeMembershipRequestsAreInTheOnlyRequestsAlso(TargetDaoRetrieveIncrementalDataRequest targetDaoRetrieveIncrementalDataRequest) dont double request groups/entitiesvoidvoidsetGrouperProvisioner(GrouperProvisioner grouperProvisioner1) reference back up to the provisioner
-
Constructor Details
-
GrouperProvisioningLogicIncremental
public GrouperProvisioningLogicIncremental()
-
-
Method Details
-
clearProvisioningMessageQueuesWithMessagesCache
public static void clearProvisioningMessageQueuesWithMessagesCache()clear the cache of queues with messages, e.g. for testing when messages are sent in the same JVM and the cache might be stale -
provisioningMessageQueueHasMessages
see if queue has messages- Parameters:
provisionerName-- Returns:
- true if has messages
-
getGrouperProvisioner
reference back up to the provisioner- Returns:
- the provisioner
-
setGrouperProvisioner
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
-
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)
-