ieb commented on a change in pull request #19:
URL: 
https://github.com/apache/sling-org-apache-sling-jcr-resource/pull/19#discussion_r785049773



##########
File path: 
src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
##########
@@ -181,34 +185,15 @@ private InputStream getInputStream() {
         final Node node = getNode();
         if (node != null) {
             try {
-                // find the content node: for nt:file it is jcr:content
-                // otherwise it is the node of this resource
-                Node content = (node.isNodeType(NT_FILE) ||
-                                (node.isNodeType(NT_FROZEN_NODE) &&
-                                 
node.getProperty(JCR_FROZEN_PRIMARY_TYPE).getString().equals(NT_FILE)))
-                        ? node.getNode(JCR_CONTENT)
-                        : node.isNodeType(NT_LINKED_FILE) ? 
node.getProperty(JCR_CONTENT).getNode() : node;
-
                 Property data;
-
-                // if the node has a jcr:data property, use that property
-                if (content.hasProperty(JCR_DATA)) {
-                    data = content.getProperty(JCR_DATA);
-                } else {
-                    // otherwise try to follow default item trail
-                    try {
-                        Item item = content.getPrimaryItem();
-                        while (item.isNode()) {
-                            item = ((Node) item).getPrimaryItem();
-                        }
-                        data = (Property) item;
-
-                    } catch (ItemNotFoundException infe) {
-                        // we don't actually care, but log for completeness
-                        LOGGER.debug("getInputStream: No primary items for 
{}", toString(), infe);
-                        data = null;
-                    }
+                try {
+                    data = getPrimaryProperty(node);
+                } catch (ItemNotFoundException infe) {
+                    // we don't actually care, but log for completeness
+                    LOGGER.debug("getInputStream: No primary items for {}", 
toString(), infe);
+                    data = null;

Review comment:
       looking at it again, I think you are right.
   The logic doesn't really make sense. Why does it spend time getting `data` 
when its only needed if convertToPublicURI returns null.
   
   If there are no URIProviders that operation is a noop, but if there are 
URIProviders then they should be returning a uri.
   
   No change requested here any more.
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to