[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