[midPoint-git] [Evolveum/midpoint] cff80d: Fix multi-resource simulation scenarios

mederly noreply at github.com
Thu Feb 16 14:04:00 CET 2023


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: cff80dd886402301b1b1bdd02e6819d42e2c0d87
      https://github.com/Evolveum/midpoint/commit/cff80dd886402301b1b1bdd02e6819d42e2c0d87
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-02-16 (Thu, 16 Feb 2023)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/simulation/ProcessedObject.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ChangeExecutionResult.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ChangeExecutor.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/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/LensFocusContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensUtil.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/StolenContainerValueIdGenerator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/DeltaExecution.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/ElementChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/FocusChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/ProjectionChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.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/inbounds/prep/ClockworkShadowInboundsPreparation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ProjectionFullLoadOperation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/simulation/ProcessedObjectImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/simulation/ProcessedObjectsWriter.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContract.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestPreviewChanges.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/mapping/TestMappingAdvanced.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/multi/TestMultiResource.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/simulation/AbstractBasicSimulationExecutionTest.java
    M model/model-intest/testng-integration-full.xml
    A model/model-intest/testng-integration-simulations.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/asserter/ProcessedObjectFinder.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/util/SynchronizationRequest.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectConverter.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowModifyOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java

  Log Message:
  -----------
  Fix multi-resource simulation scenarios

Now the simulation correctly supports multiple dependent resources.
There were multiple issues with handling the simulated delta application
and related processing.

In particular:

- Reworked simulation delta application. Now it's done at the same place
where the real deltas would be executed (see DeltaExecution class).
- Fixed determination of "object before" for projections. There's still
some ugly magic there, please see
ElementState#getCurrentObjectBeforeSimulatedDeltaExecution.

Behavior changes that apply also to real executions:

- Streamlined context rotting after execution + now using really
executed deltas instead of assumed ones.
- Fixed determination of "relevant deltas" for LensProjectionContext
rotting (previously we wrongly looked only for attribute changes,
now we consider any resource-targeted deltas).

Other changes:

- Added ChangeExecutionResult to provide information from lens element
change execution to the clockwork (delta executed, restart requested).
- Minor readability improvements in LensContext class.
- Added simplified versions of executeWithSimulationResult for testing.
- Added forgotten TestPreviewChangesCoD and TestPreviewSequences to the
suite.


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

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/GuiStyleConstants.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/TogglePanel.java
    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/util/WebComponentUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/input/expression/ExpressionPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/menu/LeftMenuPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/MultiSelectTileTablePanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/MultiSelectTileTablePanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/SingleSelectTileTablePanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/SingleSelectTileTablePanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/TileTablePanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/TileTablePanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/wizard/MultiSelectTileWizardStepPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/wizard/SelectTileWizardStepPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/wizard/SelectTileWizardStepPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/wizard/SingleTileWizardStepPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/AccessApplicationRoleStepPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/AccessApplicationStepPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/ApplicationRoleWizardPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/BusinessRoleWizardPanel.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/MultiSelectTileWizardStepPanel.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/SelectTileWizardStepPanel.html
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/SelectTileWizardStepPanel.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/SingleTileWizardStepPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionGroupStepPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionGroupStepPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionResourceObjectTypeStepPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionResourceObjectTypeStepPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionResourceStepPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/ChangesPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/ChangesPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/CombinedRelatedObjectsProvider.java
    R 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/RelatedObjectsProvider.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/SimulationsGuiUtil.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/todo/CardOutlineLeftPanel.html
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/todo/CardOutlineLeftPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/CardObjectVisualizationPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/CardObjectVisualizationPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/CardOutlineLeftPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/CardOutlineLeftPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ContainerVisualization.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ContainerVisualizationPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ContainerVisualizationPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ObjectVisualization.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ObjectVisualizationPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/ObjectVisualizationPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/Visualization.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/VisualizationFactory.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/visualization/VisualizationGuiUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/ConflictItemPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/BoxedTablePanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/CountToolbar.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportServiceImpl.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/CollectionExportController.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/controller/ColumnDataConverter.java
    M model/report-impl/src/test/java/com/evolveum/midpoint/report/TestCsvReport.java
    M model/report-impl/src/test/java/com/evolveum/midpoint/report/TestCsvReportAllAssignments.java
    M model/report-impl/src/test/java/com/evolveum/midpoint/report/TestCsvReportExportClassic.java
    M model/report-impl/src/test/resources/reports/report-indirect-assignments.xml
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/perf/OperationPerformanceInformation.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/perf/OperationRecord.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master'


Compare: https://github.com/Evolveum/midpoint/compare/086b62a0a3b0...a64f1640d7c1


More information about the midPoint-svn mailing list