sbailliez    02/02/07 14:00:33

  Modified:    src/main/org/apache/tools/ant/taskdefs XSLTProcess.java
                        XSLTLiaison.java
               src/main/org/apache/tools/ant/taskdefs/optional
                        TraXLiaison.java
               src/testcases/org/apache/tools/ant/taskdefs/optional
                        TraXLiaisonTest.java
  Log:
  Fix file protocol prefix so that there is no more
  and no less than 3 '/' on whatever platform it is running.
  PR: 6259
  Reported by: [EMAIL PROTECTED] (Sascha Luedecke)
  
  Revision  Changes    Path
  1.34      +1 -1      
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
  
  Index: XSLTProcess.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- XSLTProcess.java  10 Jan 2002 13:59:32 -0000      1.33
  +++ XSLTProcess.java  7 Feb 2002 22:00:33 -0000       1.34
  @@ -217,7 +217,7 @@
       /**
        * Set the destination directory into which the XSL result
        * files should be copied to
  -     * @param dirName the name of the destination directory
  +     * @param dir the name of the destination directory
        **/
       public void setDestdir(File dir) {
           destDir = dir;
  
  
  
  1.9       +1 -1      
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTLiaison.java
  
  Index: XSLTLiaison.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/XSLTLiaison.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XSLTLiaison.java  10 Jan 2002 13:59:32 -0000      1.8
  +++ XSLTLiaison.java  7 Feb 2002 22:00:33 -0000       1.9
  @@ -76,7 +76,7 @@
        * case since most parsers for now incorrectly makes no difference
        * between it.. and users also have problem with that :)
        */
  -    String FILE_PROTOCOL_PREFIX = "file:///";
  +    String FILE_PROTOCOL_PREFIX = "file://";
   
       /**
        * set the stylesheet to use for the transformation.
  
  
  
  1.11      +9 -3      
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java
  
  Index: TraXLiaison.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- TraXLiaison.java  20 Jan 2002 20:45:57 -0000      1.10
  +++ TraXLiaison.java  7 Feb 2002 22:00:33 -0000       1.11
  @@ -162,9 +162,15 @@
       // because it grabs the base uri via lastIndexOf('/') without
       // making sure it is really a /'ed path
       protected String getSystemId(File file){
  -      String path = file.getAbsolutePath();
  -      path = path.replace('\\','/');
  -      return FILE_PROTOCOL_PREFIX + path;
  +        String path = file.getAbsolutePath();
  +        path = path.replace('\\','/');
  +
  +        // on Windows, use 'file:///'
  +        if (File.separatorChar == '\\') {
  +            return FILE_PROTOCOL_PREFIX + "/" + path;
  +        }
  +        // Unix, use 'file://'
  +        return FILE_PROTOCOL_PREFIX + path;
       }
   
       public void addParam(String name, String value){
  
  
  
  1.6       +14 -0     
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
  
  Index: TraXLiaisonTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TraXLiaisonTest.java      10 Jan 2002 10:13:12 -0000      1.5
  +++ TraXLiaisonTest.java      7 Feb 2002 22:00:33 -0000       1.6
  @@ -1,6 +1,7 @@
   package org.apache.tools.ant.taskdefs.optional;
   
   import org.apache.tools.ant.taskdefs.XSLTLiaison;
  +import org.apache.tools.ant.taskdefs.condition.Os;
   import org.apache.tools.ant.BuildException;
   
   import java.io.File;
  @@ -110,4 +111,17 @@
               }
           }
       }
  +
  +    public void testSystemId(){
  +        File file = null;
  +        if ( File.separatorChar == '\\' ){
  +            file = new File("d:\\jdk");
  +        } else {
  +            file = new File("/user/local/bin");
  +        }
  +        String systemid = ((TraXLiaison)liaison).getSystemId(file);
  +        assert("SystemIDs should start by file:///", 
systemid.startsWith("file:///"));
  +        assert("SystemIDs should not start with file:////", 
!systemid.startsWith("file:////"));
  +    }
  +
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to