Author: hadrian
Date: Fri Jul 31 15:58:51 2009
New Revision: 799648
URL: http://svn.apache.org/viewvc?rev=799648&view=rev
Log:
CAMEL-316. More cleanup of getFault()
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeHolder.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/non_wrapper/PersonProcessor.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/PersonProcessor.java
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHelper.java
camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeHolder.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeHolder.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeHolder.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchangeHolder.java
Fri Jul 31 15:58:51 2009
@@ -51,6 +51,7 @@
private Object inBody;
private Object outBody;
+ private Boolean outFaultFlag = Boolean.FALSE;
private final Map<String, Object> inHeaders = new LinkedHashMap<String,
Object>();
private final Map<String, Object> outHeaders = new LinkedHashMap<String,
Object>();
private final Map<String, Object> properties = new LinkedHashMap<String,
Object>();
@@ -71,6 +72,7 @@
if (exchange.hasOut()) {
payload.outBody = checkSerializableObject("out body", exchange,
exchange.getOut().getBody());
payload.outHeaders.putAll(checkMapSerializableObjects("out
headers", exchange, exchange.getOut().getHeaders()));
+ payload.outFaultFlag = exchange.getOut().isFault();
}
payload.properties.putAll(checkMapSerializableObjects("exchange
properties", exchange, exchange.getProperties()));
payload.exception = exchange.getException();
@@ -90,6 +92,7 @@
if (payload.outBody != null) {
exchange.getOut().setBody(payload.outBody);
exchange.getOut().setHeaders(payload.outHeaders);
+ exchange.getOut().setFault(payload.outFaultFlag.booleanValue());
}
for (String key : payload.properties.keySet()) {
exchange.setProperty(key, payload.properties.get(key));
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/non_wrapper/PersonProcessor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/non_wrapper/PersonProcessor.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/non_wrapper/PersonProcessor.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/non_wrapper/PersonProcessor.java
Fri Jul 31 15:58:51 2009
@@ -51,7 +51,8 @@
new org.apache.camel.non_wrapper.UnknownPersonFault("Get the
null value of person name", personFault);
// Since camel has its own exception handler framework, we can't
throw the exception to trigger it
// We just set the fault message in the exchange for camel-cxf
component handling and return
- exchange.getFault().setBody(fault);
+ exchange.getOut().setFault(true);
+ exchange.getOut().setBody(fault);
return;
}
response.setPersonId(personId);
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/PersonProcessor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/PersonProcessor.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/PersonProcessor.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/PersonProcessor.java
Fri Jul 31 15:58:51 2009
@@ -53,7 +53,8 @@
new org.apache.camel.wsdl_first.UnknownPersonFault("Get the
null value of person name", personFault);
// Since camel has its own exception handler framework, we can't
throw the exception to trigger it
// We just set the fault message in the exchange for camel-cxf
component handling and return
- exchange.getFault().setBody(fault);
+ exchange.getOut().setFault(true);
+ exchange.getOut().setBody(fault);
return;
}
Modified:
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
(original)
+++
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Fri Jul 31 15:58:51 2009
@@ -123,7 +123,8 @@
if (exchange.getException() != null) {
body = exchange.getException();
} else {
- body = exchange.getFault().getBody();
+ // failed and no exception, must be a fault
+ body = exchange.getOut().getBody();
}
}
@@ -138,7 +139,6 @@
LOG.debug("Writing body: " + body);
}
MinaHelper.writeBody(session, body, exchange);
-
}
}
@@ -155,7 +155,5 @@
session.close();
}
}
-
}
-
}
Modified:
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java
(original)
+++
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaHelper.java
Fri Jul 31 15:58:51 2009
@@ -46,7 +46,8 @@
public static void writeBody(IoSession session, Object body, Exchange
exchange) throws CamelExchangeException {
// the write operation is asynchronous. Use WriteFuture to wait until
the session has been written
WriteFuture future = session.write(body);
- // must use a timeout (we use 10s) as in some very high performance
scenarious a write can cause thred hanging forever
+ // must use a timeout (we use 10s) as in some very high performance
scenarios a write can cause
+ // thread hanging forever
future.join(10 * 1000L);
if (!future.isWritten()) {
LOG.warn("Cannot write body: " + body + " using session: " +
session);
Modified:
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHelper.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHelper.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHelper.java
(original)
+++
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaPayloadHelper.java
Fri Jul 31 15:58:51 2009
@@ -72,5 +72,4 @@
exchange.getOut().setBody(payload);
}
}
-
}
Modified:
camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java?rev=799648&r1=799647&r2=799648&view=diff
==============================================================================
---
camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
(original)
+++
camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
Fri Jul 31 15:58:51 2009
@@ -69,10 +69,13 @@
if (!hasFault) {
Message out = exchange.getOut();
assertNotNull(out);
+ assertFalse(out.isFault());
assertEquals("Goodbye!", out.getBody());
assertEquals("cheddar", out.getHeader("cheese"));
} else {
- Message fault = exchange.getFault();
+ Message fault = exchange.getOut();
+ assertNotNull(fault);
+ assertTrue(fault.isFault());
assertNotNull(fault.getBody());
assertTrue("Should get the InterrupteException exception",
fault.getBody() instanceof InterruptedException);
assertEquals("nihao", fault.getHeader("hello"));
@@ -104,8 +107,9 @@
Boolean setException = (Boolean)
e.getProperty("setException");
if (setException) {
- e.getFault().setBody(new InterruptedException());
- e.getFault().setHeader("hello", "nihao");
+ e.getOut().setFault(true);
+ e.getOut().setBody(new InterruptedException());
+ e.getOut().setHeader("hello", "nihao");
} else {
e.getOut().setBody("Goodbye!");
e.getOut().setHeader("cheese", "cheddar");