From 0ff080f30534142c437f9701d3fd3c6d2e44e4bd Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Tue, 27 Jun 2017 16:52:51 +0100 Subject: [PATCH] RM-5347: Resources should be closed --- .../audit/RecordsManagementAuditServiceImpl.java | 9 ++++++++- .../org_alfresco_module_rm/script/TransferReportGet.java | 8 +++++++- .../script/TransferReportPost.java | 8 +++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java index d7041ea2d9..56edc5a6ac 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java @@ -774,11 +774,13 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean ParameterCheck.mandatory("params", params); Writer fileWriter = null; + FileOutputStream fileOutputStream = null; try { File auditTrailFile = TempFileProvider.createTempFile(AUDIT_TRAIL_FILE_PREFIX, format == ReportFormat.HTML ? AUDIT_TRAIL_HTML_FILE_SUFFIX : AUDIT_TRAIL_JSON_FILE_SUFFIX); - fileWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(auditTrailFile),"UTF8")); + fileOutputStream = new FileOutputStream(auditTrailFile); + fileWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream,"UTF8")); // Get the results, dumping to file getAuditTrailImpl(params, null, fileWriter, format); // Done @@ -790,6 +792,11 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean } finally { + // close the file output stream + if (fileOutputStream != null) + { + try { fileOutputStream.close(); } catch (IOException closeEx) {} + } // close the writer if (fileWriter != null) { diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportGet.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportGet.java index f4f456035f..41c0b2bdb4 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportGet.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportGet.java @@ -127,6 +127,7 @@ public class TransferReportGet extends BaseTransferWebScript { File report = TempFileProvider.createTempFile(REPORT_FILE_PREFIX, REPORT_FILE_SUFFIX); Writer writer = null; + FileOutputStream fileOutputStream = null; try { // get all 'transferred' nodes @@ -139,7 +140,8 @@ public class TransferReportGet extends BaseTransferWebScript } // create the writer - writer = new OutputStreamWriter(new FileOutputStream(report), Charset.forName("UTF-8")); + fileOutputStream = new FileOutputStream(report); + writer = new OutputStreamWriter(fileOutputStream, Charset.forName("UTF-8")); // use RMService to get disposition authority String dispositionAuthority = null; @@ -172,6 +174,10 @@ public class TransferReportGet extends BaseTransferWebScript } finally { + if (fileOutputStream != null) + { + try { fileOutputStream.close(); } catch (IOException ioe) {} + } if (writer != null) { try { writer.close(); } catch (IOException ioe) {} diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportPost.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportPost.java index 673ffb8241..de5b6db017 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportPost.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/script/TransferReportPost.java @@ -235,6 +235,7 @@ public class TransferReportPost extends BaseTransferWebScript { File report = TempFileProvider.createTempFile(REPORT_FILE_PREFIX, REPORT_FILE_SUFFIX); Writer writer = null; + FileOutputStream fileOutputStream = null; try { // get all 'transferred' nodes @@ -247,7 +248,8 @@ public class TransferReportPost extends BaseTransferWebScript } // create the writer - writer = new OutputStreamWriter(new FileOutputStream(report), Charset.forName("UTF-8")); + fileOutputStream = new FileOutputStream(report); + writer = new OutputStreamWriter(fileOutputStream, Charset.forName("UTF-8")); // use RMService to get disposition authority String dispositionAuthority = null; @@ -324,6 +326,10 @@ public class TransferReportPost extends BaseTransferWebScript } finally { + if (fileOutputStream != null) + { + try { fileOutputStream.close(); } catch (IOException ioe) {} + } if (writer != null) { try { writer.close(); } catch (IOException ioe) {}