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

mederly noreply at github.com
Tue Feb 14 14:37:08 CET 2023


  Branch: refs/heads/master
  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.


  Commit: 05d47a5073f29f504469d7804b374f8fd3448aab
      https://github.com/Evolveum/midpoint/commit/05d47a5073f29f504469d7804b374f8fd3448aab
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBar.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBarPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBarPanel.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressbarPanel.html
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressbarPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/DetailsTablePanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/DetailsTablePanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/GuiSimulationsUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/PageSimulationResultObject.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/PageSimulationResultObject.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/ProcessedObjectsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/ProcessedObjectsProvider.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/RelatedObjectsProvider.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/SimulationPage.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/TitleWithDescriptionPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ProgressBarColumn.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/SystemConfigurationTypeUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/util/DefaultColumnUtils.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestPolicyStateRecording.java

  Log Message:
  -----------
  Merge branch 'master' into tmp/rules-rework


  Commit: 85524502050eee66d3b7d0d2eb0824853af12472
      https://github.com/Evolveum/midpoint/commit/85524502050eee66d3b7d0d2eb0824853af12472
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/result/OperationResult.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/EvaluatedAssignment.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedPolicyRule.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.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/LensContext.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/policy/AssignmentPolicyRuleEvaluationContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/AssignmentPolicyRuleEvaluator.java
    M 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/PolicyRulesCollector.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/AssignmentModificationConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/MultiplicityConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/PolicySituationConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScanPartialRun.java
    M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/assignments/AbstractTestAssignmentApproval.java

  Log Message:
  -----------
  Fix the direct/indirect assignment target rules

The distinction between rules assigned directly to current assignment
target and those assigned indirectly to it is now better clarified.


  Commit: d349548f4bd7b83444d0828af5fd376d68c1bd59
      https://github.com/Evolveum/midpoint/commit/d349548f4bd7b83444d0828af5fd376d68c1bd59
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBar.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBarPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/progressbar/ProgressBarPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageAdminLTE.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/LocalizationUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/ProcessedObjectsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/PageableListView.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/DeltaProgressBarColumn.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ProgressBarColumn.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/security/MidPointAuthWebSession.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/SystemConfigurationTypeUtil.java
    M model/authentication-api/src/main/java/com/evolveum/midpoint/authentication/api/util/AuthUtil.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestPolicyStateRecording.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestAccessesValueMetadata.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M model/rest-impl/src/main/java/com/evolveum/midpoint/rest/impl/AbstractRestController.java
    M testing/rest/src/test/java/com/evolveum/midpoint/testing/rest/TestAbstractRestService.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestUnix.java

  Log Message:
  -----------
  Merge branch 'master' into tmp/rules-rework


  Commit: 0ea7e276d793fa4b5ff343da7f1ddc0363049e9e
      https://github.com/Evolveum/midpoint/commit/0ea7e276d793fa4b5ff343da7f1ddc0363049e9e
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    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/PolicyRuleProcessor.java

  Log Message:
  -----------
  Improve tracing of policy rules processing

(Added some operation results to show borders of processing.)


  Commit: 4b09bff502c95c38c2635396b2cad7bfb89c7a75
      https://github.com/Evolveum/midpoint/commit/4b09bff502c95c38c2635396b2cad7bfb89c7a75
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/CorrelationProcessing.java

  Log Message:
  -----------
  Fix correlation processing

The last start/end timestamp of correlation processing was not updated;
this was broken recently in 9a254359bfea939fd0219bb344cc09c310ccf855,
when the clearing was removed to facilitate the simulations.

Here we introduce at least setting of start and end timestamps,
hoping it will be enough.

This should fix TestFirstSteps.


  Commit: 07542ddd6838b01ed65c075cc63c88549fceba3a
      https://github.com/Evolveum/midpoint/commit/07542ddd6838b01ed65c075cc63c88549fceba3a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M model/certification-impl/src/test/java/com/evolveum/midpoint/certification/test/complex/TestPolicyDrivenRoleLifecycle.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ModelExecuteOptions.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedAssignment.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedPolicyRule.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/ModelContext.java
    M model/model-common/src/test/java/com/evolveum/midpoint/model/common/mapping/TestMappingMetadata.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ElementState.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/PolicyRulesContext.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/policy/ObjectPolicyRulesEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEvaluationContext.java
    M 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
    M 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/test/java/com/evolveum/midpoint/model/impl/lens/AbstractLensTest.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestAssignmentProcessor.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestAssignmentProcessor2.java
    M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/objects/TestObjectLifecycleAdvanced.java

  Log Message:
  -----------
  Document and clarify rule processing a bit

(Plus some unrelated cosmetic improvements.)


  Commit: c403c529f39632b12b6c7df39bf955acb8725cad
      https://github.com/Evolveum/midpoint/commit/c403c529f39632b12b6c7df39bf955acb8725cad
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M .editorconfig
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/wizard/NavigationPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/wizard/NavigationPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/PageSimulationResult.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestAudit.java

  Log Message:
  -----------
  Merge branch 'master' into tmp/rules-rework


Compare: https://github.com/Evolveum/midpoint/compare/48b3a19dfce9...c403c529f396


More information about the midPoint-svn mailing list