[midPoint-git] [Evolveum/midpoint] be921d: Refactor policy rules processing

mederly noreply at github.com
Mon Feb 13 22:35:41 CET 2023


  Branch: refs/heads/tmp/rules-rework
  Home:   https://github.com/Evolveum/midpoint
  Commit: be921dd668b46b84403e2f1c4ec651a0eab45901
      https://github.com/Evolveum/midpoint/commit/be921dd668b46b84403e2f1c4ec651a0eab45901
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/PolicyRuleTypeUtil.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/AssignmentPath.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedPolicyRule.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/ModelCommonBeans.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/ModelBeans.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/ClockworkClick.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ClockworkMedic.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/EvaluatedPolicyRuleImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensFocusContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/AssignmentPathImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/EvaluatedAssignmentImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/PayloadEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/Projector.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentHolderProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentTripleEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/AssignmentPolicyRuleEvaluationContext.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/AssignmentPolicyRuleEvaluator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/ObjectPolicyRulesEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/ObjectState.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleCounterUpdater.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEnforcer.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEvaluationContext.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleProcessor.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleSuspendTaskExecutor.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRulesCollector.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyStateRecorder.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/CompositeConstraintEvaluator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/PolicyConstraintsEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/TransitionConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/simulation/SimulationResultImpl.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContract.java
    M repo/system-init/src/main/resources/initial-objects/mark/710-mark-focus-activated.xml
    M repo/system-init/src/main/resources/initial-objects/mark/711-mark-focus-deactivated.xml
    M repo/system-init/src/main/resources/initial-objects/mark/712-mark-focus-renamed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/713-mark-focus-assignment-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/714-mark-focus-archetype-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/715-mark-focus-parent-org-reference-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/716-mark-focus-role-membership-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/730-mark-projection-activated.xml
    M repo/system-init/src/main/resources/initial-objects/mark/731-mark-projection-deactivated.xml
    M repo/system-init/src/main/resources/initial-objects/mark/732-mark-projection-renamed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/733-mark-projection-identifier-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/734-mark-projection-entitlement-changed.xml
    M repo/system-init/src/main/resources/initial-objects/mark/735-mark-projection-password-changed.xml

  Log Message:
  -----------
  Refactor policy rules processing

The immediate goal of this commit is to enable evaluation of policy
rules even if there is no focus present, e.g. when unlinked shadow is
deleted.

(See TestModelServiceContract#test126DeleteUnlinkedAccountSimulated.)

The package com.evolveum.midpoint.model.impl.lens.projector.policy and
its interface to rest of Lens had to be cleaned up and re-organized.
The PolicyRuleProcessor is now the main interface to the whole package.

Work in progress. Some tests may fail.




More information about the midPoint-svn mailing list