You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ra...@apache.org on 2008/03/26 20:19:31 UTC

svn commit: r641495 - /xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java

Author: radup
Date: Wed Mar 26 12:19:26 2008
New Revision: 641495

URL: http://svn.apache.org/viewvc?rev=641495&view=rev
Log:
Fix for XMLBEANS-341 Add support for JVM-supported encodings

Modified:
    xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java

Modified: xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java?rev=641495&r1=641494&r2=641495&view=diff
==============================================================================
--- xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java (original)
+++ xmlbeans/trunk/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java Wed Mar 26 12:19:26 2008
@@ -17,17 +17,40 @@
 
 import java.util.HashMap;
 import java.util.Iterator;
+import java.nio.charset.Charset;
 
 public class EncodingMap
 {
     public static String getJava2IANAMapping ( String java )
     {
-        return (String) _java_to_iana.get( java.toUpperCase() );
+        String iana = (String) _java_to_iana.get( java.toUpperCase() );
+        if (iana != null)
+            return iana;
+        // Try to use the information in the JDK to see if it is an encoding it supports
+        if (Charset.isSupported( java ))
+        {
+            try
+            {
+                iana = Charset.forName( java ).name();
+                return iana;
+            }
+            catch (IllegalArgumentException iae)
+            {
+                return null;
+            }
+        }
+        return null;
     }
     
     public static String getIANA2JavaMapping ( String iana )
     {
-        return (String) _iana_to_java.get( iana.toUpperCase() );
+        String java = (String) _iana_to_java.get( iana.toUpperCase() );
+        if (java != null)
+            return java;
+        else if (Charset.isSupported( iana ))
+            return iana;
+        else
+            return null;
     }
 
     private EncodingMap ( ) { }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org