From 2ddfa7c2a4d45d9a2aa65bd5f2a98f0dbced5365 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Fri, 24 Sep 2010 09:29:00 +0000 Subject: [PATCH] ALF-4860 - Content stream not being closed when retrieving log file from transfer target git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22681 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../transfer/ReportCommandProcessor.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java b/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java index 5cf23fe966..deffe0d412 100644 --- a/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java +++ b/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java @@ -72,19 +72,32 @@ public class ReportCommandProcessor implements CommandProcessor try { OutputStream out = resp.getOutputStream(); - resp.setContentType("text/xml"); - resp.setContentEncoding("utf-8"); - - BufferedInputStream br = new BufferedInputStream(receiver.getProgressMonitor().getLogInputStream(transferId)); - byte[] buffer = new byte[1000]; - int i = br.read(buffer); - while(i > 0) + try { - out.write(buffer, 0, i); - i = br.read(buffer); + resp.setContentType("text/xml"); + resp.setContentEncoding("utf-8"); + + BufferedInputStream br = new BufferedInputStream(receiver.getProgressMonitor().getLogInputStream(transferId)); + try + { + byte[] buffer = new byte[1000]; + int i = br.read(buffer); + while(i > 0) + { + out.write(buffer, 0, i); + i = br.read(buffer); + } + } + finally + { + br.close(); + } + } + finally + { + out.flush(); + out.close(); } - out.flush(); - out.close(); return Status.STATUS_OK; }