You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2008/05/17 03:30:34 UTC
svn commit: r657272 - in /cxf/trunk: api/src/main/java/org/apache/cxf/io/
common/common/src/main/java/org/apache/cxf/helpers/
common/common/src/test/java/org/apache/cxf/common/util/
common/common/src/test/java/org/apache/cxf/resource/ integration/jca/s...
Author: bimargulies
Date: Fri May 16 18:30:34 2008
New Revision: 657272
URL: http://svn.apache.org/viewvc?rev=657272&view=rev
Log:
Remove uses of unsafe String constructors.
Also scratch the initial surface of controlling the element form in
Aegis.
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/io/CachedOutputStream.java
cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java
cxf/trunk/common/common/src/test/java/org/apache/cxf/common/util/Base64UtilityTest.java
cxf/trunk/common/common/src/test/java/org/apache/cxf/resource/URIResolverTest.java
cxf/trunk/integration/jca/src/test/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderTest.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisElementDataWriter.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java
cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/TypesService.java
cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/MtoMTest.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSConduitTest.java
cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http/PushBack401.java
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/ClientServerSwaTest.java
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/SwAServiceImpl.java
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java
cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/io/CachedOutputStream.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/io/CachedOutputStream.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/io/CachedOutputStream.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/io/CachedOutputStream.java Fri May 16 18:30:34 2008
@@ -256,7 +256,7 @@
if (inmem) {
if (currentStream instanceof ByteArrayOutputStream) {
byte bytes[] = ((ByteArrayOutputStream)currentStream).toByteArray();
- out.append(new String(bytes, 0, limit));
+ out.append(IOUtils.newStringFromBytes(bytes, 0, limit));
} else {
throw new IOException("Unknown format of currentStream");
}
@@ -269,7 +269,7 @@
if ((count + x) > limit) {
x = limit - count;
}
- out.append(new String(bytes, 0, x));
+ out.append(IOUtils.newStringFromBytes(bytes, 0, x));
count += x;
if (count >= limit) {
@@ -295,7 +295,7 @@
byte bytes[] = new byte[1024];
int x = fin.read(bytes);
while (x != -1) {
- out.append(new String(bytes, 0, x));
+ out.append(IOUtils.newStringFromBytes(bytes, 0, x));
x = fin.read(bytes);
}
fin.close();
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java Fri May 16 18:30:34 2008
@@ -25,15 +25,50 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
+import java.io.UnsupportedEncodingException;
import java.io.Writer;
+import java.nio.charset.Charset;
public final class IOUtils {
-
+ public static final Charset UTF8_CHARSET = Charset.forName("utf-8");
private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
private IOUtils() {
}
+
+ /**
+ * Use this function instead of new String(byte[]) to avoid surprises from non-standard default encodings.
+ * @param bytes
+ * @return
+ */
+ public static String newStringFromBytes(byte[] bytes) {
+ try {
+ return new String(bytes, UTF8_CHARSET.name());
+ } catch (UnsupportedEncodingException e) {
+ throw
+ new RuntimeException("Impossible failure: Charset.forName(\"utf-8\") returns invalid name.");
+
+ }
+ }
+
+ /**
+ * Use this function instead of new String(byte[], int, int)
+ * to avoid surprises from non-standard default encodings.
+ * @param bytes
+ * @param start
+ * @param length
+ * @return
+ */
+ public static String newStringFromBytes(byte[] bytes, int start, int length) {
+ try {
+ return new String(bytes, start, length, UTF8_CHARSET.name());
+ } catch (UnsupportedEncodingException e) {
+ throw
+ new RuntimeException("Impossible failure: Charset.forName(\"utf-8\") returns invalid name.");
+
+ }
+ }
public static int copy(final InputStream input, final OutputStream output)
throws IOException {
@@ -107,7 +142,7 @@
int n = 0;
n = input.read(buffer);
while (-1 != n) {
- buf.append(new String(buffer, 0, n));
+ buf.append(newStringFromBytes(buffer, 0, n));
n = input.read(buffer);
}
input.close();
Modified: cxf/trunk/common/common/src/test/java/org/apache/cxf/common/util/Base64UtilityTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/util/Base64UtilityTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/common/common/src/test/java/org/apache/cxf/common/util/Base64UtilityTest.java (original)
+++ cxf/trunk/common/common/src/test/java/org/apache/cxf/common/util/Base64UtilityTest.java Fri May 16 18:30:34 2008
@@ -22,6 +22,7 @@
import java.io.ByteArrayOutputStream;
import java.io.StringWriter;
+import org.apache.cxf.helpers.IOUtils;
import org.junit.Assert;
import org.junit.Test;
@@ -91,7 +92,7 @@
public void testEncodeDecodeString() throws Exception {
String in = "QWxhZGRpbjpvcGVuIHNlc2FtZQ==";
byte bytes[] = Base64Utility.decode(in);
- assertEquals("Aladdin:open sesame", new String(bytes));
+ assertEquals("Aladdin:open sesame", IOUtils.newStringFromBytes(bytes));
String encoded = Base64Utility.encode(bytes);
assertEquals(in, encoded);
}
@@ -105,7 +106,7 @@
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ByteArrayOutputStream bout2 = new ByteArrayOutputStream();
Base64Utility.encodeChunk(bytes, 0, bytes.length, bout);
- String encodedString = new String(bout.toByteArray());
+ String encodedString = IOUtils.newStringFromBytes(bout.toByteArray());
Base64Utility.decode(encodedString.toCharArray(),
0,
encodedString.length(),
@@ -118,7 +119,7 @@
bout2.reset();
Base64Utility.decode(in, bout);
bytes = bout.toByteArray();
- assertEquals("Aladdin:open sesame", new String(bytes));
+ assertEquals("Aladdin:open sesame", IOUtils.newStringFromBytes(bytes));
StringWriter writer = new StringWriter();
Base64Utility.encode(bytes, 0, bytes.length, writer);
assertEquals(in, writer.toString());
Modified: cxf/trunk/common/common/src/test/java/org/apache/cxf/resource/URIResolverTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/test/java/org/apache/cxf/resource/URIResolverTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/common/common/src/test/java/org/apache/cxf/resource/URIResolverTest.java (original)
+++ cxf/trunk/common/common/src/test/java/org/apache/cxf/resource/URIResolverTest.java Fri May 16 18:30:34 2008
@@ -22,6 +22,7 @@
import java.io.InputStream;
import java.net.URL;
+import org.apache.cxf.helpers.IOUtils;
import org.junit.Assert;
import org.junit.Test;
@@ -60,7 +61,7 @@
is2.close();
}
- assertEquals(new String(barray), new String(barray2));
+ assertEquals(IOUtils.newStringFromBytes(barray), IOUtils.newStringFromBytes(barray2));
}
@Test
Modified: cxf/trunk/integration/jca/src/test/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/integration/jca/src/test/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/integration/jca/src/test/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderTest.java (original)
+++ cxf/trunk/integration/jca/src/test/java/org/apache/cxf/jca/core/classloader/PlugInClassLoaderTest.java Fri May 16 18:30:34 2008
@@ -26,6 +26,7 @@
import java.util.logging.Logger;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.helpers.IOUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -128,7 +129,7 @@
byte[] bytes = new byte[10];
configStream.read(bytes, 0, bytes.length);
- String result = new String(bytes);
+ String result = IOUtils.newStringFromBytes(bytes);
LOG.fine("dummy.txt contents: " + result);
assertEquals("unexpected dummy.txt contents.", "blah,blah.", result);
}
@@ -150,7 +151,7 @@
byte[] bytes = new byte[21];
configStream.read(bytes, 0, bytes.length);
- String result = new String(bytes);
+ String result = IOUtils.newStringFromBytes(bytes);
LOG.fine("dummy.txt contents: " + result);
assertTrue("unexpected dummy.txt contents:" + result, result.indexOf("Manifest-Version: 1.0") != -1);
}
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java Fri May 16 18:30:34 2008
@@ -108,7 +108,7 @@
stream = new PushbackInputStream(message.getContent(InputStream.class),
boundary.length * 2);
if (!readTillFirstBoundary(stream, boundary)) {
- throw new IOException("Couldn't find MIME boundary: " + new String(boundary));
+ throw new IOException("Couldn't find MIME boundary: " + boundaryString);
}
try {
@@ -135,7 +135,7 @@
PushbackInputStream in = new PushbackInputStream(is, 4096);
byte buf[] = new byte[2048];
int i = in.read(buf);
- String msg = new String(buf, 0, i);
+ String msg = IOUtils.newStringFromBytes(buf, 0, i);
in.unread(buf, 0, i);
// Reset the input stream since we'll need it again later
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java Fri May 16 18:30:34 2008
@@ -23,6 +23,7 @@
import java.util.Map;
import java.util.Set;
+import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
@@ -54,15 +55,11 @@
* The application can control some parameters of the type creators by creating a TypeCreationOptions
* object and setting properties. The application can add custom mappings to the type mapping, or
* even use its own classes for the TypeMapping or TypeCreator objects.
- *
- * At the level of the data binding, the 'root elements' are defined by the WSDL message parts.
- * Additional classes that participate are termed 'override' classes.
- *
+ *
* Aegis, unlike JAXB, has no concept of a 'root element'. So, an application that
* uses Aegis without a web service has to either depend on xsi:type (at least for
* root elements) or have its own mapping from elements to classes, and pass the
* resulting Class objects to the readers.
- *
* At this level, the application must specify the initial set of classes to make
* make use of untyped collections or .aegis.xml files.
*
@@ -71,7 +68,10 @@
* particular item read. Specifically, if the application just leaves it to Aegis to
* map an element tagged with an xsi:type to a class, Aegis can't know that some arbitrary class in
* some arbitrary package is mapped to a particular schema type by QName in a
- * mapping XML file.
+ * mapping XML file.
+ *
+ * At the level of the CXF data binding, the 'root elements' are defined by the WSDL message parts.
+ * Additional classes that participate are termed 'override' classes.
*
*/
public class AegisContext {
@@ -89,7 +89,9 @@
private boolean mtomEnabled;
private boolean mtomUseXmime;
// this URI goes into the type map.
- private String mappingNamespaceURI;
+ private String mappingNamespaceURI;
+ private XmlNsForm elementForm = XmlNsForm.QUALIFIED;
+ private XmlNsForm attributeForm = XmlNsForm.QUALIFIED;
/**
* Construct a context.
@@ -412,4 +414,36 @@
this.mappingNamespaceURI = mappingNamespaceURI;
}
+ /**
+ * The form of elements.
+ * @return Returns the elementForm.
+ */
+ public XmlNsForm getElementForm() {
+ return elementForm;
+ }
+
+ /**
+ * The form of elements.
+ * @param elementForm The elementForm to set.
+ */
+ public void setElementForm(XmlNsForm elementForm) {
+ this.elementForm = elementForm;
+ }
+
+ /**
+ * The form of attributes.
+ * @return Returns the attributeForm.
+ */
+ public XmlNsForm getAttributeForm() {
+ return attributeForm;
+ }
+
+ /**
+ * The form for attributes.
+ * @param attributeForm The attributeForm to set.
+ */
+ public void setAttributeForm(XmlNsForm attributeForm) {
+ this.attributeForm = attributeForm;
+ }
+
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisElementDataWriter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisElementDataWriter.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisElementDataWriter.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisElementDataWriter.java Fri May 16 18:30:34 2008
@@ -19,6 +19,7 @@
package org.apache.cxf.aegis;
+import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.namespace.QName;
import org.w3c.dom.Element;
@@ -41,6 +42,10 @@
public void write(Object obj, QName elementName, boolean optional, Element output, Type aegisType)
throws Exception {
W3CDOMStreamWriter swriter = new W3CDOMStreamWriter(output);
- writer.write(obj, elementName, optional, swriter, aegisType);
+ QName elementNameToWrite = elementName;
+ if (aegisContext.getElementForm() == XmlNsForm.UNQUALIFIED) {
+ elementNameToWrite = new QName(elementName.getLocalPart());
+ }
+ writer.write(obj, elementNameToWrite, optional, swriter, aegisType);
}
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java Fri May 16 18:30:34 2008
@@ -40,13 +40,11 @@
private XMLStreamWriter writer;
private String namespace;
-
private String name;
-
private String prefix;
/**
- * Create a LiteralWriter but without writing an element name.
+ * Create an ElementWriter but without writing an element name.
*
* @param writer
*/
@@ -96,7 +94,7 @@
private void writeStartElement() throws XMLStreamException {
if (!StringUtils.isEmpty(namespace)) {
boolean declare = false;
-
+ // Did the user declare a prefix?
String decPrefix = writer.getNamespaceContext().getPrefix(namespace);
// If the user didn't specify a prefix, create one
Modified: cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/TypesService.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/TypesService.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/TypesService.java (original)
+++ cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/TypesService.java Fri May 16 18:30:34 2008
@@ -23,6 +23,8 @@
import javax.jws.WebService;
import javax.xml.ws.Holder;
+import org.apache.cxf.helpers.IOUtils;
+
@WebService(targetNamespace = "urn:TypesService")
public class TypesService {
@@ -70,6 +72,6 @@
@WebMethod
public String testBase64Binary(byte i[], @WebParam(mode = WebParam.Mode.OUT) Holder<byte[]> i2) {
i2.value = i;
- return "In:" + new String(i);
+ return "In:" + IOUtils.newStringFromBytes(i);
}
}
Modified: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/MtoMTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/MtoMTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/MtoMTest.java (original)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/MtoMTest.java Fri May 16 18:30:34 2008
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.javascript.JavascriptTestUtilities.JSRunnable;
import org.apache.cxf.javascript.JavascriptTestUtilities.Notifier;
import org.apache.cxf.javascript.fortest.MtoMImpl;
@@ -75,7 +76,7 @@
InputStream dis = implementor.getLastDHBean().getNotXml10().getInputStream();
byte[] bytes = new byte[2048];
int byteCount = dis.read(bytes, 0, 2048);
- String stuff = new String(bytes, 0, byteCount);
+ String stuff = IOUtils.newStringFromBytes(bytes, 0, byteCount);
assertEquals("<html>\u0027</html>", stuff);
return null;
}
Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java Fri May 16 18:30:34 2008
@@ -48,6 +48,7 @@
import org.apache.cxf.configuration.Configurable;
import org.apache.cxf.configuration.Configurer;
import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.io.CachedOutputStream;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageImpl;
@@ -440,7 +441,8 @@
if (getLogger().isLoggable(Level.FINE)) {
getLogger().log(Level.FINE, "The response message is ["
+ (replyObj instanceof String
- ? (String)replyObj : new String((byte[])replyObj))
+ ? (String)replyObj
+ : IOUtils.newStringFromBytes((byte[])replyObj))
+ "]");
}
Modified: cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSConduitTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSConduitTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSConduitTest.java (original)
+++ cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSConduitTest.java Fri May 16 18:30:34 2008
@@ -29,6 +29,7 @@
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageImpl;
import org.junit.BeforeClass;
@@ -117,7 +118,7 @@
} catch (IOException ex) {
ex.printStackTrace();
}
- String reponse = new String(bytes);
+ String reponse = IOUtils.newStringFromBytes(bytes);
assertEquals("The reponse date should be equals", reponse, "HelloWorld");
JMSMessageHeadersType inHeader =
Modified: cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java (original)
+++ cxf/trunk/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java Fri May 16 18:30:34 2008
@@ -25,6 +25,7 @@
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.ExchangeImpl;
import org.apache.cxf.message.Message;
@@ -230,7 +231,7 @@
assertFalse("Read the Destination recieved Message error ", false);
ex.printStackTrace();
}
- String reponse = new String(bytes);
+ String reponse = IOUtils.newStringFromBytes(bytes);
assertEquals("The reponse date should be equals", reponse, "HelloWorld");
}
Modified: cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java (original)
+++ cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RetransmissionQueueImpl.java Fri May 16 18:30:34 2008
@@ -336,7 +336,7 @@
}
} else {
if (LOG.isLoggable(Level.FINE)) {
- LOG.fine("Using saved output stream: " + new String(content));
+ LOG.fine("Using saved output stream: " + IOUtils.newStringFromBytes(content));
}
}
ByteArrayInputStream bis = new ByteArrayInputStream(content);
Modified: cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java (original)
+++ cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java Fri May 16 18:30:34 2008
@@ -26,6 +26,7 @@
import java.util.Collection;
import java.util.Date;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.ws.addressing.v200408.EndpointReferenceType;
import org.apache.cxf.ws.rm.DestinationSequence;
import org.apache.cxf.ws.rm.Identifier;
@@ -589,7 +590,7 @@
assertNull(msg.getTo());
}
byte[] actual = msg.getContent();
- assertEquals(new String("Message " + mn.longValue()), new String(actual));
+ assertEquals(new String("Message " + mn.longValue()), IOUtils.newStringFromBytes(actual));
}
}
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http/PushBack401.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http/PushBack401.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http/PushBack401.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http/PushBack401.java Fri May 16 18:30:34 2008
@@ -28,6 +28,7 @@
import org.apache.cxf.common.util.Base64Utility;
import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.Message;
@@ -60,7 +61,7 @@
private String[] extractUserPass(String token) {
try {
byte[] userpass = Base64Utility.decode(token);
- String up = new String(userpass);
+ String up = IOUtils.newStringFromBytes(userpass);
String user = up.substring(0, up.indexOf(':'));
String pass = up.substring(up.indexOf(':') + 1);
return new String[] {user, pass};
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/ClientServerSwaTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/ClientServerSwaTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/ClientServerSwaTest.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/ClientServerSwaTest.java Fri May 16 18:30:34 2008
@@ -76,7 +76,7 @@
bis = data.value.getDataSource().getInputStream();
byte b[] = new byte[10];
bis.read(b, 0, 10);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
assertEquals("testfoobar", string);
assertEquals("Hi", textHolder.value);
}
@@ -106,7 +106,7 @@
bis = data.value.getDataSource().getInputStream();
byte b[] = new byte[10];
bis.read(b, 0, 10);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
assertEquals("testfoobar", string);
assertEquals("Hi", textHolder.value);
assertEquals("Header", headerHolder.value);
@@ -136,7 +136,7 @@
bis = handler.getDataSource().getInputStream();
byte b[] = new byte[10];
bis.read(b, 0, 10);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
assertEquals("testfoobar", string);
}
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/SwAServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/SwAServiceImpl.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/SwAServiceImpl.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/swa/SwAServiceImpl.java Fri May 16 18:30:34 2008
@@ -29,6 +29,7 @@
import javax.xml.ws.Holder;
import javax.xml.ws.WebServiceException;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.swa.SwAServiceInterface;
import org.apache.cxf.swa.types.DataStruct;
import org.apache.cxf.swa.types.OutputResponseAll;
@@ -47,7 +48,7 @@
bis = data.value.getDataRef().getDataSource().getInputStream();
byte b[] = new byte[6];
bis.read(b, 0, 6);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
ByteArrayDataSource source =
new ByteArrayDataSource(("test" + string).getBytes(), "application/octet-stream");
@@ -64,7 +65,7 @@
bis = data.value.getDataSource().getInputStream();
byte b[] = new byte[6];
bis.read(b, 0, 6);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
ByteArrayDataSource source =
new ByteArrayDataSource(("test" + string).getBytes(), "application/octet-stream");
@@ -82,7 +83,7 @@
bis = data.value.getDataSource().getInputStream();
byte b[] = new byte[6];
bis.read(b, 0, 6);
- String string = new String(b);
+ String string = IOUtils.newStringFromBytes(b);
ByteArrayDataSource source =
new ByteArrayDataSource(("test" + string).getBytes(), "application/octet-stream");
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java Fri May 16 18:30:34 2008
@@ -31,6 +31,7 @@
import javax.xml.namespace.QName;
import javax.xml.ws.Holder;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.type_test.doc.TypeTestPortType;
import org.apache.type_test.rpc.SOAPService;
@@ -1961,8 +1962,8 @@
}
protected boolean equals(byte[] x, byte[] y) {
- String xx = new String(x);
- String yy = new String(y);
+ String xx = IOUtils.newStringFromBytes(x);
+ String yy = IOUtils.newStringFromBytes(y);
return xx.equals(yy);
}
Modified: cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=657272&r1=657271&r2=657272&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original)
+++ cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Fri May 16 18:30:34 2008
@@ -33,6 +33,7 @@
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.helpers.FileUtils;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.tools.common.ProcessorTestBase;
import org.apache.cxf.tools.common.ToolConstants;
import org.apache.cxf.tools.util.AnnotationUtil;
@@ -200,7 +201,7 @@
BufferedInputStream filebuffer = new BufferedInputStream(fileinput);
byte[] buffer = new byte[(int)file.length()];
filebuffer.read(buffer);
- String content = new String(buffer);
+ String content = IOUtils.newStringFromBytes(buffer);
assertTrue("wsdl location should be url style in build.xml", content.indexOf("param1=\"file:") > -1);
}