[midPoint-git] [Evolveum/midpoint] b883f5: Improve shadow attribute volatility support
mederly
noreply at github.com
Thu Dec 5 22:08:48 CET 2024
Branch: refs/heads/feature/attribute-volatility
Home: https://github.com/Evolveum/midpoint
Commit: b883f583f6a5ab35c1706845cd4887f02830792b
https://github.com/Evolveum/midpoint/commit/b883f583f6a5ab35c1706845cd4887f02830792b
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2024-12-05 (Thu, 05 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.
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