X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2Fproxy%2FResourceProxyServlet.java;h=c29b13a796466b0e225141df15386ca3e5707738;hb=a8731626eaf812794bec138649de575e6e036245;hp=e92e2a40216f02b35a82a1e865f25643ed87e2b1;hpb=e66b9893b0e511f8ab295e3cee42b7dc966f1597;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.jcr/src/org/argeo/jcr/proxy/ResourceProxyServlet.java b/org.argeo.jcr/src/org/argeo/jcr/proxy/ResourceProxyServlet.java index e92e2a402..c29b13a79 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/proxy/ResourceProxyServlet.java +++ b/org.argeo.jcr/src/org/argeo/jcr/proxy/ResourceProxyServlet.java @@ -18,9 +18,7 @@ package org.argeo.jcr.proxy; import java.io.IOException; import java.io.InputStream; -import javax.jcr.Binary; import javax.jcr.Node; -import javax.jcr.PathNotFoundException; import javax.jcr.Property; import javax.jcr.RepositoryException; import javax.servlet.ServletException; @@ -33,6 +31,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.ArgeoJcrException; +import org.argeo.jcr.Bin; import org.argeo.jcr.JcrUtils; /** Wraps a proxy via HTTP */ @@ -54,7 +53,7 @@ public class ResourceProxyServlet extends HttpServlet { if (log.isTraceEnabled()) { log.trace("path=" + path); log.trace("UserPrincipal = " + request.getUserPrincipal().getName()); - log.trace("SessionID = " + request.getSession().getId()); + log.trace("SessionID = " + request.getSession(false).getId()); log.trace("ContextPath = " + request.getContextPath()); log.trace("ServletPath = " + request.getServletPath()); log.trace("PathInfo = " + request.getPathInfo()); @@ -82,9 +81,10 @@ public class ResourceProxyServlet extends HttpServlet { /** Retrieve the content of the node. */ protected void processResponse(Node node, HttpServletResponse response) { - Binary binary = null; - InputStream in = null; - try { +// Binary binary = null; +// InputStream in = null; + try(Bin binary = new Bin( node.getNode(Property.JCR_CONTENT) + .getProperty(Property.JCR_DATA));InputStream in = binary.getStream()) { String fileName = node.getName(); String ext = FilenameUtils.getExtension(fileName); @@ -116,20 +116,20 @@ public class ResourceProxyServlet extends HttpServlet { response.setContentType(contentType); - try { - binary = node.getNode(Property.JCR_CONTENT) - .getProperty(Property.JCR_DATA).getBinary(); - } catch (PathNotFoundException e) { - log.error("Node " + node + " as no data under content"); - throw e; - } - in = binary.getStream(); +// try { +// binary = node.getNode(Property.JCR_CONTENT) +// .getProperty(Property.JCR_DATA).getBinary(); +// } catch (PathNotFoundException e) { +// log.error("Node " + node + " as no data under content"); +// throw e; +// } +// in = binary.getStream(); IOUtils.copy(in, response.getOutputStream()); } catch (Exception e) { throw new ArgeoJcrException("Cannot download " + node, e); - } finally { - IOUtils.closeQuietly(in); - JcrUtils.closeQuietly(binary); +// } finally { +// IOUtils.closeQuietly(in); +// JcrUtils.closeQuietly(binary); } }