Author: ningjiang
Date: Wed Aug 29 07:39:04 2012
New Revision: 1378464

URL: http://svn.apache.org/viewvc?rev=1378464&view=rev
Log:
CAMEL-3104 moving the ExchangeBuilder to builder package and added java doc for 
the end user API

Added:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
      - copied, changed from r1378463, 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
      - copied, changed from r1378463, 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java
Removed:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java

Copied: 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
 (from r1378463, 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java&r1=1378463&r2=1378464&rev=1378464&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
 Wed Aug 29 07:39:04 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.util;
+package org.apache.camel.builder;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -25,7 +25,7 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
 import org.apache.camel.impl.DefaultExchange;
 
-public class ExchangeBuilder {
+public final class ExchangeBuilder {
     private CamelContext context;
     private ExchangePattern pattern;
     private Object body;
@@ -36,35 +36,67 @@ public class ExchangeBuilder {
         this.context = context;
     }
 
+    /**
+     * Create the exchange by setting the camel context
+     * @param context the camel context 
+     * @return exchange builder
+     */
     public static ExchangeBuilder anExchange(CamelContext context) {
         return new ExchangeBuilder(context);
     }
 
+    /**
+     * Set the in message body on the exchange
+     * @param body
+     * @return exchange builder
+     */
     public ExchangeBuilder withBody(Object body) {
         this.body = body;
         return this;
     }
 
+    /**
+     * Set the message header of the in message on the exchange
+     * @param key the key of the header
+     * @param value the value of the header
+     * @return exchange builder
+     */
     public ExchangeBuilder withHeader(String key, Object value) {
         headers.put(key, value);
         return this;
     }
 
+    /**
+     * Set the message exchange pattern on the exchange
+     * @param pattern exchange pattern
+     * @return exchange builder
+     */
     public ExchangeBuilder withPattern(ExchangePattern pattern) {
         this.pattern = pattern;
         return this;
     }
     
+    /**
+     * Set the exchange property
+     * @param pattern exchange pattern
+     * @return exchange builder
+     */
     public ExchangeBuilder withProperty(String key, Object value) {
         properties.put(key, value);
         return this;
     }
 
+    /**
+     * Build up the exchange from the exchange builder
+     * @return exchange 
+     */
     public Exchange build() {
         Exchange exchange = new DefaultExchange(context);
         Message message = exchange.getIn();
         message.setBody(body);
-        message.setHeaders(headers);
+        if (headers.size() > 0) {
+            message.setHeaders(headers);
+        }
         // setup the properties on the exchange
         for (Map.Entry<String, Object> entry : properties.entrySet()) {
             exchange.setProperty(entry.getKey(), entry.getValue());

Copied: 
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
 (from r1378463, 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java&r1=1378463&r2=1378464&rev=1378464&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
 Wed Aug 29 07:39:04 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.util;
+package org.apache.camel.builder;
 
 import junit.framework.TestCase;
 


Reply via email to