[midPoint-git] [Evolveum/midpoint] 97db60: Separate assoc. simulation from other processing

mederly noreply at github.com
Wed Mar 6 00:30:30 CET 2024


  Branch: refs/heads/tmp/simulated-associations-cleanup
  Home:   https://github.com/Evolveum/midpoint
  Commit: 97db60e5d24d333f51f5d39007b79e867c698125
      https://github.com/Evolveum/midpoint/commit/97db60e5d24d333f51f5d39007b79e867c698125
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ResourceTypeAssignmentPopupTabPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/wrapper/AssociationSearchItemWrapper.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/panel/ResourceAttributeRefPanelFactory.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/wrapper/ShadowAssociationWrapperFactoryImpl.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/util/ProvisioningObjectsUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/ConstructionAssociationPanel.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractAssignmentConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractMappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractPolicyRuleConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractResourceObjectDefinitionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AssignmentConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AssociationConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AssociationsCapabilityConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AutoAssignMappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AutoassignSpecificationConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ConfigurationItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ConfigurationItemOrigin.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ConfigurationItemable.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ConstructionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/EventHandlerConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ExecuteScriptConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ExpressionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ExpressionParameterConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/FocalAutoassignSpecificationConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/FunctionCallArgumentConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/FunctionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/FunctionExpressionEvaluatorConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/GlobalPolicyRuleConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/InboundMappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MetadataMappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MultiSourceDataHandlingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ObjectSelectorConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ObjectTemplateItemDefinitionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ObjectTemplateMappingConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/PolicyActionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/PolicyRuleConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ResourceAttributeDefinitionConfigItem.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ResourceObjectAssociationConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ResourceObjectClassDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ResourceObjectTypeDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/SchemaHandlingConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ShadowAssociationTypeDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ShadowAssociationTypeObjectDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ShadowAssociationTypeParticipantDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ShadowAssociationTypeSubjectDefinitionConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/SimulatedAssociationClassConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/SimulatedAssociationClassParticipantConfigItem.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/SimulatedAssociationClassParticipantDelineationConfigItem.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/AssociationDefinitionStore.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AttributeDefinitionStore.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/RefinedResourceSchemaParser.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectClassDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectIdentification.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectSetDelineation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectTypeDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectTypeDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectTypeDelineation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectTypeIdentification.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchema.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociation.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationClassSimulationDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationDefinition.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationTypeDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowDefinitionApplicator.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowQueryConversionUtil.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/SimulatedAssociationClassParticipantDelineation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/deleg/ResourceObjectTypeDefinitionDelegator.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/simulation/ExecutionModeProvider.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/AbstractShadow.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ResourceObjectTypeDefinitionTypeUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowAssociationsCollection.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/SimulationUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/resource/capabilities-3.xsd
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/FunctionExpressionEvaluator.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/AbstractMappingBuilder.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/dataModel/DataModelVisualizerImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/dataModel/dot/DotModel.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/AssociationEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/AttributeEvaluation.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/construction/EvaluatedPlainResourceObjectConstructionImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/ItemEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/ResourceObjectConstruction.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ConsolidationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ReconciliationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/ApplicabilityEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/ClockworkContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/ClockworkSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/Context.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedItem.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedItems.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/PreContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/PreSource.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/ObjectModificationConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/StateConstraintEvaluator.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/AbstractInitializedModelIntegrationTest.java
    M model/model-intest/src/test/resources/common/resource-dummy.xml
    M model/model-intest/src/test/resources/misc/resource-dummy-uuid-nonunique-name.xml
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceObjectDiscriminator.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/DelineationProcessor.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/EntitlementConverter.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/EntitlementObjectSearch.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/EntitlementReader.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/EntitlementUtils.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/QueryWithConstraints.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObject.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/ResourceObjectDiscriminator.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectFound.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/ResourceObjectProvisioningOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectReferenceResolver.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/ResourceObjectsBeans.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceTestOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowedObjectConstruction.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/classification/DelineationMatcher.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/classification/ResourceObjectClassifier.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/ShadowFinder.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/AttributesToReturnProvider.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/QueryConversionUtil.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyNegative.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/resources/TestResourceTemplateMerge.java
    M provisioning/provisioning-impl/src/test/resources/dummy/resource-dummy.xml
    M provisioning/provisioning-impl/src/test/resources/misc/lifecycle/resource-dummy-active.xml
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/PropertyModificationOperation.java
    M release-notes.adoc
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java

  Log Message:
  -----------
  Separate assoc. simulation from other processing

This is an attempt to separate the definition of association simulation
(processed by the resource objects layer in provisioning) from the rest
of the processing (shadows layer, model, and so on).

The idea is that in the near future, connectors will provide native
support for associations. Hence, we will most probably define their
handling without the need of defining how they are simulated using
matching attributes (like ri:dn<->ri:member, ri:memberOf<->ri:dn, ...).

This is a highly experimental work. Nevertheless, it is going to the
master branch to avoid diverge too much. The legacy approach still
works, after all.

Main ideas:

1. The description how associations are simulated using attributes is
now part of the new "associations" capability.

2. There's a new multivalued "associationType" item in "schemaHandling".
Its purpose is to refine association classes (as provided by connector
or simulated) into association types, just like object classes are
refined into object types. It is very experimental, though.

3. There are three related definitions:

- ShadowAssociationTypeDefinition
- ShadowAssociationClassSimulationDefinition
- ShadowAssociationDefinition

See their respective docs. The first one is perhaps to be reconsidered.

Other changes:

1. The parsing process of complete resource schema was improved.
The code is cleaner. Errors are reported more comprehensively.
(E.g., delineation filters are parsed at parse time, not at runtime
as they were before.)

2. There are minor code improvements here and there. E.g.,
the entitlement converter code was streamlined a bit again.

3. Automatic caching of association binding attributes (the "value"
side) was disabled. It is recommended to mark them as secondary
identifiers.



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