[2/2] git commit: Merge branch 'CAMEL-7770' of https://github.com/wuwen5/camel

2014-08-30 Thread davsclaus
Merge branch 'CAMEL-7770' of https://github.com/wuwen5/camel


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5f95e551
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5f95e551
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5f95e551

Branch: refs/heads/master
Commit: 5f95e5510ea77dc564d52a27ae4c5a02d9d0ad76
Parents: 69a93a1 c711589
Author: Claus Ibsen 
Authored: Sun Aug 31 08:25:44 2014 +0200
Committer: Claus Ibsen 
Committed: Sun Aug 31 08:25:44 2014 +0200

--
 examples/camel-example-reportincident/pom.xml  | 1 +
 examples/camel-example-restlet-jdbc/pom.xml| 1 +
 examples/camel-example-spring-security/pom.xml | 1 +
 examples/camel-example-spring-ws/pom.xml   | 1 +
 4 files changed, 4 insertions(+)
--




[1/2] git commit: CAMEL-7770: fix maven warning

2014-08-30 Thread davsclaus
Repository: camel
Updated Branches:
  refs/heads/master 69a93a1e8 -> 5f95e5510


CAMEL-7770: fix maven warning


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c7115899
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c7115899
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c7115899

Branch: refs/heads/master
Commit: c7115899f5b5578deeb3f8bf8e63827e159fada3
Parents: bfa4b0a
Author: wuwen 
Authored: Sun Aug 31 14:04:27 2014 +0800
Committer: wuwen 
Committed: Sun Aug 31 14:04:27 2014 +0800

--
 examples/camel-example-reportincident/pom.xml  | 1 +
 examples/camel-example-restlet-jdbc/pom.xml| 1 +
 examples/camel-example-spring-security/pom.xml | 1 +
 examples/camel-example-spring-ws/pom.xml   | 1 +
 4 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/c7115899/examples/camel-example-reportincident/pom.xml
--
diff --git a/examples/camel-example-reportincident/pom.xml 
b/examples/camel-example-reportincident/pom.xml
index 5062b10..5adbb20 100755
--- a/examples/camel-example-reportincident/pom.xml
+++ b/examples/camel-example-reportincident/pom.xml
@@ -158,6 +158,7 @@
 
 org.mortbay.jetty
 jetty-maven-plugin
+${jetty-version}
 

   

http://git-wip-us.apache.org/repos/asf/camel/blob/c7115899/examples/camel-example-restlet-jdbc/pom.xml
--
diff --git a/examples/camel-example-restlet-jdbc/pom.xml 
b/examples/camel-example-restlet-jdbc/pom.xml
index da3ad9d..6292418 100755
--- a/examples/camel-example-restlet-jdbc/pom.xml
+++ b/examples/camel-example-restlet-jdbc/pom.xml
@@ -84,6 +84,7 @@
 
 org.mortbay.jetty
 jetty-maven-plugin
+${jetty-version}
 
 
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c7115899/examples/camel-example-spring-security/pom.xml
--
diff --git a/examples/camel-example-spring-security/pom.xml 
b/examples/camel-example-spring-security/pom.xml
index e3bfad4..69e4553 100755
--- a/examples/camel-example-spring-security/pom.xml
+++ b/examples/camel-example-spring-security/pom.xml
@@ -76,6 +76,7 @@
 
 org.mortbay.jetty
 jetty-maven-plugin
+${jetty-version}
 

   

http://git-wip-us.apache.org/repos/asf/camel/blob/c7115899/examples/camel-example-spring-ws/pom.xml
--
diff --git a/examples/camel-example-spring-ws/pom.xml 
b/examples/camel-example-spring-ws/pom.xml
index 6de8800..69e2387 100644
--- a/examples/camel-example-spring-ws/pom.xml
+++ b/examples/camel-example-spring-ws/pom.xml
@@ -85,6 +85,7 @@

org.mortbay.jetty
jetty-maven-plugin
+${jetty-version}






git commit: Add setIpAddress to camel-spark-rest component

2014-08-30 Thread ningjiang
Repository: camel
Updated Branches:
  refs/heads/master 4769d97f1 -> 69a93a1e8


Add setIpAddress to camel-spark-rest component


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/69a93a1e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/69a93a1e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/69a93a1e

Branch: refs/heads/master
Commit: 69a93a1e8d130a5aeb93ec913db9a34075cf3b37
Parents: 4769d97
Author: Willem Jiang 
Authored: Sun Aug 31 10:27:04 2014 +0800
Committer: Willem Jiang 
Committed: Sun Aug 31 10:27:19 2014 +0800

--
 .../camel/component/sparkrest/SparkComponent.java   | 12 
 .../apache/camel/component/sparkrest/BaseSparkTest.java |  5 -
 .../camel/component/sparkrest/CamelSparkAcceptTest.java |  4 ++--
 .../sparkrest/RestCamelSparkPojoInOutTest.java  |  4 ++--
 .../sparkrest/RestConfigurationCamelSparkTest.java  |  8 
 5 files changed, 24 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/69a93a1e/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
--
diff --git 
a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
 
b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
index 2dafa9d..61b68c1 100644
--- 
a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
+++ 
b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
@@ -39,6 +39,7 @@ public class SparkComponent extends UriEndpointComponent 
implements RestConsumer
 private final Pattern pattern = Pattern.compile("\\{(.*?)\\}");
 
 private int port = SparkBase.SPARK_DEFAULT_PORT;
+private String ipAddress;
 private SparkConfiguration sparkConfiguration = new SparkConfiguration();
 private SparkBinding sparkBinding = new DefaultSparkBinding();
 
@@ -54,6 +55,14 @@ public class SparkComponent extends UriEndpointComponent 
implements RestConsumer
 this.port = port;
 }
 
+public String getIpAddress() {
+return ipAddress;
+}
+
+public void setIpAddress(String ipAddress) {
+this.ipAddress = ipAddress;
+}
+
 public SparkConfiguration getSparkConfiguration() {
 return sparkConfiguration;
 }
@@ -106,6 +115,9 @@ public class SparkComponent extends UriEndpointComponent 
implements RestConsumer
 }
 }
 }
+if (getIpAddress() != null) {
+Spark.setIpAddress(getIpAddress());
+}
 
 // configure component options
 RestConfiguration config = getCamelContext().getRestConfiguration();

http://git-wip-us.apache.org/repos/asf/camel/blob/69a93a1e/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/BaseSparkTest.java
--
diff --git 
a/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/BaseSparkTest.java
 
b/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/BaseSparkTest.java
index 2edf49a1..b7a6c08 100644
--- 
a/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/BaseSparkTest.java
+++ 
b/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/BaseSparkTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 
 public abstract class BaseSparkTest extends CamelTestSupport {
+//static int count;
 
 protected int port;
 
@@ -30,7 +31,8 @@ public abstract class BaseSparkTest extends CamelTestSupport {
 
 @Override
 public void setUp() throws Exception {
-port = AvailablePortFinder.getNextAvailable(24500);
+//count++;
+port = AvailablePortFinder.getNextAvailable(4500);
 super.setUp();
 }
 
@@ -40,6 +42,7 @@ public abstract class BaseSparkTest extends CamelTestSupport {
 
 SparkComponent spark = context.getComponent("spark-rest", 
SparkComponent.class);
 spark.setPort(port);
+spark.setIpAddress("127.0.0.1");
 
 return context;
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/69a93a1e/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/CamelSparkAcceptTest.java
--
diff --git 
a/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/CamelSparkAcceptTest.java
 
b/components/camel-spark-rest/src/test/java/org/apache/camel/component/sparkrest/CamelSparkAcceptTest

[CONF] Apache Camel > Metrics Component

2014-08-30 Thread Claus Ibsen (Confluence)














  


Claus Ibsen edited the page:
 


Metrics Component   






...
The metrics: component allows to collect various metrics directly from Camel routes. Supported metric types are counter, histogram, meter and timer. Metrics provides simple way to measure behaviour of application. Configurable reporting backend is enabling different integration options for collecting and visualizing statistics. The component also provides a MetricsRoutePolicyFactory which allows to expose route statistics using codehale metrics, see bottom of page for details.
...
Each metric has type and name. Supported types are counter, histogram, meter and timer. Metric name is simple string. If metric type is not provided then type meter is used by default.
...




Name
Default
Description


useJmx
false
Whether to report fine grained statistics to JMX by using the com.codahale.metrics.JmxReporter.Notice that if JMX is enabled on CamelContext then a MetricsRegistryService mbean is enlisted under the services type in the JMX tree. That mbean has a single operation to output the statistics using json. Setting useJmx to true is only needed if you want fine grained mbeans per statistics type.


jmxDomain
org.apache.camel.metrics
The JMX domain name


prettyPrint
false
Whether to use pretty print when outputting statistics in json format


metricsRegistry
 
Allow to use a shared com.codahale.metrics.MetricRegistry. If none is provided then Camel will create a shared instance used by the this CamelContext.


rateUnit
TimeUnit.SECONDS
The unit to use for rate in the metrics reporter or when dumping the statistics as json.
  

git commit: CAMEL-7696: camel-metrics - Add a route policy to expose route stats as codehale metrics. Work in progress.

2014-08-30 Thread davsclaus
Repository: camel
Updated Branches:
  refs/heads/master e28e8ac4d -> 4769d97f1


CAMEL-7696: camel-metrics - Add a route policy to expose route stats as 
codehale metrics. Work in progress.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4769d97f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4769d97f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4769d97f

Branch: refs/heads/master
Commit: 4769d97f17d949dd8d1d2a63233a21df7f92ca24
Parents: e28e8ac
Author: Claus Ibsen 
Authored: Sat Aug 30 16:48:32 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 16:48:32 2014 +0200

--
 .../routepolicy/MetricsRegistryService.java | 20 +-
 .../metrics/routepolicy/MetricsRoutePolicy.java | 22 +++
 .../routepolicy/MetricsRoutePolicyFactory.java  | 28 
 3 files changed, 69 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/4769d97f/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
--
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
index 8ec1534..2bde7f0 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
@@ -45,6 +45,8 @@ public final class MetricsRegistryService extends 
ServiceSupport implements Came
 private boolean useJmx;
 private String jmxDomain = "org.apache.camel.metrics";
 private boolean prettyPrint;
+private TimeUnit rateUnit = TimeUnit.SECONDS;
+private TimeUnit durationUnit = TimeUnit.MILLISECONDS;
 private transient ObjectMapper mapper;
 
 public MetricRegistry getMetricsRegistry() {
@@ -87,6 +89,22 @@ public final class MetricsRegistryService extends 
ServiceSupport implements Came
 this.prettyPrint = prettyPrint;
 }
 
+public TimeUnit getRateUnit() {
+return rateUnit;
+}
+
+public void setRateUnit(TimeUnit rateUnit) {
+this.rateUnit = rateUnit;
+}
+
+public TimeUnit getDurationUnit() {
+return durationUnit;
+}
+
+public void setDurationUnit(TimeUnit durationUnit) {
+this.durationUnit = durationUnit;
+}
+
 @Override
 protected void doStart() throws Exception {
 if (metricsRegistry == null) {
@@ -107,7 +125,7 @@ public final class MetricsRegistryService extends 
ServiceSupport implements Came
 }
 
 // json mapper
-this.mapper = new ObjectMapper().registerModule(new 
MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false));
+this.mapper = new ObjectMapper().registerModule(new 
MetricsModule(getRateUnit(), getDurationUnit(), false));
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/4769d97f/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
--
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
index 100bfa7..d28044a 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.metrics.routepolicy;
 
+import java.util.concurrent.TimeUnit;
+
 import com.codahale.metrics.Counter;
 import com.codahale.metrics.Meter;
 import com.codahale.metrics.MetricRegistry;
@@ -38,6 +40,8 @@ public class MetricsRoutePolicy extends RoutePolicySupport {
 private boolean useJmx = true;
 private String jmxDomain = "org.apache.camel.metrics";
 private boolean prettyPrint;
+private TimeUnit rateUnit = TimeUnit.SECONDS;
+private TimeUnit durationUnit = TimeUnit.MILLISECONDS;
 private MetricsStatistics statistics;
 private Route route;
 
@@ -105,6 +109,22 @@ public class MetricsRoutePolicy extends RoutePolicySupport 
{
 this.prettyPrint = prettyPrint;
 }
 
+public TimeUnit getRateUnit() {
+return rateUnit;
+}
+
+public void setRateUnit(TimeUnit rateUnit) {
+this.rateUnit = rateUnit;
+}
+
+public TimeUnit getDurationUnit()

[2/6] git commit: CAMEL-7768: Handle fault - Should convert the payload to String using type converter

2014-08-30 Thread davsclaus
CAMEL-7768: Handle fault - Should convert the payload to String using type 
converter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c521f5c8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c521f5c8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c521f5c8

Branch: refs/heads/camel-2.13.x
Commit: c521f5c8ee7df960b1c5a3e9a9fb1c7d8c612f25
Parents: 6f1d422
Author: Claus Ibsen 
Authored: Sat Aug 30 09:58:46 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:05:14 2014 +0200

--
 .../camel/processor/interceptor/HandleFaultInterceptor.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/c521f5c8/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
index cc6bbe5..538fe88 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
@@ -65,7 +65,8 @@ public class HandleFaultInterceptor extends 
DelegateAsyncProcessor {
 exchange.setException((Throwable) faultBody);
 } else {
 // wrap it in an exception
-exchange.setException(new 
CamelException(faultBody.toString()));
+String data = 
exchange.getContext().getTypeConverter().convertTo(String.class, exchange, 
faultBody);
+exchange.setException(new CamelException(data));
 }
 }
 }



[5/6] git commit: CAMEL-7768: Handle fault - Should convert the payload to String using type converter

2014-08-30 Thread davsclaus
CAMEL-7768: Handle fault - Should convert the payload to String using type 
converter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ddeddac3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ddeddac3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ddeddac3

Branch: refs/heads/camel-2.12.x
Commit: ddeddac3990897f2fc83b3cb63490e69c162ad72
Parents: c6b189b
Author: Claus Ibsen 
Authored: Sat Aug 30 09:58:46 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:06:37 2014 +0200

--
 .../camel/processor/interceptor/HandleFaultInterceptor.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/ddeddac3/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
index cc6bbe5..538fe88 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
@@ -65,7 +65,8 @@ public class HandleFaultInterceptor extends 
DelegateAsyncProcessor {
 exchange.setException((Throwable) faultBody);
 } else {
 // wrap it in an exception
-exchange.setException(new 
CamelException(faultBody.toString()));
+String data = 
exchange.getContext().getTypeConverter().convertTo(String.class, exchange, 
faultBody);
+exchange.setException(new CamelException(data));
 }
 }
 }



[6/6] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ad8354c4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ad8354c4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ad8354c4

Branch: refs/heads/camel-2.12.x
Commit: ad8354c4f82c515595a454e3800993613d8a3db2
Parents: ddeddac
Author: Claus Ibsen 
Authored: Sat Aug 30 11:07:57 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:06:41 2014 +0200

--
 .../java/org/apache/camel/util/MessageHelper.java   | 16 +---
 .../camel/issues/TryCatchWithSplitIssueTest.java|  4 ++--
 .../onexception/OnExceptionHandledTest.java |  2 +-
 3 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
--
diff --git a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java 
b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
index e2f59ec..0182594 100644
--- a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
@@ -17,6 +17,7 @@
 package org.apache.camel.util;
 
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
@@ -235,12 +236,15 @@ public final class MessageHelper {
 }
 }
 
-// is the body a stream cache
-StreamCache cache;
+// is the body a stream cache or input stream
+StreamCache cache = null;
+InputStream is = null;
 if (obj instanceof StreamCache) {
 cache = (StreamCache)obj;
-} else {
+is = null;
+} else if (obj instanceof InputStream) {
 cache = null;
+is = (InputStream) obj;
 }
 
 // grab the message body as a string
@@ -259,6 +263,12 @@ public final class MessageHelper {
 // reset stream cache after use
 if (cache != null) {
 cache.reset();
+} else if (is != null && is.markSupported()) {
+try {
+is.reset();
+} catch (IOException e) {
+// ignore
+}
 }
 
 if (body == null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 3818190..2dd5e3f 100644
--- 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 MockEndpoint result = getMockEndpoint("mock:result");
 result.expectedBodiesReceived("Hi Claus", "Hi Willem");
@@ -45,7 +45,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 template.sendBody("direct:start", "James");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
 
b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
index 565b942..3254244 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnEx

[3/6] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e3993f92
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e3993f92
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e3993f92

Branch: refs/heads/camel-2.13.x
Commit: e3993f92993e688847f4ab669dfec6b089e4cd03
Parents: c521f5c
Author: Claus Ibsen 
Authored: Sat Aug 30 11:07:57 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:05:22 2014 +0200

--
 .../java/org/apache/camel/util/MessageHelper.java   | 16 +---
 .../camel/issues/TryCatchWithSplitIssueTest.java|  4 ++--
 .../onexception/OnExceptionHandledTest.java |  2 +-
 3 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
--
diff --git a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java 
b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
index e2f59ec..0182594 100644
--- a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
@@ -17,6 +17,7 @@
 package org.apache.camel.util;
 
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
@@ -235,12 +236,15 @@ public final class MessageHelper {
 }
 }
 
-// is the body a stream cache
-StreamCache cache;
+// is the body a stream cache or input stream
+StreamCache cache = null;
+InputStream is = null;
 if (obj instanceof StreamCache) {
 cache = (StreamCache)obj;
-} else {
+is = null;
+} else if (obj instanceof InputStream) {
 cache = null;
+is = (InputStream) obj;
 }
 
 // grab the message body as a string
@@ -259,6 +263,12 @@ public final class MessageHelper {
 // reset stream cache after use
 if (cache != null) {
 cache.reset();
+} else if (is != null && is.markSupported()) {
+try {
+is.reset();
+} catch (IOException e) {
+// ignore
+}
 }
 
 if (body == null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 3818190..2dd5e3f 100644
--- 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 MockEndpoint result = getMockEndpoint("mock:result");
 result.expectedBodiesReceived("Hi Claus", "Hi Willem");
@@ -45,7 +45,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 template.sendBody("direct:start", "James");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
 
b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
index 565b942..3254244 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnEx

[1/6] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x 2776fd555 -> ad8354c4f
  refs/heads/camel-2.13.x 1c6b76ade -> e3993f929


CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

Conflicts:
camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6f1d4229
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6f1d4229
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6f1d4229

Branch: refs/heads/camel-2.13.x
Commit: 6f1d422996db779516f0a180eece4eac0f0c6cc2
Parents: 1c6b76a
Author: Claus Ibsen 
Authored: Sat Aug 30 09:57:24 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:04:57 2014 +0200

--
 .../org/apache/camel/builder/ValueBuilder.java  | 26 ---
 .../camel/component/mock/AssertionClause.java   |  6 ++
 .../camel/issues/MockValueBuilderIssueTest.java | 72 
 3 files changed, 94 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/6f1d4229/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 31c4b96..08d9fb3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -174,17 +174,17 @@ public class ValueBuilder implements Expression, 
Predicate {
 
 public ValueBuilder tokenize(String token) {
 Expression newExp = ExpressionBuilder.tokenizeExpression(expression, 
token);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizeXML(String tagName, String 
inheritNamespaceTagName) {
 Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, 
inheritNamespaceTagName);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizePair(String startToken, String endToken, 
boolean includeTokens) {
 Expression newExp = 
ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -193,7 +193,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexTokenize(String regex) {
 Expression newExp = 
ExpressionBuilder.regexTokenizeExpression(expression, regex);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -202,7 +202,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, String replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -211,7 +211,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, Expression replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -223,7 +223,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder convertTo(Class type) {
 Expression newExp = ExpressionBuilder.convertToExpression(expression, 
type);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -242,7 +242,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder append(Object value) {
-return new ValueBuilder(ExpressionBuilder.append(expression, 
asExpression(value)));
+Expression newExp = ExpressionBuilder.append(expression, 
asExpression(value));
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -252,7 +253,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder prepend(Object value) {
-return new ValueBuilder(ExpressionBuilder.prepend(expression, 
asExpression(value)));
+Expression newExp = ExpressionBuilder.prepend(expression, 
asExpression(value));
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -264,7 +266,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder sort(Compara

[4/6] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

Conflicts:
camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c6b189b7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c6b189b7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c6b189b7

Branch: refs/heads/camel-2.12.x
Commit: c6b189b7de145876fde668310f719000cc40141a
Parents: 2776fd5
Author: Claus Ibsen 
Authored: Sat Aug 30 09:57:24 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 15:06:32 2014 +0200

--
 .../org/apache/camel/builder/ValueBuilder.java  | 26 ---
 .../camel/component/mock/AssertionClause.java   |  6 ++
 .../camel/issues/MockValueBuilderIssueTest.java | 72 
 3 files changed, 94 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/c6b189b7/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 31c4b96..08d9fb3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -174,17 +174,17 @@ public class ValueBuilder implements Expression, 
Predicate {
 
 public ValueBuilder tokenize(String token) {
 Expression newExp = ExpressionBuilder.tokenizeExpression(expression, 
token);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizeXML(String tagName, String 
inheritNamespaceTagName) {
 Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, 
inheritNamespaceTagName);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizePair(String startToken, String endToken, 
boolean includeTokens) {
 Expression newExp = 
ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -193,7 +193,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexTokenize(String regex) {
 Expression newExp = 
ExpressionBuilder.regexTokenizeExpression(expression, regex);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -202,7 +202,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, String replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -211,7 +211,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, Expression replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -223,7 +223,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder convertTo(Class type) {
 Expression newExp = ExpressionBuilder.convertToExpression(expression, 
type);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -242,7 +242,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder append(Object value) {
-return new ValueBuilder(ExpressionBuilder.append(expression, 
asExpression(value)));
+Expression newExp = ExpressionBuilder.append(expression, 
asExpression(value));
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -252,7 +253,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder prepend(Object value) {
-return new ValueBuilder(ExpressionBuilder.prepend(expression, 
asExpression(value)));
+Expression newExp = ExpressionBuilder.prepend(expression, 
asExpression(value));
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -264,7 +266,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder sort(Comparator comparator) {
 Expression newExp = ExpressionBuilder.sortExpression(expression, 
comparator);
-return new ValueBuild

[2/4] git commit: CAMEL-7768: Handle fault - Should convert the payload to String using type converter

2014-08-30 Thread davsclaus
CAMEL-7768: Handle fault - Should convert the payload to String using type 
converter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f3309eb2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f3309eb2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f3309eb2

Branch: refs/heads/master
Commit: f3309eb2b368115f3b95420ea31f00df40a5307e
Parents: 09cbacb
Author: Claus Ibsen 
Authored: Sat Aug 30 09:58:46 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 09:58:46 2014 +0200

--
 .../camel/processor/interceptor/HandleFaultInterceptor.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/f3309eb2/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
index cc6bbe5..538fe88 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
@@ -65,7 +65,8 @@ public class HandleFaultInterceptor extends 
DelegateAsyncProcessor {
 exchange.setException((Throwable) faultBody);
 } else {
 // wrap it in an exception
-exchange.setException(new 
CamelException(faultBody.toString()));
+String data = 
exchange.getContext().getTypeConverter().convertTo(String.class, exchange, 
faultBody);
+exchange.setException(new CamelException(data));
 }
 }
 }



[4/4] git commit: CAMEL-7769: Mock - Allow to invoke a method while specifying an assertion

2014-08-30 Thread davsclaus
CAMEL-7769: Mock - Allow to invoke a method while specifying an assertion


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e28e8ac4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e28e8ac4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e28e8ac4

Branch: refs/heads/master
Commit: e28e8ac4de10c6d5f89672808847644ad4844982
Parents: eab0618
Author: Claus Ibsen 
Authored: Sat Aug 30 11:20:06 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 11:20:06 2014 +0200

--
 .../apache/camel/builder/ExpressionBuilder.java | 23 
 .../org/apache/camel/builder/ValueBuilder.java  | 11 ++
 .../issues/TryCatchWithSplitIssueTest.java  |  4 ++--
 .../onexception/OnExceptionHandledTest.java |  2 +-
 4 files changed, 37 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/e28e8ac4/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
index 44624d8..dfb4b99 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
@@ -830,6 +830,29 @@ public final class ExpressionBuilder {
 }
 
 /**
+ * Returns the expression for invoking a method (support OGNL syntax) on 
the given expression
+ *
+ * @param exp   the expression to evaluate and invoke the method on its 
result
+ * @param ognl  methods to invoke on the evaluated expression in a simple 
OGNL syntax
+ */
+public static Expression ognlExpression(final Expression exp, final String 
ognl) {
+return new ExpressionAdapter() {
+public Object evaluate(Exchange exchange) {
+Object value = exp.evaluate(exchange, Object.class);
+if (value == null) {
+return null;
+}
+return new MethodCallExpression(value, 
ognl).evaluate(exchange);
+}
+
+@Override
+public String toString() {
+return "ognl(" + exp + ", " + ognl + ")";
+}
+};
+}
+
+/**
  * Returns the expression for the exchanges camelContext invoking methods 
defined
  * in a simple OGNL notation
  *

http://git-wip-us.apache.org/repos/asf/camel/blob/e28e8ac4/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 4724ddd..60782c3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -282,6 +282,17 @@ public class ValueBuilder implements Expression, Predicate 
{
 }
 
 /**
+ * Invokes the method with the given name (supports OGNL syntax).
+ *
+ * @param methodName  name of method to invoke.
+ * @return the current builder
+ */
+public ValueBuilder method(String methodName) {
+Expression newExp = ExpressionBuilder.ognlExpression(expression, 
methodName);
+return onNewValueBuilder(newExp);
+}
+
+/**
  * Negates the built expression.
  *
  * @return the current builder

http://git-wip-us.apache.org/repos/asf/camel/blob/e28e8ac4/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 2dd5e3f..043b902 100644
--- 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).method("getMessage").isEqualTo("This
 is a dummy error James!");
 
 MockEndpoint result = getMockEndpoint("mock:result");
 result.expectedBodiesRecei

[1/4] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
Repository: camel
Updated Branches:
  refs/heads/master bfa4b0afe -> e28e8ac4d


CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/09cbacba
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/09cbacba
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/09cbacba

Branch: refs/heads/master
Commit: 09cbacba0525e80cc583358f426630fb8259fa2f
Parents: bfa4b0a
Author: Claus Ibsen 
Authored: Sat Aug 30 09:57:24 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 09:57:24 2014 +0200

--
 .../org/apache/camel/builder/ValueBuilder.java  | 28 +---
 .../camel/component/mock/AssertionClause.java   |  6 ++
 .../camel/issues/MockValueBuilderIssueTest.java | 72 
 3 files changed, 95 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/09cbacba/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index e83400d..4724ddd 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -176,12 +176,12 @@ public class ValueBuilder implements Expression, 
Predicate {
 
 public ValueBuilder tokenize(String token) {
 Expression newExp = ExpressionBuilder.tokenizeExpression(expression, 
token);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizeXML(String tagName, String 
inheritNamespaceTagName) {
 Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, 
inheritNamespaceTagName);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder xtokenize(String path, Namespaces namespaces) {
@@ -191,12 +191,12 @@ public class ValueBuilder implements Expression, 
Predicate {
 public ValueBuilder xtokenize(String path, char mode, Namespaces 
namespaces) {
 Expression newExp = ExpressionBuilder.tokenizeXMLAwareExpression(path, 
mode);
 ((NamespaceAware)newExp).setNamespaces(namespaces.getNamespaces());
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 public ValueBuilder tokenizePair(String startToken, String endToken, 
boolean includeTokens) {
 Expression newExp = 
ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -205,7 +205,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexTokenize(String regex) {
 Expression newExp = 
ExpressionBuilder.regexTokenizeExpression(expression, regex);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -214,7 +214,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, String replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -223,7 +223,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder regexReplaceAll(String regex, Expression replacement) {
 Expression newExp = ExpressionBuilder.regexReplaceAll(expression, 
regex, replacement);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -235,7 +235,7 @@ public class ValueBuilder implements Expression, Predicate {
  */
 public ValueBuilder convertTo(Class type) {
 Expression newExp = ExpressionBuilder.convertToExpression(expression, 
type);
-return new ValueBuilder(newExp);
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -254,7 +254,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder append(Object value) {
-return new ValueBuilder(ExpressionBuilder.append(expression, 
asExpression(value)));
+Expression newExp = ExpressionBuilder.append(expression, 
asExpression(value));
+return onNewValueBuilder(newExp);
 }
 
 /**
@@ -264,7 +265,8 @@ public class ValueBuilder implements Expression, Predicate {
  * @return the current builder
  */
 public ValueBuilder prepend(Object value) {
-return new 

[3/4] git commit: CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo

2014-08-30 Thread davsclaus
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/eab06182
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/eab06182
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/eab06182

Branch: refs/heads/master
Commit: eab06182a1f670dbf28c1f7a97000236a8f4cdcb
Parents: f3309eb
Author: Claus Ibsen 
Authored: Sat Aug 30 11:07:57 2014 +0200
Committer: Claus Ibsen 
Committed: Sat Aug 30 11:07:57 2014 +0200

--
 .../java/org/apache/camel/util/MessageHelper.java   | 16 +---
 .../camel/issues/TryCatchWithSplitIssueTest.java|  4 ++--
 .../onexception/OnExceptionHandledTest.java |  2 +-
 3 files changed, 16 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/eab06182/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
--
diff --git a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java 
b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
index 6576c98..502da6a 100644
--- a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
@@ -17,6 +17,7 @@
 package org.apache.camel.util;
 
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
@@ -285,12 +286,15 @@ public final class MessageHelper {
 }
 }
 
-// is the body a stream cache
-StreamCache cache;
+// is the body a stream cache or input stream
+StreamCache cache = null;
+InputStream is = null;
 if (obj instanceof StreamCache) {
 cache = (StreamCache)obj;
-} else {
+is = null;
+} else if (obj instanceof InputStream) {
 cache = null;
+is = (InputStream) obj;
 }
 
 // grab the message body as a string
@@ -309,6 +313,12 @@ public final class MessageHelper {
 // reset stream cache after use
 if (cache != null) {
 cache.reset();
+} else if (is != null && is.markSupported()) {
+try {
+is.reset();
+} catch (IOException e) {
+// ignore
+}
 }
 
 if (body == null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/eab06182/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 3818190..2dd5e3f 100644
--- 
a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 MockEndpoint result = getMockEndpoint("mock:result");
 result.expectedBodiesReceived("Hi Claus", "Hi Willem");
@@ -45,7 +45,7 @@ public class TryCatchWithSplitIssueTest extends 
ContextTestSupport {
 MockEndpoint error = getMockEndpoint("mock:error");
 error.expectedBodiesReceived("James");
 error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
-
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This
 is a dummy error James!");
+
error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This
 is a dummy error James!");
 
 template.sendBody("direct:start", "James");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/eab06182/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
--
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
 
b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
index 565b942..3254244 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptio