[jboss-svn-commits] JBoss Common SVN: r2233 - in jbossxb/branches/as405/src: test/java/org/jboss/test/xml and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 15 10:37:28 EST 2007


Author: alex.loubyansky at jboss.com
Date: 2007-01-15 10:37:24 -0500 (Mon, 15 Jan 2007)
New Revision: 2233

Modified:
   jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/SimpleTypeBindings.java
   jbossxb/branches/as405/src/test/java/org/jboss/test/xml/SimpleTypeBindingUnitTestCase.java
Log:
JBXB-89

Modified: jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/SimpleTypeBindings.java
===================================================================
--- jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/SimpleTypeBindings.java	2007-01-03 04:55:35 UTC (rev 2232)
+++ jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/SimpleTypeBindings.java	2007-01-15 15:37:24 UTC (rev 2233)
@@ -28,6 +28,7 @@
 import javax.xml.namespace.NamespaceContext;
 import java.io.ByteArrayOutputStream;
 import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.net.URISyntaxException;
@@ -1953,7 +1954,18 @@
     */
    public static byte[] unmarshalBase64(String value)
    {
-      return Base64.decode(value);
+      byte[] valueBytes;
+
+      try
+      {
+         valueBytes = value.getBytes("UTF-8");
+      }
+      catch (UnsupportedEncodingException e)
+      {
+         valueBytes = value.getBytes();
+      }
+
+      return Base64.decode(valueBytes, 0, valueBytes.length);
    }
 
    /**

Modified: jbossxb/branches/as405/src/test/java/org/jboss/test/xml/SimpleTypeBindingUnitTestCase.java
===================================================================
--- jbossxb/branches/as405/src/test/java/org/jboss/test/xml/SimpleTypeBindingUnitTestCase.java	2007-01-03 04:55:35 UTC (rev 2232)
+++ jbossxb/branches/as405/src/test/java/org/jboss/test/xml/SimpleTypeBindingUnitTestCase.java	2007-01-15 15:37:24 UTC (rev 2233)
@@ -488,4 +488,25 @@
       assertNotNull(marshalled);
       assertEquals("true true false true", marshalled);
    }
+
+   public void testBase64BinaryUnmarshalling() throws Exception
+   {
+      byte[] unmarshalled = (byte[]) SimpleTypeBindings.unmarshal("base64Binary", "VGVzdCBNZXNzYWdl", null);
+      assertEquals("Test Message", new String(unmarshalled));
+   }
+
+   public void testBase64BinaryGZippedUnmarshalling() throws Exception
+   {
+      // GZipped content should NOT be automatically unzipped.
+      byte[] unmarshalled = (byte[]) SimpleTypeBindings.unmarshal("base64Binary", "H4sIAAAAAAAAAAtJLS5R8E0tLk5MTwUA74UAyAwAAAA=", null);
+
+      assertEquals(32, unmarshalled.length);
+      assertFalse("Test Message".equals(new String(unmarshalled)));
+   }
+
+   public void testBase64BinaryMarshalling() throws Exception
+   {
+      String marshalled = SimpleTypeBindings.marshal("base64Binary", "Test Message".getBytes(), null);
+      assertEquals("VGVzdCBNZXNzYWdl", marshalled);
+   }
 }




More information about the jboss-svn-commits mailing list