Author: darran.lofthouse(a)jboss.com
Date: 2008-09-26 12:11:37 -0400 (Fri, 26 Sep 2008)
New Revision: 8248
Modified:
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/DOMUtils.java
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/IOUtils.java
Log:
[JBPAPP-1216] DOMUtils doesn't clear thread locals.
Modified:
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/DOMUtils.java
===================================================================
---
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/DOMUtils.java 2008-09-26
16:03:59 UTC (rev 8247)
+++
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/DOMUtils.java 2008-09-26
16:11:37 UTC (rev 8248)
@@ -113,6 +113,12 @@
}
};
+ public static void clearThreadLocals()
+ {
+ documentThreadLocal.remove();
+ builderThreadLocal.remove();
+ }
+
// Hide the constructor
private DOMUtils()
{
Modified:
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/IOUtils.java
===================================================================
---
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/IOUtils.java 2008-09-26
16:03:59 UTC (rev 8247)
+++
common/branches/jbossws-common-1.0.0.GA_JBPAPP-1216/src/main/java/org/jboss/wsf/common/IOUtils.java 2008-09-26
16:11:37 UTC (rev 8248)
@@ -63,27 +63,47 @@
*/
public static void copyStream(OutputStream outs, InputStream ins) throws IOException
{
- byte[] bytes = new byte[1024];
- int r = ins.read(bytes);
- while (r > 0)
+ try
{
- outs.write(bytes, 0, r);
- r = ins.read(bytes);
+ byte[] bytes = new byte[1024];
+ int r = ins.read(bytes);
+ while (r > 0)
+ {
+ outs.write(bytes, 0, r);
+ r = ins.read(bytes);
+ }
}
+ catch (IOException e)
+ {
+ throw e;
+ }
+ finally{
+ ins.close();
+ }
}
/** Copy the reader to the output stream
*/
public static void copyReader(OutputStream outs, Reader reader) throws IOException
{
- OutputStreamWriter writer = new OutputStreamWriter(outs);
- char[] bytes = new char[1024];
- int r = reader.read(bytes);
- while (r > 0)
+ try
{
- writer.write(bytes, 0, r);
- r = reader.read(bytes);
+ OutputStreamWriter writer = new OutputStreamWriter(outs);
+ char[] bytes = new char[1024];
+ int r = reader.read(bytes);
+ while (r > 0)
+ {
+ writer.write(bytes, 0, r);
+ r = reader.read(bytes);
+ }
}
+ catch (IOException e)
+ {
+ throw e;
+ }
+ finally{
+ reader.close();
+ }
}
public static byte[] convertToBytes(DataHandler dh)
@@ -106,17 +126,27 @@
*/
public static InputStream transformReader(Reader reader) throws IOException
{
- int capacity = 1024;
- char[] charBuffer = new char[capacity];
- StringBuffer strBuffer = new StringBuffer(capacity);
+ try
+ {
+ int capacity = 1024;
+ char[] charBuffer = new char[capacity];
+ StringBuffer strBuffer = new StringBuffer(capacity);
- int len = reader.read(charBuffer, 0, capacity);
- while (len > 0)
+ int len = reader.read(charBuffer, 0, capacity);
+ while (len > 0)
+ {
+ strBuffer.append(charBuffer, 0, len);
+ len = reader.read(charBuffer, 0, capacity);
+ }
+ return new ByteArrayInputStream(strBuffer.toString().getBytes());
+ }
+ catch (IOException e)
{
- strBuffer.append(charBuffer, 0, len);
- len = reader.read(charBuffer, 0, capacity);
+ throw e;
}
- return new ByteArrayInputStream(strBuffer.toString().getBytes());
+ finally{
+ reader.close();
+ }
}
public static File createTempDirectory() throws IOException
Show replies by date