[midPoint-git] [Evolveum/prism] eb7aab: Lazy Parsing: improved behaviour when container is...
Tony Tkáčik
noreply at github.com
Tue Nov 5 13:57:22 CET 2024
Branch: refs/heads/master
Home: https://github.com/Evolveum/prism
Commit: eb7aabbf5437e51275a08ee6892b60fb96d37883
https://github.com/Evolveum/prism/commit/eb7aabbf5437e51275a08ee6892b60fb96d37883
Author: Tony Tkáčik <tonydamage at gmail.com>
Date: 2024-11-05 (Tue, 05 Nov 2024)
Changed paths:
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/lazy/LazyXNodeBasedPrismValue.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lazy/LazyPrismContainerValue.java
R infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lazy/LazyXNodeBasedValue.java
Log Message:
-----------
Lazy Parsing: improved behaviour when container is parsed
- Container is not parsed if:
- isEmpty / hasItems checks are performed
- is frozen (Xnodes are immutable and it is safe to parse later)
- is cloned (Xnodes are "immutable" and it is safe to parse later)
- getDefinition() is called
- Deprecated code is set of testing methods, which triggers
breakpoint when materialization is triggered with exclusion
for valid use-cases, these are disabled by default and are
intented only for manual testing
Commit: e87e390edd508f7a82620da0c02357ae98cecc12
https://github.com/Evolveum/prism/commit/e87e390edd508f7a82620da0c02357ae98cecc12
Author: Tony Tkáčik <tonydamage at gmail.com>
Date: 2024-11-05 (Tue, 05 Nov 2024)
Changed paths:
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/PrismMarshaller.java
Log Message:
-----------
Lazy Parsing: Prism marshaller uses Xnodes if available.
Commit: caff31f47dd582883dce2dd492c1227eb8e4d65d
https://github.com/Evolveum/prism/commit/caff31f47dd582883dce2dd492c1227eb8e4d65d
Author: Tony Tkáčik <tonydamage at gmail.com>
Date: 2024-11-05 (Tue, 05 Nov 2024)
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/PrismContainerValue.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/PrismReferenceValue.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismValue.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismVisitable.java
A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismVisitor.java
Log Message:
-----------
Introduced PrismVisitable and PrismVisitor
Original interfaces (Visitor and Visitable) used for processing data
does not allow to exclude visiting children - their use will always
trigger full deserialization. The PrismVisitable and PrismVisitor
are better suited, since they provide option for visitor to decide
to not visit children. These visitors can then prevent additional
computation.
Compare: https://github.com/Evolveum/prism/compare/83f09d02a014...caff31f47dd5
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