Author: scolebourne Date: Wed Mar 29 14:22:32 2006 New Revision: 389911 URL: http://svn.apache.org/viewcvs?rev=389911&view=rev Log: Handle badly formatted java version numbers without exceptions
Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/SystemUtils.java jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/SystemUtilsTest.java Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/SystemUtils.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/SystemUtils.java?rev=389911&r1=389910&r2=389911&view=diff ============================================================================== --- jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/SystemUtils.java (original) +++ jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/SystemUtils.java Wed Mar 29 14:22:32 2006 @@ -1,5 +1,5 @@ /* - * Copyright 2002-2005 The Apache Software Foundation. + * Copyright 2002-2006 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1114,7 +1114,11 @@ if (JAVA_VERSION_TRIMMED.length() >= 5) { str = str + JAVA_VERSION_TRIMMED.substring(4, 5); } - return Float.parseFloat(str); + try { + return Float.parseFloat(str); + } catch (Exception ex) { + return 0; + } } /** @@ -1142,7 +1146,11 @@ } else { str = str + "0"; } - return Integer.parseInt(str); + try { + return Integer.parseInt(str); + } catch (Exception ex) { + return 0; + } } /** Modified: jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/SystemUtilsTest.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/SystemUtilsTest.java?rev=389911&r1=389910&r2=389911&view=diff ============================================================================== --- jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/SystemUtilsTest.java (original) +++ jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/SystemUtilsTest.java Wed Mar 29 14:22:32 2006 @@ -1,5 +1,5 @@ /* - * Copyright 2003,2004 The Apache Software Foundation. + * Copyright 2003,2004,2006 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -83,7 +83,11 @@ if (JAVA_VERSION_TRIMMED.length() >= 5) { str = str + JAVA_VERSION_TRIMMED.substring(4, 5); } - return Float.parseFloat(str); + try { + return Float.parseFloat(str); + } catch (Exception ex) { + return 0; + } } /** @@ -111,7 +115,11 @@ } else { str = str + "0"; } - return Integer.parseInt(str); + try { + return Integer.parseInt(str); + } catch (Exception ex) { + return 0; + } } /** @@ -324,6 +332,9 @@ JAVA_VERSION = "JavaVM-1.3.1"; //HP-UX JAVA_VERSION_TRIMMED = getJavaVersionTrimmed(); assertEquals(1.31f, getJavaVersionAsFloat(), 0.000001f); + JAVA_VERSION = "XXX-1.3.x"; //error + JAVA_VERSION_TRIMMED = getJavaVersionTrimmed(); + assertEquals(0.0f, getJavaVersionAsFloat(), 0.000001f); } public void testJavaVersionAsInt() { @@ -357,6 +368,9 @@ JAVA_VERSION = "JavaVM-1.3.1"; //HP-UX JAVA_VERSION_TRIMMED = getJavaVersionTrimmed(); assertEquals(131, getJavaVersionAsInt()); + JAVA_VERSION = "XXX-1.3.x"; //error + JAVA_VERSION_TRIMMED = getJavaVersionTrimmed(); + assertEquals(0, getJavaVersionAsInt()); } public void testJavaVersionAtLeastFloat() { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]