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/01/24 16:55:32 UTC

svn commit: r1235316 - in /camel/trunk/components/camel-twitter/src: main/java/org/apache/camel/component/twitter/ main/java/org/apache/camel/component/twitter/consumer/ main/java/org/apache/camel/component/twitter/consumer/streaming/ main/java/org/apa...

Author: davsclaus
Date: Tue Jan 24 15:55:31 2012
New Revision: 1235316

URL: http://svn.apache.org/viewvc?rev=1235316&view=rev
Log:
CAMEL-4932: camel-twitter improvements. Applied patch from Bilgin.

Added:
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java   (with props)
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java   (with props)
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java   (with props)
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java   (with props)
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java   (with props)
    camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java   (with props)
Modified:
    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/TwitterComponent.java
    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/TwitterEndpointDirect.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointPolling.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/streaming/StreamingConsumer.java
    camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/EndpointType.java

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=1235316&r1=1235315&r2=1235316&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 Tue Jan 24 15:55:31 2012
@@ -156,7 +156,7 @@ public final class Twitter4JFactory {
             switch (ConsumerType.fromUri(uriSplit[0])) {
             case DIRECTMESSAGE:
                 if (te.getProperties().getUser() == null || te.getProperties().getUser().trim().isEmpty()) {
-                    throw new IllegalArgumentException("Producer type set to DIRECT MESSAGE but no recipientuser was set.");
+                    throw new IllegalArgumentException("Producer type set to DIRECT MESSAGE but no recipient user was set.");
                 } else {
                     return new DirectMessageProducer(te);
                 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java?rev=1235316&r1=1235315&r2=1235316&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterComponent.java Tue Jan 24 15:55:31 2012
@@ -37,11 +37,13 @@ public class TwitterComponent extends De
         case POLLING:
             endpoint = new TwitterEndpointPolling(uri, this, properties);
             break;
+        case EVENT:
+            endpoint = new TwitterEndpointEvent(uri, this, properties);
+            break;
         default:
             endpoint = new TwitterEndpointDirect(uri, this, properties);
             break;
         }
-
         return endpoint;
     }
 

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=1235316&r1=1235315&r2=1235316&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 Tue Jan 24 15:55:31 2012
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.twitter;
 
+import twitter4j.Twitter;
+import twitter4j.TwitterFactory;
+import twitter4j.TwitterStream;
+import twitter4j.TwitterStreamFactory;
 import twitter4j.conf.Configuration;
 import twitter4j.conf.ConfigurationBuilder;
 
@@ -31,11 +35,13 @@ public class TwitterConfiguration {
     private String type;
     private String locations;
     private String userIds;
+    private Twitter twitter;
+    private TwitterStream twitterStream;
 
     public void checkComplete() {
-        if (consumerKey.isEmpty() || consumerSecret.isEmpty() || accessToken.isEmpty()
-            || accessTokenSecret.isEmpty()) {
-            throw new IllegalArgumentException("consumerKey, consumerSecret, accessToken, and accessTokenSecret must be set!");
+        if (twitter == null && twitterStream == null
+                && (consumerKey.isEmpty() || consumerSecret.isEmpty() || accessToken.isEmpty() || accessTokenSecret.isEmpty())) {
+            throw new IllegalArgumentException("twitter or twitterStream or all of consumerKey, consumerSecret, accessToken, and accessTokenSecret must be set!");
         }
     }
 
@@ -127,4 +133,33 @@ public class TwitterConfiguration {
     public void setUserIds(String userIds) {
         this.userIds = userIds;
     }
+
+    public Twitter getTwitter() {
+        return twitter;
+    }
+
+    public void setTwitter(Twitter twitter) {
+        this.twitter = twitter;
+    }
+
+    public TwitterStream getTwitterStream() {
+        return twitterStream;
+    }
+
+    public void setTwitterStream(TwitterStream twitterStream) {
+        this.twitterStream = twitterStream;
+    }
+
+    public Twitter getTwitterInstance() {
+        checkComplete();
+        return getTwitter() != null ? getTwitter() : new TwitterFactory(getConfiguration()).getInstance();
+    }
+
+    public TwitterStream getTwitterStreamInstance() {
+        checkComplete();
+        return getTwitterStream() != null ? getTwitterStream() : new TwitterStreamFactory(getConfiguration()).getInstance();
+    }
 }
+
+
+

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointDirect.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointDirect.java?rev=1235316&r1=1235315&r2=1235316&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointDirect.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointDirect.java Tue Jan 24 15:55:31 2012
@@ -51,8 +51,7 @@ public class TwitterEndpointDirect exten
 
     @Override
     protected void doStart() {
-        properties.checkComplete();
-        twitter = new TwitterFactory(properties.getConfiguration()).getInstance();
+        twitter = properties.getTwitterInstance();
     }
 
     public Twitter getTwitter() {

Added: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java (added)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,61 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter;
+
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.component.direct.DirectEndpoint;
+import org.apache.camel.component.twitter.consumer.Twitter4JConsumer;
+import org.apache.camel.component.twitter.consumer.TwitterConsumerEvent;
+
+import twitter4j.Twitter;
+
+public class TwitterEndpointEvent extends DirectEndpoint implements TwitterEndpoint {
+
+    private Twitter twitter;
+    private TwitterConfiguration properties;
+
+    public TwitterEndpointEvent(String uri, TwitterComponent component, TwitterConfiguration properties) {
+        super(uri, component);
+        this.properties = properties;
+    }
+
+    @Override
+    public Consumer createConsumer(Processor processor) throws Exception {
+        Twitter4JConsumer twitter4jConsumer = Twitter4JFactory.getConsumer(this, getEndpointUri());
+        return new TwitterConsumerEvent(this, processor, twitter4jConsumer);
+    }
+
+    @Override
+    public Producer createProducer() throws Exception {
+        throw new UnsupportedOperationException("Producer not supported");
+    }
+
+    @Override
+    protected void doStart() {
+        twitter = properties.getTwitterInstance();
+    }
+
+    public Twitter getTwitter() {
+        return twitter;
+    }
+
+    public TwitterConfiguration getProperties() {
+        return properties;
+    }
+}

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointEvent.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointPolling.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointPolling.java?rev=1235316&r1=1235315&r2=1235316&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointPolling.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/TwitterEndpointPolling.java Tue Jan 24 15:55:31 2012
@@ -54,8 +54,7 @@ public class TwitterEndpointPolling exte
 
     @Override
     protected void doStart() {
-        properties.checkComplete();
-        twitter = new TwitterFactory(properties.getConfiguration()).getInstance();
+        twitter = properties.getTwitterInstance();
     }
 
     public Twitter getTwitter() {

Added: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java (added)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,23 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter.consumer;
+
+import twitter4j.Status;
+
+public interface TweeterStatusListener {
+    void onStatus(Status status);
+}

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TweeterStatusListener.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java (added)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter.consumer;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.component.direct.DirectConsumer;
+import org.apache.camel.component.twitter.TwitterEndpoint;
+import org.apache.camel.component.twitter.consumer.streaming.StreamingConsumer;
+
+import twitter4j.Status;
+
+public class TwitterConsumerEvent extends DirectConsumer implements TwitterConsumer, TweeterStatusListener {
+    private Twitter4JConsumer twitter4jConsumer;
+
+    public TwitterConsumerEvent(TwitterEndpoint endpoint, Processor processor,
+                                 Twitter4JConsumer twitter4jConsumer) {
+        super(endpoint, processor);
+
+        this.twitter4jConsumer = twitter4jConsumer;
+    }
+
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
+        if (twitter4jConsumer instanceof StreamingConsumer) {
+            ((StreamingConsumer)twitter4jConsumer).registerTweetListener(this);
+        }
+    }
+
+    @Override
+    public void onStatus(Status status) {
+        Exchange exchange = getEndpoint().createExchange();
+        exchange.getIn().setBody(status);
+        try {
+            getProcessor().process(exchange);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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=1235316&r1=1235315&r2=1235316&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 Tue Jan 24 15:55:31 2012
@@ -30,10 +30,7 @@ public class FilterConsumer extends Stre
 
     public FilterConsumer(TwitterEndpoint te) {
         super(te);
-        TwitterStream twitterStream = new TwitterStreamFactory(te.getProperties().getConfiguration()).getInstance();
-        twitterStream.addListener(this);
-        FilterQuery filterQuery = createFilter(te);
-        twitterStream.filter(filterQuery);
+        twitterStream.filter(createFilter(te));
     }
 
     private FilterQuery createFilter(TwitterEndpoint te) {

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=1235316&r1=1235315&r2=1235316&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 Tue Jan 24 15:55:31 2012
@@ -29,9 +29,6 @@ public class SampleConsumer extends Stre
 
     public SampleConsumer(TwitterEndpoint te) {
         super(te);
-
-        TwitterStream twitterStream = new TwitterStreamFactory(te.getProperties().getConfiguration()).getInstance();
-        twitterStream.addListener(this);
         twitterStream.sample();
     }
 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/StreamingConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/StreamingConsumer.java?rev=1235316&r1=1235315&r2=1235316&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/StreamingConsumer.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/streaming/StreamingConsumer.java Tue Jan 24 15:55:31 2012
@@ -21,25 +21,31 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.camel.component.twitter.TwitterEndpoint;
+import org.apache.camel.component.twitter.consumer.TweeterStatusListener;
 import org.apache.camel.component.twitter.consumer.Twitter4JConsumer;
 
 import twitter4j.Status;
 import twitter4j.StatusDeletionNotice;
 import twitter4j.StatusListener;
 import twitter4j.TwitterException;
+import twitter4j.TwitterStream;
 
 /**
  * Super class providing consuming capabilities for the streaming API.
  * 
  */
 public class StreamingConsumer extends Twitter4JConsumer implements StatusListener {
-
+    protected final TwitterStream twitterStream;
     TwitterEndpoint te;
     private final List<Status> receivedStatuses = new ArrayList<Status>();
     private volatile boolean clear;
+    private TweeterStatusListener tweeterStatusListener;
+
 
     public StreamingConsumer(TwitterEndpoint te) {
         this.te = te;
+        twitterStream = te.getProperties().getTwitterStreamInstance();
+        twitterStream.addListener(this);
     }
 
     public List<Status> pollConsume() throws TwitterException {
@@ -58,11 +64,15 @@ public class StreamingConsumer extends T
 
     @Override
     public void onStatus(Status status) {
-        if (clear) {
-            receivedStatuses.clear();
-            clear = false;
+        if (tweeterStatusListener != null) {
+            tweeterStatusListener.onStatus(status);
+        } else {
+            if (clear) {
+                receivedStatuses.clear();
+                clear = false;
+            }
+            receivedStatuses.add(status);
         }
-        receivedStatuses.add(status);
     }
 
     @Override
@@ -77,4 +87,7 @@ public class StreamingConsumer extends T
     public void onScrubGeo(long userId, long upToStatusId) {
     }
 
+    public void registerTweetListener(TweeterStatusListener tweeterStatusListener) {
+        this.tweeterStatusListener = tweeterStatusListener;
+    }
 }

Modified: camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/EndpointType.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/EndpointType.java?rev=1235316&r1=1235315&r2=1235316&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/EndpointType.java (original)
+++ camel/trunk/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/data/EndpointType.java Tue Jan 24 15:55:31 2012
@@ -18,7 +18,7 @@ package org.apache.camel.component.twitt
 
 public enum EndpointType {
 
-    POLLING, DIRECT;
+    POLLING, DIRECT, EVENT;
 
     public static EndpointType fromUri(String uri) {
         for (EndpointType endpointType : EndpointType.values()) {

Added: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java (added)
+++ camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,163 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter.mocks;
+
+import java.util.Date;
+
+import twitter4j.Annotations;
+import twitter4j.GeoLocation;
+import twitter4j.HashtagEntity;
+import twitter4j.MediaEntity;
+import twitter4j.Place;
+import twitter4j.RateLimitStatus;
+import twitter4j.Status;
+import twitter4j.URLEntity;
+import twitter4j.User;
+import twitter4j.UserMentionEntity;
+
+public class StatusMock implements Status {
+    private final String text;
+
+    public StatusMock(String text) {
+        this.text = text;
+    }
+
+    @Override
+    public int compareTo(Status status) {
+        return 0;
+    }
+
+    @Override
+    public Date getCreatedAt() {
+        return null;
+    }
+
+    @Override
+    public long getId() {
+        return 0;
+    }
+
+    @Override
+    public String getText() {
+        return text;
+    }
+
+    @Override
+    public String getSource() {
+        return null;
+    }
+
+    @Override
+    public boolean isTruncated() {
+        return false;
+    }
+
+    @Override
+    public long getInReplyToStatusId() {
+        return 0;
+    }
+
+    @Override
+    public long getInReplyToUserId() {
+        return 0;
+    }
+
+    @Override
+    public String getInReplyToScreenName() {
+        return null;
+    }
+
+    @Override
+    public GeoLocation getGeoLocation() {
+        return null;
+    }
+
+    @Override
+    public Place getPlace() {
+        return null;
+    }
+
+    @Override
+    public boolean isFavorited() {
+        return false;
+    }
+
+    @Override
+    public User getUser() {
+        return null;
+    }
+
+    @Override
+    public boolean isRetweet() {
+        return false;
+    }
+
+    @Override
+    public Status getRetweetedStatus() {
+        return null;
+    }
+
+    @Override
+    public long[] getContributors() {
+        return new long[0];
+    }
+
+    @Override
+    public long getRetweetCount() {
+        return 0;
+    }
+
+    @Override
+    public boolean isRetweetedByMe() {
+        return false;
+    }
+
+    @Override
+    public Annotations getAnnotations() {
+        return null;
+    }
+
+    @Override
+    public UserMentionEntity[] getUserMentionEntities() {
+        return new UserMentionEntity[0];
+    }
+
+    @Override
+    public URLEntity[] getURLEntities() {
+        return new URLEntity[0];
+    }
+
+    @Override
+    public HashtagEntity[] getHashtagEntities() {
+        return new HashtagEntity[0];
+    }
+
+    @Override
+    public MediaEntity[] getMediaEntities() {
+        return new MediaEntity[0];
+    }
+
+    @Override
+    public RateLimitStatus getRateLimitStatus() {
+        return null;
+    }
+
+    @Override
+    public int getAccessLevel() {
+        return 0;
+    }
+}

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java (added)
+++ camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,1021 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter.mocks;
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.Date;
+
+import twitter4j.AccountSettings;
+import twitter4j.AccountTotals;
+import twitter4j.Category;
+import twitter4j.DirectMessage;
+import twitter4j.Friendship;
+import twitter4j.GeoLocation;
+import twitter4j.GeoQuery;
+import twitter4j.IDs;
+import twitter4j.Location;
+import twitter4j.PagableResponseList;
+import twitter4j.Paging;
+import twitter4j.Place;
+import twitter4j.ProfileImage;
+import twitter4j.Query;
+import twitter4j.QueryResult;
+import twitter4j.RateLimitStatus;
+import twitter4j.RateLimitStatusListener;
+import twitter4j.RelatedResults;
+import twitter4j.Relationship;
+import twitter4j.ResponseList;
+import twitter4j.SavedSearch;
+import twitter4j.SimilarPlaces;
+import twitter4j.Status;
+import twitter4j.StatusUpdate;
+import twitter4j.Trends;
+import twitter4j.Twitter;
+import twitter4j.TwitterAPIConfiguration;
+import twitter4j.TwitterException;
+import twitter4j.User;
+import twitter4j.UserList;
+import twitter4j.auth.AccessToken;
+import twitter4j.auth.Authorization;
+import twitter4j.auth.RequestToken;
+import twitter4j.conf.Configuration;
+
+public class TwitterMock implements Twitter {
+    @Override
+    public String getScreenName() throws TwitterException, IllegalStateException {
+        return null;
+    }
+
+    @Override
+    public long getId() throws TwitterException, IllegalStateException {
+        return 0;
+    }
+
+    @Override
+    public void addRateLimitStatusListener(RateLimitStatusListener listener) {
+
+    }
+
+    @Override
+    public Authorization getAuthorization() {
+        return null;
+    }
+
+    @Override
+    public Configuration getConfiguration() {
+        return null;
+    }
+
+    @Override
+    public void shutdown() {
+
+    }
+
+    @Override
+    public User verifyCredentials() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RateLimitStatus getRateLimitStatus() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfileColors(String profileBackgroundColor, String profileTextColor,
+                                    String profileLinkColor, String profileSidebarFillColor,
+                                    String profileSidebarBorderColor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfileImage(File image) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfileImage(InputStream image) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfileBackgroundImage(File image, boolean tile) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfileBackgroundImage(InputStream image, boolean tile) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User updateProfile(String name, String url, String location, String description)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccountTotals getAccountTotals() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccountSettings getAccountSettings() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccountSettings updateAccountSettings(Integer trendLocationWoeid, Boolean sleepTimeEnabled,
+                                                 String startSleepTime, String endSleepTime, String timeZone,
+                                                 String lang) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createBlock(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createBlock(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User destroyBlock(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User destroyBlock(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public boolean existsBlock(String screenName) throws TwitterException {
+        return false;
+    }
+
+    @Override
+    public boolean existsBlock(long userId) throws TwitterException {
+        return false;
+    }
+
+    @Override
+    public ResponseList<User> getBlockingUsers() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> getBlockingUsers(int page) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getBlockingUsersIDs() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<DirectMessage> getDirectMessages() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<DirectMessage> getDirectMessages(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<DirectMessage> getSentDirectMessages() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<DirectMessage> getSentDirectMessages(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public DirectMessage sendDirectMessage(String screenName, String text) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public DirectMessage sendDirectMessage(long userId, String text) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public DirectMessage destroyDirectMessage(long id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public DirectMessage showDirectMessage(long id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites(int page) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites(String id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites(String id, int page) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFavorites(String id, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status createFavorite(long id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status destroyFavorite(long id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFriendsIDs(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFriendsIDs(long userId, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFriendsIDs(String screenName, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFollowersIDs(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFollowersIDs(long userId, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getFollowersIDs(String screenName, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createFriendship(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createFriendship(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createFriendship(String screenName, boolean follow) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User createFriendship(long userId, boolean follow) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User destroyFriendship(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User destroyFriendship(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public boolean existsFriendship(String userA, String userB) throws TwitterException {
+        return false;
+    }
+
+    @Override
+    public Relationship showFriendship(String sourceScreenName, String targetScreenName)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Relationship showFriendship(long sourceId, long targetId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getIncomingFriendships(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getOutgoingFriendships(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Friendship> lookupFriendships(String[] screenNames) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Friendship> lookupFriendships(long[] ids) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Relationship updateFriendship(String screenName, boolean enableDeviceNotification,
+                                         boolean retweets) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Relationship updateFriendship(long userId, boolean enableDeviceNotification, boolean retweets)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getNoRetweetIds() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Place> searchPlaces(GeoQuery query) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public SimilarPlaces getSimilarPlaces(GeoLocation location, String name, String containedWithin,
+                                          String streetAddress) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Place> reverseGeoCode(GeoQuery query) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Place getGeoDetails(String id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Place createPlace(String name, String containedWithin, String token, GeoLocation location,
+                             String streetAddress) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public boolean test() throws TwitterException {
+        return false;
+    }
+
+    @Override
+    public TwitterAPIConfiguration getAPIConfiguration() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Language> getLanguages() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public String getTermsOfService() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public String getPrivacyPolicy() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getUserListMembers(String listOwnerScreenName, int listId, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getUserListMembers(long listOwnerId, int listId, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getUserListMembers(int listId, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList addUserListMember(int listId, long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList addUserListMembers(int listId, long[] userIds) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList addUserListMembers(int listId, String[] screenNames) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList deleteUserListMember(int listId, long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User checkUserListMembership(String listOwnerScreenName, int listId, long userId)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User showUserListMembership(int listId, long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList createUserList(String listName, boolean isPublicList, String description)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList updateUserList(int listId, String newListName, boolean isPublicList,
+                                   String newDescription) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserLists(String listOwnerScreenName, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserLists(long listOwnerUserId, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList showUserList(String listOwnerScreenName, int id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList showUserList(int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList destroyUserList(int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserListStatuses(String listOwnerScreenName, int id, Paging paging)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserListStatuses(long listOwnerId, int id, Paging paging)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserListStatuses(int listId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListMemberships(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListMemberships(long listMemberId, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListMemberships(String listMemberScreenName, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListMemberships(String listMemberScreenName, long cursor,
+                                                                boolean filterToOwnedLists)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListMemberships(long listMemberId, long cursor,
+                                                                boolean filterToOwnedLists)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<UserList> getUserListSubscriptions(String listOwnerScreenName, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<UserList> getAllUserLists(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<UserList> getAllUserLists(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getUserListSubscribers(String listOwnerScreenName, int listId,
+                                                            long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getUserListSubscribers(int listId, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList subscribeUserList(String listOwnerScreenName, int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList createUserListSubscription(int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList unsubscribeUserList(String listOwnerScreenName, int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserList destroyUserListSubscription(int listId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User checkUserListSubscription(String listOwnerScreenName, int listId, long userId)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User showUserListSubscription(int listId, long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Location> getAvailableTrends() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Location> getAvailableTrends(GeoLocation location) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Trends getLocationTrends(int woeid) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RelatedResults getRelatedResults(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User enableNotification(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User enableNotification(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User disableNotification(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User disableNotification(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void setOAuthConsumer(String consumerKey, String consumerSecret) {
+
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken(String callbackURL) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken(String callbackURL, String xAuthAccessType)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(String oauthVerifier) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(RequestToken requestToken) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(RequestToken requestToken, String oauthVerifier)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(String screenName, String password) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void setOAuthAccessToken(AccessToken accessToken) {
+
+    }
+
+    @Override
+    public ResponseList<SavedSearch> getSavedSearches() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public SavedSearch showSavedSearch(int id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public SavedSearch createSavedSearch(String query) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public SavedSearch destroySavedSearch(int id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public QueryResult search(Query query) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User reportSpam(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User reportSpam(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status showStatus(long id) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status updateStatus(String status) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status updateStatus(StatusUpdate latestStatus) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status destroyStatus(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public Status retweetStatus(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweets(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> getRetweetedBy(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> getRetweetedBy(long statusId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getRetweetedByIDs(long statusId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public IDs getRetweetedByIDs(long statusId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getPublicTimeline() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getHomeTimeline() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getHomeTimeline(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFriendsTimeline() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getFriendsTimeline(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline(String screenName, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline(long userId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getUserTimeline(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getMentions() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getMentions(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedByMe() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedByMe(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedToMe() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedToMe(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetsOfMe() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetsOfMe(Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedToUser(String screenName, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedToUser(long userId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedByUser(String screenName, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Status> getRetweetedByUser(long userId, Paging paging) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Trends> getDailyTrends() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Trends> getDailyTrends(Date date, boolean excludeHashTags) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Trends> getWeeklyTrends() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Trends> getWeeklyTrends(Date date, boolean excludeHashTags) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User showUser(String screenName) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public User showUser(long userId) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> lookupUsers(String[] screenNames) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> lookupUsers(long[] ids) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> searchUsers(String query, int page) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<Category> getSuggestedUserCategories() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> getUserSuggestions(String categorySlug) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ResponseList<User> getMemberSuggestions(String categorySlug) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public ProfileImage getProfileImage(String screenName, ProfileImage.ImageSize size)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFriendsStatuses(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFriendsStatuses(String screenName, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFriendsStatuses(long userId, long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFollowersStatuses(long cursor) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFollowersStatuses(String screenName, long cursor)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public PagableResponseList<User> getFollowersStatuses(long userId, long cursor) throws TwitterException {
+        return null;
+    }
+}

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java?rev=1235316&view=auto
==============================================================================
--- camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java (added)
+++ camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java Tue Jan 24 15:55:31 2012
@@ -0,0 +1,223 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.twitter.mocks;
+
+import twitter4j.ConnectionLifeCycleListener;
+import twitter4j.FilterQuery;
+import twitter4j.RateLimitStatusListener;
+import twitter4j.SiteStreamsListener;
+import twitter4j.StatusListener;
+import twitter4j.StatusStream;
+import twitter4j.TwitterException;
+import twitter4j.TwitterStream;
+import twitter4j.UserStream;
+import twitter4j.UserStreamListener;
+import twitter4j.auth.AccessToken;
+import twitter4j.auth.Authorization;
+import twitter4j.auth.RequestToken;
+import twitter4j.conf.Configuration;
+
+public class TwitterStreamMock implements TwitterStream {
+    private StatusListener statusListener;
+
+    public void updateStatus(String text) {
+        statusListener.onStatus(new StatusMock(text));
+    }
+
+    @Override
+    public void addConnectionLifeCycleListener(ConnectionLifeCycleListener listener) {
+
+    }
+
+    @Override
+    public void addListener(UserStreamListener listener) {
+
+    }
+
+    @Override
+    public void addListener(StatusListener listener) {
+        this.statusListener = listener;
+    }
+
+    @Override
+    public void addListener(SiteStreamsListener listener) {
+
+    }
+
+    @Override
+    public void firehose(int count) {
+
+    }
+
+    @Override
+    public StatusStream getFirehoseStream(int count) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void links(int count) {
+
+    }
+
+    @Override
+    public StatusStream getLinksStream(int count) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void retweet() {
+
+    }
+
+    @Override
+    public StatusStream getRetweetStream() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void sample() {
+
+    }
+
+    @Override
+    public StatusStream getSampleStream() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void user() {
+
+    }
+
+    @Override
+    public void user(String[] track) {
+
+    }
+
+    @Override
+    public UserStream getUserStream() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public UserStream getUserStream(String[] track) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void site(boolean withFollowings, long[] follow) {
+
+    }
+
+    @Override
+    public void filter(FilterQuery query) {
+
+    }
+
+    @Override
+    public StatusStream getFilterStream(FilterQuery query) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void cleanUp() {
+
+    }
+
+    @Override
+    public String getScreenName() throws TwitterException, IllegalStateException {
+        return null;
+    }
+
+    @Override
+    public long getId() throws TwitterException, IllegalStateException {
+        return 0;
+    }
+
+    @Override
+    public void addRateLimitStatusListener(RateLimitStatusListener listener) {
+
+    }
+
+    @Override
+    public Authorization getAuthorization() {
+        return null;
+    }
+
+    @Override
+    public Configuration getConfiguration() {
+        return null;
+    }
+
+    @Override
+    public void shutdown() {
+
+    }
+
+    @Override
+    public void setOAuthConsumer(String consumerKey, String consumerSecret) {
+
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken(String callbackURL) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public RequestToken getOAuthRequestToken(String callbackURL, String xAuthAccessType)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken() throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(String oauthVerifier) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(RequestToken requestToken) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(RequestToken requestToken, String oauthVerifier)
+        throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public AccessToken getOAuthAccessToken(String screenName, String password) throws TwitterException {
+        return null;
+    }
+
+    @Override
+    public void setOAuthAccessToken(AccessToken accessToken) {
+
+    }
+
+}

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date