harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Regis <xu.re...@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 Mon, 20 Apr 2009 02:45:03 GMT
As title, it's icu 4.0. Thanks.

Nathan Beyer wrote:
> 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);
>> +        }
>> +
>>     }
>>
>>     /**
>>
>>
> 


-- 
Best Regards,
Regis.

Mime
View raw message