You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Saad Benbouzid (JIRA)" <ji...@apache.org> on 2016/06/03 14:44:59 UTC

[jira] [Commented] (XALANJ-2386) tranforming a StreamResult constructed with a File object for a path containing namespaces fails

    [ https://issues.apache.org/jira/browse/XALANJ-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15314208#comment-15314208 ] 

Saad Benbouzid commented on XALANJ-2386:
----------------------------------------

How come this bug isn't resolved yet ?!
We're in 2016 and the bug is still reproductible on java 8 (JDK 1.8.0_45 for me).
#wtf

{code:title=javax/xml/transform/stream/StreamResult.java}
    /**
     * Construct a StreamResult from a File.
     *
     * @param f Must a non-null File reference.
     */
    public StreamResult(File f) {
        //convert file to appropriate URI, f.toURI().toASCIIString()
        //converts the URI to string as per rule specified in
        //RFC 2396,
        setSystemId(f.toURI().toASCIIString());
    }
{code}


> tranforming a StreamResult constructed with a File object for a path containing namespaces fails
> ------------------------------------------------------------------------------------------------
>
>                 Key: XALANJ-2386
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2386
>             Project: XalanJ2
>          Issue Type: Bug
>          Components: XSLTC
>    Affects Versions: 2.7
>         Environment: Windows XP, Sun J2SE 5 or Harmony 533500
>            Reporter: Andrew Ferguson
>             Fix For: 2.5
>
>
> hi,
> The behaviour of the code snippet below is different depending on whether you use XalanJ 2.7.0 or the inbuilt equivalent in Sun Java 5.
> If you construct a StreamResult with a java.io.File containing spaces in the name, then a wrapped FileNotFoundException is thrown because it looks for a filename with the spaces encoded as "%20"
> We hit this as part of the Eclipse CDT 4.0 project:
>    https://bugs.eclipse.org/bugs/show_bug.cgi?id=194359
> thanks,
> Andrew
> ------------- Snippet
> import java.io.File;
> import javax.xml.parsers.DocumentBuilderFactory;
> import javax.xml.transform.TransformerException;
> import javax.xml.transform.TransformerFactory;
> import javax.xml.transform.dom.DOMSource;
> import javax.xml.transform.stream.StreamResult;
> import org.w3c.dom.Document;
> public class Main {
>         public static void main(String[] args) throws Exception {
>                 try {
>                         Document d =
> DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
>                         DOMSource domSource = new DOMSource(d);
>                         StreamResult res = new StreamResult(new File("C:/A B/test.xml"));
>                         TransformerFactory.newInstance().newTransformer().transform(domSource, res);
>                 } catch(TransformerException te) {
>                         if(te.getMessage().indexOf("%20")!=-1) {
>                                 System.out.println("XalanJ 2.7.0");
>                         } else {
>                                 System.out.println("Ok"); // assuming "C:/A B/" does not exist
>                         }
>                 }
>         }
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xalan.apache.org
For additional commands, e-mail: dev-help@xalan.apache.org