You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/01/21 08:33:42 UTC

svn commit: r1436215 - in /camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter: TwitterConfiguration.java TwitterConstants.java consumer/search/SearchConsumer.java producer/SearchProducer.java

Author: ningjiang
Date: Mon Jan 21 07:33:42 2013
New Revision: 1436215

URL: http://svn.apache.org/viewvc?rev=1436215&view=rev
Log:
CAMEL-5984 Specification of the language for the search Consumer and Producer with thanks to Luca

Modified:
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConfiguration.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConstants.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/SearchConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConfiguration.java?rev=1436215&r1=1436214&r2=1436215&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConfiguration.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConfiguration.java Mon Jan 21 07:33:42 2013
@@ -81,6 +81,11 @@ public class TwitterConfiguration {
      * Used to set the sinceId from pulling
      */
     private long sinceId  = 1;
+
+    /**
+     * Used ot set the preferred language on which to search
+     */
+    private String lang;
     
     private Date parsedDate;
     private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -259,6 +264,13 @@ public class TwitterConfiguration {
         this.sinceId = sinceId;
     }
 
+    public String getLang() {
+        return lang;
+    }
+
+    public void setLang(String lang) {
+        this.lang = lang;
+    }
 }
 
 

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConstants.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConstants.java?rev=1436215&r1=1436214&r2=1436215&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConstants.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterConstants.java Mon Jan 21 07:33:42 2013
@@ -23,6 +23,8 @@ public final class TwitterConstants {
 
     public static final String TWITTER_KEYWORDS = "CamelTwitterKeywords";
 
+    public static final String TWITTER_SEARCH_LANGUAGE = "CamelTwitterSearchLanguage";
+
     private TwitterConstants() {
         // utility
     }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/SearchConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/SearchConsumer.java?rev=1436215&r1=1436214&r2=1436215&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/SearchConsumer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/SearchConsumer.java Mon Jan 21 07:33:42 2013
@@ -21,6 +21,7 @@ import java.util.List;
 
 import org.apache.camel.component.twitter.TwitterEndpoint;
 import org.apache.camel.component.twitter.consumer.Twitter4JConsumer;
+import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import twitter4j.Query;
@@ -45,6 +46,9 @@ public class SearchConsumer extends Twit
         if (te.getProperties().isFilterOld()) {
             query.setSinceId(lastId);
         }
+        if (ObjectHelper.isNotEmpty(te.getProperties().getLang())) {
+            query.setLang(te.getProperties().getLang());
+        }
         LOG.debug("Searching twitter with keywords: {}", keywords);
         return search(query);
     }
@@ -54,8 +58,12 @@ public class SearchConsumer extends Twit
         if (keywords == null || keywords.trim().length() == 0) {
             return Collections.emptyList();
         }
+        Query query = new Query(keywords);
+        if (ObjectHelper.isNotEmpty(te.getProperties().getLang())) {
+            query.setLang(te.getProperties().getLang());
+        }
         LOG.debug("Searching twitter with keywords: {}", keywords);
-        return search(new Query(keywords));
+        return search(query);
     }
 
     private List<Status> search(Query query) throws TwitterException {

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java?rev=1436215&r1=1436214&r2=1436215&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java Mon Jan 21 07:33:42 2013
@@ -22,6 +22,7 @@ import org.apache.camel.CamelExchangeExc
 import org.apache.camel.Exchange;
 import org.apache.camel.component.twitter.TwitterConstants;
 import org.apache.camel.component.twitter.TwitterEndpoint;
+import org.apache.camel.util.ObjectHelper;
 import twitter4j.Query;
 import twitter4j.QueryResult;
 import twitter4j.Status;
@@ -47,11 +48,20 @@ public class SearchProducer extends Twit
         if (keywords == null) {
             throw new CamelExchangeException("No keywords to use for query", exchange);
         }
-
+        
         Query query = new Query(keywords);
         if (te.getProperties().isFilterOld() && myLastId != 0) {
             query.setSinceId(myLastId);
         }
+        
+        String lang = exchange.getIn().getHeader(TwitterConstants.TWITTER_SEARCH_LANGUAGE, String.class);
+        if (lang == null) {
+            lang = te.getProperties().getLang();
+        }
+
+        if (ObjectHelper.isNotEmpty(lang)) {
+            query.setLang(lang);
+        }
 
         Twitter twitter = te.getProperties().getTwitter();
         log.debug("Searching twitter with keywords: {}", keywords);