You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/06/11 09:07:06 UTC

svn commit: r1348725 - /camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java

Author: davsclaus
Date: Mon Jun 11 07:07:06 2012
New Revision: 1348725

URL: http://svn.apache.org/viewvc?rev=1348725&view=rev
Log:
CAMEL-5351: You can now tweet using a StatusUpdate instance. Thanks to Bruno Borges for the patch.

Modified:
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java?rev=1348725&r1=1348724&r2=1348725&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/UserProducer.java Mon Jun 11 07:07:06 2012
@@ -22,10 +22,10 @@ import org.apache.camel.component.twitte
 import org.apache.camel.impl.DefaultProducer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import twitter4j.StatusUpdate;
 
 /**
  * Produces text as a status update.
- * 
  */
 public class UserProducer extends DefaultProducer implements Processor {
 
@@ -39,8 +39,21 @@ public class UserProducer extends Defaul
 
     public void process(Exchange exchange) throws Exception {
         // update user's status
-        String status = exchange.getIn().getBody(String.class);
+        Object in = exchange.getIn().getBody();
+        if (in instanceof StatusUpdate) {
+            updateStatus((StatusUpdate) in);
+        } else {
+            String s = exchange.getIn().getMandatoryBody(String.class);
+            updateStatus(s);
+        }
+    }
+
+    private void updateStatus(StatusUpdate status) throws Exception {
+        te.getTwitter().updateStatus(status);
+        LOG.debug("Updated status: {}", status);
+    }
 
+    private void updateStatus(String status) throws Exception {
         if (status.length() > 160) {
             LOG.warn("Message is longer than 160 characters. Message will be truncated!");
             status = status.substring(0, 160);