ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robin Fernandes (JIRA)" <j...@apache.org>
Subject [jira] Created: (IVY-1060) ApacheURLLister.retrieveListing() fails if the encoding of the URL list is different from the default encoding
Date Wed, 08 Apr 2009 18:16:13 GMT
ApacheURLLister.retrieveListing() fails if the encoding of the URL list is different from the
default encoding
--------------------------------------------------------------------------------------------------------------

                 Key: IVY-1060
                 URL: https://issues.apache.org/jira/browse/IVY-1060
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0, 2.1.0, trunk
         Environment: Observed on z/OS
            Reporter: Robin Fernandes


ApacheURLLister.retrieveListing() assumes that the list of URLs is encoded in the same encoding
as the system's default encoding.

The problematic code is:
{code}
BufferedReader r = new BufferedReader(new InputStreamReader(URLHandlerRegistry.getDefault().openStream(url)));
String htmlText = FileUtil.readEntirely(r);
{code}

FileUtil.readEntirely() converts the the content of the BufferedReader r to a String. Because
no encoding is specified in the InputStreamReader constructor, the default encoding is used.
If the default encoding does not match the actual encoding of the data read from url,  htmlText
ends up as a garbage String and the URL pattern matcher fails.

This causes an issue on z/OS, where the default encoding is EBCDIC (e.g. IBM-1047) but the
data containing the list of URLs is typically retrieved from the network as ASCII (ISO-8559-1).

A workaround could be to specify the system property -Dfile.encoding=ISO-8559-1 on the command
line, but this is a bit of a big hammer. In particular, it is not suitable when Ivy is used
within an application where we don't to assume all input is ISO-8559-1.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message