Skip to content

Commit

Permalink
LANG-794: SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect. This a…
Browse files Browse the repository at this point in the history
…lso fixes #60 from github. Thanks to Timo Kockert.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1671040 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
britter committed Apr 3, 2015
1 parent 3376eff commit e56332a
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 15 deletions.
2 changes: 2 additions & 0 deletions RELEASE-NOTES.txt
Expand Up @@ -60,6 +60,8 @@ o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
FIXED BUGS
============

o LANG-794: SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect. Thanks to
Timo Kockert.
o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
o LANG-948: Exception while using ExtendedMessageFormat and escaping braces.
Thanks to Andrey Khobnya.
Expand Down
1 change: 1 addition & 0 deletions src/changes/changes.xml
Expand Up @@ -22,6 +22,7 @@
<body>

<release version="3.4" date="tba" description="tba">
<action issue="LANG-794" type="fix" dev="britter" due-to="Timo Kockert">SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect</action>
<action issue="LANG-1104" type="fix" dev="chas">Parse test fails for TimeZone America/Sao_Paulo</action>
<action issue="LANG-1103" type="add" dev="britter">Add SystemUtils.IS_JAVA_1_9</action>
<action issue="LANG-1102" type="update" dev="britter">Make logic for comparing OS versions in SystemUtils smarter</action>
Expand Down
38 changes: 23 additions & 15 deletions src/main/java/org/apache/commons/lang3/SystemUtils.java
Expand Up @@ -1150,7 +1150,7 @@ public class SystemUtils {
*
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_2000 = getOSMatches(OS_NAME_WINDOWS_PREFIX, "5.0");
public static final boolean IS_OS_WINDOWS_2000 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 2000");

/**
* <p>
Expand All @@ -1162,19 +1162,31 @@ public class SystemUtils {
*
* @since 3.1
*/
public static final boolean IS_OS_WINDOWS_2003 = getOSMatches(OS_NAME_WINDOWS_PREFIX, "5.2");
public static final boolean IS_OS_WINDOWS_2003 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 2003");

/**
* <p>
* Is {@code true} if this is Windows 2008.
* Is {@code true} if this is Windows Server 2008.
* </p>
* <p>
* The field will return {@code false} if {@code OS_NAME} is {@code null}.
* </p>
*
* @since 3.1
*/
public static final boolean IS_OS_WINDOWS_2008 = getOSMatches(OS_NAME_WINDOWS_PREFIX + " Server 2008", "6.1");
public static final boolean IS_OS_WINDOWS_2008 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " Server 2008");

/**
* <p>
* Is {@code true} if this is Windows Server 2012.
* </p>
* <p>
* The field will return {@code false} if {@code OS_NAME} is {@code null}.
* </p>
*
* @since 3.4
*/
public static final boolean IS_OS_WINDOWS_2012 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " Server 2012");

/**
* <p>
Expand All @@ -1186,8 +1198,7 @@ public class SystemUtils {
*
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_95 = getOSMatches(OS_NAME_WINDOWS_PREFIX + " 9", "4.0");
// Java 1.2 running on Windows98 returns 'Windows 95', hence the above
public static final boolean IS_OS_WINDOWS_95 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 95");

/**
* <p>
Expand All @@ -1199,8 +1210,7 @@ public class SystemUtils {
*
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_98 = getOSMatches(OS_NAME_WINDOWS_PREFIX + " 9", "4.1");
// Java 1.2 running on Windows98 returns 'Windows 95', hence the above
public static final boolean IS_OS_WINDOWS_98 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 98");

/**
* <p>
Expand All @@ -1212,8 +1222,7 @@ public class SystemUtils {
*
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_ME = getOSMatches(OS_NAME_WINDOWS_PREFIX, "4.9");
// Java 1.2 running on WindowsME may return 'Windows 95', hence the above
public static final boolean IS_OS_WINDOWS_ME = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " Me");

/**
* <p>
Expand All @@ -1226,7 +1235,6 @@ public class SystemUtils {
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_NT = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " NT");
// Windows 2000 returns 'Windows 2000' but may suffer from same Java1.2 problem

/**
* <p>
Expand All @@ -1238,7 +1246,7 @@ public class SystemUtils {
*
* @since 2.0
*/
public static final boolean IS_OS_WINDOWS_XP = getOSMatches(OS_NAME_WINDOWS_PREFIX, "5.1");
public static final boolean IS_OS_WINDOWS_XP = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " XP");

// -----------------------------------------------------------------------
/**
Expand All @@ -1251,7 +1259,7 @@ public class SystemUtils {
*
* @since 2.4
*/
public static final boolean IS_OS_WINDOWS_VISTA = getOSMatches(OS_NAME_WINDOWS_PREFIX, "6.0");
public static final boolean IS_OS_WINDOWS_VISTA = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " Vista");

/**
* <p>
Expand All @@ -1263,7 +1271,7 @@ public class SystemUtils {
*
* @since 3.0
*/
public static final boolean IS_OS_WINDOWS_7 = getOSMatches(OS_NAME_WINDOWS_PREFIX, "6.1");
public static final boolean IS_OS_WINDOWS_7 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 7");

/**
* <p>
Expand All @@ -1275,7 +1283,7 @@ public class SystemUtils {
*
* @since 3.2
*/
public static final boolean IS_OS_WINDOWS_8 = getOSMatches(OS_NAME_WINDOWS_PREFIX, "6.2");
public static final boolean IS_OS_WINDOWS_8 = getOSMatchesName(OS_NAME_WINDOWS_PREFIX + " 8");

/**
* <p>
Expand Down

0 comments on commit e56332a

Please sign in to comment.