[midPoint-git] [Evolveum/prism] a52082: Fix working with frozen objects
mederly
noreply at github.com
Fri Mar 7 09:14:37 CET 2025
Branch: refs/heads/master
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).
Commit: 6fdc586597c633def744e256286cef9a3630eb0b
https://github.com/Evolveum/prism/commit/6fdc586597c633def744e256286cef9a3630eb0b
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-03-04 (Tue, 04 Mar 2025)
Changed paths:
M infra/axiom/src/main/antlr4/com/evolveum/axiom/lang/antlr/query/AxiomQueryLexer.g4
M tools/test-ng/src/main/java/com/evolveum/midpoint/tools/testng/TestMonitor.java
M tools/test-ng/src/main/java/com/evolveum/midpoint/tools/testng/TestReportSection.java
Log Message:
-----------
Merge branch 'master' into feature/less-cloning
Commit: e0f81daf49920a91b45f62776313c60557971d09
https://github.com/Evolveum/prism/commit/e0f81daf49920a91b45f62776313c60557971d09
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ItemDelegator.java
A 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/PrismContainerValueDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismObjectDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismObjectValueDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismPropertyDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismPropertyValueDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismReferenceDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismReferenceValueDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismValueDelegator.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/lazy/FlyweightClonedItem.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/lazy/FlyweightClonedValue.java
M pom.xml
Log Message:
-----------
Merge remote-tracking branch 'origin/master' into feature/less-cloning
Commit: 0e3aaa7cd19b599eb487d338d3fc0a3b00d2e985
https://github.com/Evolveum/prism/commit/0e3aaa7cd19b599eb487d338d3fc0a3b00d2e985
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-03-06 (Thu, 06 Mar 2025)
Changed paths:
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/CloneStrategy.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/util/PrismUtil.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/PrismReferenceValueImpl.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/builder/DeltaBuilder.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lazy/LazyPrismContainerValue.java
Log Message:
-----------
Support performance improvements
1. CloneStrategy is changed from enum to a record, containing flags for
ignoring value metadata, embedded objects, and container IDs. Later
further ones may come.
2. Setting up estimated old values for item deltas is changed to avoid
the need of cloning on the caller side. We will switch to flyweights
later.
3. Object ADD deltas with immutable object to be added are permitted.
Compare: https://github.com/Evolveum/prism/compare/faef63a36f67...0e3aaa7cd19b
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