jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "angela (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-2028) JSR 283: JCR Path
Date Thu, 07 May 2009 06:52:31 GMT

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

angela updated JCR-2028:

    Attachment: JCR-2028_core.patch

Patch for jackrabbit-core containing the following modifications:

- Session implements the IdentifierResolver interface in order to be able to deal
  with identifier based paths properly.

- ValueFactory implementation (new) that always creates jcr-values wrapping an InternalValue
- consistently use this factory instead of jcr-commons valuefactory (except for those classes
  that do not have any relation to a Session).
- InternalValue implements QValue
- InternalValueFactory (new) is the QValueFactory used within the jcr ValueFactory
- InternalValue.getJCRValue which used to create the JCR value instances directly has been

  deprecated and refactored to use the valuefactory.

- the ValueFactoryQImpl and QValueFactory used within RowIteratorImpl are replaced
  by the ValueFactory exposed by the Session. The former code is only used as fallback.

- changes to the Path interface lead to a couple of changes in catch statements.

> JSR 283: JCR Path
> -----------------
>                 Key: JCR-2028
>                 URL: https://issues.apache.org/jira/browse/JCR-2028
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: JCR 2.0
>            Reporter: angela
>             Fix For: 2.0.0
>         Attachments: JCR-2028_core.patch, JCR-2028_jcr2spi_spiimpls.patch, JCR-2028_spi.diff,
JCR-2028_spicommons.diff, JCR-2028_tests.diff
> with jsr 283 the jcr path is defined to consist of a combination of the following segments
> •	a name segment, (J, I), where J is a JCR name and I is an integer index (I ≥ 1).
> •	an identifier segment, U, where U is a JCR identifier.
> •	the root segment.
> •	the self segment.
> •	the parent segment.
> -> the name segment can be in extended or qualified form -> see issue JCR-1712
> -> the identifier segment is new for jsr283 and always identifies a node (-> see
new method Node.getIdentifier())
> Non-standard parts always need to be standardized. Any of the following makes a path
> - expanded name segments
> - trailing /
> - index [1]
> Identifier-segments
> - get resolved upon being passed to any API calls that take path to an existing Node
> - don't get resolved when being used to create a PATH value object.
> Except for PATH values, all jcr paths returned by the API are normalized and standard,
thus never identifier-based.
> PATH values in contrast:
> - must be converted to standard form
> - must NOT be normalized. i.e. redundant segments and identifiers must be preserved.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message