You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Julian Reschke (Created) (JIRA)" <ji...@apache.org> on 2011/11/22 16:34:40 UTC

[jira] [Created] (JCR-3153) getIdentifier on events may return a slightly "off" identifier

getIdentifier on events may return a slightly "off" identifier
--------------------------------------------------------------

                 Key: JCR-3153
                 URL: https://issues.apache.org/jira/browse/JCR-3153
             Project: Jackrabbit Content Repository
          Issue Type: Task
          Components: jackrabbit-spi2dav
            Reporter: Julian Reschke
            Priority: Minor


JCR events contain the JCR identifier, even for NODE_REMOVED. In spi2dav, the identifier in the client isn't necessarily the same as on the server. For instance, jackrabbit-core uses UUIDs for all nodes, while sp2dav uses them only for referenceablw nodes.

When forwarding events, spi2dav's URIResolver PROPFINDs on the path of the node in order to obtain the remote node's jcr.uuid, local name, and index; and repeats that for ancestors until a referenceable node or the root node is found. This of course does not work for removed nodes.

The change for JCR-2540 has enhanced getIdentifier() on events to fall back to create an absolute-path-based ID. Thus, the API test case does not fail anymore as it happens to expect that identifier format.

Things to consider:

- harmonize local identifiers with remote identifiers so that we don't need additional information to map them
- try to populate the local URI->NodeId cache, so that we haev the mapping information at least for nodes that we have seen before

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira