From d57647a71493024fc34087c617b9610cdaf0bd26 Mon Sep 17 00:00:00 2001 From: user1 Date: Wed, 7 Oct 2020 18:28:34 +0200 Subject: [PATCH] mimetype set also on non parasble pdf --- .settings/org.eclipse.wst.common.component | 12 ++++++--- CHANGELOG.md | 3 +++ pom.xml | 3 +-- .../handlers/content/PdfHandler.java | 25 +++++++++++-------- .../storagehub/services/ItemSharing.java | 2 +- src/main/webapp/WEB-INF/README | 2 +- src/main/webapp/WEB-INF/gcube-app.xml | 2 +- 7 files changed, 31 insertions(+), 18 deletions(-) diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 9a2dab4..265885c 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,13 +1,19 @@ + + + + + - - uses - + + + + diff --git a/CHANGELOG.md b/CHANGELOG.md index fef491d..fae4951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.2.3] - [2020-10-07] + +mimetype set also on non parasble pdf ## [v1.2.2] - [2020-06-20] diff --git a/pom.xml b/pom.xml index 98ed31c..798f15f 100644 --- a/pom.xml +++ b/pom.xml @@ -111,7 +111,7 @@ com.itextpdf itextpdf - 5.5.13.1 + 5.5.13.2 @@ -129,7 +129,6 @@ org.gcube.common gxJRS - [1.0.0, 2.0.0-SNAPSHOT) diff --git a/src/main/java/org/gcube/data/access/storagehub/handlers/content/PdfHandler.java b/src/main/java/org/gcube/data/access/storagehub/handlers/content/PdfHandler.java index bfd5833..0a519ae 100644 --- a/src/main/java/org/gcube/data/access/storagehub/handlers/content/PdfHandler.java +++ b/src/main/java/org/gcube/data/access/storagehub/handlers/content/PdfHandler.java @@ -8,6 +8,8 @@ import org.gcube.common.storagehub.model.annotations.MimeTypeHandler; import org.gcube.common.storagehub.model.items.PDFFileItem; import org.gcube.common.storagehub.model.items.nodes.PDFContent; import org.gcube.common.storagehub.model.types.ItemAction; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.itextpdf.text.pdf.PdfReader; @@ -22,20 +24,23 @@ public class PdfHandler implements ContentHandler { PDFContent content = new PDFContent(); + private static final Logger logger = LoggerFactory.getLogger(PdfHandler.class); @Override public void initiliseSpecificContent(InputStream is, String fileName, String mimeType) throws Exception { - PdfReader reader = new PdfReader(is); - content.setNumberOfPages(Long.valueOf(reader.getNumberOfPages())); - content.setVersion(String.valueOf(reader.getPdfVersion())); - HashMap fileInfo = reader.getInfo(); - content.setAuthor(fileInfo.containsKey(AUTHOR)?fileInfo.get(AUTHOR):"n/a"); - content.setProducer(fileInfo.containsKey(PRODUCER)?fileInfo.get(PRODUCER):"n/a"); - content.setTitle(fileInfo.containsKey(TITLE)?fileInfo.get(TITLE):"n/a"); + try { + PdfReader reader = new PdfReader(is); + content.setNumberOfPages(Long.valueOf(reader.getNumberOfPages())); + content.setVersion(String.valueOf(reader.getPdfVersion())); + HashMap fileInfo = reader.getInfo(); + content.setAuthor(fileInfo.containsKey(AUTHOR)?fileInfo.get(AUTHOR):"n/a"); + content.setProducer(fileInfo.containsKey(PRODUCER)?fileInfo.get(PRODUCER):"n/a"); + content.setTitle(fileInfo.containsKey(TITLE)?fileInfo.get(TITLE):"n/a"); + } catch (Exception e) { + logger.warn("{} is not a valid pdf", fileName, e); + } content.setMimeType(mimeType); - } - - @Override + } @Override public PDFContent getContent() { return content; } diff --git a/src/main/java/org/gcube/data/access/storagehub/services/ItemSharing.java b/src/main/java/org/gcube/data/access/storagehub/services/ItemSharing.java index 1eb53b6..ac39670 100644 --- a/src/main/java/org/gcube/data/access/storagehub/services/ItemSharing.java +++ b/src/main/java/org/gcube/data/access/storagehub/services/ItemSharing.java @@ -26,7 +26,7 @@ import javax.ws.rs.core.Response; import org.apache.jackrabbit.api.security.JackrabbitAccessControlList; import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils; -import org.codehaus.jackson.map.ObjectMapper; +import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; import org.gcube.common.authorization.library.provider.AuthorizationProvider; import org.gcube.common.gxrest.response.outbound.GXOutboundErrorResponse; import org.gcube.common.storagehub.model.Excludes; diff --git a/src/main/webapp/WEB-INF/README b/src/main/webapp/WEB-INF/README index da16096..4f6a3b7 100644 --- a/src/main/webapp/WEB-INF/README +++ b/src/main/webapp/WEB-INF/README @@ -25,7 +25,7 @@ The projects leading to this software have received funding from a series of Version -------------------------------------------------- -1.2.2-SNAPSHOT (2020-09-16) +1.2.3-SNAPSHOT (20201007-162348) Please see the file named "changelog.xml" in this directory for the release notes. diff --git a/src/main/webapp/WEB-INF/gcube-app.xml b/src/main/webapp/WEB-INF/gcube-app.xml index 4d1123c..10d8f17 100644 --- a/src/main/webapp/WEB-INF/gcube-app.xml +++ b/src/main/webapp/WEB-INF/gcube-app.xml @@ -1,7 +1,7 @@ StorageHub DataAccess - 1.2.2-SNAPSHOT + 1.2.3-SNAPSHOT Storage Hub webapp \ No newline at end of file