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 XMLGregorianCalendarthisScanTimestamp-
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 voidafterRun(OperationResult result)Called after the run.voidbeforeRun(OperationResult result)Called before the run.default @Nullable SearchSpecification<C>createCustomSearchSpecification(OperationResult result)Creates a complete search specification.default ItemDefinitionProvidercreateItemDefinitionProvider()Returns a provider of definitions for runtime items (e.g.@NotNull ActivityReportingCharacteristicscreateReportingCharacteristics()This method should be called only after the concrete instance is fully initialized.default ObjectQuerycustomizeQuery(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 booleandoesRequireDirectRepositoryAccess()XMLGregorianCalendargetLastScanTimestamp()@NotNull ModelBeansgetModelBeans()XMLGregorianCalendargetThisScanTimestamp()booleanprocessItem(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:AbstractActivityRunThis method should be called only after the concrete instance is fully initialized.- Specified by:
createReportingCharacteristicsin interfaceIterativeActivityRunSpecifics- Overrides:
createReportingCharacteristicsin 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:IterativeActivityRunSpecificsCalled 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:IterativeActivityRunSpecificsCalled after the run.- Throws:
SchemaExceptionActivityRunException
-
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 addCommonExceptionandActivityRunExceptionto 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, ActivityRunExceptionProcesses 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:
CommonExceptionActivityRunException
-
-