But I am generating this expanded form via
DefaultNamePathResolver.getQName("newnode")
This returns a org.apache.jackrabbit.spi.Name, whose toString() returns
"{}newnode".
Is the Name being returned by getQName then being wrong?
> On 11. Feb 2020, at 10:10, Julian Reschke <[email protected]> wrote:
>
> On 11.02.2020 10:01, Konrad Windszus wrote:
>> Thanks for the quick response.
>> Indeed there seems to be an issue in Oak:
>> After creating a node with its expanded form with system view format import
>> below the root node I try to call
>> node = rootNode.getNode("{}newnode");
>>
>> which throws
>> javax.jcr.PathNotFoundException: newnode
>> at
>> org.apache.jackrabbit.oak.jcr.session.NodeImpl$7.perform(NodeImpl.java:558)
>> at
>> org.apache.jackrabbit.oak.jcr.session.NodeImpl$7.perform(NodeImpl.java:552)
>> at
>> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:207)
>> at
>> org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)
>> at
>> org.apache.jackrabbit.oak.jcr.session.NodeImpl.getNode(NodeImpl.java:552)
>>
>> The same works fine in Jackrabbit 2.x
>> ...
>
> That actually looks like a bug in Jackrabbit, not Oak. See
> <https://docs.adobe.com/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.2.5.1%20Expanded%20Form>:
>
>> ExpandedName ::= '{' Namespace '}' LocalName
>
> The empty string is not a valid Namespace, so this parses as qualified
> name instead.
>
> Best regards, Julian