• R/O
  • SSH
  • HTTPS

nt-manager: Commit


Commit MetaInfo

Revision170 (tree)
Time2011-08-24 03:08:09
Authorspark_xp

Log Message

タブを閉じたときにStreamingAPIの更新もストップするようにした

Change Summary

Incremental Difference

--- NishioTweetManager/trunk/src/twitter/gui/component/TweetTabbedTable.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/gui/component/TweetTabbedTable.java (revision 170)
@@ -587,6 +587,22 @@
587587 }
588588
589589 /**
590+ * tweetGetterを取得します。
591+ * @return tweetGetter
592+ */
593+ public TweetGetter getTweetGetter() {
594+ return tweetGetter;
595+ }
596+
597+ /**
598+ * tweetGetterを設定します。
599+ * @param tweetGetter tweetGetter
600+ */
601+ public void setTweetGetter(TweetGetter tweetGetter) {
602+ this.tweetGetter = tweetGetter;
603+ }
604+
605+ /**
590606 * @return the title
591607 */
592608 public String getTitle() {
--- NishioTweetManager/trunk/src/twitter/gui/action/TweetMainAction.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/gui/action/TweetMainAction.java (revision 170)
@@ -874,29 +874,7 @@
874874 break;
875875 }
876876 }
877-
878- if (deleteTabIndex >= 0) {
879- int selected = this.tweetTabbedTableList.get(deleteTabIndex)
880- .getTabSetNum();
881- // タブを削除
882- this.tweetMainTab.remove(selected);
883- // 削除
884- this.tweetTabbedTableList.remove(deleteTabIndex);
885- // 自動更新しているタブを削除
886- this.tweetTaskManager.shutdownTask(timerID);
887- // ID削除
888- TimerID idManager = TimerID.getInstance();
889- idManager.removeID(timerID);
890-
891- // checkboxの状態更新
892- this.updateCheckboxInformation();
893- //設定保存
894- try {
895- saveProperties();
896- } catch (IOException e) {
897- e.printStackTrace();
898- }
899- }
877+ actionRemoveTabbedTable(deleteTabIndex);
900878 }
901879
902880 /**
@@ -927,6 +905,16 @@
927905 String timerID = this.tweetTabbedTableList.get(deleteTabIndex)
928906 .getTimerID();
929907 // 削除
908+ TweetTabbedTable table = this.tweetTabbedTableList.get(deleteTabIndex);
909+ if( table != null ) {
910+ //streaming api使っている場合はlistenerをストップ
911+ TweetGetter getter = table.getTweetGetter();
912+ if( getter != null ) {
913+ //streaming apiのストップ
914+ getter.stopUpdateListener();
915+ }
916+ }
917+ // 削除
930918 this.tweetTabbedTableList.remove(deleteTabIndex);
931919 // 自動更新しているタブを削除
932920 this.tweetTaskManager.shutdownTask(timerID);
--- NishioTweetManager/trunk/src/twitter/manage/TweetSearchStream.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/manage/TweetSearchStream.java (revision 170)
@@ -107,6 +107,7 @@
107107 TweetStreamingListener listener = listeners.get(word);
108108 listener.update(status);
109109 }
110+ System.out.println("WORD:" + word + " searching -- " + status.getText());
110111 }
111112 }
112113
--- NishioTweetManager/trunk/src/twitter/manage/TweetUserStreamManager.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/manage/TweetUserStreamManager.java (revision 170)
@@ -44,6 +44,13 @@
4444 }
4545
4646 /**
47+ * タイムライン監視リスナーを削除
48+ */
49+ public void stopTimelineListener() {
50+ this.userStream.setTimelineListener(null);
51+ }
52+
53+ /**
4754 * Mentionを監視するリスナー
4855 * @param listener
4956 * @param notifyManager メッセージをバルーン通知するためのマネージャー, nullなら通知しない
@@ -54,6 +61,14 @@
5461 }
5562
5663 /**
64+ * Mentionを監視するリスナーをストップ
65+ */
66+ public void stopMentionListener() {
67+ this.userStream.setMentionListener(null);
68+ this.userStream.setMentionNotifyManager(null);
69+ }
70+
71+ /**
5772 * 検索ワードを監視するリスナー
5873 * @param word
5974 * @param listener
@@ -61,4 +76,12 @@
6176 public void setSearchListener(String word, TweetStreamingListener listener) {
6277 searchStream.addSearchWord(word, listener);
6378 }
79+
80+ /**
81+ * 検索ワードを監視するリスナーを停止
82+ * @param word
83+ */
84+ public void stopSearchListener(String word) {
85+ searchStream.removeSearchWord(word);
86+ }
6487 }
--- NishioTweetManager/trunk/src/twitter/action/TweetListGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetListGetter.java (revision 170)
@@ -68,5 +68,12 @@
6868 // TODO 自動生成されたメソッド・スタブ
6969
7070 }
71+
72+ /**
73+ * streaming api有効時のアップデートを受け取るlistenerを削除
74+ */
75+ public void stopUpdateListener() {
76+ //TODO
77+ }
7178
7279 }
--- NishioTweetManager/trunk/src/twitter/action/TweetDirectMessageGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetDirectMessageGetter.java (revision 170)
@@ -93,5 +93,12 @@
9393
9494 }
9595
96+ /**
97+ * streaming api有効時のアップデートを受け取るlistenerを削除
98+ */
99+ public void stopUpdateListener() {
100+ //TODO
101+ }
102+
96103 }
97104
--- NishioTweetManager/trunk/src/twitter/action/TweetFavoriteGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetFavoriteGetter.java (revision 170)
@@ -83,4 +83,11 @@
8383
8484 }
8585
86+ /**
87+ * streaming api有効時のアップデートを受け取るlistenerを削除
88+ */
89+ public void stopUpdateListener() {
90+ //TODO
91+ }
92+
8693 }
\ No newline at end of file
--- NishioTweetManager/trunk/src/twitter/action/TweetGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetGetter.java (revision 170)
@@ -30,8 +30,13 @@
3030 public List<Status> getNewTweetData();
3131
3232 /**
33- * streaming api有効時、アップデートを受け取るlisterをセット
33+ * streaming api有効時、アップデートを受け取るlistenerをセット
3434 * @param listener
3535 */
3636 public void setUpdateListener(TweetStreamingListener listener);
37+
38+ /**
39+ * streaming api有効時のアップデートを受け取るlistenerを削除
40+ */
41+ public void stopUpdateListener();
3742 }
--- NishioTweetManager/trunk/src/twitter/action/TweetSearchResultGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetSearchResultGetter.java (revision 170)
@@ -7,6 +7,8 @@
77
88 import java.util.List;
99
10+import javax.xml.bind.Marshaller.Listener;
11+
1012 import twitter.action.streaming.TweetStreamingListener;
1113 import twitter.manage.TweetManager;
1214 import twitter4j.Status;
@@ -74,4 +76,11 @@
7476 }
7577 }
7678
79+ /**
80+ * streaming api有効時のアップデートを受け取るlistenerを削除
81+ */
82+ public void stopUpdateListener() {
83+ tweetManager.getStreamManager().stopSearchListener(this.searchWord);
84+ }
85+
7786 }
--- NishioTweetManager/trunk/src/twitter/action/TweetUserTimelineGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetUserTimelineGetter.java (revision 170)
@@ -89,4 +89,11 @@
8989
9090 }
9191
92+ /**
93+ * streaming api有効時のアップデートを受け取るlistenerを削除
94+ */
95+ public void stopUpdateListener() {
96+ //TODO
97+ }
98+
9299 }
\ No newline at end of file
--- NishioTweetManager/trunk/src/twitter/action/TweetTimelineGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetTimelineGetter.java (revision 170)
@@ -95,5 +95,11 @@
9595 }
9696 }
9797
98+ /**
99+ * streaming api有効時のアップデートを受け取るlistenerを削除
100+ */
101+ public void stopUpdateListener() {
102+ this.tweetManager.getStreamManager().stopTimelineListener();
103+ }
98104 }
99105
--- NishioTweetManager/trunk/src/twitter/action/TweetMentionGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetMentionGetter.java (revision 170)
@@ -96,4 +96,11 @@
9696 }
9797 }
9898
99+ /**
100+ * streaming api有効時のアップデートを受け取るlistenerを削除
101+ */
102+ public void stopUpdateListener() {
103+ this.tweetManager.getStreamManager().stopMentionListener();
104+ }
105+
99106 }
--- NishioTweetManager/trunk/src/twitter/action/TweetSendDirectMessageGetter.java (revision 169)
+++ NishioTweetManager/trunk/src/twitter/action/TweetSendDirectMessageGetter.java (revision 170)
@@ -68,6 +68,13 @@
6868 // TODO 自動生成されたメソッド・スタブ
6969
7070 }
71+
72+ /**
73+ * streaming api有効時のアップデートを受け取るlistenerを削除
74+ */
75+ public void stopUpdateListener() {
76+ //TODO
77+ }
7178
7279 }
7380
Show on old repository browser