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

Reply via email to