Author: sagara Date: Tue Oct 18 06:54:07 2011 New Revision: 1185504 URL: http://svn.apache.org/viewvc?rev=1185504&view=rev Log: Fixed AXIS2-5167 and added a test case for getStringFromDatahandler() method.
Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?rev=1185504&r1=1185503&r2=1185504&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Tue Oct 18 06:54:07 2011 @@ -1360,18 +1360,27 @@ public class ConverterUtil { * * @return string */ - public static String getStringFromDatahandler(DataHandler dataHandler) { - try { - InputStream inStream; - if (dataHandler == null) { - return ""; - } - inStream = dataHandler.getDataSource().getInputStream(); - byte[] data = IOUtils.getStreamAsByteArray(inStream); - return Base64.encode(data); - } catch (Exception e) { - throw new RuntimeException(e); - } + public static String getStringFromDatahandler(DataHandler dataHandler) { + InputStream inStream = null; + try { + if (dataHandler == null) { + return ""; + } + inStream = dataHandler.getDataSource().getInputStream(); + byte[] data = IOUtils.getStreamAsByteArray(inStream); + return Base64.encode(data); + } catch (Exception e) { + throw new RuntimeException(e); + + } finally { + try { + if (inStream != null) + inStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } } /** Modified: axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java?rev=1185504&r1=1185503&r2=1185504&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java (original) +++ axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java Tue Oct 18 06:54:07 2011 @@ -29,6 +29,12 @@ import java.util.Date; import java.util.List; import java.util.TimeZone; +import javax.activation.DataHandler; +import javax.activation.DataSource; + +import org.apache.axiom.attachments.ByteArrayDataSource; +import org.apache.axiom.om.util.Base64; + public class ConverterUtilTest extends TestCase { /** Test conversion of Big Integer */ @@ -207,5 +213,13 @@ public class ConverterUtilTest extends T assertNotNull(date); } - + + public void testConvertToStringFromDataHandler() { + String inStr = "Sample Data"; + DataSource ds = new ByteArrayDataSource(inStr.getBytes()); + DataHandler dh = new DataHandler(ds); + String rawOutStr = ConverterUtil.convertToString(dh); + String outStr = new String(Base64.decode(rawOutStr)); + assertEquals("Not expected content", inStr, outStr); + } }