harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Beyer <nbe...@gmail.com>
Subject Re: svn commit: r765865 - in /harmony/enhanced/classlib/trunk: depends/files/ make/ modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/ modules/nio_char/src/main/java/java/nio/charset/
Date Fri, 17 Apr 2009 21:06:24 GMT
Is this icu 4.0 or 4.0.1?

Sent from my iPhone

On Apr 17, 2009, at 1:37 AM, regisxu@apache.org wrote:

> Author: regisxu
> Date: Fri Apr 17 06:37:53 2009
> New Revision: 765865
>
> URL: http://svn.apache.org/viewvc?rev=765865&view=rev
> Log:
> Apply patches for HARMONY-6096: [classlib][icu] upgrade icu4j 3.8 to  
> icu4j 4.0
>
> include patches config_icu40.diff, CurrencyTest_v2.diff and  
> Charset_v3.diff (with minor changes)
>
> Modified:
>    harmony/enhanced/classlib/trunk/depends/files/ 
> bootclasspath.properties
>    harmony/enhanced/classlib/trunk/make/build-java.xml
>    harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/ 
> org/apache/harmony/luni/tests/java/util/CurrencyTest.java
>    harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/ 
> java/nio/charset/Charset.java
>
> Modified: harmony/enhanced/classlib/trunk/depends/files/ 
> bootclasspath.properties
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/depends/files/bootclasspath.properties?rev=765865&r1=765864&r2=765865&view=diff
> === 
> === 
> === 
> =====================================================================
> --- harmony/enhanced/classlib/trunk/depends/files/ 
> bootclasspath.properties (original)
> +++ harmony/enhanced/classlib/trunk/depends/files/ 
> bootclasspath.properties Fri Apr 17 06:37:53 2009
> @@ -165,8 +165,8 @@
>
> # ICU functionality for text/characters are provided by the ICU4J
> # and ICU4J-charsets JAR files.
> -bootclasspath.31=icu4j_3.8/icu4j-3_8.jar
> -bootclasspath.32=icu4j_3.8/icu4j-charsets-3_8.jar
> +bootclasspath.31=icu4j_4.0/icu4j-4_0.jar
> +bootclasspath.32=icu4j_4.0/icu4j-charsets-4_0.jar
>
> # The following JARs are from Xerces/Xalan
> bootclasspath.34=xalan-j_2.7.0/xalan.jar
>
> Modified: harmony/enhanced/classlib/trunk/make/build-java.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/make/build-java.xml?rev=765865&r1=765864&r2=765865&view=diff
> === 
> === 
> === 
> =====================================================================
> --- harmony/enhanced/classlib/trunk/make/build-java.xml (original)
> +++ harmony/enhanced/classlib/trunk/make/build-java.xml Fri Apr 17  
> 06:37:53 2009
> @@ -203,7 +203,7 @@
>             <fileset dir="${depends.jars}">
>                 <patternset includes="bcel-5.2/*.jar" />
>                 <patternset includes="asm-3.1/*.jar" />
> -                <patternset includes="icu4j_3.8/*.jar" />
> +                <patternset includes="icu4j_4.0/*.jar" />
>                 <patternset includes="mx4j_3.0.2/*.jar" />
>                 <patternset includes="xalan-j_2.7.0/*.jar" />
>                 <patternset includes="xerces_2.9.1/*.jar" />
>
> Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/ 
> common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java?rev=765865&r1=765864&r2=765865&view=diff
> === 
> === 
> === 
> =====================================================================
> --- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/ 
> org/apache/harmony/luni/tests/java/util/CurrencyTest.java (original)
> +++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/ 
> org/apache/harmony/luni/tests/java/util/CurrencyTest.java Fri Apr 17  
> 06:37:53 2009
> @@ -102,11 +102,11 @@
>         loc = new Locale("", "ZAR");
>         Currency.getInstance(loc);
>
> -        loc = new Locale("", "FX");
> -        Currency.getInstance(loc);
> +        // loc = new Locale("", "FX");
> +        // Currency.getInstance(loc);
>
> -        loc = new Locale("", "FXX");
> -        Currency.getInstance(loc);
> +        // loc = new Locale("", "FXX");
> +        // Currency.getInstance(loc);
>     }
>
>     /**
> @@ -119,15 +119,15 @@
>         Currency currUS = Currency.getInstance("USD");
>
>         Locale.setDefault(Locale.US);
> -        assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> +        assertEquals("currK.getSymbol()", "\u20a9",  
> currK.getSymbol());
>         // Some non-bug differences below because of CLDR data.
> -        assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> +        assertEquals("currI.getSymbol()", "\u20a8", currI
>                 .getSymbol());
>         assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
>
>         Locale.setDefault(new Locale("ko", "KR"));
>         assertEquals("currK.getSymbol()", "\uffe6",  
> currK.getSymbol());
> -        assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> +        assertEquals("currI.getSymbol()", "0\u2264Rs.|1\u2264Re.| 
> 1<Rs.", currI
>                 .getSymbol());
>         assertEquals("currUS.getSymbol()", "US$", currUS.getSymbol());
>
> @@ -189,10 +189,10 @@
>         assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
>         assertEquals("$Ca", currCA.getSymbol(Locale.FRANCE));
>         assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
> -        assertEquals("Can$", currCA.getSymbol(Locale.US));
> +        assertEquals("CA$", currCA.getSymbol(Locale.US));
>         assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
>         assertEquals("Can$", currCA.getSymbol(new Locale("es",  
> "US")));
> -        assertEquals("Can$", currCA.getSymbol(new Locale("en",  
> "US")));
> +        assertEquals("CA$", currCA.getSymbol(new Locale("en",  
> "US")));
>
>         assertEquals("$", currCA.getSymbol(Locale.CANADA));
>         assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
>
> Modified: harmony/enhanced/classlib/trunk/modules/nio_char/src/main/ 
> java/java/nio/charset/Charset.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/java/nio/charset/Charset.java?rev=765865&r1=765864&r2=765865&view=diff
> === 
> === 
> === 
> =====================================================================
> --- harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/ 
> java/nio/charset/Charset.java (original)
> +++ harmony/enhanced/classlib/trunk/modules/nio_char/src/main/java/ 
> java/nio/charset/Charset.java Fri Apr 17 06:37:53 2009
> @@ -109,6 +109,8 @@
>     // cached Charset table
>     private final static HashMap<String, Charset> cachedCharsetTable  
> = new HashMap<String, Charset>();
>
> +    private static boolean inForNameInternal = false;
> +
>     static {
>         /*
>          * Create built-in charset provider even if no privilege to  
> access
> @@ -322,6 +324,11 @@
>      */
>     @SuppressWarnings("unchecked")
>     public static SortedMap<String, Charset> availableCharsets() {
> +        // workaround: conflicted Charsets with icu4j 4.0
> +        Charset.forName("TIS-620");
> +        Charset.forName("windows-1258");
> +        Charset.forName("cp856");
> +        Charset.forName("cp922");
>         // Initialize the built-in charsets map cache if necessary
>         if (null == _builtInCharsets) {
>             synchronized (Charset.class) {
> @@ -468,8 +475,10 @@
>
>             // examine each configuration file
>             while (e.hasMoreElements()) {
> -                cs = searchConfiguredCharsets(charsetName,  
> contextClassLoader,
> +                 inForNameInternal = true;
> +                 cs = searchConfiguredCharsets(charsetName,  
> contextClassLoader,
>                         e.nextElement());
> +                 inForNameInternal = false;
>                 if (null != cs) {
>                     cacheCharset(cs);
>                     return cs;
> @@ -477,6 +486,8 @@
>             }
>         } catch (IOException ex) {
>             // Unexpected ClassLoader exception, ignore
> +        } finally {
> +            inForNameInternal = false;
>         }
>         return null;
>     }
> @@ -485,13 +496,17 @@
>      * save charset into cachedCharsetTable
>      */
>     private static void cacheCharset(Charset cs) {
> -        cachedCharsetTable.put(cs.name(), cs);
> +        if (!cachedCharsetTable.containsKey(cs.name())){
> +            cachedCharsetTable.put(cs.name(), cs);
> +        }
>         Set<String> aliasesSet = cs.aliases();
>         if (null != aliasesSet) {
>             Iterator<String> iter = aliasesSet.iterator();
>             while (iter.hasNext()) {
>                 String alias = iter.next();
> -                cachedCharsetTable.put(alias, cs);
> +                if (!cachedCharsetTable.containsKey(alias)) {
> +                    cachedCharsetTable.put(alias, cs);
> +                }
>             }
>         }
>     }
> @@ -525,8 +540,32 @@
>      *             If the specified charset name is illegal.
>      */
>     public static boolean isSupported(String charsetName) {
> -        Charset cs = forNameInternal(charsetName);
> -        return (null != cs);
> +        if (inForNameInternal  == true) {
> +            Charset cs = cachedCharsetTable.get(charsetName);
> +            if (null != cs) {
> +                return true;
> +            }
> +
> +            if (null == charsetName) {
> +                throw new IllegalArgumentException();
> +            }
> +            checkCharsetName(charsetName);
> +
> +            // Try built-in charsets
> +            if (_builtInProvider == null) {
> +                _builtInProvider = new CharsetProviderImpl();
> +            }
> +            cs = _builtInProvider.charsetForName(charsetName);
> +            if (null != cs) {
> +                cacheCharset(cs);
> +                return true;
> +            }
> +            return false;
> +        } else {
> +            Charset cs = forNameInternal(charsetName);
> +            return (null != cs);
> +        }
> +
>     }
>
>     /**
>
>

Mime
View raw message