From 2289f523c4a4838059a4fce080dff28a41930656 Mon Sep 17 00:00:00 2001 From: jendib Date: Sun, 18 Aug 2013 14:25:53 +0200 Subject: [PATCH] Close all PDDocument --- .../com/sismics/docs/core/util/FileUtil.java | 17 +++++++++++------ .../docs/rest/resource/DocumentResource.java | 6 +++--- docs-web/src/prod/resources/log4j.properties | 3 ++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/FileUtil.java b/docs-core/src/main/java/com/sismics/docs/core/util/FileUtil.java index 869b2f04..3fc2e60d 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/FileUtil.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/FileUtil.java @@ -153,12 +153,17 @@ public class FileUtil { image = ImageIO.read(originalFile); } else if(file.getMimeType().equals(MimeType.APPLICATION_PDF)) { // Generate preview from the first page of the PDF - PDDocument pdfDocument = PDDocument.load(originalFile.getAbsolutePath(), true); - @SuppressWarnings("unchecked") - List pageList = pdfDocument.getDocumentCatalog().getAllPages(); - if (pageList.size() > 0) { - PDPage page = pageList.get(0); - image = page.convertToImage(); + PDDocument pdfDocument = null; + try { + pdfDocument = PDDocument.load(originalFile.getAbsolutePath(), true); + @SuppressWarnings("unchecked") + List pageList = pdfDocument.getDocumentCatalog().getAllPages(); + if (pageList.size() > 0) { + PDPage page = pageList.get(0); + image = page.convertToImage(); + } + } finally { + pdfDocument.close(); } } diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java index 533d314b..9797c8a1 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java @@ -251,15 +251,15 @@ public class DocumentResource extends BaseResource { if (params[1].length() == 10) { DateTime date = dayFormatter.parseDateTime(params[1]); documentCriteria.setCreateDateMin(date.toDate()); - documentCriteria.setCreateDateMax(date.plusDays(1).toDate()); + documentCriteria.setCreateDateMax(date.plusDays(1).minusSeconds(1).toDate()); } else if (params[1].length() == 7) { DateTime date = monthFormatter.parseDateTime(params[1]); documentCriteria.setCreateDateMin(date.toDate()); - documentCriteria.setCreateDateMax(date.plusMonths(1).toDate()); + documentCriteria.setCreateDateMax(date.plusMonths(1).minusSeconds(1).toDate()); } else if (params[1].length() == 4) { DateTime date = yearFormatter.parseDateTime(params[1]); documentCriteria.setCreateDateMin(date.toDate()); - documentCriteria.setCreateDateMax(date.plusYears(1).toDate()); + documentCriteria.setCreateDateMax(date.plusYears(1).minusSeconds(1).toDate()); } } catch (IllegalArgumentException e) { // NOP diff --git a/docs-web/src/prod/resources/log4j.properties b/docs-web/src/prod/resources/log4j.properties index 95701d60..8bccecbe 100644 --- a/docs-web/src/prod/resources/log4j.properties +++ b/docs-web/src/prod/resources/log4j.properties @@ -2,4 +2,5 @@ log4j.rootCategory=WARN, MEMORY log4j.appender.MEMORY=com.sismics.util.log4j.MemoryAppender log4j.appender.MEMORY.size=1000 -log4j.logger.com.sismics=INFO \ No newline at end of file +log4j.logger.com.sismics=INFO +log4j.logger.org.apache.pdfbox=ERROR \ No newline at end of file