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()));
}