diff --git a/src/main/java/org/apache/commons/lang3/ClassUtils.java b/src/main/java/org/apache/commons/lang3/ClassUtils.java
index 6593a460b..80b784a06 100644
--- a/src/main/java/org/apache/commons/lang3/ClassUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ClassUtils.java
@@ -436,7 +436,7 @@ public class ClassUtils {
* @return true
if assignment possible
*/
public static boolean isAssignable(Class>[] classArray, Class>[] toClassArray) {
- return isAssignable(classArray, toClassArray, SystemUtils.isJavaVersionAtLeast(1.5f));
+ return isAssignable(classArray, toClassArray, SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
}
/**
@@ -521,7 +521,7 @@ public class ClassUtils {
* @return true
if assignment possible
*/
public static boolean isAssignable(Class> cls, Class> toClass) {
- return isAssignable(cls, toClass, SystemUtils.isJavaVersionAtLeast(1.5f));
+ return isAssignable(cls, toClass, SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_5));
}
/**
diff --git a/src/main/java/org/apache/commons/lang3/JavaVersion.java b/src/main/java/org/apache/commons/lang3/JavaVersion.java
new file mode 100644
index 000000000..ce2be7da3
--- /dev/null
+++ b/src/main/java/org/apache/commons/lang3/JavaVersion.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.lang3;
+
+/**
+ *
An enum representing all the versions of the Java specification. + * This is intended to mirror available values from the + * java.specification.version System property.
+ * + * @author Apache Software Foundation + * @since 3.0 + * @version $Id: $ + */ +public enum JavaVersion { + JAVA_0_9(1.5f, "0.9"), // Android + JAVA_1_1(1.1f, "1.1"), + JAVA_1_2(1.2f, "1.2"), + JAVA_1_3(1.3f, "1.3"), + JAVA_1_4(1.4f, "1.4"), + JAVA_1_5(1.5f, "1.5"), + JAVA_1_6(1.6f, "1.6"), + JAVA_1_7(1.7f, "1.7"); + + private float value; + private String name; + + JavaVersion(final float value, final String name) { + this.value = value; + this.name = name; + } + + public boolean atLeast(JavaVersion requiredVersion) { + return this.value >= requiredVersion.value; + } + + // helper for static importing + static JavaVersion getJavaVersion(final String nom) { + return getJavaVersion(nom); + } + static JavaVersion get(final String nom) { + if("0.9".equals(nom)) { + return JAVA_0_9; + } else + if("1.1".equals(nom)) { + return JAVA_1_1; + } else + if("1.2".equals(nom)) { + return JAVA_1_2; + } else + if("1.3".equals(nom)) { + return JAVA_1_3; + } else + if("1.4".equals(nom)) { + return JAVA_1_4; + } else + if("1.5".equals(nom)) { + return JAVA_1_5; + } else + if("1.6".equals(nom)) { + return JAVA_1_6; + } else + if("1.7".equals(nom)) { + return JAVA_1_7; + } else { + return null; + } + } +} diff --git a/src/main/java/org/apache/commons/lang3/SystemUtils.java b/src/main/java/org/apache/commons/lang3/SystemUtils.java index 72b3fe850..24875ea5e 100644 --- a/src/main/java/org/apache/commons/lang3/SystemUtils.java +++ b/src/main/java/org/apache/commons/lang3/SystemUtils.java @@ -473,6 +473,7 @@ public class SystemUtils { * @since Java 1.3 */ public static final String JAVA_SPECIFICATION_VERSION = getSystemProperty("java.specification.version"); + private static final JavaVersion JAVA_SPECIFICATION_VERSION_AS_ENUM = JavaVersion.get(JAVA_SPECIFICATION_VERSION); /** *@@ -898,71 +899,6 @@ public class SystemUtils { */ public static final String USER_TIMEZONE = getSystemProperty("user.timezone"); - // Java version - // ----------------------------------------------------------------------- - // This MUST be declared after those above as it depends on the - // values being set up - - /** - *
- * Gets the Java version as a String
trimming leading letters.
- *
- * The field will return null
if {@link #JAVA_VERSION} is null
.
- *
- * Gets the Java version as a float
.
- *
- * Example return values: - *
- *1.2f
for Java 1.2
- * 1.31f
for Java 1.3.1
- *
- * The field will return zero if {@link #JAVA_VERSION} is null
.
- *
- * Gets the Java version as an int
.
- *
- * Example return values: - *
- *120
for Java 1.2
- * 131
for Java 1.3.1
- *
- * The field will return zero if {@link #JAVA_VERSION} is null
.
- *
- * Gets the Java version number as a float
.
- *
- * Example return values: - *
- *1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20- * Patch releases are not reported. - *
- * - * @return the version, for example 1.31f for Java 1.3.1 - */ - private static float getJavaVersionAsFloat() { - return toVersionFloat(toJavaVersionIntArray(SystemUtils.JAVA_VERSION, JAVA_VERSION_TRIM_SIZE)); - } - - /** - *
- * Gets the Java version number as an int
.
- *
- * Example return values: - *
- *120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20- * Patch releases are not reported. - *
- * - * @return the version, for example 131 for Java 1.3.1 - */ - private static int getJavaVersionAsInt() { - return toVersionInt(toJavaVersionIntArray(SystemUtils.JAVA_VERSION, JAVA_VERSION_TRIM_SIZE)); - } - /** *
* Decides if the Java version matches.
@@ -1398,24 +1286,7 @@ public class SystemUtils {
* @return true if matches, or false if not or can't determine
*/
private static boolean getJavaVersionMatches(String versionPrefix) {
- return isJavaVersionMatch(JAVA_VERSION_TRIMMED, versionPrefix);
- }
-
- /**
- * Trims the text of the java version to start with numbers.
- *
- * @return the trimmed java version
- */
- private static String getJavaVersionTrimmed() {
- if (JAVA_VERSION != null) {
- for (int i = 0; i < JAVA_VERSION.length(); i++) {
- char ch = JAVA_VERSION.charAt(i);
- if (ch >= '0' && ch <= '9') {
- return JAVA_VERSION.substring(i);
- }
- }
- }
- return null;
+ return isJavaVersionMatch(JAVA_SPECIFICATION_VERSION, versionPrefix);
}
/**
@@ -1530,30 +1401,8 @@ public class SystemUtils {
* the required version, for example 1.31f
* @return true
if the actual version is equal or greater than the required version
*/
- public static boolean isJavaVersionAtLeast(float requiredVersion) {
- return JAVA_VERSION_FLOAT >= requiredVersion;
- }
-
- /**
- *
- * Is the Java version at least the requested version. - *
- * - *- * Example input: - *
- *120
to test for Java 1.2 or greater131
to test for Java 1.3.1 or greatertrue
if the actual version is equal or greater than the required version
- * @since 2.0
- */
- public static boolean isJavaVersionAtLeast(int requiredVersion) {
- return JAVA_VERSION_INT >= requiredVersion;
+ public static boolean isJavaVersionAtLeast(JavaVersion requiredVersion) {
+ return JAVA_SPECIFICATION_VERSION_AS_ENUM.atLeast(requiredVersion);
}
/**
@@ -1619,193 +1468,6 @@ public class SystemUtils {
return osName.startsWith(osNamePrefix);
}
- /**
- *
- * Converts the given Java version string to a float
.
- *
- * Example return values: - *
- *1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20- * Patch releases are not reported. - *
- *- * This method is package private instead of private to support unit test invocation. - *
- * - * @return the version, for example 1.31f for Java 1.3.1 - */ - static float toJavaVersionFloat(String version) { - return toVersionFloat(toJavaVersionIntArray(version, JAVA_VERSION_TRIM_SIZE)); - } - - /** - *
- * Converts the given Java version string to an int
.
- *
- * Example return values: - *
- *120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20- * Patch releases are not reported. - *
- *- * This method is package private instead of private to support unit test invocation. - *
- * - * @return the version, for example 131 for Java 1.3.1 - */ - static int toJavaVersionInt(String version) { - return toVersionInt(toJavaVersionIntArray(version, JAVA_VERSION_TRIM_SIZE)); - } - - /** - *
- * Converts the given Java version string to an int[]
of maximum size 3
.
- *
- * Example return values: - *
- *[1, 2, 0]
for Java 1.2[1, 3, 1]
for Java 1.3.1[1, 5, 0]
for Java 1.5.0_21- * This method is package private instead of private to support unit test invocation. - *
- * - * @return the version, for example [1, 5, 0] for Java 1.5.0_21 - */ - static int[] toJavaVersionIntArray(String version) { - return toJavaVersionIntArray(version, Integer.MAX_VALUE); - } - - /** - *
- * Converts the given Java version string to an int[]
of maximum size limit
.
- *
- * Example return values: - *
- *[1, 2, 0]
for Java 1.2[1, 3, 1]
for Java 1.3.1[1, 5, 0, 21]
for Java 1.5.0_21
- * Converts given the Java version array to a float
.
- *
- * Example return values: - *
- *1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20- * Patch releases are not reported. - *
- * - * @return the version, for example 1.31f for Java 1.3.1 - */ - private static float toVersionFloat(int[] javaVersions) { - if (javaVersions == null || javaVersions.length == 0) { - return 0f; - } - if (javaVersions.length == 1) { - return javaVersions[0]; - } - StringBuilder builder = new StringBuilder(); - builder.append(javaVersions[0]); - builder.append('.'); - for (int i = 1; i < javaVersions.length; i++) { - builder.append(javaVersions[i]); - } - try { - return Float.parseFloat(builder.toString()); - } catch (Exception ex) { - return 0f; - } - } - - /** - *
- * Converts given the Java version array to an int
.
- *
- * Example return values: - *
- *120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20- * Patch releases are not reported. - *
- * - * @return the version, for example 1.31f for Java 1.3.1 - */ - private static int toVersionInt(int[] javaVersions) { - if (javaVersions == null) { - return 0; - } - int intVersion = 0; - int len = javaVersions.length; - if (len >= 1) { - intVersion = javaVersions[0] * 100; - } - if (len >= 2) { - intVersion += javaVersions[1] * 10; - } - if (len >= 3) { - intVersion += javaVersions[2]; - } - return intVersion; - } - // ----------------------------------------------------------------------- /** *diff --git a/src/test/java/org/apache/commons/lang3/CharEncodingTest.java b/src/test/java/org/apache/commons/lang3/CharEncodingTest.java index b0ca6ca3f..1eee1b3b7 100644 --- a/src/test/java/org/apache/commons/lang3/CharEncodingTest.java +++ b/src/test/java/org/apache/commons/lang3/CharEncodingTest.java @@ -19,6 +19,8 @@ package org.apache.commons.lang3; import junit.framework.TestCase; +import static org.apache.commons.lang3.JavaVersion.*; + /** * Tests CharEncoding. * @@ -40,7 +42,7 @@ public class CharEncodingTest extends TestCase { } public void testMustBeSupportedJava1_3_1() { - if (SystemUtils.isJavaVersionAtLeast(1.3f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_3)) { this.assertSupportedEncoding(CharEncoding.ISO_8859_1); this.assertSupportedEncoding(CharEncoding.US_ASCII); this.assertSupportedEncoding(CharEncoding.UTF_16); @@ -48,7 +50,7 @@ public class CharEncodingTest extends TestCase { this.assertSupportedEncoding(CharEncoding.UTF_16LE); this.assertSupportedEncoding(CharEncoding.UTF_8); } else { - this.warn("Java 1.3 tests not run since the current version is " + SystemUtils.JAVA_VERSION); + this.warn("Java 1.3 tests not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); } } @@ -66,12 +68,12 @@ public class CharEncodingTest extends TestCase { // In this test, I simply deleted the encodings from the 1.3.1 list. // The Javadoc do not specify which encodings are required. // - if (SystemUtils.isJavaVersionAtLeast(1.1f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_1)) { this.assertSupportedEncoding(CharEncoding.ISO_8859_1); this.assertSupportedEncoding(CharEncoding.US_ASCII); this.assertSupportedEncoding(CharEncoding.UTF_8); } else { - this.warn("Java 1.1 tests not run since the current version is " + SystemUtils.JAVA_VERSION); + this.warn("Java 1.1 tests not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); } } @@ -80,12 +82,12 @@ public class CharEncodingTest extends TestCase { // In this test, I simply deleted the encodings from the 1.3.1 list. // The Javadoc do not specify which encodings are required. // - if (SystemUtils.isJavaVersionAtLeast(1.2f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_2)) { this.assertSupportedEncoding(CharEncoding.ISO_8859_1); this.assertSupportedEncoding(CharEncoding.US_ASCII); this.assertSupportedEncoding(CharEncoding.UTF_8); } else { - this.warn("Java 1.2 tests not run since the current version is " + SystemUtils.JAVA_VERSION); + this.warn("Java 1.2 tests not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); } } diff --git a/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java b/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java index 3ec16f085..f66c0a5aa 100644 --- a/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ClassUtilsTest.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Map; import java.util.Set; +import static org.apache.commons.lang3.JavaVersion.*; + import junit.framework.TestCase; /** @@ -265,7 +267,7 @@ public class ClassUtilsTest extends TestCase { assertTrue(ClassUtils.isAssignable(array1s, array1s)); assertTrue(ClassUtils.isAssignable(array1s, array1)); - boolean autoboxing = SystemUtils.isJavaVersionAtLeast(1.5f); + boolean autoboxing = SystemUtils.isJavaVersionAtLeast(JAVA_1_5); assertEquals(autoboxing, ClassUtils.isAssignable(arrayPrimitives, arrayWrappers)); assertEquals(autoboxing, ClassUtils.isAssignable(arrayWrappers, arrayPrimitives)); @@ -340,7 +342,7 @@ public class ClassUtilsTest extends TestCase { assertTrue(ClassUtils.isAssignable(String.class, String.class)); assertFalse(ClassUtils.isAssignable(Object.class, String.class)); - boolean autoboxing = SystemUtils.isJavaVersionAtLeast(1.5f); + boolean autoboxing = SystemUtils.isJavaVersionAtLeast(JAVA_1_5); assertEquals(autoboxing, ClassUtils.isAssignable(Integer.TYPE, Integer.class)); assertEquals(autoboxing, ClassUtils.isAssignable(Integer.TYPE, Object.class)); @@ -485,7 +487,7 @@ public class ClassUtilsTest extends TestCase { } public void test_isAssignable_DefaultUnboxing_Widening() throws Exception { - boolean autoboxing = SystemUtils.isJavaVersionAtLeast(1.5f); + boolean autoboxing = SystemUtils.isJavaVersionAtLeast(JAVA_1_5); // test byte conversions assertFalse("byte -> char", ClassUtils.isAssignable(Byte.class, Character.TYPE)); diff --git a/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java b/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java index 28ab263cf..2f054ae94 100644 --- a/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/LocaleUtilsTest.java @@ -26,6 +26,8 @@ import java.util.List; import java.util.Locale; import java.util.Set; +import static org.apache.commons.lang3.JavaVersion.*; + import junit.framework.TestCase; /** @@ -212,7 +214,7 @@ public class LocaleUtilsTest extends TestCase { assertValidToLocale("us_EN_A", "us", "EN", "A"); // this isn't pretty, but was caused by a jdk bug it seems // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4210525 - if (SystemUtils.isJavaVersionAtLeast(1.4f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_4)) { assertValidToLocale("us_EN_a", "us", "EN", "a"); assertValidToLocale("us_EN_SFsafdFDsdfF", "us", "EN", "SFsafdFDsdfF"); } else { diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java index b6bbf8ffb..4d7089162 100644 --- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java @@ -27,6 +27,8 @@ import java.util.Locale; import junit.framework.Assert; import junit.framework.TestCase; +import static org.apache.commons.lang3.JavaVersion.*; + /** * Unit tests {@link org.apache.commons.lang3.SystemUtils}. * @@ -187,62 +189,6 @@ public class SystemUtilsTest extends TestCase { } } - public void testJavaVersionAsFloat() { - assertEquals(0f, SystemUtils.toJavaVersionFloat(null), 0.000001f); - assertEquals(0f, SystemUtils.toJavaVersionFloat(""), 0.000001f); - assertEquals(0f, SystemUtils.toJavaVersionFloat("0"), 0.000001f); - assertEquals(1.1f, SystemUtils.toJavaVersionFloat("1.1"), 0.000001f); - assertEquals(1.2f, SystemUtils.toJavaVersionFloat("1.2"), 0.000001f); - assertEquals(1.3f, SystemUtils.toJavaVersionFloat("1.3.0"), 0.000001f); - assertEquals(1.31f, SystemUtils.toJavaVersionFloat("1.3.1"), 0.000001f); - assertEquals(1.4f, SystemUtils.toJavaVersionFloat("1.4.0"), 0.000001f); - assertEquals(1.41f, SystemUtils.toJavaVersionFloat("1.4.1"), 0.000001f); - assertEquals(1.42f, SystemUtils.toJavaVersionFloat("1.4.2"), 0.000001f); - assertEquals(1.5f, SystemUtils.toJavaVersionFloat("1.5.0"), 0.000001f); - assertEquals(1.6f, SystemUtils.toJavaVersionFloat("1.6.0"), 0.000001f); - assertEquals(1.31f, SystemUtils.toJavaVersionFloat("JavaVM-1.3.1"), 0.000001f); - assertEquals(1.3f, SystemUtils.toJavaVersionFloat("1.3.0 subset"), 0.000001f); - // This used to return 0f in [lang] version 2.5: - assertEquals(1.3f, SystemUtils.toJavaVersionFloat("XXX-1.3.x"), 0.000001f); - } - - public void testJavaVersionAsInt() { - assertEquals(0, SystemUtils.toJavaVersionInt(null)); - assertEquals(0, SystemUtils.toJavaVersionInt("")); - assertEquals(0, SystemUtils.toJavaVersionInt("0")); - assertEquals(110, SystemUtils.toJavaVersionInt("1.1")); - assertEquals(120, SystemUtils.toJavaVersionInt("1.2")); - assertEquals(130, SystemUtils.toJavaVersionInt("1.3.0")); - assertEquals(131, SystemUtils.toJavaVersionInt("1.3.1")); - assertEquals(140, SystemUtils.toJavaVersionInt("1.4.0")); - assertEquals(141, SystemUtils.toJavaVersionInt("1.4.1")); - assertEquals(142, SystemUtils.toJavaVersionInt("1.4.2")); - assertEquals(150, SystemUtils.toJavaVersionInt("1.5.0")); - assertEquals(160, SystemUtils.toJavaVersionInt("1.6.0")); - assertEquals(131, SystemUtils.toJavaVersionInt("JavaVM-1.3.1")); - assertEquals(131, SystemUtils.toJavaVersionInt("1.3.1 subset")); - // This used to return 0f in [lang] version 2.5: - assertEquals(130, SystemUtils.toJavaVersionInt("XXX-1.3.x")); - } - - public void testJavaVersionAtLeastFloat() { - float version = SystemUtils.JAVA_VERSION_FLOAT; - assertEquals(true, SystemUtils.isJavaVersionAtLeast(version)); - version -= 0.1f; - assertEquals(true, SystemUtils.isJavaVersionAtLeast(version)); - version += 0.2f; - assertEquals(false, SystemUtils.isJavaVersionAtLeast(version)); - } - - public void testJavaVersionAtLeastInt() { - int version = SystemUtils.JAVA_VERSION_INT; - assertEquals(true, SystemUtils.isJavaVersionAtLeast(version)); - version -= 10; - assertEquals(true, SystemUtils.isJavaVersionAtLeast(version)); - version += 20; - assertEquals(false, SystemUtils.isJavaVersionAtLeast(version)); - } - public void testJavaVersionMatches() { String javaVersion = null; assertEquals(false, SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); @@ -401,7 +347,7 @@ public class SystemUtilsTest extends TestCase { } public void testJavaAwtHeadless() { - boolean atLeastJava14 = SystemUtils.isJavaVersionAtLeast(140); + boolean atLeastJava14 = SystemUtils.isJavaVersionAtLeast(JAVA_1_4); String expectedStringValue = System.getProperty("java.awt.headless"); String expectedStringValueWithDefault = System.getProperty("java.awt.headless", "false"); assertNotNull(expectedStringValueWithDefault); diff --git a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java index bb94ab31c..a0d99a42e 100644 --- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java @@ -23,6 +23,7 @@ import java.math.BigInteger; import junit.framework.TestCase; +import static org.apache.commons.lang3.JavaVersion.*; import org.apache.commons.lang3.SystemUtils; /** @@ -198,7 +199,7 @@ public class NumberUtilsTest extends TestCase { .createNumber("12345678901234567890L")); // jdk 1.2 doesn't support this. unsure about jdk 1.2.2 - if (SystemUtils.isJavaVersionAtLeast(1.3f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_3)) { assertEquals("createNumber(String) 15 failed", new BigDecimal("1.1E-700"), NumberUtils .createNumber("1.1E-700F")); } diff --git a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java index e2bde90b4..36b89e8e0 100644 --- a/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java +++ b/src/test/java/org/apache/commons/lang3/text/ExtendedMessageFormatTest.java @@ -34,6 +34,7 @@ import java.util.Map; import junit.framework.TestCase; +import static org.apache.commons.lang3.JavaVersion.*; import org.apache.commons.lang3.SystemUtils; /** @@ -359,7 +360,7 @@ public class ExtendedMessageFormatTest extends TestCase { //can't trust what MessageFormat does with toPattern() pre 1.4: private void assertPatternsEqual(String message, String expected, String actual) { - if (SystemUtils.isJavaVersionAtLeast(1.4f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_4)) { assertEquals(message, expected, actual); } } diff --git a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java index 68094f9e9..4fb8ec287 100644 --- a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java @@ -32,6 +32,7 @@ import java.util.TimeZone; import junit.framework.AssertionFailedError; import junit.framework.TestCase; +import static org.apache.commons.lang3.JavaVersion.*; import org.apache.commons.lang3.SystemUtils; /** @@ -805,7 +806,7 @@ public class DateUtilsTest extends TestCase { assertEquals("round MET date across DST change-over", dateTimeParser.parse("March 30, 2003 01:00:00.000"), DateUtils.round((Object) cal4, Calendar.HOUR_OF_DAY)); - if (SystemUtils.isJavaVersionAtLeast(1.4f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_4)) { assertEquals("round MET date across DST change-over", dateTimeParser.parse("March 30, 2003 03:00:00.000"), DateUtils.round(date5, Calendar.HOUR_OF_DAY)); @@ -825,7 +826,7 @@ public class DateUtilsTest extends TestCase { dateTimeParser.parse("March 30, 2003 04:00:00.000"), DateUtils.round((Object) cal7, Calendar.HOUR_OF_DAY)); } else { - this.warn("WARNING: Some date rounding tests not run since the current version is " + SystemUtils.JAVA_VERSION); + this.warn("WARNING: Some date rounding tests not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); } TimeZone.setDefault(defaultZone); dateTimeParser.setTimeZone(defaultZone); @@ -1091,8 +1092,8 @@ public class DateUtilsTest extends TestCase { * see http://issues.apache.org/jira/browse/LANG-59 */ public void testTruncateLang59() throws Exception { - if (!SystemUtils.isJavaVersionAtLeast(1.4f)) { - this.warn("WARNING: Test for LANG-59 not run since the current version is " + SystemUtils.JAVA_VERSION); + if (!SystemUtils.isJavaVersionAtLeast(JAVA_1_4)) { + this.warn("WARNING: Test for LANG-59 not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); return; } @@ -1379,7 +1380,7 @@ public class DateUtilsTest extends TestCase { assertEquals("ceiling MET date across DST change-over", dateTimeParser.parse("March 30, 2003 03:00:00.000"), DateUtils.ceiling((Object) cal4, Calendar.HOUR_OF_DAY)); - if (SystemUtils.isJavaVersionAtLeast(1.4f)) { + if (SystemUtils.isJavaVersionAtLeast(JAVA_1_4)) { assertEquals("ceiling MET date across DST change-over", dateTimeParser.parse("March 30, 2003 03:00:00.000"), DateUtils.ceiling(date5, Calendar.HOUR_OF_DAY)); @@ -1399,7 +1400,7 @@ public class DateUtilsTest extends TestCase { dateTimeParser.parse("March 30, 2003 04:00:00.000"), DateUtils.ceiling((Object) cal7, Calendar.HOUR_OF_DAY)); } else { - this.warn("WARNING: Some date ceiling tests not run since the current version is " + SystemUtils.JAVA_VERSION); + this.warn("WARNING: Some date ceiling tests not run since the current version is " + SystemUtils.JAVA_SPECIFICATION_VERSION); } TimeZone.setDefault(defaultZone); dateTimeParser.setTimeZone(defaultZone);