[midPoint-git] [Evolveum/midpoint] c9cb44: Support activity policy rules anywhere in tree
mederly
noreply at github.com
Wed Oct 29 15:46:33 CET 2025
Branch: refs/heads/feature/mid-10412-skip-restart-activity
Home: https://github.com/Evolveum/midpoint
Commit: c9cb448f512d38ba0ccced5b0748d46db3aa6680
https://github.com/Evolveum/midpoint/commit/c9cb448f512d38ba0ccced5b0748d46db3aa6680
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-10-29 (Wed, 29 Oct 2025)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/ActivityItemProcessingStatisticsUtil.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/ActivityPerformanceInformation.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/ActivityTreeUtil.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/WallClockTimeComputer.java
M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/cleanup/CleanupActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/cleanup/ShadowRefreshActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/async/AsyncUpdateActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/sync/LiveSyncActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/cluster/AutoScalingActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScanActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/TriggerScanActivityHandler.java
M model/model-intest/src/test/resources/tasks/thresholds/task-non-iterative-restart.xml
M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/ClassicReportExportActivityHandler.java
M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/DistributedReportExportActivityHandler.java
M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/DistributedReportExportActivitySupport.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/Activity.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/ActivityTreeStateOverview.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/EmbeddedActivity.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/StandaloneActivity.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/TaskActivityManager.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/handlers/ActivityHandler.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/handlers/CustomCompositeActivityHandler.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyConstraintsEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyProcessorHelper.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyRuleEvaluationContext.java
A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyRuleIdentifier.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyRuleUpdater.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyRulesContext.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ActivityPolicyRulesProcessor.java
A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/ComputationUtil.java
A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/DataNeed.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/EvaluatedActivityPolicyRule.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/EvaluatedPolicyReaction.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/EvaluatedPolicyRule.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/PolicyRuleCounterUpdater.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/PolicyRulesContext.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/PolicyViolationContextBuilder.java
A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/PreexistingValues.java
A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/PreexistingValuesComputer.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/ActivityCompositeConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/DurationConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/ExecutionAttemptsConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/ExecutionTimeConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/ItemStateConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/policy/evaluator/NumericConstraintEvaluator.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/AbstractActivityRun.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/DelegatingActivityRun.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/IterativeActivityRun.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/LocalActivityRun.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/processing/ItemProcessingGatekeeper.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/state/ActivityState.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/state/ActivityStateDefinition.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/state/CurrentActivityState.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/state/OtherActivityState.java
M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestActivityPolicies.java
M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/composite/CompositeMockActivityHandler.java
M repo/repo-common/src/test/resources/tasks/activities/policies/task-100-simple-suspend-on-execution-time.xml
M repo/repo-common/src/test/resources/tasks/activities/policies/task-110-child-suspend-on-own-execution-time.xml
M repo/repo-common/src/test/resources/tasks/activities/policies/task-120-child-suspend-on-parent-execution-time.xml
M repo/repo-common/src/test/resources/tasks/activities/policies/task-150-multinode-suspend-on-execution-time.xml
M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityItemProcessingStatisticsAsserter.java
M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java
M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/test/NullTaskImpl.java
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskQuartzImpl.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsStoryLiveSync.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsStoryRecon.java
Log Message:
-----------
Support activity policy rules anywhere in tree
Now we can specify policy rules anywhere in the activity tree. They
will be evaluated in all child activities. For performance reasons,
the state (e.g., counters) is maintained locally, in each activity
involved. The initial values for each activity are determined at the
beginning, see PreexistingValues class.
Limitations:
1. Some tests in TestActivityPolicies fail.
2. There is still the problem of collecting rules from predefined
composite activities (like reconciliation) twice.
3. Policy state recording is done at the place where the policy rule
was triggered. But it should be at the place where it is defined, e.g.,
to treat notification suppression when the rule is triggered at
different places in the tree.
Related changes:
1. Unused type parameter in ActivityStateDefinition was removed.
2. Rule collecting is now done in LocalActivityRun, as it is not needed
for delegating and distributing activities. We can add it there later,
if necessary. The collecting was also removed from
ActivityPolicyProcessorHelper, as it's not needed there as well.
3. ActivityPolicyRuleIdentifier was added, to clearly mark this data
type.
4. Terminology change: instead of "enforcing" rules we "execute" them.
This is because rule enforcement is only one of possible actions in
object-based policy rules in midPoint. (Note: not all places were
changed yet.)
5. Minor code/doc improvements.
Commit: aa506df290ea8a8d3249153d17392ad604bc76e5
https://github.com/Evolveum/midpoint/commit/aa506df290ea8a8d3249153d17392ad604bc76e5
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-10-29 (Wed, 29 Oct 2025)
Changed paths:
M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestActivityPolicies.java
A repo/repo-common/src/test/resources/tasks/activities/policies/task-400-simple-restart-on-execution-time.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-410-child-restart-on-own-execution-time.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-420-child-restart-on-parent-execution-time.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-430-child-restart-on-own-execution-time-with-subtasks.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-440-child-restart-on-parent-execution-time-with-subtasks.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-450-multinode-restart-on-execution-time.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-460-multinode-child-restart-on-own-execution-time-with-subtasks.xml
A repo/repo-common/src/test/resources/tasks/activities/policies/task-470-multinode-child-restart-on-root-execution-time-with-subtasks.xml
Log Message:
-----------
Merge remote-tracking branch 'origin/feature/mid-10142-skip-restart-activity'
Resolved 1 conflict (TestActivityPolicies) during merge.
Commit: d2d4b946af6962e31f22d35475fcbeeceb568c63
https://github.com/Evolveum/midpoint/commit/d2d4b946af6962e31f22d35475fcbeeceb568c63
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-10-29 (Wed, 29 Oct 2025)
Changed paths:
M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestActivityPolicies.java
M repo/repo-common/src/test/resources/tasks/activities/policies/task-120-child-suspend-on-parent-execution-time.xml
Log Message:
-----------
Fix TestActivityPolicies after merge
Compare: https://github.com/Evolveum/midpoint/compare/d004687a25fa...d2d4b946af69
To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/midpoint/settings/notifications
More information about the midPoint-svn
mailing list