abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christine Koppelt (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (ABDERA-250) Abdera fails to load META-INF/services provider configuration files on non-ASCII platforms
Date Tue, 25 May 2010 20:57:31 GMT

     [ https://issues.apache.org/jira/browse/ABDERA-250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Christine Koppelt resolved ABDERA-250.
--------------------------------------

         Assignee: Christine Koppelt
    Fix Version/s: 1.1
       Resolution: Fixed

committed a patch. 
plz test again

> Abdera fails to load META-INF/services provider configuration files on non-ASCII platforms
> ------------------------------------------------------------------------------------------
>
>                 Key: ABDERA-250
>                 URL: https://issues.apache.org/jira/browse/ABDERA-250
>             Project: Abdera
>          Issue Type: Bug
>    Affects Versions: 0.4.0, 1.0
>         Environment: z/OS, IBM Java 6.0 sr4
>            Reporter: Robin Fernandes
>            Assignee: Christine Koppelt
>             Fix For: 1.1
>
>
> Sun's jar file specification states that service provider config files (the files under
META-INF/services that determine which implementations of a given interface to use) must be
encoded as UTF-8: http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#Provider%20Configuration%20File
> Abdera attempts to read these files without explicitly specifying an encoding. In other
words, it assumes the files are in the default platform encoding. Consequently, on non-ASCII
platforms, the files are not read correctly. For example, on z/OS (an EBCDIC platform), the
UTF-8 config files are read as though they were EBCDIC by Abdera, so they are not processed
correctly.
> Here's a suggested patch:
> Index: core/src/main/java/org/apache/abdera/util/ServiceUtil.java
> ===================================================================
> --- core/src/main/java/org/apache/abdera/util/ServiceUtil.java	(revision 834079)
> +++ core/src/main/java/org/apache/abdera/util/ServiceUtil.java	(working copy)
> @@ -279,7 +279,7 @@
>      try {
>        InputStream is = locateStream(sid);
>        if (is != null) {
> -        buf = new BufferedReader(new InputStreamReader(is));
> +        buf = new BufferedReader(new InputStreamReader(is, "UTF-8"));
>          String line = buf.readLine();
>          if (line != null) {
>            String s = line.split("#",2)[0].trim();
> @@ -326,7 +326,7 @@
>            URL url = (URL) e.nextElement();
>            InputStream is = url.openStream();
>            if (is != null) {
> -            buf = new BufferedReader(new InputStreamReader(is));
> +            buf = new BufferedReader(new InputStreamReader(is, "UTF-8"));
>              String line;
>              while ((line = buf.readLine()) != null) {
>                String s = line.split("#",2)[0].trim();

-- 
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