[
https://issues.apache.org/jira/browse/JCR-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700255#action_12700255
]
angela commented on JCR-2028:
-----------------------------
Value handling in jackrabbit-core:
I spent some time with the issues listed above and came to the conclusion that
we should take a similar approach
as in jcr2spi: Instead of using the commons ValueFactory and creating the Value
objects manually in the InternalValue,
the jackrabbit-core should have it's own ValueFactory implementation that
creates value objects directly based on the InternalValue. With some minor
effort this could be based on code already present in spi-commons
(ValueFactoryQImpl, QValueValue created by Julian some time ago), which would
be beneficial for the conversion from JCR-value to InternalValue and vice
versa... those are already used within jackrabbit-core query-row somewhere.
I will prepare a patch and upload it here as soon as possible.
> 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
> Attachments: 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.