[midPoint-git] [Evolveum/midpoint] 73b1f2: Improve code readability a bit

mederly noreply at github.com
Tue Dec 10 17:28:23 CET 2024


  Branch: refs/heads/support-4.9
  Home:   https://github.com/Evolveum/midpoint
  Commit: 73b1f2c355c4b99b6b122507f0f651ecbb540173
      https://github.com/Evolveum/midpoint/commit/73b1f2c355c4b99b6b122507f0f651ecbb540173
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/PathExpressionResolver.java

  Log Message:
  -----------
  Improve code readability a bit

(As part of MID-10130 diagnostics.)

(cherry picked from commit 086560fc4cbca9617143036e25490f5823a69ce0)


  Commit: e3c051362c560fc8fa627b3c943cf16680180357
      https://github.com/Evolveum/midpoint/commit/e3c051362c560fc8fa627b3c943cf16680180357
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    A docs/concepts/configuration-item-lifecycle/index.adoc
    A docs/concepts/configuration-item-lifecycle/lifecycle-states.drawio
    A docs/concepts/configuration-item-lifecycle/lifecycle-states.drawio.png
    M docs/concepts/object-lifecycle/index.adoc
    M docs/simulation/index.adoc

  Log Message:
  -----------
  Factor out config item LC from simulations

(cherry picked from commit 2ec09105655f0f7ae54e430096e2799c30c097b1)


  Commit: 75ad77f6266632eaf354501a5ae464885aabd031
      https://github.com/Evolveum/midpoint/commit/75ad77f6266632eaf354501a5ae464885aabd031
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/login/PageRegistrationBase.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/login/module/PageAbstractAuthenticationModule.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/lostusername/PageIdentityRecovery.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractResourceObjectDefinitionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ResourceAttributeDefinitionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/merger/package-info.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/merger/securitypolicy/SecurityPolicyCustomMerger.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaParser.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ObjectTypeUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowBuilder.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M model/authentication-impl/src/main/java/com/evolveum/midpoint/authentication/impl/entry/point/HttpSecurityQuestionsAuthenticationEntryPoint.java
    M model/authentication-impl/src/main/java/com/evolveum/midpoint/authentication/impl/filter/AuthenticationWrapper.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ModelInteractionService.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/archetypes/ArchetypeManager.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/ModelObjectResolver.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/MidpointFunctionsImpl.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/construction/EvaluatedAssignedResourceObjectConstructionImpl.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/projector/credentials/CredentialsProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/credentials/ProjectionCredentialsProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ContextLoader.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ProjectionUpdateOperation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/security/GuiProfileCompiler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/security/ModelSecurityPolicyFinder.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/security/SecurityHelper.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/AbstractConfiguredModelIntegrationTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/password/AbstractPasswordTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/password/TestPasswordDefault.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowsLocalBeans.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/OperationResultRecorder.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowCreator.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerAbsolute.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerRelative.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowObjectComputer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowUpdater.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractBasicDummyTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractDummyTest.java
    A provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyPasswordCaching.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDj.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDjIncompletePassword.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDjReadablePassword.java
    A provisioning/provisioning-impl/src/test/resources/dummy/dummy-password-caching/resource-dummy-template.xml
    A provisioning/provisioning-impl/src/test/resources/dummy/dummy-password-caching/security-policy-hashing.xml
    R provisioning/provisioning-impl/src/test/resources/dummy/modify-will-disable.xml
    R provisioning/provisioning-impl/src/test/resources/dummy/modify-will-enable.xml
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/security/CredentialsStorageManager.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/security/SecurityPolicyFinder.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/DummyTestResource.java
    R repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/MetadataAsserter.java
    M repo/security-api/src/main/java/com/evolveum/midpoint/security/api/SecurityUtil.java

  Log Message:
  -----------
  Support encryption for cached shadow passwords

This commit improves the shadow password caching, enabling both
encrypted and hashed password storage - driven by either global
or object class/type specific security policy.

It also downgrades the legacy caching mode to the original behavior:
hashed passwords only, and NOT updated on the shadow fetch operation.
It is to avoid unwanted changes for deployments being upgraded.

Related architectural changes:

1. Code for finding appropriate security policy was moved into newly
created SecurityPolicyFinder (repo-common) and ModelSecurityPolicyFinder
(model-impl). Also, related APIs were untangled and clarified, namely
the ModelInteractionService#getSecurityPolicy method that combined
focus+archetype policy lookup in not quite intuitive way.

2. Storage for credentials (focus and shadow) is managed by
CredentialsStorageManager: not directly storing them, but transforming
objects and deltas before they are actually send to the repository.

3. Logic for merging security policies was moved to
SecurityPolicyCustomMerger (schema), to be close to the other mergers.

!!! There are significant differences to the other merging algorithms,
which can cause problems in the long run - similar to those with merging
capabilities. !!!

Work in progress. Some tests are yet to be written; in particular, tests
related to transitions between configuration settings.

(cherry picked from commit 48e266a5fb8e31841bcdcc9fa078a6ba73107baf)


  Commit: 1a492ea1f6676e5aa6b08f8a3a39be948a2c0acc
      https://github.com/Evolveum/midpoint/commit/1a492ea1f6676e5aa6b08f8a3a39be948a2c0acc
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestConnectorDummyFake.java

  Log Message:
  -----------
  Fix TestConnectorDummyFake

Now the global policy object must exist for provisioning operations.

(cherry picked from commit 3c5dfc23c4eb4731f3db9f59d45adbc9fb731c2c)


  Commit: e1e9c791163a73649e65b38f4b05022bcc644262
      https://github.com/Evolveum/midpoint/commit/e1e9c791163a73649e65b38f4b05022bcc644262
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectIdentification.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectAddOperation.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyPasswordCaching.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfAddReturnValue.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnectorInstanceConnIdImpl.java
    M provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/TestUcfOpenDj.java

  Log Message:
  -----------
  Improve password caching tests

(Plus an unrelated fix to UcfAddReturnValue data structure.)

(cherry picked from commit 11cdef621299fc0314cce002f0f695e6542a18ef)


  Commit: c20dd7ea32858994ca3e1763a1a0e7db9eed20fa
      https://github.com/Evolveum/midpoint/commit/c20dd7ea32858994ca3e1763a1a0e7db9eed20fa
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttributesContainer.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttributesContainerImpl.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectAddOperation.java

  Log Message:
  -----------
  Add ShadowAttributesContainer.removeAttribute

This fixes tests failing because of the recent generalization
of UcfAddReturnValue in 11cdef621299fc0314cce002f0f695e6542a18ef.

(cherry picked from commit e482a2172e59432cc4f68b0f872672d23d12330c)


  Commit: 37381f00c1fd682d3bfddc2e2071499727f48809
      https://github.com/Evolveum/midpoint/commit/37381f00c1fd682d3bfddc2e2071499727f48809
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M icf-connectors/dummy-connector/src/main/java/com/evolveum/icf/dummy/connector/AbstractModernObjectDummyConnector.java
    M icf-connectors/dummy-connector/src/main/java/com/evolveum/icf/dummy/connector/AbstractObjectDummyConnector.java
    A icf-connectors/dummy-resource/src/main/java/com/evolveum/icf/dummy/resource/ConnectorOperationHook.java
    M icf-connectors/dummy-resource/src/main/java/com/evolveum/icf/dummy/resource/DummyObject.java
    M icf-connectors/dummy-resource/src/main/java/com/evolveum/icf/dummy/resource/DummyResource.java
    A icf-connectors/dummy-resource/src/main/java/com/evolveum/icf/dummy/resource/HookRegistry.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/internals/InternalsConfig.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/CompositeObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttributeDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttributeDefinitionImpl.java
    R infra/schema/src/main/java/com/evolveum/midpoint/schema/result/AsynchronousOperationResult.java
    R infra/schema/src/main/java/com/evolveum/midpoint/schema/result/AsynchronousOperationReturnValue.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/result/ResourceOperationStatus.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/schema/transform/TransformablePropertyDefinition.java
    M model/model-intest/src/test/resources/common/resource-dummy-green.xml
    M model/model-intest/src/test/resources/volatility/resource-dummy-monsterized.xml
    M model/model-intest/src/test/resources/volatility/resource-dummy-volatile.xml
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ProvisioningOperationContext.java
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ProvisioningService.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceObjectOperations.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectAddOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectAddReturnValue.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectChange.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/resourceobjects/ResourceObjectDeleteOperation.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectDeleteResult.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectDeleteReturnValue.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectFetchOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectLiveSyncChange.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectLocateOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectModifyOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectModifyReturnValue.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectOperationResult.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectOperationReturnValue.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectProvisioningOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectSearchOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectUcfModifyOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/PendingOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ProvisioningOperationState.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowAddOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowDeleteOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowGetOperation.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/impl/shadows/ShadowOperationPropagationHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowProvisioningOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowRefreshOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/CommunicationExceptionHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ConfigurationExceptionHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ErrorHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/GenericErrorHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/MaintenanceExceptionHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectAlreadyExistHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectNotFoundHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/PolicyViolationHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/SchemaExceptionHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/SecurityViolationHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/OperationResultRecorder.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/PendingOperationsHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowCreator.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowUpdater.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractBasicDummyTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractDummyTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyNegative.java
    A provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyVolatility.java
    A provisioning/provisioning-impl/src/test/resources/dummy/dummy-volatility/resource-dummy.xml
    M provisioning/provisioning-impl/testng-integration.xml
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ConnectorInstance.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfAddReturnValue.java
    A provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfDeleteResult.java
    R provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfDeleteReturnValue.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfModifyReturnValue.java
    A provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfOperationResult.java
    A provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfOperationReturnValue.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/connectors/AbstractManualConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/provisioning/AsyncProvisioningConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/update/AsyncUpdateConnectorInstance.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnectorInstanceConnIdImpl.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/RepoShadowAsserter.java
    M testing/story/src/test/resources/science/resource-dummy-unix.xml
    M testing/story/src/test/resources/science/resource-opendj-ad-simulation.xml
    M testing/story/src/test/resources/unix/resource-opendj-tolerant-aux.xml
    M testing/story/src/test/resources/unix/resource-opendj.xml

  Log Message:
  -----------
  Improve shadow attribute volatility support

This commit adds new schema for attribute volatility, specifying it as
relations between attributes (source->target).

It provides a limited implementation, covering three cases:

- legacy volatility trigger: anything may change when attr X changes,
- "all" volatility trigger: anything may change when any attr changes,
- volatility on create: given attributes may be set/modified on create.

Related:

- Comprehensive support for volatility testing on the dummy resource:
ConnectorOperationHook objects.

- Clarified the ADD operation at the shadows and resource objects levels
so that created attributes and volatile ones are now written to BOTH
high-level and lower-level representations of the object to be added.

As part of this, the auditing is improved now: we audit the actual
object that was sent to the connector plus everything we got back
from the resource (in add operation + when fetching volatiles).

- Simplified return values from ADD, MODIFY, and DELETE operations at
both UCF and "resource objects" levels. The handling of these operations
at the "shadows" levels was simplified as well.

- A bug preventing native reference modifications in "avoid duplicate
values" mode was fixed.

- A rather obsolete code for invoking failure notifications for a narrow
set of schema-related errors in ADD operation was removed. It
complicated the code flow, and was rather an exception than a rule:
nothing like that exists for other operations. If needed, we should
implement the functionality in more generic way.

(cherry picked from commit b883f583f6a5ab35c1706845cd4887f02830792b)


  Commit: a0eeccd2df93c6e973150f190b51bb06f9703c3f
      https://github.com/Evolveum/midpoint/commit/a0eeccd2df93c6e973150f190b51bb06f9703c3f
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/TestUcfOpenDj.java

  Log Message:
  -----------
  Adapt TestUcfOpenDj

Related to b883f583f6a5ab35c1706845cd4887f02830792b.

(It depended on some obscure side effects of UCF addObject method.)

(cherry picked from commit 287656fdf8b113f8ba27c4e029f2305e81458740)


  Commit: 3ec473b6cbf05c89d752055ad3c8911fb5220b9a
      https://github.com/Evolveum/midpoint/commit/3ec473b6cbf05c89d752055ad3c8911fb5220b9a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/wrapper/ResourceAttributeWrapperImpl.java

  Log Message:
  -----------
  Fix a compilation error

Related to b883f583f6a5ab35c1706845cd4887f02830792b.

(cherry picked from commit 595df9b6ebab517f23a89c866acb58fdf8606130)


  Commit: be36cc9a9737df33b4228e72cb88efe61dd95d19
      https://github.com/Evolveum/midpoint/commit/be36cc9a9737df33b4228e72cb88efe61dd95d19
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttributeDefinitionImpl.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-intest/src/test/resources/common/resource-dummy-green.xml
    M model/model-intest/src/test/resources/volatility/resource-dummy-monsterized.xml
    M model/model-intest/src/test/resources/volatility/resource-dummy-volatile.xml
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-volatility/resource-dummy.xml
    M testing/story/src/test/resources/science/resource-dummy-unix.xml
    M testing/story/src/test/resources/science/resource-opendj-ad-simulation.xml
    M testing/story/src/test/resources/unix/resource-opendj-tolerant-aux.xml
    M testing/story/src/test/resources/unix/resource-opendj.xml

  Log Message:
  -----------
  Change volatility-related schema

Now it's better aligned with the idea of mappings.

See https://docs.evolveum.com/midpoint/devel/design/volatile-attributes-4.9.1-and-4.10/.

(cherry picked from commit 3b6fa7dacb3d2ad2aa040107b199cc3a1cb52c5d)


  Commit: 270f785d2b2d65325d5d6b036f630af1a972b5f5
      https://github.com/Evolveum/midpoint/commit/270f785d2b2d65325d5d6b036f630af1a972b5f5
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectModifyOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectUcfModifyOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowModifyOperation.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyVolatility.java

  Log Message:
  -----------
  Fix read-update-read provisioning mode

The code for merging discovered changes with the originally requested
ones is now fixed: we merge them, instead of simply concatenating them.

This fixes failing volatility tests on generic repo.

(cherry picked from commit 348792417b2db7081bc5fd5717d055fc2c2f2da8)


  Commit: b8d0fdea7ac238a41cbafad470fc996039af7263
      https://github.com/Evolveum/midpoint/commit/b8d0fdea7ac238a41cbafad470fc996039af7263
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/ProtectedStringPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/ProtectedStringPanelFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/RoleCatalogPanel.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/mapping/SqaleTableMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/object/QObjectMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/shadow/QShadowMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/update/AddObjectContext.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/ShadowPartitioningTest.java
    M repo/repo-sqale/testng-unit.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/support-4.9' into support-4.9


Compare: https://github.com/Evolveum/midpoint/compare/c0395f75cf57...b8d0fdea7ac2

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