[midPoint-git] [Evolveum/midpoint] 37e47d: Improve item delta processing
mederly
noreply at github.com
Thu Jul 9 20:07:07 CEST 2020
Branch: refs/heads/tmp/provenance
Home: https://github.com/Evolveum/midpoint
Commit: 37e47dc797fece601603fd04aa202592e30ce9df
https://github.com/Evolveum/midpoint/commit/37e47dc797fece601603fd04aa202592e30ce9df
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-07-09 (Thu, 09 Jul 2020)
Changed paths:
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Item.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismObject.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismPropertyValue.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDelta.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDeltaCollectionsUtil.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDelta.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/PropertyDelta.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/equivalence/EquivalenceStrategy.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/equivalence/ParameterizedEquivalenceStrategy.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismObjectImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismReferenceImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ContainerDeltaImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ItemDeltaImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ObjectDeltaImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/PropertyDeltaImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyContainerImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyItem.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyPropertyImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyReferenceImpl.java
M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestCompare.java
M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestDelta.java
M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestEquals.java
M infra/schema/src/test/java/com/evolveum/midpoint/schema/TestParseDiffPatch.java
M infra/util/src/main/java/com/evolveum/midpoint/util/MiscUtil.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ChangeExecutor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/IvwoConsolidator.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ProjectionValuesProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/visualizer/Visualizer.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceObjectConverter.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectDeltaUpdater.java
Log Message:
-----------
Improve item delta processing
In order to correctly record value metadata the delta processing
(and item modifications in general) were changed in this way:
1) Value is now added unless exactly the same (under "not literal"
strategy) value is present in the item. All equivalent values
(under configurable strategy) are removed before the addition.
This change is reflected also in delta application.
2) Delta narrowing functionality was clarified and (hopefully)
corrected to match these changes.
3) Various rarely used methods were removed from Item interface. They
were probably causing more harm than benefit, because of their unclear
semantics. Other minor clarifications of that interface.
4) Wrong initialization of ParameterizedEquivalenceStrategy
constants was fixed.
5) We removed some flexibility in equivalence strategy selection:
it's no longer possible to specify default strategy for items; nor
to execute deltas under custom strategies). Delta application
was switched from IGNORE_METADATA_CONSIDER_DIFFERENT_IDS to
REAL_VALUE_CONSIDER_DIFFERENT_IDS which is a bit weaker.
Related to MID-6275.
More information about the midPoint-svn
mailing list