[midPoint-git] [Evolveum/midpoint] 80ea2a: Migrate previewChanges to simulations, part 1

mederly noreply at github.com
Thu Sep 19 09:59:18 CEST 2024


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 80ea2a252a4653a31eca9ff8c5f039b3569b9f6c
      https://github.com/Evolveum/midpoint/commit/80ea2a252a4653a31eca9ff8c5f039b3569b9f6c
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/ProgressAwareChangesExecutorImpl.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/assignmentholder/component/assignmentType/assignment/DirectAndIndirectAssignmentPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/RequestAccess.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/progress/ProgressPanel.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationHook.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/ModelInteractionService.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ProgressListener.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/ModelContext.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AbstractSearchExpressionEvaluator.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/AssociationTargetSearchExpressionEvaluator.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/ReferenceAttributeTargetSearchExpressionEvaluator.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/controller/ModelInteractionServiceImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/SequentialValueExpressionEvaluator.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/ClockworkHookHelper.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/LensUtil.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/FullInboundsProcessing.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEnforcer.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/rbac/TestRbac.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/rbac/TestSegregationOfDuties.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityBasic.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/simulation/TestPreviewSequences.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/asserter/ElementContextAsserter.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/asserter/FocusContextAsserter.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/asserter/ProjectionContextAsserter.java
    M model/notifications-impl/src/main/java/com/evolveum/midpoint/notifications/impl/NotificationHook.java
    M model/workflow-impl/src/main/java/com/evolveum/midpoint/wf/impl/hook/WfHook.java
    M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/assignments/TestAssignmentsAdvanced.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestInboundOutboundAssociation.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestPlentyOfAssignments.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/security/TestRoleMembers.java

  Log Message:
  -----------
  Migrate previewChanges to simulations, part 1

The previewChanges functionality was created long before simulations
were born, and it significantly overlaps them. Moreover, it's quite
problematic in nature, as it does not simulate the execution closely
enough. This leads to a lot of tickets, like MID-9853.

So this commit migrates previewChanges functionality to use simulations.
It is a drop-in replacement: Model API remains unchanged, only
the implementation is switched.

There are some areas where we depend on the original behavior, though;
at least for now. So, the previewChangesLegacy method was created.
It is currently used for requesting access and for computing direct
and indirect assignments. This is to be reviewed soon.

Also removed (experimental) simulation options in ModelExecuteOptions.

Work in progress. Maybe we should migrate all nuances from legacy
previewChanges method to the modern one.

---
Related to MID-9853.


  Commit: ec18f1c07fac2204b5215531d107541bf69a9a70
      https://github.com/Evolveum/midpoint/commit/ec18f1c07fac2204b5215531d107541bf69a9a70
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-09-19 (Thu, 19 Sep 2024)

  Changed paths:
    R config/sql/generic/h2-4.9-all.sql
    R config/sql/generic/h2-upgrade-4.8-4.9.sql
    M dist/src/main/bin/ninja.sh
    M dist/src/main/var/README.txt
    M docs/deployment/clustering-ha/index.adoc
    M docs/deployment/ninja/use-case/administrator-unlock.adoc
    M docs/deployment/ninja/use-case/upgrade-with-ninja.adoc
    M docs/deployment/stand-alone-deployment.adoc
    M docs/repository/configuration.adoc
    M docs/repository/generic/configuration.adoc
    M docs/repository/generic/database-schema-versioning.adoc
    M docs/repository/generic/generic-audit.adoc
    R docs/repository/generic/h2.adoc
    M docs/repository/generic/implementation.adoc
    M docs/repository/generic/ms-sql.adoc
    M docs/repository/repository-database-support.adoc
    M docs/roles-policies/certification/tutorial/index.adoc
    M docs/tasks/task-manager/configuration.adoc
    M gui/admin-gui/src/frontend/js/midpoint-theme.js
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MainObjectListPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/GuiDisplayTypeUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/ContainerableListPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/SearchBuilder.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/SearchableItemsDefinitions.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/panel/SaveSearchPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/panel/SearchButtonWithDropdownMenu.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/panel/SearchPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/tile/TileTablePanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/duplicateresolver/AssociationDuplicateResolver.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/ObjectTypeIntentPanelFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/variablebindingdefinition/SourceOfInboundForAssociationMappingPanelFactory.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/variablebindingdefinition/SourceOfInboundMappingPanelFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/variablebindingdefinition/SourceOrTargetOfAssociationMappingPanelFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/variablebindingdefinition/SourceOrTargetOfMappingPanelFactory.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/wrapper/PolicyStatementMarkRefWrapperFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/CampaignTilePanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/mark/component/EffectiveMarkDto.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/mark/component/MarksOfObjectListPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/mark/component/MarksOfObjectListPopupPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/ResourceObjectsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/wizard/schemaHandling/associationType/basic/ResourceAssociationTypeBasicWizardPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/wizard/schemaHandling/associationType/subject/mappingContainer/inbound/mapping/InboundMappingsTableWizardPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/wizard/schemaHandling/objectType/attributeMapping/AttributeMappingsTable.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/wizard/schemaHandling/objectType/basic/BasicSettingResourceObjectTypeStepPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/role/component/wizard/construction/ConstructionResourceObjectTypeMembershipStepPanel.java
    M 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/self/dashboard/component/DashboardSearchPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/validator/IntentValidator.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/form/MidpointForm.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/RepositoryDiag.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowsNormalizationUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/util/mock/MockFactory.java
    M model/model-intest/pom.xml
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestSyncStoryUsingReconciliationMultiNode.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestSyncStoryUsingReconciliationWithSubtasks.java
    M model/workflow-impl/src/test/resources/test-config.xml
    M pom.xml
    M release-notes.adoc
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/RepositoryService.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/RepositoryCache.java
    M repo/repo-cache/src/test/resources/test-config.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/subscription/SubscriptionState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/subscription/SystemFeatures.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/subscription/SystemFeaturesEnquirer.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/RepoConcurrencyTest.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryConfiguration.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleServiceBase.java
    M repo/repo-sql-impl-test/pom.xml
    M repo/repo-sql-impl-test/src/main/java/com/evolveum/midpoint/repo/sql/testing/TestSqlRepositoryBeanPostProcessor.java
    M repo/repo-sql-impl-test/src/main/java/com/evolveum/midpoint/repo/sql/testing/TestSqlRepositoryConfigurationFactory.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/BaseSQLRepoTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ExtensionTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ObjectDeltaUpdaterTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/SchemaTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/SearchTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/closure/OrgClosureConcurrencyTest.java
    M repo/repo-sql-impl/pom.xml
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/Database.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlBaseService.java
    R repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlEmbeddedRepository.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryBeanConfig.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryConfiguration.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/OrgClosureManager.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/TransactionSerializationProblemDetector.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/util/TemporaryTableDialect.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/JdbcRepositoryConfiguration.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/SupportedDatabase.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/querydsl/QuerydslUtils.java
    M repo/repo-test-util/src/main/resources/test-config-no-repo.xml
    M repo/repo-test-util/src/main/resources/test-config.xml
    M repo/system-init/src/main/resources/config.xml
    M repo/system-init/src/test/java/com/evolveum/midpoint/init/TestConfigurationLoad.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskManagerConfiguration.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/UpAndDown.java
    R repo/task-quartz-impl/src/main/resources/com/evolveum/midpoint/task/quartzimpl/execution/tables_h2.sql
    M tools/ninja/src/main/java/com/evolveum/midpoint/ninja/action/mining/generator/BaseGeneratorOptions.java
    M tools/ninja/src/main/java/com/evolveum/midpoint/ninja/action/mining/generator/context/RbacObjectCategoryBuilder.java
    M tools/ninja/src/main/java/com/evolveum/midpoint/ninja/action/mining/generator/object/InitialArchetype.java
    M tools/ninja/src/main/java/com/evolveum/midpoint/ninja/action/mining/generator/object/InitialObjectsDefinition.java
    M tools/ninja/src/main/java/com/evolveum/midpoint/ninja/impl/NinjaContext.java
    M tools/ninja/src/test/java/com/evolveum/midpoint/ninja/ImportRepositoryTest.java
    M tools/ninja/src/test/java/com/evolveum/midpoint/ninja/NinjaTestMixin.java

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


Compare: https://github.com/Evolveum/midpoint/compare/a54e3e7928ac...ec18f1c07fac

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