You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Robert Munteanu (JIRA)" <ji...@apache.org> on 2014/10/29 22:08:33 UTC

[jira] [Created] (SLING-4116) Content length check in JCRNodeResourceMetadata triggers javax.jcr.ItemNotFoundException: No primary item present on node

Robert Munteanu created SLING-4116:
--------------------------------------

             Summary: Content length check in JCRNodeResourceMetadata triggers javax.jcr.ItemNotFoundException: No primary item present on node
                 Key: SLING-4116
                 URL: https://issues.apache.org/jira/browse/SLING-4116
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: JCR Resource 2.3.12
            Reporter: Robert Munteanu
             Fix For: JCR Resource 2.3.14


As reported by [~dsuess] on [dev@sling - ResourceWrapper issue with ResourceMetadata|http://sling-dev.markmail.org/thread/aauecevkxjnbk4vi] , the code trying to guess the content-length can cause ItemNotFoundExceptions to be logged by calling {{Item.getPrimaryItem()}}.

By looking at the Jackrabbit and Oak implementations, the getPrimaryItem() method does the following

{code:java}
        String name = getPrimaryNodeType().getPrimaryItemName();
        if (name == null) {
            throw new ItemNotFoundException();
        }
        if (hasProperty(name)) {
            return getProperty(name);
        } else if (hasNode(name)) {
            return getNode(name);
        } else {
            throw new ItemNotFoundException();
        }
{code}

We should replicate this check to make sure that we no longer cause these exceptions to be thrown and logged.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)