You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/11/15 15:22:07 UTC
svn commit: r595310 - in
/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder:
ExpressionBuilder.java ProcessorBuilder.java xml/MessageVariableResolver.java
Author: jstrachan
Date: Thu Nov 15 06:22:06 2007
New Revision: 595310
URL: http://svn.apache.org/viewvc?rev=595310&view=rev
Log:
further modifications for this issue : http://www.nabble.com/setBody%28el%28-%29%29-creates-null-body-tf4805396s22882.html#a13747750 to ensure that we don't ever accidentally create an OUT message when we don't want/need one
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ProcessorBuilder.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/MessageVariableResolver.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java?rev=595310&r1=595309&r2=595310&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java Thu Nov 15 06:22:06 2007
@@ -91,7 +91,11 @@
public static <E extends Exchange> Expression<E> outHeaderExpression(final String headerName) {
return new Expression<E>() {
public Object evaluate(E exchange) {
- Object header = exchange.getOut().getHeader(headerName);
+ Message out = exchange.getOut(false);
+ if (out == null) {
+ return null;
+ }
+ Object header = out.getHeader(headerName);
if (header == null) {
// lets try the exchange header
header = exchange.getProperty(headerName);
@@ -255,7 +259,11 @@
public static <E extends Exchange> Expression<E> outBodyExpression() {
return new Expression<E>() {
public Object evaluate(E exchange) {
- return exchange.getOut().getBody();
+ Message out = exchange.getOut(false);
+ if (out == null) {
+ return null;
+ }
+ return out.getBody();
}
@Override
@@ -272,7 +280,11 @@
public static <E extends Exchange, T> Expression<E> outBodyExpression(final Class<T> type) {
return new Expression<E>() {
public Object evaluate(E exchange) {
- return exchange.getOut().getBody(type);
+ Message out = exchange.getOut(false);
+ if (out == null) {
+ return null;
+ }
+ return out.getBody(type);
}
@Override
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ProcessorBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ProcessorBuilder.java?rev=595310&r1=595309&r2=595310&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ProcessorBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ProcessorBuilder.java Thu Nov 15 06:22:06 2007
@@ -19,6 +19,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Message;
/**
* A builder of a number of different {@link Processor} implementations
@@ -174,7 +175,10 @@
public static Processor removeOutHeader(final String name) {
return new Processor() {
public void process(Exchange exchange) {
- exchange.getOut().removeHeader(name);
+ Message out = exchange.getOut(false);
+ if (out != null) {
+ out.removeHeader(name);
+ }
}
@Override
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/MessageVariableResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/MessageVariableResolver.java?rev=595310&r1=595309&r2=595310&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/MessageVariableResolver.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/xml/MessageVariableResolver.java Thu Nov 15 06:22:06 2007
@@ -90,10 +90,12 @@
answer = in.getBody();
}
} else if (uri.equals(OUT_NAMESPACE)) {
- Message out = exchange.getOut();
- answer = out.getHeader(localPart);
- if (answer == null && localPart.equals("body")) {
- answer = out.getBody();
+ Message out = exchange.getOut(false);
+ if (out != null) {
+ answer = out.getHeader(localPart);
+ if (answer == null && localPart.equals("body")) {
+ answer = out.getBody();
+ }
}
}