diff --git a/common/src/main/java/stirling/software/common/util/ExceptionUtils.java b/common/src/main/java/stirling/software/common/util/ExceptionUtils.java index 9d9fc514b..baea7dd40 100644 --- a/common/src/main/java/stirling/software/common/util/ExceptionUtils.java +++ b/common/src/main/java/stirling/software/common/util/ExceptionUtils.java @@ -146,7 +146,6 @@ public class ExceptionUtils { public static IllegalArgumentException createIllegalArgumentException( String messageKey, String defaultMessage, Object... args) { String message = I18nUtils.getMessage(messageKey, defaultMessage, args); - System.out.println("######## Test " + message); return new IllegalArgumentException(message); } diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index 9c00b8474..e8ac284a8 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -227,8 +227,6 @@ public class EndpointConfiguration { log.info( "No endpoints disabled despite missing tools - fallback implementations available"); } - - } public void init() { diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java index 054100025..ac6eed57a 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java @@ -601,7 +601,7 @@ public class CompressController { if (bytesRead > 0) { byte[] dataToHash = bytesRead == buffer.length ? buffer : Arrays.copyOf(buffer, bytesRead); - return bytesToHexString(generatMD5(dataToHash)); + return bytesToHexString(generateMD5(dataToHash)); } return "empty-stream"; } @@ -619,7 +619,7 @@ public class CompressController { return sb.toString(); } - private byte[] generatMD5(byte[] data) throws IOException { + private byte[] generateMD5(byte[] data) throws IOException { try { MessageDigest md = MessageDigest.getInstance("MD5"); return md.digest(data); // Get the MD5 hash of the image bytes diff --git a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java index 985e73442..f0acd7e03 100644 --- a/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java +++ b/stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java @@ -149,37 +149,35 @@ public class GetInfoOnPDF { try { PDMetadata pdMetadata = document.getDocumentCatalog().getMetadata(); if (pdMetadata != null) { - COSInputStream metaStream = pdMetadata.createInputStream(); + try (COSInputStream metaStream = pdMetadata.createInputStream()) { + // First try to read raw metadata as string to check for standard keywords + byte[] metadataBytes = metaStream.readAllBytes(); + String rawMetadata = new String(metadataBytes, StandardCharsets.UTF_8); - // First try to read raw metadata as string to check for standard keywords - byte[] metadataBytes = metaStream.readAllBytes(); - String rawMetadata = new String(metadataBytes, StandardCharsets.UTF_8); - - if (rawMetadata.contains(standardKeyword)) { - return true; + if (rawMetadata.contains(standardKeyword)) { + return true; + } } // If raw check doesn't find it, try parsing with XMP parser - // Reset stream for parsing - metaStream.close(); - metaStream = pdMetadata.createInputStream(); + try (COSInputStream metaStream = pdMetadata.createInputStream()) { + try { + DomXmpParser domXmpParser = new DomXmpParser(); + XMPMetadata xmpMeta = domXmpParser.parse(metaStream); - try { - DomXmpParser domXmpParser = new DomXmpParser(); - XMPMetadata xmpMeta = domXmpParser.parse(metaStream); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + new XmpSerializer().serialize(xmpMeta, baos, true); + String xmpString = new String(baos.toByteArray(), StandardCharsets.UTF_8); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - new XmpSerializer().serialize(xmpMeta, baos, true); - String xmpString = new String(baos.toByteArray(), StandardCharsets.UTF_8); - - if (xmpString.contains(standardKeyword)) { - return true; + if (xmpString.contains(standardKeyword)) { + return true; + } + } catch (XmpParsingException e) { + // XMP parsing failed, but we already checked raw metadata above + log.debug( + "XMP parsing failed for standard check, but raw metadata was already checked: {}", + e.getMessage()); } - } catch (XmpParsingException e) { - // XMP parsing failed, but we already checked raw metadata above - log.debug( - "XMP parsing failed for standard check, but raw metadata was already checked: {}", - e.getMessage()); } } } catch (Exception e) { @@ -409,20 +407,18 @@ public class GetInfoOnPDF { if (pdMetadata != null) { try { - COSInputStream is = pdMetadata.createInputStream(); - - try { + try (COSInputStream is = pdMetadata.createInputStream()) { DomXmpParser domXmpParser = new DomXmpParser(); XMPMetadata xmpMeta = domXmpParser.parse(is); ByteArrayOutputStream os = new ByteArrayOutputStream(); new XmpSerializer().serialize(xmpMeta, os, true); xmpString = new String(os.toByteArray(), StandardCharsets.UTF_8); - } catch (XmpParsingException e) { - // XMP parsing failed, try to read raw metadata instead - log.debug("XMP parsing failed, reading raw metadata: {}", e.getMessage()); - is.close(); - is = pdMetadata.createInputStream(); + } + } catch (XmpParsingException e) { + // XMP parsing failed, try to read raw metadata instead + log.debug("XMP parsing failed, reading raw metadata: {}", e.getMessage()); + try (COSInputStream is = pdMetadata.createInputStream()) { byte[] metadataBytes = is.readAllBytes(); xmpString = new String(metadataBytes, StandardCharsets.UTF_8); }