On 15.01.2025 20:57, Konrad Windszus wrote:
Hi,
I am wondering what is the best way to get the expanded form name
(https://developer.adobe.com/experience-manager/reference-materials/spec/jcr/2.0/3_Repository_Model.html#3.2.5.1%20Expanded%20Form)
from a given javax.jcr.Item (Node or Property). There is no method exposed
directly from
https://developer.adobe.com/experience-manager/reference-materials/spec/javax.jcr/javadocs/jcr-2.0/javax/jcr/Item.html.
However there are some edge cases where you want to compare the returned names
with the stable qualified form (regardless of potential session/global mapping).
There are workaround which require the consumer to deal with
org.apache.jackrabbit.spi.commons.conversion.NameResolver
(https://jackrabbit.apache.org/api/2.20/org/apache/jackrabbit/spi/commons/conversion/NameResolver.html),
however there doesn’t seem to be an easy way to retrieve it (at least in Oak,
while JR2 implemented this via its
https://jackrabbit.apache.org/api/2.20/org/apache/jackrabbit/core/SessionImpl.html).
Am I missing something here?
WDYT about adding a JackrabbitItem to
https://jackrabbit.apache.org/oak/docs/apidocs/org/apache/jackrabbit/api/package-summary.html
which extends javax.jcr.Item to expose a “String getExpandedName()”?
Thanks for your input in advance,
Konrad
The actual operation is not that complex, right? (A simple concatenation).
But yes, we could add that (it would even come with a default
implementation we never would have to override).
Best regards, Julian