diff -r d5e927d5853b -r 7cee158cb8cd javacommons/utils/javasrc/com/nokia/mj/impl/utils/Version.java --- a/javacommons/utils/javasrc/com/nokia/mj/impl/utils/Version.java Tue Sep 14 21:06:50 2010 +0300 +++ b/javacommons/utils/javasrc/com/nokia/mj/impl/utils/Version.java Wed Sep 15 12:05:25 2010 +0300 @@ -58,7 +58,12 @@ { return null; } - String str = aStr.trim(); + // Remove all invalid characters from string + String str = normalizeVersion(aStr); + if (str.length() == 0) + { + return null; + } int major = 0; int minor = 0; @@ -232,4 +237,23 @@ } return buf.toString(); } + + /** + * Remove the illegal characters from version string, + * for example "1.1 rev.2" becomes "1.1.2" + */ + private static String normalizeVersion(String aString) + { + StringBuffer buf = new StringBuffer(); + int len = aString.length(); + for (int ind = 0; ind < len; ind++) + { + char ch = aString.charAt(ind); + if ((ch == '.') || Character.isDigit(ch)) + { + buf.append(ch); + } + } + return buf.toString(); + } }