[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