peterreilly 2004/12/13 10:51:55 Modified: . WHATSNEW src/main/org/apache/tools/ant/taskdefs/optional XMLValidateTask.java Log: URL#getFile does not output a nice filename for files with spaces, and absolute windows filenames. So use the FileUtils#fromURI() instead. PR: 32508 Revision Changes Path 1.694 +3 -0 ant/WHATSNEW Index: WHATSNEW =================================================================== RCS file: /home/cvs/ant/WHATSNEW,v retrieving revision 1.693 retrieving revision 1.694 diff -u -r1.693 -r1.694 --- WHATSNEW 10 Dec 2004 15:18:57 -0000 1.693 +++ WHATSNEW 13 Dec 2004 18:51:55 -0000 1.694 @@ -178,6 +178,9 @@ twice - if the resource is in the project classpath and if the classloader is requested with a null path. +* XMLValidate used URL#getFile rather than the ant method FileUtils#fromURI + Bugzilla report 32508 + Changes from Ant 1.6.1 to Ant 1.6.2 =================================== 1.45 +17 -15 ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java Index: XMLValidateTask.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- XMLValidateTask.java 1 Dec 2004 22:49:02 -0000 1.44 +++ XMLValidateTask.java 13 Dec 2004 18:51:55 -0000 1.45 @@ -19,8 +19,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; import java.util.Vector; import org.apache.tools.ant.AntClassLoader; @@ -59,7 +57,7 @@ /** * helper for path -> URI and URI -> path conversions. */ - private static FileUtils fu = FileUtils.newFileUtils(); + private static final FileUtils FILE_UTILS = FileUtils.newFileUtils(); protected static final String INIT_FAILED_MSG = "Could not start xml validation: "; @@ -455,7 +453,7 @@ log("Validating " + afile.getName() + "... ", Project.MSG_VERBOSE); errorHandler.init(afile); InputSource is = new InputSource(new FileInputStream(afile)); - String uri = fu.toURI(afile.getAbsolutePath()); + String uri = FILE_UTILS.toURI(afile.getAbsolutePath()); is.setSystemId(uri); xmlReader.parse(is); } catch (SAXException ex) { @@ -546,18 +544,22 @@ private String getMessage(SAXParseException e) { String sysID = e.getSystemId(); if (sysID != null) { - try { - int line = e.getLineNumber(); - int col = e.getColumnNumber(); - return new URL(sysID).getFile() - + (line == -1 - ? "" - : (":" + line + (col == -1 ? "" : (":" + col)))) - + ": " - + e.getMessage(); - } catch (MalformedURLException mfue) { - // ignore and just return exception message + String name = sysID; + if (sysID.startsWith("file:")) { + try { + name = FILE_UTILS.fromURI(sysID); + } catch (Exception ex) { + // if this is not a valid file: just use the uri + } } + int line = e.getLineNumber(); + int col = e.getColumnNumber(); + return name + + (line == -1 + ? "" + : (":" + line + (col == -1 ? "" : (":" + col)))) + + ": " + + e.getMessage(); } return e.getMessage(); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]