[midPoint-git] [Evolveum/prism] 45a40d: Implement removal of metadata from paths

Andrej noreply at github.com
Tue Jan 21 15:47:32 CET 2025


  Branch: refs/heads/bugfix/4.9.1/10216
  Home:   https://github.com/Evolveum/prism
  Commit: 45a40dfb21ea6186acd3074c334938b0b9ffa28b
      https://github.com/Evolveum/prism/commit/45a40dfb21ea6186acd3074c334938b0b9ffa28b
  Author: Andrej Zan <andrej.zan at evolveum.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContainer.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContainerValue.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Walkable.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PrismContainerValueDelegator.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/PrismInternalTestUtil.java
    A infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestPrismContainerValueImpl.java
    M infra/prism-impl/src/test/resources/common/xml/user-alice-metadata.xml

  Log Message:
  -----------
  Implement removal of metadata from paths

**What**

Implement new `PrismContainerValue` method, which allows to delete
metadata from specified paths.

**Why**

This function is implemented mainly for the use by REST APIs, which
could exclude metadata based on user's request. Till now user could
exclude "normal" data, but not metadata.

**Note**

This change also bring new `Walkable` interface, which provide method to
walk through container items hierarchy. Implementation of this method is
used by the new method for metadata removal as well as for the existing
`removePaths` method.

Currently this new interface is extended only by the
`PrismContainerValue`. I have considered if it should be extended also
by the `PrismContainer` itself, but it would require to write
implementation in more places which I am not so far familiar enough. I
may add it later if I will be advised to do so.

**Fixes**: MID-10216

(cherry picked from commit 8c3dc40235e31b602cc3966386b53c9eb2acb104)



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