changeset 844:c8d0845877a8 jdk-9+95

Merge
author iris
date Sun, 29 Nov 2015 20:29:35 -0800
parents 5caeffed1b51 (current diff) 1a7582f8bc45 (diff)
children 4d8950df4d5f 1cefe0c8447c
files
diffstat 2 files changed, 22 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/XalanConstants.java	Sun Nov 29 11:00:03 2015 -0800
+++ b/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/XalanConstants.java	Sun Nov 29 20:29:35 2015 -0800
@@ -227,24 +227,21 @@
     public static final boolean IS_JDK8_OR_ABOVE = isJavaVersionAtLeast(8);
 
     /*
-     * Check the version of the current JDK against that specified in the
-     * parameter
+     * Check the major version of the current JDK against that specified
+     * in the parameter
      *
-     * There is a proposal to change the java version string to:
-     * MAJOR.MINOR.FU.CPU.PSU-BUILDNUMBER_BUGIDNUMBER_OPTIONAL
-     * This method would work with both the current format and that proposed
+     * In JDK9 the java version string was changed to comply with JEP-223
+     * so this method was modified to handle that new format as well
      *
-     * @param compareTo a JDK version to be compared to
-     * @return true if the current version is the same or above that represented
-     * by the parameter
+     * @param compareTo a JDK major version to be compared to
+     * @return true if the current major version is the same or above
+     * that represented by the parameter
      */
     public static boolean isJavaVersionAtLeast(int compareTo) {
         String javaVersion = SecuritySupport.getSystemProperty("java.version");
-        String versions[] = javaVersion.split("\\.", 3);
-        if (Integer.parseInt(versions[0]) >= compareTo ||
-            Integer.parseInt(versions[1]) >= compareTo) {
-            return true;
-        }
-        return false;
+        javaVersion = (javaVersion.matches("[1-9][0-9]*(\\.(0|[1-9][0-9]*))*\\-.*")) ?
+                          javaVersion.split("-|\\.")[0] :
+                          javaVersion.split("\\.", 3)[1];
+        return Integer.parseInt(javaVersion) >= compareTo;
     }
 } // class Constants
--- a/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/Constants.java	Sun Nov 29 11:00:03 2015 -0800
+++ b/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/Constants.java	Sun Nov 29 20:29:35 2015 -0800
@@ -857,25 +857,22 @@
     } // getXercesProperties():Enumeration
 
     /*
-     * Check the version of the current JDK against that specified in the
-     * parameter
+     * Check the major version of the current JDK against that specified
+     * in the parameter
      *
-     * There is a proposal to change the java version string to:
-     * MAJOR.MINOR.FU.CPU.PSU-BUILDNUMBER_BUGIDNUMBER_OPTIONAL
-     * This method would work with both the current format and that proposed
+     * In JDK9 the java version string was changed to comply with JEP-223
+     * so this method was modified to handle that new format as well
      *
-     * @param compareTo a JDK version to be compared to
-     * @return true if the current version is the same or above that represented
-     * by the parameter
+     * @param compareTo a JDK major version to be compared to
+     * @return true if the current major version is the same or above
+     * that represented by the parameter
      */
     public static boolean isJavaVersionAtLeast(int compareTo) {
         String javaVersion = SecuritySupport.getSystemProperty("java.version");
-        String versions[] = javaVersion.split("\\.", 3);
-        if (Integer.parseInt(versions[0]) >= compareTo ||
-            Integer.parseInt(versions[1]) >= compareTo) {
-            return true;
-        }
-        return false;
+        javaVersion = (javaVersion.matches("[1-9][0-9]*(\\.(0|[1-9][0-9]*))*\\-.*")) ?
+                          javaVersion.split("-|\\.")[0] :
+                          javaVersion.split("\\.", 3)[1];
+        return Integer.parseInt(javaVersion) >= compareTo;
     }
 
     //