You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2007/09/04 17:19:54 UTC

svn commit: r572709 - in /activemq/camel/trunk/camel-core/src/main/java/org/apache/camel: Exchange.java ExchangePattern.java component/mock/MockEndpoint.java impl/DefaultExchange.java

Author: gnodet
Date: Tue Sep  4 08:19:54 2007
New Revision: 572709

URL: http://svn.apache.org/viewvc?rev=572709&view=rev
Log:
Minor changes to mep handling, and improve mock endpoint to add processors when exchanges are received

Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/ExchangePattern.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=572709&r1=572708&r2=572709&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Tue Sep  4 08:19:54 2007
@@ -114,6 +114,14 @@
     Message getFault();
 
     /**
+     * Returns the fault message; optionally lazily creating one if one has
+     * not been associated with this exchange
+     *
+     * @return the response
+     */
+    Message getFault(boolean lazyCreate);
+
+    /**
      * Returns the exception associated with this exchange
      * 
      * @return the exception (or null if no faults)

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/ExchangePattern.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/ExchangePattern.java?rev=572709&r1=572708&r2=572709&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/ExchangePattern.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/ExchangePattern.java Tue Sep  4 08:19:54 2007
@@ -92,6 +92,19 @@
     }
 
     /**
+     * Return true if there can be a FAULT message
+     */
+    public boolean isFaultCapable() {
+        switch (this) {
+            case InOnly:
+            case OutOnly:
+                return false;
+            default:
+                return true;
+        }
+    }
+
+    /**
      * Converts the WSDL URI into a {@link ExchangePattern} instance
      */
     public static ExchangePattern fromWsdlUri(String wsdlUri) {
@@ -102,6 +115,9 @@
         for (ExchangePattern mep : values()) {
             String uri = mep.getWsdlUri();
             map.put(uri, mep);
+            String name = uri.substring(uri.lastIndexOf('/'));
+            map.put("http://www.w3.org/2004/08/wsdl/" + name, mep);
+            map.put("http://www.w3.org/2006/01/wsdl/" + name, mep);
         }
     }
 }

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=572709&r1=572708&r2=572709&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java Tue Sep  4 08:19:54 2007
@@ -115,6 +115,17 @@
     // -------------------------------------------------------------------------
 
     /**
+     * Set the processor that will be invoked when the index
+     * message is received.
+     *
+     * @param index
+     * @param processor
+     */
+    public void whenExchangeReceived(int index, Processor processor) {
+        this.processors.put(index, processor);
+    }
+
+    /**
      * Validates that all the available expectations on this endpoint are
      * satisfied; or throw an exception
      */

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?rev=572709&r1=572708&r2=572709&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java Tue Sep  4 08:19:54 2007
@@ -210,6 +210,14 @@
     }
 
     public Message getFault() {
+        return getFault(true);
+    }
+
+    public Message getFault(boolean lazyCreate) {
+        if (fault == null && lazyCreate) {
+            fault = createFaultMessage();
+            configureMessage(fault);
+        }
         return fault;
     }
 
@@ -241,6 +249,13 @@
      * Factory method to lazily create the OUT message
      */
     protected Message createOutMessage() {
+        return new DefaultMessage();
+    }
+
+    /**
+     * Factory method to lazily create the FAULT message
+     */
+    protected Message createFaultMessage() {
         return new DefaultMessage();
     }