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 2022/03/23 16:31:08 UTC

svn commit: r1899153 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java

Author: tilman
Date: Wed Mar 23 16:31:08 2022
New Revision: 1899153

URL: http://svn.apache.org/viewvc?rev=1899153&view=rev
Log:
PDFBOX-5397: use dash workaround for all versions; remove version detection

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1899153&r1=1899152&r2=1899153&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Wed Mar 23 16:31:08 2022
@@ -55,7 +55,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.StringTokenizer;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -164,8 +163,6 @@ public class PageDrawer extends PDFGraph
     private final RenderingHints renderingHints;
     private final float imageDownscalingOptimizationThreshold;
 
-    static final int JAVA_VERSION = PageDrawer.getJavaVersion();
-
     /**
     * Default annotations filter, returns all annotations
     */
@@ -749,32 +746,21 @@ public class PageDrawer extends PDFGraph
                 return null;
             }
         }
-        if (JAVA_VERSION < 10)
+        for (int i = 0; i < dashArray.length; ++i)
         {
-            for (int i = 0; i < dashArray.length; ++i)
+            // apply the CTM
+            float w = transformWidth(dashArray[i]);
+            // minimum line dash width avoids JVM crash,
+            // see PDFBOX-2373, PDFBOX-2929, PDFBOX-3204, PDFBOX-3813
+            // also avoid 0 in array like "[ 0 1000 ] 0 d", see PDFBOX-3724
+            if (xformScalingFactorX < 0.5f)
             {
-                // apply the CTM
-                float w = transformWidth(dashArray[i]);
-                // minimum line dash width avoids JVM crash,
-                // see PDFBOX-2373, PDFBOX-2929, PDFBOX-3204, PDFBOX-3813
-                // also avoid 0 in array like "[ 0 1000 ] 0 d", see PDFBOX-3724
-                if (xformScalingFactorX < 0.5f)
-                {
-                    // PDFBOX-4492
-                    dashArray[i] = Math.max(w, 0.2f);
-                }
-                else
-                {
-                    dashArray[i] = Math.max(w, 0.062f);
-                }
+                // PDFBOX-4492
+                dashArray[i] = Math.max(w, 0.2f);
             }
-        }
-        else
-        {
-            for (int i = 0; i < dashArray.length; ++i)
+            else
             {
-                // apply the CTM
-                dashArray[i] = transformWidth(dashArray[i]);
+                dashArray[i] = Math.max(w, 0.062f);
             }
         }
         return dashArray;
@@ -1985,26 +1971,4 @@ public class PageDrawer extends PDFGraph
         // AnyOn is default
         return visibles.stream().noneMatch(v -> v);
     }
-
-    private static int getJavaVersion()
-    {
-        // 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 ? minor : major;
-        }
-        catch (NumberFormatException nfe)
-        {
-            // maybe some new numbering scheme in the 22nd century
-            return 0;
-        }
-    }
 }