[
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 non-standard:
> - 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.