[midPoint-git] [Evolveum/midpoint] 9a6ba3: Add association value specific expr. evaluators

mederly noreply at github.com
Thu Jul 11 23:38:09 CEST 2024


  Branch: refs/heads/tmp/separate-associations-mappings
  Home:   https://github.com/Evolveum/midpoint
  Commit: 9a6ba35aee5f4f1043f5d1b5a55408629d9d44ba
      https://github.com/Evolveum/midpoint/commit/9a6ba35aee5f4f1043f5d1b5a55408629d9d44ba
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectInboundDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAssociationValue.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/evaluator/transformation/CombinatorialEvaluation.java
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/AbstractMappingImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlation/CorrelationServiceImpl.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/AssociationValueConstructionExpressionEvaluator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/AssociationValueConstructionExpressionEvaluatorFactory.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/AssociationValueSynchronizationExpressionEvaluator.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/AssociationValueSynchronizationExpressionEvaluatorFactory.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/ExpressionEvaluatorResult.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/AssociationValuesTripleComputation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/ShadowItemMapper.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/DeltaSetTripleIvwoMap.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/DeltaSetTripleMap.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/FocalMappingSetEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/InboundProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/ProjectionMappingSetEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/TemplateMappingsEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/consolidation/DeltaSetTripleMapConsolidation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/AbstractInboundsProcessing.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/DefaultSingleShadowInboundsProcessingContextImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/FullInboundsProcessing.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/InboundMappingEvaluationRequest.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/LimitedInboundsProcessing.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/MappingEvaluationRequest.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/MappingEvaluationRequests.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/PreInboundsContext.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/SimplePreInboundsContextImpl.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/SingleShadowInboundsProcessing.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/SingleShadowInboundsProcessingContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/package-info.java
    R 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/FullContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/FullInboundsPreparation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/FullSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/FullTarget.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/IMSource.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/InboundsPreparation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/LimitedContext.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/LimitedInboundsPreparation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/LimitedSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/LimitedTarget.java
    R 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
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappingContext.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappingSource.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappingTarget.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/SingleShadowInboundsPreparation.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/Target.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/package-info.java
    R model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/PreMappingsEvaluation.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/PreMappingsEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java
    M model/model-impl/src/main/resources/ctx-model.xml
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/correlator/correlation/TestCorrelators.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/associations/TestAssociations.java
    M model/model-intest/src/test/resources/associations/resource-dummy-ad.xml
    M model/model-intest/src/test/resources/associations/resource-dummy-dms.xml
    M model/model-intest/src/test/resources/associations/resource-dummy-hr.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionEvaluationContext.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/Source.java
    M testing/story/src/test/resources/associations-first-steps/resource-dms-120.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-130.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-140.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-150.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-170.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-300.xml
    M testing/story/src/test/resources/associations-first-steps/resource-dms-xxx.xml

  Log Message:
  -----------
  Add association value specific expr. evaluators

Here we add two expression evaluators dedicated to handling association
values: associationValueConstruction/associationValueSynchronization.
The first is used in association outbounds, and creates an aggregated
association value based on mappings for attributes and object
references. The second is used in inbounds, and maps association values
into assignment values, doing correlation and obeying synchronization
reactions.

The second evaluator requires some extensions to the model of processing
data:

1) It has to have a direct access to the target item values
(assignments, later roleMembershipRefs).
2) In addition to a PrismValueDeltaSetTriple, it creates an attached
DeltaSetTripleIvwoMap - holding partial deltas related to assignments'
content.

However, the overall solution fits better with the original design
of midPoint, and requires less code duplication than previous attempts.

Work in progress. Some features are not yet implemented (in particular,
enforcing the range of the assignments). Some tests fail now.



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