[midPoint-git] [Evolveum/prism] d756ce: Optimize PCV.asSingleValuedContainer

mederly noreply at github.com
Fri Mar 14 17:28:57 CET 2025


  Branch: refs/heads/feature/less-cloning
  Home:   https://github.com/Evolveum/prism
  Commit: d756ce2f8b3e8e6c7906f8ef50fe2567e8328f23
      https://github.com/Evolveum/prism/commit/d756ce2f8b3e8e6c7906f8ef50fe2567e8328f23
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-03-14 (Fri, 14 Mar 2025)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/CloneStrategy.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ComplexCopyable.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Item.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContainer.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/PrismProperty.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismReference.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismValueCollectionsUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ItemDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismContainerDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismObjectDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismPropertyDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismReferenceDelegator.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/lazy/FlyweightClonedItem.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/lazy/FlyweightClonedValue.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/CloneUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/ItemDeltaItem.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/PrismContainerValueImpl.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/PrismObjectValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyImpl.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/PrismReferenceValueImpl.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/DummyPropertyImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyReferenceImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lazy/LazyPrismContainerValue.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/metadata/ValueMetadataAdapter.java

  Log Message:
  -----------
  Optimize PCV.asSingleValuedContainer

This method no longer clones the value that is to be presented
as a container.

Related changes:

- clone() is gradually being replaced by copy/mutableCopy/immutableCopy
tripled (currently for Item and its subtypes). In particular, flyweights
now correctly implement clone/mutableCopy methods, producing fully
mutable objects at output.

- CloneStrategy was extended to support the above.



To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/prism/settings/notifications


More information about the midPoint-svn mailing list