OSDN Git Service

指定したワードを含むツイートを取得するためのクラスを作成
authorspark_xp <spark_xp@d8c9ecd3-d47d-4367-8645-de82c00e513f>
Sun, 12 Sep 2010 18:22:54 +0000 (18:22 +0000)
committerspark_xp <spark_xp@d8c9ecd3-d47d-4367-8645-de82c00e513f>
Sun, 12 Sep 2010 18:22:54 +0000 (18:22 +0000)
git-svn-id: http://svn.sourceforge.jp/svnroot/nt-manager/NishioTweetManager/trunk@11 d8c9ecd3-d47d-4367-8645-de82c00e513f

src/TestDriver.java
src/twitter/action/TweetGetter.java
src/twitter/action/TweetSearchResultGetter.java

index 419d6af..28a9d97 100644 (file)
@@ -87,7 +87,7 @@ public class TestDriver {
                TweetManager tweetManager = new TweetManager();
         try {
             tweetManager.loginTwitter();
-            List<Status> status = tweetManager.getSearchResult(100, "tvk");
+            List<Status> status = tweetManager.getNewSearchResult(24303121371L, "tvk");
             for( Status s : status ) {
                 System.out.println( s );
             }
index c775f91..24e98de 100644 (file)
@@ -25,5 +25,5 @@ public interface TweetGetter {
      * 最新のtweet情報を取得
      * @return
      */
-    public List<Status> getNewTweetData(long sinceID);
+    public List<Status> getNewTweetData();
 }
index 7dcfc12..8d265df 100644 (file)
@@ -10,28 +10,59 @@ import twitter.manage.TweetManager;
 import twitter4j.Status;
 
 /**
- * 
+ * 指定したワードを含むツイートを取得する
  * @author nishio
  */
 public class TweetSearchResultGetter implements TweetGetter{
 
     //tweet管理用
     private TweetManager tweetManager;
+    //検索したいワード
+    private String searchWord;
+    //sinceid
+    private long sinceID;
 
     /**
      *
      * @param tweetManager
      */
-    public TweetSearchResultGetter(TweetManager tweetManager) {
-       this.tweetManager = tweetManager;
+    public TweetSearchResultGetter(TweetManager tweetManager, String searchWord) {
+        this.tweetManager = tweetManager;
+        this.searchWord = searchWord;
     }
 
+    /**
+     * 指定したワードのツイートを指定した数だけ取得
+     * @param num
+     * @return
+     */
     public List<Status> getTweetData(int num) {
-        throw new UnsupportedOperationException("Not supported yet.");
+        List<Status> status = tweetManager.getSearchResult(num, searchWord);
+        if( status != null ) {
+            //一番最後のtweetのsinceIDを取得する
+            int lastnum = status.size();
+            if( lastnum > 0 ) {
+                sinceID = status.get(lastnum - 1).getId();
+            }
+        }
+        return status;
     }
 
-    public List<Status> getNewTweetData(long sinceID) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    /**
+     * 指定したワードのツイートの新しく投稿されたものだけを取得
+     * @param sinceID
+     * @return
+     */
+    public List<Status> getNewTweetData() {
+        List<Status> status = tweetManager.getNewSearchResult(this.sinceID, this.searchWord);
+        if( status != null ) {
+            //一番最後のtweetのsinceIDを取得する
+            int lastnum = status.size();
+            if( lastnum > 0 ) {
+                sinceID = status.get(lastnum - 1).getId();
+            }
+        }
+        return status;
     }
 
 }