Class PartialReconciliationActivityRun
- java.lang.Object
-
- com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun<WD,AH,BS>
-
- com.evolveum.midpoint.repo.common.activity.run.LocalActivityRun<WD,AH,WS>
-
- com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun<C,WD,AH,WS>
-
- com.evolveum.midpoint.repo.common.activity.run.SearchBasedActivityRun<ShadowType,ReconciliationWorkDefinition,ReconciliationActivityHandler,ReconciliationWorkStateType>
-
- com.evolveum.midpoint.model.impl.sync.tasks.recon.PartialReconciliationActivityRun
-
- All Implemented Interfaces:
ImplicitSegmentationResolver
,IterativeActivityRunSpecifics
,ExecutionSupport
,DebugDumpable
- Direct Known Subclasses:
ResourceObjectsReconciliationActivityRun
public abstract class PartialReconciliationActivityRun extends SearchBasedActivityRun<ShadowType,ReconciliationWorkDefinition,ReconciliationActivityHandler,ReconciliationWorkStateType>
Code common to all three reconciliation sub-activities: operation completion, resource reconciliation, and remaining shadows reconciliation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.task.api.ExecutionSupport
ExecutionSupport.CountersGroup
-
-
Field Summary
-
Fields inherited from class com.evolveum.midpoint.repo.common.activity.run.SearchBasedActivityRun
searchSpecification
-
Fields inherited from class com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun
beans, bucket, coordinator, errorState, transientRunStatistics
-
Fields inherited from class com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun
activity, activityState, activityStateDefinition, endTimestamp, reportingCharacteristics, startTimestamp, taskRun
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Default Methods Modifier and Type Method Description void
beforeRun(OperationResult result)
Called before the run.default @Nullable SearchSpecification<C>
createCustomSearchSpecification(OperationResult result)
Creates a complete search specification.default ItemDefinitionProvider
createItemDefinitionProvider()
Returns a provider of definitions for runtime items (e.g.default ObjectQuery
customizeQuery(ObjectQuery configuredQuery, OperationResult result)
Customizes a query present in the original search specification (usually derived from the task configuration).default Collection<SelectorOptions<GetOperationOptions>>
customizeSearchOptions(Collection<SelectorOptions<GetOperationOptions>> configuredOptions, OperationResult result)
Customizes search options present in the original search specification (usually derived from the task configuration).default boolean
doesRequireDirectRepositoryAccess()
protected @NotNull ObjectReferenceType
getDesiredTaskObjectRef()
Returns the value that should be put into task.objectRef.protected @NotNull ModelBeans
getModelBeans()
protected @NotNull ResourceObjectSetType
getResourceObjectSet()
boolean
processItem(C item, @NotNull ItemProcessingRequest<C> request, RunningTask workerTask, OperationResult result)
Processes given item that came as part of a request.ActivityState
useOtherActivityStateForCounters(@NotNull OperationResult result)
Should we use activity state other than the state of the current activity when keeping the counters (e.g.-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.SearchBasedActivityRun
countObjects, determineCurrentBucketSize, determineOverallSize, getDefaultErrorAction, getExpressionProfile, getItemType, getQuery, getSchemaService, getSearchOptions, getSearchSpecificationRequired, getTaskManager, isInRepository, iterateOverItemsInBucket, prepareItemSourceForCurrentBucket, processError, processItem
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRun
determineActivityStateForCounters, disableGlobalConnIdOperationsListener, enableGlobalConnIdOperationsListener, ensureNoWorkerThreads, getBucket, getConnIdOperationsReport, getContextDescription, getContextDescriptionSpaced, getErrorState, getItemsReport, getRootTask, getRootTaskOid, getShortName, getShortNameUncapitalized, getStartTimeMillis, getTransientRunStatistics, handleError, isMultithreaded, runLocally, setContextDescription, shouldReportConnIdOperations, shouldReportInternalOperations, shouldReportItems, updateStatistics
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.LocalActivityRun
createReportingCharacteristics, getCurrentResultStatus, getCurrentResultStatusBean, isExcludedFromStalenessChecking, runInternal, setCurrentResultStatus, shouldUpdateProgressInStateOverview, updateItemProgressInTreeOverviewIfTimePassed
-
Methods inherited from class com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun
areActionsExecutedStatisticsSupported, areRunRecordsSupported, areStatisticsSupported, areSynchronizationStatisticsSupported, autoComputeRunResult, canRun, debugDump, debugDumpExtra, determineActivityStateDefinition, getActivity, getActivityDefinition, getActivityHandler, getActivityLocalPath, getActivityPath, getActivityState, getActivityStateDefinition, getBeans, getEndTimestamp, getExecutionMode, getItemsProcessed, getLocalParentRun, getPersistenceType, getPrismContext, getReportingCharacteristics, getReportingDefinition, getRunningTask, getStartTimestamp, getStartTimestampRequired, getTaskRun, getTreeStateOverview, getWorkDefinition, getWorkStateTypeName, incrementCounters, incrementProgress, isBucketAnalysis, isDryRun, isFullExecution, isNoExecution, isNonScavengingWorker, isPreview, isProgressSupported, isWorker, recordIterativeOperationStart, run, setInstanceReady, shouldCreateWorkStateOnInitialization, standardRunResult, standardRunResult, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface com.evolveum.midpoint.task.api.ExecutionSupport
getActivityPath, getExecutionMode, incrementCounters, recordIterativeOperationStart
-
Methods inherited from interface com.evolveum.midpoint.repo.common.activity.run.IterativeActivityRunSpecifics
afterBucketProcessing, afterRun, beforeBucketProcessing, createReportingCharacteristics, resolveImplicitSegmentation
-
-
-
-
Method Detail
-
beforeRun
public void beforeRun(OperationResult result) throws CommonException, ActivityRunException
Description copied from interface:IterativeActivityRunSpecifics
Called before the run. Note that e.g. for search-based activities the search specification is *not* known at this moment.- Throws:
CommonException
ActivityRunException
-
getDesiredTaskObjectRef
@NotNull protected @NotNull ObjectReferenceType getDesiredTaskObjectRef()
Description copied from class:LocalActivityRun
Returns the value that should be put into task.objectRef. Should be overridden by subclasses. It should be called _after_IterativeActivityRunSpecifics.beforeRun(OperationResult)
method, in order to give the execution a chance to prepare data for this method.
-
getResourceObjectSet
@NotNull protected @NotNull ResourceObjectSetType getResourceObjectSet()
-
useOtherActivityStateForCounters
public ActivityState useOtherActivityStateForCounters(@NotNull @NotNull OperationResult result) throws SchemaException, ObjectNotFoundException
Description copied from interface:IterativeActivityRunSpecifics
Should we use activity state other than the state of the current activity when keeping the counters (e.g. for thresholds)?
-
getModelBeans
@NotNull protected @NotNull ModelBeans getModelBeans()
-
createCustomSearchSpecification
@Nullable public default @Nullable SearchSpecification<C> createCustomSearchSpecification(OperationResult result)
Creates a complete search specification. If the activity is not interested in this kind of customization, it should return null, and the default search specification is then produced by theSearchBasedActivityRun
. Note: freely addCommonException
andActivityRunException
to the signature of this method if needed.
-
customizeQuery
public default ObjectQuery customizeQuery(ObjectQuery configuredQuery, OperationResult result) throws CommonException
Customizes a query present in the original search specification (usually derived from the task configuration). The activity can either add specific clauses here, or rewrite the query altogether.- Throws:
CommonException
-
customizeSearchOptions
public default Collection<SelectorOptions<GetOperationOptions>> customizeSearchOptions(Collection<SelectorOptions<GetOperationOptions>> configuredOptions, OperationResult result) throws CommonException
Customizes search options present in the original search specification (usually derived from the task configuration). The activity can either add or modify some options in the provided object - if it's not null - or replace the whole object by its own version.- Throws:
CommonException
-
doesRequireDirectRepositoryAccess
public default boolean doesRequireDirectRepositoryAccess()
- Returns:
- True if the activity requires direct repository access. Note that the framework does not check the authorizations of the user running the activity in such cases. If an autz check is needed, the activity is responsible for that.
-
createItemDefinitionProvider
public default ItemDefinitionProvider createItemDefinitionProvider()
Returns a provider of definitions for runtime items (e.g. attributes) that are needed in bucket filters. Usually needed for activities that work with resource objects.
-
processItem
public abstract boolean processItem(@NotNull C item, @NotNull @NotNull ItemProcessingRequest<C> request, RunningTask workerTask, OperationResult result) throws CommonException, ActivityRunException
Processes given item that came as part of a request. BEWARE: Item may have been preprocessed, and may be different from the item present in the request.- Throws:
CommonException
ActivityRunException
-
-