You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bd...@apache.org on 2016/06/29 16:54:23 UTC

[3/6] shiro git commit: Add java 1.8 to JavaEnvironment

Add java 1.8 to JavaEnvironment

Without this the java version is detected as 1.3.

Fixes: SHIRO-545


Project: http://git-wip-us.apache.org/repos/asf/shiro/repo
Commit: http://git-wip-us.apache.org/repos/asf/shiro/commit/23afbb69
Tree: http://git-wip-us.apache.org/repos/asf/shiro/tree/23afbb69
Diff: http://git-wip-us.apache.org/repos/asf/shiro/diff/23afbb69

Branch: refs/heads/master
Commit: 23afbb69048ca1128d57765d2f58dcfda72657be
Parents: fba5bd4
Author: Brian Demers <bd...@stormpath.com>
Authored: Tue Jun 21 09:48:45 2016 -0700
Committer: Brian Demers <bd...@stormpath.com>
Committed: Tue Jun 28 14:58:37 2016 -0700

----------------------------------------------------------------------
 .../org/apache/shiro/util/JavaEnvironment.java  | 23 ++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/shiro/blob/23afbb69/core/src/main/java/org/apache/shiro/util/JavaEnvironment.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/shiro/util/JavaEnvironment.java b/core/src/main/java/org/apache/shiro/util/JavaEnvironment.java
index 455d168..1dcb79b 100644
--- a/core/src/main/java/org/apache/shiro/util/JavaEnvironment.java
+++ b/core/src/main/java/org/apache/shiro/util/JavaEnvironment.java
@@ -59,6 +59,11 @@ public abstract class JavaEnvironment {
      */
     public static final int JAVA_17 = 4;
 
+    /**
+     * Constant identifying the 1.8 JVM.
+     */
+    public static final int JAVA_18 = 5;
+
     /** The virtual machine version, i.e. <code>System.getProperty("java.version");</code>. */
     private static final String version;
 
@@ -76,13 +81,19 @@ public abstract class JavaEnvironment {
     static {
         version = System.getProperty("java.version");
         // version String should look like "1.4.2_10"
-        if (version.indexOf("1.7.") != -1) {
+
+// NOTE:   JDK 1.9 will be versioned differently '9' and/or 9.x.x
+// https://blogs.oracle.com/java-platform-group/entry/a_new_jdk_9_version
+
+        if (version.contains("1.8.")) {
+            majorVersion = JAVA_18;
+        } else if (version.contains("1.7.")) {
             majorVersion = JAVA_17;
-        } else if (version.indexOf("1.6.") != -1) {
+        } else if (version.contains("1.6.")) {
             majorVersion = JAVA_16;
-        } else if (version.indexOf("1.5.") != -1) {
+        } else if (version.contains("1.5.")) {
             majorVersion = JAVA_15;
-        } else if (version.indexOf("1.4.") != -1) {
+        } else if (version.contains("1.4.")) {
             majorVersion = JAVA_14;
         } else {
             // else leave 1.3 as default (it's either 1.3 or unknown)
@@ -112,6 +123,7 @@ public abstract class JavaEnvironment {
      * @see #JAVA_15
      * @see #JAVA_16
      * @see #JAVA_17
+     * @see #JAVA_18
      */
     public static int getMajorVersion() {
         return majorVersion;
@@ -126,6 +138,7 @@ public abstract class JavaEnvironment {
      * @see #JAVA_15
      * @see #JAVA_16
      * @see #JAVA_17
+     * @see #JAVA_18
      */
     public static boolean isAtLeastVersion14() {
         return getMajorVersion() >= JAVA_14;
@@ -140,6 +153,7 @@ public abstract class JavaEnvironment {
      * @see #JAVA_15
      * @see #JAVA_16
      * @see #JAVA_17
+     * @see #JAVA_18
      */
     public static boolean isAtLeastVersion15() {
         return getMajorVersion() >= JAVA_15;
@@ -154,6 +168,7 @@ public abstract class JavaEnvironment {
      * @see #JAVA_15
      * @see #JAVA_16
      * @see #JAVA_17
+     * @see #JAVA_18
      *
      * @since 1.2
      */