You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/09/29 09:41:26 UTC
svn commit: r1867715 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
rendering/PDFRenderer.java util/Hex.java
Author: tilman
Date: Sun Sep 29 09:41:26 2019
New Revision: 1867715
URL: http://svn.apache.org/viewvc?rev=1867715&view=rev
Log:
PDFBOX-4071: remove pre-jdk8 assumptions because we're on jdk8
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java?rev=1867715&r1=1867714&r2=1867715&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java Sun Sep 29 09:41:26 2019
@@ -24,7 +24,6 @@ import java.awt.GraphicsDevice;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.IOException;
-import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
@@ -549,7 +548,7 @@ public class PDFRenderer
private static void suggestKCMS()
{
String cmmProperty = System.getProperty("sun.java2d.cmm");
- if (isMinJdk8() && !"sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty))
+ if (!"sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty))
{
try
{
@@ -598,26 +597,4 @@ public class PDFRenderer
}
return false;
}
-
- private static boolean isMinJdk8()
- {
- // strategy from lucene-solr/lucene/core/src/java/org/apache/lucene/util/Constants.java
- String version = System.getProperty("java.specification.version");
- final StringTokenizer st = new StringTokenizer(version, ".");
- try
- {
- int major = Integer.parseInt(st.nextToken());
- int minor = 0;
- if (st.hasMoreTokens())
- {
- minor = Integer.parseInt(st.nextToken());
- }
- return major > 1 || (major == 1 && minor >= 8);
- }
- catch (NumberFormatException nfe)
- {
- // maybe some new numbering scheme in the 22nd century
- return true;
- }
- }
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java?rev=1867715&r1=1867714&r2=1867715&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java Sun Sep 29 09:41:26 2019
@@ -20,7 +20,7 @@ package org.apache.pdfbox.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
-import java.lang.reflect.Method;
+import java.util.Base64;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -191,33 +191,7 @@ public final class Hex
*/
public static byte[] decodeBase64(String base64Value)
{
- // https://stackoverflow.com/questions/469695/decode-base64-data-in-java
- try
- {
- // jdk8 and higher? java.util.Base64.getDecoder().decode()
- Class<?> b64Class = Class.forName("java.util.Base64");
- Method getDecoderMethod = b64Class.getMethod("getDecoder");
- Object base64Decoder = getDecoderMethod.invoke(b64Class);
- Method decodeMethod = base64Decoder.getClass().getMethod("decode", String.class);
- return (byte[]) decodeMethod.invoke(base64Decoder, base64Value.replaceAll("\\s", ""));
- }
- catch (ReflectiveOperationException | SecurityException ex)
- {
- LOG.debug(ex);
- }
- try
- {
- // up to java7? javax.xml.bind.DatatypeConverter.parseBase64Binary()
- Class<?> datatypeConverterClass = Class.forName("javax.xml.bind.DatatypeConverter");
- Method parseBase64BinaryMethod = datatypeConverterClass.getMethod("parseBase64Binary", String.class);
- return (byte[]) parseBase64BinaryMethod.invoke(null, base64Value);
- }
- catch (ReflectiveOperationException | SecurityException ex)
- {
- LOG.debug(ex);
- }
- LOG.error("Can't decode base64 value, try adding javax.xml.bind:jaxb-api to your build");
- return new byte[0];
+ return Base64.getDecoder().decode(base64Value.replaceAll("\\s", ""));
}
/**