Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3153

getIdentifier on events may return a slightly "off" identifier

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • jackrabbit-spi2dav
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              reschke Julian Reschke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: