From d6c966b9d5213016d44340f80bcb15c32729e690 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 5 Nov 2014 15:35:07 +0100 Subject: [PATCH] OO-1279: close stream from internal resources in QTI results, template for Mail, OpenXML generator --- .../util/mail/manager/MailManagerImpl.java | 9 ++------ .../core/util/openxml/OpenXMLDocument.java | 3 +-- .../util/openxml/OpenXMLDocumentWriter.java | 23 +++++++++---------- .../qti/render/LocalizedXSLTransformer.java | 4 +--- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java index 1c593e34cdb..6cb68286719 100644 --- a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java +++ b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java @@ -595,14 +595,10 @@ public class MailManagerImpl extends BasicManager implements MailManager { File baseFolder = new File(WebappHelper.getUserDataRoot(), MAIL_TEMPLATE_FOLDER); File template = new File(baseFolder, "mail_template.html"); if(template.exists()) { - InputStream in = null; - try { - in = new FileInputStream(template); + try(InputStream in = new FileInputStream(template)) { return IOUtils.toString(in); } catch (IOException e) { logError("", e); - } finally { - IOUtils.closeQuietly(in); } } return getDefaultMailTemplate(); @@ -629,8 +625,7 @@ public class MailManagerImpl extends BasicManager implements MailManager { @Override public String getDefaultMailTemplate() { - try { - InputStream in = MailModule.class.getResourceAsStream("_content/mail_template.html"); + try(InputStream in = MailModule.class.getResourceAsStream("_content/mail_template.html")) { return IOUtils.toString(in); } catch (IOException e) { logError("Cannot read the default mail template", e); diff --git a/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java b/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java index f9080df6553..ccbe64c2735 100644 --- a/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java +++ b/src/main/java/org/olat/core/util/openxml/OpenXMLDocument.java @@ -228,8 +228,7 @@ public class OpenXMLDocument { margins.setAttribute("w:gutter", "0"); if(StringHelper.containsNonWhitespace(documentHeader)) { - try { - InputStream headerIn = OpenXMLDocument.class.getResourceAsStream("_resources/header.xml"); + try(InputStream headerIn = OpenXMLDocument.class.getResourceAsStream("_resources/header.xml")) { String headerTemplate = IOUtils.toString(headerIn); String header = headerTemplate.replace("[oodocumentitlte]", documentHeader); diff --git a/src/main/java/org/olat/core/util/openxml/OpenXMLDocumentWriter.java b/src/main/java/org/olat/core/util/openxml/OpenXMLDocumentWriter.java index 39edc71df59..89d0697d657 100644 --- a/src/main/java/org/olat/core/util/openxml/OpenXMLDocumentWriter.java +++ b/src/main/java/org/olat/core/util/openxml/OpenXMLDocumentWriter.java @@ -124,20 +124,21 @@ public class OpenXMLDocumentWriter { protected void appendMedias(ZipOutputStream out, OpenXMLDocument document) throws IOException { for(DocReference img:document.getImages()) { - FileInputStream in = new FileInputStream(img.getFile()); - ZipEntry wordDocument = new ZipEntry("word/media/" + img.getFile().getName()); - out.putNextEntry(wordDocument); - - IOUtils.copy(in, out); - OpenXMLUtils.writeTo(document.getDocument(), out, false); - out.closeEntry(); + try(FileInputStream in = new FileInputStream(img.getFile())) { + ZipEntry wordDocument = new ZipEntry("word/media/" + img.getFile().getName()); + out.putNextEntry(wordDocument); + + IOUtils.copy(in, out); + OpenXMLUtils.writeTo(document.getDocument(), out, false); + out.closeEntry(); + } catch(Exception e) { + log.error("", e); + } } } private void appendPredefinedStyles(ZipOutputStream out, OpenXMLStyles styles) { - InputStream in = null; - try { - in = OpenXMLDocumentWriter.class.getResourceAsStream("_resources/styles.xml"); + try(InputStream in = OpenXMLDocumentWriter.class.getResourceAsStream("_resources/styles.xml")) { if(styles != null) { Document stylesDoc = OpenXMLUtils.createDocument(in); NodeList stylesElList = stylesDoc.getElementsByTagName("w:styles"); @@ -151,8 +152,6 @@ public class OpenXMLDocumentWriter { } } catch (IOException e) { log.error("", e); - } finally { - IOUtils.closeQuietly(in); } } diff --git a/src/main/java/org/olat/ims/qti/render/LocalizedXSLTransformer.java b/src/main/java/org/olat/ims/qti/render/LocalizedXSLTransformer.java index 312611c27c4..ad636540403 100644 --- a/src/main/java/org/olat/ims/qti/render/LocalizedXSLTransformer.java +++ b/src/main/java/org/olat/ims/qti/render/LocalizedXSLTransformer.java @@ -173,14 +173,12 @@ public class LocalizedXSLTransformer { * Helper to create XSLT transformer for this instance */ private void initTransformer() { - // build new transformer - InputStream xslin = getClass().getResourceAsStream("/org/olat/ims/resources/xsl/" + XSLFILENAME); // translate xsl with velocity Context vcContext = new VelocityContext(); vcContext.put("t", pT); vcContext.put("staticPath", StaticMediaDispatcher.createStaticURIFor("")); String xslAsString = ""; - try { + try(InputStream xslin = getClass().getResourceAsStream("/org/olat/ims/resources/xsl/" + XSLFILENAME)) { xslAsString = slurp(xslin); } catch (IOException e) { log.error("Could not convert xsl to string!", e); -- GitLab