Class ScanActivityRun<O extends ObjectType,WD extends WorkDefinition,MAH extends ModelActivityHandler<WD,MAH>>
- 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<O,WD,MAH,ScanWorkStateType>
-
- com.evolveum.midpoint.model.impl.tasks.scanner.ScanActivityRun<O,WD,MAH>
-
- All Implemented Interfaces:
ImplicitSegmentationResolver
,IterativeActivityRunSpecifics
,ExecutionSupport
,DebugDumpable
- Direct Known Subclasses:
FocusValidityScanPartialRun
,ShadowRefreshActivityHandler.MyActivityRun
public abstract class ScanActivityRun<O extends ObjectType,WD extends WorkDefinition,MAH extends ModelActivityHandler<WD,MAH>> extends SearchBasedActivityRun<O,WD,MAH,ScanWorkStateType>
Things that we want to remember for all task scanners, like scanning timestamps.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.task.api.ExecutionSupport
ExecutionSupport.CountersGroup
-
-
Field Summary
Fields Modifier and Type Field Description protected XMLGregorianCalendar
thisScanTimestamp
-
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
-
-
Constructor Summary
Constructors Constructor Description ScanActivityRun(@NotNull ActivityRunInstantiationContext<WD,MAH> context, String shortNameCapitalized)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Default Methods Modifier and Type Method Description void
afterRun(OperationResult result)
Called after the run.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.@NotNull ActivityReportingCharacteristics
createReportingCharacteristics()
This method should be called only after the concrete instance is fully initialized.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()
XMLGregorianCalendar
getLastScanTimestamp()
@NotNull ModelBeans
getModelBeans()
XMLGregorianCalendar
getThisScanTimestamp()
boolean
processItem(C item, @NotNull ItemProcessingRequest<C> request, RunningTask workerTask, OperationResult result)
Processes given item that came as part of a request.-
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
getCurrentResultStatus, getCurrentResultStatusBean, getDesiredTaskObjectRef, 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, beforeBucketProcessing, resolveImplicitSegmentation, useOtherActivityStateForCounters
-
-
-
-
Field Detail
-
thisScanTimestamp
protected XMLGregorianCalendar thisScanTimestamp
-
-
Constructor Detail
-
ScanActivityRun
public ScanActivityRun(@NotNull @NotNull ActivityRunInstantiationContext<WD,MAH> context, String shortNameCapitalized)
-
-
Method Detail
-
createReportingCharacteristics
@NotNull public @NotNull ActivityReportingCharacteristics createReportingCharacteristics()
Description copied from class:AbstractActivityRun
This method should be called only after the concrete instance is fully initialized.- Specified by:
createReportingCharacteristics
in interfaceIterativeActivityRunSpecifics
- Overrides:
createReportingCharacteristics
in classLocalActivityRun<WD extends WorkDefinition,MAH extends ModelActivityHandler<WD,MAH>,ScanWorkStateType>
- Returns:
- Reporting characteristics of the activity run. They e.g. provide default values
for
ActivityReportingDefinition
.
-
beforeRun
public void beforeRun(OperationResult result)
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.
-
afterRun
public void afterRun(OperationResult result) throws SchemaException, ActivityRunException
Description copied from interface:IterativeActivityRunSpecifics
Called after the run.- Throws:
SchemaException
ActivityRunException
-
getLastScanTimestamp
public XMLGregorianCalendar getLastScanTimestamp()
-
getThisScanTimestamp
public XMLGregorianCalendar getThisScanTimestamp()
-
getModelBeans
@NotNull public @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
-
-