You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2025/01/16 09:00:00 UTC

[jira] [Updated] (OAK-11397) Provide a way to get expanded names for items

     [ https://issues.apache.org/jira/browse/OAK-11397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konrad Windszus updated OAK-11397:
----------------------------------
    Description: 
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) is in general more stable than the qualified form, due to global/session remappings.
Therefore it is often beneficial to work with it. Also the JCR API only defines constants for the expanded form (https://javadoc.io/doc/javax.jcr/jcr/latest/constant-values.html).

Although all JCR methods taking a JCR name/path accept both forms there are edge cases where one doesn't use it as JCR method argument.

For example when checking if a given node name is contained in a Set of literals (e.g. in https://github.com/apache/jackrabbit-filevault/blob/a2629fd3a24d35f31f0168bd6b8982db6ac62c8b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/filter/BaseFilter.java#L57).

Therefore a way to get the expanded form name of a given javax.jcr.Item should be provided.

Compare with the discussion at https://lists.apache.org/thread/jkn3fsn4fxovs5v6nygcxorm804hfz8m

  was:
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) is in general more stable than the qualified form, due to global/session remappings.
Therefore it is often beneficial to work with it. Also the JCR API only defines constants for the expanded form (https://javadoc.io/doc/javax.jcr/jcr/latest/constant-values.html).

Although all JCR method taking a JCR name/path accept both forms there are edge cases where one doesn't use it as JCR method argument.

For example when checking if a given node name is contained in a Set of literals (e.g. in https://github.com/apache/jackrabbit-filevault/blob/a2629fd3a24d35f31f0168bd6b8982db6ac62c8b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/filter/BaseFilter.java#L57).

Therefore a way to get the expanded form name of a given javax.jcr.Item should be provided.

Compare with the discussion at https://lists.apache.org/thread/jkn3fsn4fxovs5v6nygcxorm804hfz8m


> Provide a way to get expanded names for items
> ---------------------------------------------
>
>                 Key: OAK-11397
>                 URL: https://issues.apache.org/jira/browse/OAK-11397
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>
> 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) is in general more stable than the qualified form, due to global/session remappings.
> Therefore it is often beneficial to work with it. Also the JCR API only defines constants for the expanded form (https://javadoc.io/doc/javax.jcr/jcr/latest/constant-values.html).
> Although all JCR methods taking a JCR name/path accept both forms there are edge cases where one doesn't use it as JCR method argument.
> For example when checking if a given node name is contained in a Set of literals (e.g. in https://github.com/apache/jackrabbit-filevault/blob/a2629fd3a24d35f31f0168bd6b8982db6ac62c8b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/filter/BaseFilter.java#L57).
> Therefore a way to get the expanded form name of a given javax.jcr.Item should be provided.
> Compare with the discussion at https://lists.apache.org/thread/jkn3fsn4fxovs5v6nygcxorm804hfz8m



--
This message was sent by Atlassian Jira
(v8.20.10#820010)