You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2009/06/25 17:59:27 UTC

svn commit: r788410 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/util/ components/camel-irc/src/main/java/org/apache/camel/component/irc/ components/camel-mail/src/main/java/org/apache/camel/component/mail/ components/camel-xmpp/src/mai...

Author: hadrian
Date: Thu Jun 25 15:59:27 2009
New Revision: 788410

URL: http://svn.apache.org/viewvc?rev=788410&view=rev
Log:
CAMEL-1078. Added ExchangeHelper.getBinding() per cibsen's suggestion as the code is reused in a few components.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java
    camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java
    camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
    camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java?rev=788410&r1=788409&r2=788410&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java Thu Jun 25 15:59:27 2009
@@ -69,6 +69,16 @@
         return answer;
     }
 
+    /**
+     * Extracts the Exchange.BINDING of the given type or null if not present
+     *
+     * @param exchange the message exchange
+     * @param type the expected binding type
+     * @return the binding object of the given type or null if it could not be found or converted
+     */
+    public static <T> T getBinding(Exchange exchange, Class<T> type) {
+        return exchange != null ? (T) exchange.getProperty(Exchange.BINDING, type) : null;
+    }
 
     /**
      * Attempts to resolve the endpoint for the given value

Modified: camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java?rev=788410&r1=788409&r2=788410&view=diff
==============================================================================
--- camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java (original)
+++ camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java Thu Jun 25 15:59:27 2009
@@ -20,7 +20,7 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultMessage;
-
+import org.apache.camel.util.ExchangeHelper;
 import org.schwering.irc.lib.IRCUser;
 
 public class IrcMessage extends DefaultMessage {
@@ -103,7 +103,7 @@
     @Override
     protected Object createBody() {
         Exchange exchange = getExchange();
-        IrcBinding binding = exchange != null ? (IrcBinding)exchange.getProperty(Exchange.BINDING) : null;
+        IrcBinding binding = ExchangeHelper.getBinding(getExchange(), IrcBinding.class);
         return binding != null ? binding.extractBodyFromIrc(exchange, this) : null;
     }
 

Modified: camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java?rev=788410&r1=788409&r2=788410&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java (original)
+++ camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java Thu Jun 25 15:59:27 2009
@@ -29,6 +29,7 @@
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultMessage;
 import org.apache.camel.util.CollectionHelper;
+import org.apache.camel.util.ExchangeHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -93,7 +94,7 @@
     @Override
     protected Object createBody() {
         if (mailMessage != null) {
-            MailBinding binding = (MailBinding) getExchange().getProperty(Exchange.BINDING);
+            MailBinding binding = ExchangeHelper.getBinding(getExchange(), MailBinding.class);
             return binding != null ? binding.extractBodyFromMail(getExchange(), mailMessage) : null;
         }
         return null;
@@ -103,7 +104,7 @@
     protected void populateInitialHeaders(Map<String, Object> map) {
         if (mailMessage != null) {
             try {
-                MailBinding binding = (MailBinding) getExchange().getProperty(Exchange.BINDING);
+                MailBinding binding = ExchangeHelper.getBinding(getExchange(), MailBinding.class);
                 if (binding != null) {
                     map.putAll(binding.extractHeadersFromMail(mailMessage, getExchange()));
                 }

Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java?rev=788410&r1=788409&r2=788410&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java Thu Jun 25 15:59:27 2009
@@ -20,6 +20,7 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultMessage;
+import org.apache.camel.util.ExchangeHelper;
 
 import org.jivesoftware.smack.packet.Message;
 
@@ -67,7 +68,7 @@
     @Override
     protected Object createBody() {
         if (xmppMessage != null) {
-            XmppBinding binding = (XmppBinding) getExchange().getProperty(Exchange.BINDING);
+            XmppBinding binding = ExchangeHelper.getBinding(getExchange(), XmppBinding.class);
             if (binding != null) {
                 binding.extractBodyFromXmpp(getExchange(), xmppMessage);
             }
@@ -78,7 +79,7 @@
     @Override
     protected void populateInitialHeaders(Map<String, Object> map) {
         if (xmppMessage != null) {
-            XmppBinding binding = (XmppBinding) getExchange().getProperty(Exchange.BINDING);
+            XmppBinding binding = ExchangeHelper.getBinding(getExchange(), XmppBinding.class);
             if (binding != null) {
                 map.putAll(binding.extractHeadersFromXmpp(xmppMessage, getExchange()));
             }