You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/05/15 10:56:30 UTC
svn commit: r944597 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/converter/jaxp/
camel-core/src/main/java/org/apache/camel/management/
camel-core/src/test/java/org/apache/camel/converter/jaxp/
camel-core/src/test/java/org/apache/camel/c...
Author: davsclaus
Date: Sat May 15 08:56:30 2010
New Revision: 944597
URL: http://svn.apache.org/viewvc?rev=944597&view=rev
Log:
CAMEL-2725: Fixed String to Source type converter.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/DomConverterTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExceptionHandlerStreamCacheTest.java
camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfUtils.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/converter/MyCxfCustomerConverter.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java Sat May 15 08:56:30 2010
@@ -23,6 +23,7 @@ import java.util.Iterator;
import java.util.List;
import javax.xml.transform.TransformerException;
+import org.apache.camel.Exchange;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -46,7 +47,7 @@ public final class DomConverter {
}
@Converter
- public String toString(NodeList nodeList) throws TransformerException {
+ public String toString(NodeList nodeList, Exchange exchange) throws TransformerException {
// converting NodeList to String is more tricky
// sometimes the NodeList is a Node which we can then leverage
// the XML converter to turn into XML incl. tags
@@ -57,7 +58,7 @@ public final class DomConverter {
boolean found = false;
if (nodeList instanceof Node) {
Node node = (Node) nodeList;
- String s = xml.toString(node);
+ String s = xml.toString(node, exchange);
if (ObjectHelper.isNotEmpty(s)) {
found = true;
buffer.append(s);
@@ -67,7 +68,7 @@ public final class DomConverter {
int size = nodeList.getLength();
for (int i = 0; i < size; i++) {
Node node = nodeList.item(i);
- String s = xml.toString(node);
+ String s = xml.toString(node, exchange);
if (ObjectHelper.isNotEmpty(s)) {
found = true;
buffer.append(s);
@@ -112,13 +113,13 @@ public final class DomConverter {
}
@Converter
- public InputStream toInputStream(NodeList nodeList) throws TransformerException {
- return new ByteArrayInputStream(toByteArray(nodeList));
+ public InputStream toInputStream(NodeList nodeList, Exchange exchange) throws TransformerException {
+ return new ByteArrayInputStream(toByteArray(nodeList, exchange));
}
@Converter
- public byte[] toByteArray(NodeList nodeList) throws TransformerException {
- String data = toString(nodeList);
+ public byte[] toByteArray(NodeList nodeList, Exchange exchange) throws TransformerException {
+ String data = toString(nodeList, exchange);
return data.getBytes();
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java Sat May 15 08:56:30 2010
@@ -143,7 +143,7 @@ public class XmlConverter {
* Converts the given byte[] to a Source
*/
@Converter
- public BytesSource toSource(byte[] data) {
+ public BytesSource toBytesSource(byte[] data) {
return new BytesSource(data);
}
@@ -152,15 +152,25 @@ public class XmlConverter {
* Converts the given String to a Source
*/
@Converter
- public StringSource toSource(String data) {
+ public StringSource toStringSource(String data) {
return new StringSource(data);
}
/**
* Converts the given Document to a Source
+ * @deprecated use toDOMSource instead
*/
@Converter
+ @Deprecated
public DOMSource toSource(Document document) {
+ return toDOMSource(document);
+ }
+
+ /**
+ * Converts the given Document to a Source
+ */
+ @Converter
+ public DOMSource toDOMSource(Document document) {
return new DOMSource(document);
}
@@ -173,6 +183,14 @@ public class XmlConverter {
}
/**
+ * Converts the given String to a Source
+ */
+ @Converter
+ public Source toSource(String data) {
+ return new StringSource(data);
+ }
+
+ /**
* Converts the given input Source into text
*/
@Deprecated
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java Sat May 15 08:56:30 2010
@@ -418,9 +418,6 @@ public class DefaultManagementLifecycleS
}
public void onRoutesRemove(Collection<Route> routes) {
- // noop - keep the route in the mbean so its still there, it will still be unregistered
- // when camel itself is shutting down
-
// the agent hasn't been started
if (!initialized) {
return;
@@ -440,10 +437,8 @@ public class DefaultManagementLifecycleS
try {
getManagementStrategy().unmanageObject(mr);
- } catch (JMException e) {
- LOG.warn("Could not register Route MBean", e);
} catch (Exception e) {
- LOG.warn("Could not create Route MBean", e);
+ LOG.warn("Could not unregister Route MBean", e);
}
}
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/DomConverterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/DomConverterTest.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/DomConverterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/DomConverterTest.java Sat May 15 08:56:30 2010
@@ -33,14 +33,14 @@ public class DomConverterTest extends Co
public void testDomConverterToString() throws Exception {
Document document = context.getTypeConverter().convertTo(Document.class, "<?xml version=\"1.0\" encoding=\"UTF-8\"?><hello>world!</hello>");
- String s = new DomConverter().toString(document.getChildNodes());
+ String s = new DomConverter().toString(document.getChildNodes(), null);
assertEquals("<hello>world!</hello>", s);
}
public void testDomConverterToBytes() throws Exception {
Document document = context.getTypeConverter().convertTo(Document.class, "<?xml version=\"1.0\" encoding=\"UTF-8\"?><hello>world!</hello>");
- byte[] bytes = new DomConverter().toByteArray(document.getChildNodes());
+ byte[] bytes = new DomConverter().toByteArray(document.getChildNodes(), null);
assertTrue("Should be equal", ObjectHelper.equalByteArray("<hello>world!</hello>".getBytes(), bytes));
}
@@ -69,14 +69,14 @@ public class DomConverterTest extends Co
List sub = DomConverter.toList(nl);
assertEquals(2, sub.size());
- assertEquals("<hello>Hello World</hello>", new DomConverter().toString((NodeList) sub.get(0)));
- assertEquals("<bye>Bye Camel</bye>", new DomConverter().toString((NodeList) sub.get(1)));
+ assertEquals("<hello>Hello World</hello>", new DomConverter().toString((NodeList) sub.get(0), null));
+ assertEquals("<bye>Bye Camel</bye>", new DomConverter().toString((NodeList) sub.get(1), null));
}
public void testDomConverterToInputStream() throws Exception {
Document document = context.getTypeConverter().convertTo(Document.class, "<?xml version=\"1.0\" encoding=\"UTF-8\"?><hello>world!</hello>");
- InputStream is = new DomConverter().toInputStream(document.getChildNodes());
+ InputStream is = new DomConverter().toInputStream(document.getChildNodes(), null);
assertEquals("<hello>world!</hello>", context.getTypeConverter().convertTo(String.class, is));
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java Sat May 15 08:56:30 2010
@@ -51,7 +51,7 @@ public class XmlConverterTest extends Co
public void testToBytesSource() throws Exception {
XmlConverter conv = new XmlConverter();
- BytesSource bs = conv.toSource("<foo>bar</foo>".getBytes());
+ BytesSource bs = conv.toBytesSource("<foo>bar</foo>".getBytes());
assertNotNull(bs);
assertEquals("<foo>bar</foo>", new String(bs.getData()));
}
@@ -67,16 +67,35 @@ public class XmlConverterTest extends Co
public void testToStringWithBytesSource() throws Exception {
XmlConverter conv = new XmlConverter();
- Source source = conv.toSource("<foo>bar</foo>".getBytes());
+ Source source = conv.toBytesSource("<foo>bar</foo>".getBytes());
String out = conv.toString(source, null);
assertEquals("<foo>bar</foo>", out);
}
+ public void testToSource() throws Exception {
+ XmlConverter conv = new XmlConverter();
+
+ Source source = conv.toSource("<foo>bar</foo>");
+ String out = conv.toString(source, null);
+ assertEquals("<foo>bar</foo>", out);
+ }
+
+ public void testToSourceUsingTypeConverter() throws Exception {
+ Source source = context.getTypeConverter().convertTo(Source.class, "<foo>bar</foo>");
+ String out = context.getTypeConverter().convertTo(String.class, source);
+ assertEquals("<foo>bar</foo>", out);
+
+ // try again to ensure it works the 2nd time
+ source = context.getTypeConverter().convertTo(Source.class, "<foo>baz</foo>");
+ out = context.getTypeConverter().convertTo(String.class, source);
+ assertEquals("<foo>baz</foo>", out);
+ }
+
public void testToByteArrayWithExchange() throws Exception {
Exchange exchange = new DefaultExchange(context);
XmlConverter conv = new XmlConverter();
- Source source = conv.toSource("<foo>bar</foo>".getBytes());
+ Source source = conv.toBytesSource("<foo>bar</foo>".getBytes());
byte[] out = conv.toByteArray(source, exchange);
assertEquals("<foo>bar</foo>", new String(out));
}
@@ -84,7 +103,7 @@ public class XmlConverterTest extends Co
public void testToByteArrayWithNoExchange() throws Exception {
XmlConverter conv = new XmlConverter();
- Source source = conv.toSource("<foo>bar</foo>".getBytes());
+ Source source = conv.toBytesSource("<foo>bar</foo>".getBytes());
byte[] out = conv.toByteArray(source, null);
assertEquals("<foo>bar</foo>", new String(out));
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java Sat May 15 08:56:30 2010
@@ -65,9 +65,9 @@ public class StreamCacheConverterTest ex
StreamCache cache = converter.convertToStreamCache(source, exchange);
//assert re-readability of the cached StreamSource
XmlConverter converter = new XmlConverter();
- assertNotNull(converter.toString((Source)cache));
+ assertNotNull(converter.toString((Source)cache, null));
cache.reset();
- assertNotNull(converter.toString((Source)cache));
+ assertNotNull(converter.toString((Source)cache, null));
}
public void testConvertToStreamCacheInputStream() throws Exception {
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExceptionHandlerStreamCacheTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExceptionHandlerStreamCacheTest.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExceptionHandlerStreamCacheTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ExceptionHandlerStreamCacheTest.java Sat May 15 08:56:30 2010
@@ -81,7 +81,7 @@ public class ExceptionHandlerStreamCache
exceptionEndpoint.assertIsSatisfied();
StreamSource body = (StreamSource) exceptionEndpoint.getExchanges().get(0).getIn().getBody();
- assertEquals("Ensure message re-readability in the exception handler", xml, new XmlConverter().toString(body));
+ assertEquals("Ensure message re-readability in the exception handler", xml, new XmlConverter().toString(body, null));
}
@Override
Modified: camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java (original)
+++ camel/trunk/components/camel-cache/src/main/java/org/apache/camel/processor/cache/CacheBasedXPathReplacer.java Sat May 15 08:56:30 2010
@@ -96,7 +96,7 @@ public class CacheBasedXPathReplacer ext
Source xslSource = xmlConverter.toStreamSource(new StringReader(xslString));
TransformerFactory transformerFactory = xmlConverter.createTransformerFactory();
Transformer transformer = transformerFactory.newTransformer(xslSource);
- source = xmlConverter.toSource(document);
+ source = xmlConverter.toDOMSource(document);
result = new DOMResult();
transformer.setParameter("cacheValue", cacheValueDocument);
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java Sat May 15 08:56:30 2010
@@ -61,7 +61,7 @@ public class CxfPayload<T> {
for (Element element : body) {
String elementString = "";
try {
- elementString = converter.toString(element);
+ elementString = converter.toString(element, null);
} catch (TransformerException e) {
elementString = element.toString();
}
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfUtils.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfUtils.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfUtils.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfUtils.java Sat May 15 08:56:30 2010
@@ -56,8 +56,7 @@ public final class CxfUtils {
W3CDOMStreamWriter writer = new W3CDOMStreamWriter();
writeElement(element, writer, namespaces);
XmlConverter converter = new XmlConverter();
- return converter.toString(converter.toSource(writer.getDocument()));
-
+ return converter.toString(converter.toSource(writer.getDocument()), null);
}
private static void writeElement(Element e,
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/converter/MyCxfCustomerConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/converter/MyCxfCustomerConverter.java?rev=944597&r1=944596&r2=944597&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/converter/MyCxfCustomerConverter.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/converter/MyCxfCustomerConverter.java Sat May 15 08:56:30 2010
@@ -39,7 +39,7 @@ public final class MyCxfCustomerConverte
for (Object element : payload.getBody()) {
String elementString = "";
try {
- elementString = converter.toString((Element)element);
+ elementString = converter.toString((Element)element, null);
} catch (TransformerException e) {
elementString = element.toString();
}