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");


Reply via email to