[midPoint-git] [Evolveum/prism] a52082: Fix working with frozen objects

mederly noreply at github.com
Wed Feb 26 23:12:32 CET 2025


  Branch: refs/heads/feature/less-cloning
  Home:   https://github.com/Evolveum/prism
  Commit: a52082cfeff18b6e1293f03c66cf80beb4cf0cc8
      https://github.com/Evolveum/prism/commit/a52082cfeff18b6e1293f03c66cf80beb4cf0cc8
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-02-26 (Wed, 26 Feb 2025)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ItemFactory.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemFactoryImpl.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/binding/AbstractMutableObjectable.java

  Log Message:
  -----------
  Fix working with frozen objects

Before this commit, if asPrismObject() was called on frozen Objectable,
the result was NOT immutable PrismObject. (But with immutable content.)
This made CloneUtil.toImmutable() inefficient, as it had to clone the
whole object.

This commit fixes that by preserving immutability when switching
between Objectable and PrismObject form.

It also removes ItemFactory#createObjectValue and createContainerValue
methods that were not used much (and complicated things related to
instantiation of prism objects).



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