[midPoint-git] [Evolveum/midpoint] f94641: Restructure search-iterative task processing

mederly noreply at github.com
Mon Jan 18 11:10:10 CET 2021


  Branch: refs/heads/feature/task-reporting
  Home:   https://github.com/Evolveum/midpoint
  Commit: f9464112b5fc2f52ab0a4ded99a53d55e6e4a872
      https://github.com/Evolveum/midpoint/commit/f9464112b5fc2f52ab0a4ded99a53d55e6e4a872
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-01-18 (Mon, 18 Jan 2021)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageBulkAction.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/result/OperationResult.java
    A infra/util/src/main/java/com/evolveum/midpoint/util/exception/ScriptExecutionException.java
    R model/model-api/src/main/java/com/evolveum/midpoint/model/api/ScriptExecutionException.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ScriptingService.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/cleanup/ShadowRefreshTaskHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/importer/ImportAccountsFromResourceTaskHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ObjectIntegrityCheckResultHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ObjectIntegrityCheckTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ObjectIntegrityCheckTaskPartExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ShadowIntegrityCheckResultHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ShadowIntegrityCheckTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/integrity/ShadowIntegrityCheckTaskPartExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleSuspendTaskExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/StateConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/ActionExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/IterativeScriptExecutionTaskHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/PipelineData.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/ScriptExecutionTaskHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/ScriptingExpressionEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/AbstractObjectBasedActionExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/AddExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ApplyDefinitionExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/AssignExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/AssignmentOperationsExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/DeleteExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/DiscoverConnectorsExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/EnableDisableExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ExecuteScriptExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/GenerateValueExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/LogExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ModifyExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/NotifyExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/PurgeSchemaExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/RecomputeExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ReencryptExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ResolveExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ResumeTaskExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/TestResourceExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/UnassignExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/ValidateExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/expressions/FilterContentEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/expressions/SearchEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/expressions/SelectEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/helpers/ExpressionHelper.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/helpers/OperationsHelper.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/AsyncUpdateTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/DeleteNotUpdatedShadowTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/ExecuteChangesTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/FocusValidityScannerTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/LiveSyncTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/PartitionedFocusValidityScannerTaskHandlerCreator.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/PartitionedReconciliationTaskHandlerCreator.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/RecomputeTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/ReconciliationTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/ReconciliationTaskResult.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/ReconciliationTaskResultListener.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SyncTaskHelper.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationObjectsFilter.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizeAccountResultHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/AsyncUpdateTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/LiveSyncTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/NullSynchronizationObjectFilterImpl.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/SyncTaskHelper.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/SynchronizationObjectsFilter.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/SynchronizationObjectsFilterImpl.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/Synchronizer.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/imp/ImportFromResourceTaskExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/imp/ImportFromResourceTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/imp/ImportFromResourceTaskPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/DebugReconciliationTaskResultListener.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/PartitionedReconciliationTaskHandlerCreator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskFirstPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskResult.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskResultListener.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskSecondPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationTaskThirdPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/AbstractSearchIterativeModelTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/AbstractSearchIterativeModelTaskPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/AuditReindexTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/DeleteNotUpdatedShadowTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/DeleteNotUpdatedShadowTaskHandlerOld.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/DeleteTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ExecuteChangesTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ExecuteChangesTaskHandlerOld.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/RecomputeTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/RecomputeTaskHandlerOld.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ReindexTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/AbstractScannerResultHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/AbstractScannerTaskExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/AbstractScannerTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/AbstractScannerTaskPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScannerResultHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScannerTaskExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScannerTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScannerTaskPartExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/PartitionedFocusValidityScannerTaskHandlerCreator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/simple/ExecutionContext.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/simple/Processing.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/simple/SimpleIterativeTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/ProcessedTriggers.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/TriggerHandlerRegistry.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/TriggerScannerResultHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/TriggerScannerTaskHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/TriggerScannerTaskPartExecution.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/AbstractScannerResultHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/AbstractScannerTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/AbstractSearchIterativeModelTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/AuditReindexTaskHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/DebugReconciliationTaskResultListener.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/DeleteTaskHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/ModelImplUtils.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/ReindexResultHandler.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/ReindexTaskHandler.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/AbstractInitializedModelIntegrationTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestIteration.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestTriggerTask.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/AbstractGroupingManualResourceTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/mapping/TestMappingAutoInbound.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/mapping/TestMappingInbound.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/scripting/AbstractBasicScriptingTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestImportRecon.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestRecomputeTask.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestUuid.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestValidityRecomputeTaskPartitioned.java
    M model/model-intest/src/test/resources/logback-test.xml
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/TaskFinishChecker.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/MultiPropagationResultHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/MultiPropagationTaskHandler.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/MultiPropagationTaskPartExecution.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/PropagationResultHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/PropagationTaskHandler.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/task/PropagationTaskPartExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/AbstractSearchIterativeResultHandler.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/AbstractSearchIterativeTaskExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/AbstractSearchIterativeTaskHandler.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/AbstractSearchIterativeTaskPartExecution.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/DefaultHandledObjectType.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/HandledObjectType.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/InstantiationUtil.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/PartExecutionClass.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ResultHandlerClass.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/TaskExecutionClass.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/TaskReportingOptions.java
    M repo/security-enforcer-api/src/main/java/com/evolveum/midpoint/security/enforcer/api/SecurityEnforcer.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/ExitWorkBucketHandlerException.java
    A repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskException.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskRunResult.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskWorkBucketProcessingResult.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/WorkBucketAwareTaskHandler.java
    A repo/task-api/src/main/java/com/evolveum/midpoint/task/api/util/TaskExceptionHandlingUtil.java
    M testing/conntest/src/test/java/com/evolveum/midpoint/testing/conntest/AbstractLdapConnTest.java
    M testing/conntest/src/test/java/com/evolveum/midpoint/testing/conntest/AbstractLdapTest.java
    M testing/longtest/src/test/java/com/evolveum/midpoint/testing/longtest/TestLdap.java
    M testing/longtest/src/test/java/com/evolveum/midpoint/testing/longtest/TestLdapComplex.java
    M testing/longtest/src/test/java/com/evolveum/midpoint/testing/longtest/TestLdapUniversity.java
    M testing/longtest/src/test/resources/logback-test.xml
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestDelayedEnable.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestOrgSync.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestUniversity.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestUnix.java
    M testing/story/src/test/resources/logback-test.xml

  Log Message:
  -----------
  Restructure search-iterative task processing

In order to unify error handling and state/progress/error reporting
in search-iterative tasks (including reconciliation), the
search-iterative mechanism was restructured.

Instead of the traditional couple of task handler + result handler,
now we have four cooperating sets of classes:
- task handler,
- task execution,
- task part executions (see the "new" conceptual model of tasks),
- result handlers.

Also, further steps to streamline error handling in tasks were taken.
TaskException class was introduced. Error handling was extracted into
TaskExceptionHandlingUtil class. (Preliminarily.)

Other (minor) changes:
- Disabled "checkSubresult" flag in tests (will be removed).
- ScriptExecutionException has become a CommonException.
- ImportAccountsFromResourceTaskHandler is now
ImportFromResourceTaskHandler.
- SynchronizeAccountResultHandler functionality was split
into Synchronizer and auxiliary classes in import/reconciliation task.
- ReconciliationTaskResult.shadowReconCount now includes also protected
accounts (to be consistent with the other counters). It is used only
in the tests, anyway.
- Task handlers were moved to more appropriate packages.
- An option for doing separate objects/assignments validity
scanning within a single physical task was introduced.

This commit is a work in progress. All the tests seem to pass
but the code is not complete. In particular, existing code in
base classes was not cleaned up yet.




More information about the midPoint-svn mailing list