Read JCR file as stream.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 21 Jan 2020 09:43:05 +0000 (10:43 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 21 Jan 2020 09:43:05 +0000 (10:43 +0100)
org.argeo.jcr/src/org/argeo/jcr/JcrUtils.java

index 3e7c8737403ed969378e9c93972508abea85293b..3e3789aab3e42e05c56ab6564e2aafb98d603227 100644 (file)
@@ -1509,6 +1509,11 @@ public class JcrUtils {
                }
        }
 
+       /** Read an an nt:file as an {@link InputStream}. */
+       public static InputStream getFileAsStream(Node fileNode) throws RepositoryException {
+               return fileNode.getNode(Node.JCR_CONTENT).getProperty(Property.JCR_DATA).getBinary().getStream();
+       }
+
        /**
         * Computes the checksum of an nt:file.
         * 
@@ -1516,14 +1521,11 @@ public class JcrUtils {
         */
        @Deprecated
        public static String checksumFile(Node fileNode, String algorithm) {
-               Binary data = null;
                try (InputStream in = fileNode.getNode(Node.JCR_CONTENT).getProperty(Property.JCR_DATA).getBinary()
                                .getStream()) {
                        return digest(algorithm, in);
                } catch (RepositoryException | IOException e) {
                        throw new ArgeoJcrException("Cannot checksum file " + fileNode, e);
-               } finally {
-                       closeQuietly(data);
                }
        }