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 2013/01/02 14:00:39 UTC

svn commit: r1427776 - in /camel/trunk: components/camel-twitter/ components/camel-twitter/src/main/java/org/apache/camel/component/twitter/ components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/search/ components/camel-twi...

Author: davsclaus
Date: Wed Jan  2 13:00:38 2013
New Revision: 1427776

URL: http://svn.apache.org/viewvc?rev=1427776&view=rev
Log:
CAMEL-5921: Upgraded to twitter4j 3.0.x in camel-twitter. This requires some code changes. And some code to be removed that is no longer supported in the API.

Removed:
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/PublicConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/trends/DailyTrendConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/trends/WeeklyTrendConsumer.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/DailyTrendDirectTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/DailyTrendPollingTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/PublicTimeLineDirectTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/PublicTimeLinePollingTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/WeeklyTrendDirectTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/WeeklyTrendPollingTest.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/
Modified:
    camel/trunk/components/camel-twitter/pom.xml
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/Twitter4JFactory.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/consumer/streaming/FilterConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/SampleConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/MentionsConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/ConsumerType.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/producer/SearchProducer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/util/TwitterConverter.java
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchByExchangeDirectTest.java
    camel/trunk/parent/pom.xml

Modified: camel/trunk/components/camel-twitter/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/pom.xml?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/pom.xml (original)
+++ camel/trunk/components/camel-twitter/pom.xml Wed Jan  2 13:00:38 2013
@@ -66,11 +66,6 @@
          <artifactId>slf4j-log4j12</artifactId>
          <scope>test</scope>
       </dependency>
-      <dependency>
-         <groupId>org.easymock</groupId>
-         <artifactId>easymock</artifactId>
-         <scope>test</scope>
-      </dependency>
 
    </dependencies>
    

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/Twitter4JFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/Twitter4JFactory.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/Twitter4JFactory.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/Twitter4JFactory.java Wed Jan  2 13:00:38 2013
@@ -25,15 +25,11 @@ import org.apache.camel.component.twitte
 import org.apache.camel.component.twitter.consumer.streaming.SampleConsumer;
 import org.apache.camel.component.twitter.consumer.timeline.HomeConsumer;
 import org.apache.camel.component.twitter.consumer.timeline.MentionsConsumer;
-import org.apache.camel.component.twitter.consumer.timeline.PublicConsumer;
 import org.apache.camel.component.twitter.consumer.timeline.RetweetsConsumer;
 import org.apache.camel.component.twitter.consumer.timeline.UserConsumer;
-import org.apache.camel.component.twitter.consumer.trends.DailyTrendConsumer;
-import org.apache.camel.component.twitter.consumer.trends.WeeklyTrendConsumer;
 import org.apache.camel.component.twitter.data.ConsumerType;
 import org.apache.camel.component.twitter.data.StreamingType;
 import org.apache.camel.component.twitter.data.TimelineType;
-import org.apache.camel.component.twitter.data.TrendsType;
 import org.apache.camel.component.twitter.producer.DirectMessageProducer;
 import org.apache.camel.component.twitter.producer.SearchProducer;
 import org.apache.camel.component.twitter.producer.UserProducer;
@@ -105,8 +101,6 @@ public final class Twitter4JFactory {
                         return new HomeConsumer(te);
                     case MENTIONS:
                         return new MentionsConsumer(te);
-                    case PUBLIC:
-                        return new PublicConsumer(te);
                     case RETWEETSOFME:
                         return new RetweetsConsumer(te);
                     case USER:
@@ -120,25 +114,13 @@ public final class Twitter4JFactory {
                     }
                 }
                 break;
-            case TRENDS:
-                if (uriSplit.length > 1) {
-                    switch (TrendsType.fromUri(uriSplit[1])) {
-                    case DAILY:
-                        return new DailyTrendConsumer(te);
-                    case WEEKLY:
-                        return new WeeklyTrendConsumer(te);
-                    default:
-                        break;
-                    }
-                }
-                break;
             default:
                 break;
             }
         }
 
-        LOG.warn("A consumer type was not provided (or an incorrect pairing was used).  Defaulting to Public Timeline!");
-        return new PublicConsumer(te);
+        throw new IllegalArgumentException("Cannot create any consumer with uri " + uri
+                + ". A consumer type was not provided (or an incorrect pairing was used).");
     }
 
     public static DefaultProducer getProducer(TwitterEndpoint te, String uri) throws IllegalArgumentException {

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=1427776&r1=1427775&r2=1427776&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 Wed Jan  2 13:00:38 2013
@@ -25,7 +25,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import twitter4j.Query;
 import twitter4j.QueryResult;
-import twitter4j.Tweet;
+import twitter4j.Status;
 import twitter4j.TwitterException;
 
 /**
@@ -39,7 +39,7 @@ public class SearchConsumer extends Twit
         super(te);
     }
 
-    public List<Tweet> pollConsume() throws TwitterException {
+    public List<Status> pollConsume() throws TwitterException {
         String keywords = te.getProperties().getKeywords();
         Query query = new Query(keywords);
         if (te.getProperties().isFilterOld()) {
@@ -49,7 +49,7 @@ public class SearchConsumer extends Twit
         return search(query);
     }
 
-    public List<Tweet> directConsume() throws TwitterException {
+    public List<Status> directConsume() throws TwitterException {
         String keywords = te.getProperties().getKeywords();
         if (keywords == null || keywords.trim().length() == 0) {
             return Collections.emptyList();
@@ -58,12 +58,12 @@ public class SearchConsumer extends Twit
         return search(new Query(keywords));
     }
 
-    private List<Tweet> search(Query query) throws TwitterException {
+    private List<Status> search(Query query) throws TwitterException {
         QueryResult qr = te.getProperties().getTwitter().search(query);
-        List<Tweet> tweets = qr.getTweets();
+        List<Status> tweets = qr.getTweets();
 
         if (te.getProperties().isFilterOld()) {
-            for (Tweet t : tweets) {
+            for (Status t : tweets) {
                 checkLastId(t.getId());
             }
         }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/FilterConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/FilterConsumer.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/FilterConsumer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/FilterConsumer.java Wed Jan  2 13:00:38 2013
@@ -17,8 +17,8 @@
 package org.apache.camel.component.twitter.consumer.streaming;
 
 import org.apache.camel.component.twitter.TwitterEndpoint;
-
 import twitter4j.FilterQuery;
+import twitter4j.StallWarning;
 
 /**
  * Consumes the filter stream
@@ -29,10 +29,16 @@ public class FilterConsumer extends Stre
         super(te);
     }
 
+    @Override
     protected void startStreaming() {
         twitterStream.filter(createFilter(te));
     }
 
+    @Override
+    public void onStallWarning(StallWarning stallWarning) {
+        // noop
+    }
+
     private FilterQuery createFilter(TwitterEndpoint te) {
         FilterQuery filterQuery = new FilterQuery();
         String allLocationsString = te.getProperties().getLocations();
@@ -66,7 +72,6 @@ public class FilterConsumer extends Stre
             throw new IllegalArgumentException("At least one filter parameter is required");
         }
 
-        filterQuery.setIncludeEntities(true);
         return filterQuery;
     }
 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/SampleConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/SampleConsumer.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/SampleConsumer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/SampleConsumer.java Wed Jan  2 13:00:38 2013
@@ -17,6 +17,7 @@
 package org.apache.camel.component.twitter.consumer.streaming;
 
 import org.apache.camel.component.twitter.TwitterEndpoint;
+import twitter4j.StallWarning;
 
 /**
  * Consumes the sample stream
@@ -27,7 +28,13 @@ public class SampleConsumer extends Stre
         super(te);
     }
 
+    @Override
     protected void startStreaming() {
         twitterStream.sample();
     }
+
+    @Override
+    public void onStallWarning(StallWarning stallWarning) {
+        // noop
+    }
 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/MentionsConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/MentionsConsumer.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/MentionsConsumer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/timeline/MentionsConsumer.java Wed Jan  2 13:00:38 2013
@@ -35,7 +35,7 @@ public class MentionsConsumer extends Tw
     }
 
     public List<Status> pollConsume() throws TwitterException {
-        List<Status> list = te.getProperties().getTwitter().getMentions(new Paging(lastId));
+        List<Status> list = te.getProperties().getTwitter().getMentionsTimeline(new Paging(lastId));
         for (Status s : list) {
             checkLastId(s.getId());
         }
@@ -43,6 +43,6 @@ public class MentionsConsumer extends Tw
     }
 
     public List<Status> directConsume() throws TwitterException {
-        return te.getProperties().getTwitter().getMentions();
+        return te.getProperties().getTwitter().getMentionsTimeline();
     }
 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/ConsumerType.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/ConsumerType.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/ConsumerType.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/ConsumerType.java Wed Jan  2 13:00:38 2013
@@ -16,10 +16,9 @@
  */
 package org.apache.camel.component.twitter.data;
 
-
 public enum ConsumerType {
 
-    TIMELINE, SEARCH, TRENDS, DIRECTMESSAGE, STREAMING, UNKNOWN;
+    TIMELINE, SEARCH, DIRECTMESSAGE, STREAMING, UNKNOWN;
 
     public static ConsumerType fromUri(String uri) {
         for (ConsumerType consumerType : ConsumerType.values()) {

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=1427776&r1=1427775&r2=1427776&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 Wed Jan  2 13:00:38 2013
@@ -22,10 +22,9 @@ 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 twitter4j.Query;
 import twitter4j.QueryResult;
-import twitter4j.Tweet;
+import twitter4j.Status;
 import twitter4j.Twitter;
 
 public class SearchProducer extends Twitter4JProducer {
@@ -56,9 +55,9 @@ public class SearchProducer extends Twit
         Twitter twitter = te.getProperties().getTwitter();
         log.debug("Searching twitter with keywords: {}", keywords);
         QueryResult results = twitter.search(query);
-        List<Tweet> list = results.getTweets();
+        List<Status> list = results.getTweets();
 
-        for (Tweet t : list) {
+        for (Status t : list) {
             long newId = t.getId();
             if (newId > lastId) {
                 lastId = newId;

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/util/TwitterConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/util/TwitterConverter.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/util/TwitterConverter.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/util/TwitterConverter.java Wed Jan  2 13:00:38 2013
@@ -19,12 +19,10 @@ package org.apache.camel.component.twitt
 import java.text.ParseException;
 
 import org.apache.camel.Converter;
-
 import twitter4j.DirectMessage;
 import twitter4j.Status;
 import twitter4j.Trend;
 import twitter4j.Trends;
-import twitter4j.Tweet;
 
 /**
  * Utility for converting between Twitter4J and camel-twitter data layers.
@@ -45,14 +43,6 @@ public final class TwitterConverter {
     }
 
     @Converter
-    public static String toString(Tweet tweet) throws ParseException {
-        StringBuilder s = new StringBuilder();
-        s.append(tweet.getCreatedAt()).append(" (").append(tweet.getFromUser()).append(") ");
-        s.append(tweet.getText());
-        return s.toString();
-    }
-
-    @Converter
     public static String toString(DirectMessage dm) throws ParseException {
         StringBuilder s = new StringBuilder();
         s.append(dm.getCreatedAt()).append(" (").append(dm.getSenderScreenName()).append(") ");

Modified: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchByExchangeDirectTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchByExchangeDirectTest.java?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchByExchangeDirectTest.java (original)
+++ camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchByExchangeDirectTest.java Wed Jan  2 13:00:38 2013
@@ -18,7 +18,6 @@ package org.apache.camel.component.twitt
 
 import java.util.List;
 
-import junit.framework.Assert;
 import org.apache.camel.Exchange;
 import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
@@ -84,7 +83,7 @@ public class SearchByExchangeDirectTest 
         templateDouble.sendBodyAndHeader(null, TwitterConstants.TWITTER_KEYWORDS, "java");
 
         // due race condition
-        Assert.assertTrue(mock.getReceivedCounter() >= total);
+        assertTrue(mock.getReceivedCounter() >= total);
     }
 
     protected RouteBuilder createRouteBuilder() {

Modified: camel/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1427776&r1=1427775&r2=1427776&view=diff
==============================================================================
--- camel/trunk/parent/pom.xml (original)
+++ camel/trunk/parent/pom.xml Wed Jan  2 13:00:38 2013
@@ -324,8 +324,8 @@
     <tagsoup-bundle-version>1.2_5</tagsoup-bundle-version>
     <tagsoup-version>1.2.1</tagsoup-version>
     <testng-version>6.8</testng-version>
-    <twitter4j-bundle-version>2.2.5_2</twitter4j-bundle-version>
-    <twitter4j-version>2.2.5</twitter4j-version>
+    <twitter4j-bundle-version>3.0.1_1</twitter4j-bundle-version>
+    <twitter4j-version>3.0.3</twitter4j-version>
     <urlrewritefilter-version>4.0.4</urlrewritefilter-version>
     <velocity-bundle-version>1.7_5</velocity-bundle-version>
     <velocity-tools-version>2.0</velocity-tools-version>