[midPoint-git] [Evolveum/midpoint] 3a5cd8: Analyze expression profiles for mappings
mederly
noreply at github.com
Sat Aug 26 01:01:20 CEST 2023
Branch: refs/heads/tmp/expr-profiles-hardening
Home: https://github.com/Evolveum/midpoint
Commit: 3a5cd8f4bf987bb845cb26a011a6b61dbeaabb84
https://github.com/Evolveum/midpoint/commit/3a5cd8f4bf987bb845cb26a011a6b61dbeaabb84
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2023-08-26 (Sat, 26 Aug 2023)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AbstractMappingConfigItem.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/AssignmentConfigItem.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/ConfigurationItem.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/GlobalPolicyRuleConfigItem.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MappingConfigItem.java
A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MultiSourceDataHandlingConfigItem.java
A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/MultiSourceItemDefinitionConfigItem.java
A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ObjectTemplateItemDefinitionConfigItem.java
A infra/schema/src/main/java/com/evolveum/midpoint/schema/config/ObjectTemplateMappingConfigItem.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/ResourceAssociationDefinition.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-correlation-3.xsd
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/GlobalRuleWithId.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/MarkManager.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/AbstractMappingBuilder.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/AbstractMappingImpl.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/MappingFactory.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/MappingImpl.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/metadata/ItemValueMetadataProcessingSpec.java
M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/metadata/ValueMetadataComputation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/DashboardServiceImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/MappingDiagEvaluator.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/controller/SchemaTransformer.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/LoginAssignmentCollector.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/AssignmentEvaluator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/AssignmentPathSegmentImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/ConditionEvaluator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/PathSegmentEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/PayloadEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/TargetAssignmentEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/TargetEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/TargetInducementEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/AbstractConstruction.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/AbstractConstructionBuilder.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/ConstructionEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/ConstructionResourceResolver.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/EvaluatedResourceObjectConstructionImpl.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/identities/IdentityItemConfigurationImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/identities/IdentityManagementConfigurationImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/AssignmentOrigin.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/OutboundProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/SmartAssignmentCollection.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/SmartAssignmentElement.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/focus/AssignmentTripleEvaluator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AutoAssignMappingCollector.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/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/inbounds/prep/ClockworkShadowInboundsPreparation.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/mappings/AssignedFocusMappingEvaluationRequest.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/AutoassignRoleMappingEvaluationRequest.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/FocalMappingEvaluationRequest.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/MappingEvaluatorParams.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/TemplateMappingEvaluationRequest.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/security/GuiProfileCompiler.java
Log Message:
-----------
Analyze expression profiles for mappings
This commit contains marks in source code that serve as an attempt
to analyze how well are expression profiles set up for mappings.
Currently, it seems that the support is complete, with the known
limitation of resource inheritance not taken into account (MID-9018).
Mappings analyzed:
- inbound mappings [EP:M:IM]
- outbound mappings [EP:M:OM]
- assigned focus mappings [EP:M:AFM]
- auto-assignment focus mappings [EP:M:AAFM]
- template focus mappings [EP:M:TFM]
- assignment and role conditions [EP:M:ARC]
- policy rule conditions [EP:M:PRC]
- metadata mapping [EP:M:MM]
- shadow tags [EP:M:Tag]
As part of this, a rather complex question was establishing the
correctness of assignment path segment origin determination [EP:APSO].
This work did not try to answer the question of how completely are these
profiles subsequently applied _within_ mappings, e.g. to some obscure
embedded filter expression evaluation. This will be done later.
See also https://docs.evolveum.com/midpoint/reference/expressions/expressions/profiles/coverage/.tmp/expr-profiles-hardening
Minor functional changes were also done, mainly to make the analysis
easier.
More information about the midPoint-svn
mailing list