Changeset 15143

Show
Ignore:
Timestamp:
07/04/08 12:48:31 (5 months ago)
Author:
yamashiro
Message:

マルチサービスでうまく動くようにしてコミットした。

Location:
platform/eclipse/sabotter/trunk
Files:
7 added
26 modified
1 moved

Legend:

Unmodified
Added
Removed
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/MiniblogEntry.java

    r15108 r15143  
    1414        /** 
    1515         * サービスIDを取得する。 
     16         *  
    1617         * @return サービスID 
    1718         */ 
     
    7273         *  
    7374         * ダイレクトメッセージであれば、常に<code>true</code>を返す。 
    74          * @param myId  
    7575         *  
    7676         * @return 自分宛返信であれば<code>true</code> 
    7777         */ 
    78         boolean isMessageToMe(String myId); 
     78        boolean isMessageToMe(); 
    7979         
    8080        /** 
    8181         * 自分によるEntryかどうかを調べる。 
    82          * @param myId  
     82         *  
    8383         *  
    8484         * @return 自分によるEntryであれば<code>true</code> 
    8585         */ 
    86         boolean isMyEntry(String myId); 
     86        boolean isMyEntry(); 
    8787} 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockEntry.java

    r15108 r15143  
    8888         * {@inheritDoc} 
    8989         */ 
    90         public boolean isMessageToMe(String myId) { 
    91                 return getText().contains("@" + myId); 
     90        public boolean isMessageToMe() { 
     91                return getText().contains("@" + this.user.getUserId()); 
    9292        } 
    9393         
     
    9595         * {@inheritDoc} 
    9696         */ 
    97         public boolean isMyEntry(String myId) { 
    98                 return user.getUserId().equals(myId); 
     97        public boolean isMyEntry() { 
     98                return user.getUserId().equals(this.user.getUserId()); 
    9999        } 
    100100         
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockService.java

    r15114 r15143  
    2020 */ 
    2121public class MockService implements MiniblogService { 
     22         
     23        public static final String SERVICE_ID = "Mock"; 
    2224         
    2325        private int nextId = 1000; 
     
    9193         */ 
    9294        public String getServiceId() { 
    93                 return "Mock"; 
     95                return SERVICE_ID; 
    9496        } 
    9597         
     
    197199                for (int i = 0; i < num; i++) { 
    198200                        miniblogEntry = createDummyEntry(new Date(prev.getTime() + (10000 * i)), false); 
    199                         if (miniblogEntry.isMessageToMe(user.getUserId())) { 
     201                        if (miniblogEntry.isMessageToMe()) { 
    200202                                add(replies, miniblogEntry); 
    201203                        } 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterAdapterWrapper.java

    r15107 r15143  
    2424        private MiniblogServiceResponceListener listener; 
    2525         
     26        private String userId; 
     27         
    2628 
    2729        /** 
    2830         * コンストラクタ。 
    2931         *  
     32         * @param userId サービスを利用中のuserId 
    3033         * @param listener 
    3134         */ 
    32         public TwitterAdapterWrapper(MiniblogServiceResponceListener listener) { 
     35        public TwitterAdapterWrapper(MiniblogServiceResponceListener listener, String userId) { 
    3336                this.listener = listener; 
     37                this.userId = userId; 
    3438        } 
    3539         
     
    4448                 
    4549                for (Status status : statuses) { 
    46                         wrapList.add(new TwitterStatusEntry(status)); 
     50                        wrapList.add(new TwitterStatusEntry(status, this.userId)); 
    4751                } 
    4852                 
     
    6064                 
    6165                for (DirectMessage message : messages) { 
    62                         wrapList.add(new TwitterDirectMessageEntry(message)); 
     66                        wrapList.add(new TwitterDirectMessageEntry(message, this.userId)); 
    6367                } 
    6468                 
     
    7680                 
    7781                for (Status status : statuses) { 
    78                         wrapList.add(new TwitterStatusEntry(status)); 
     82                        wrapList.add(new TwitterStatusEntry(status, this.userId)); 
    7983                } 
    8084                 
     
    9094        public void onException(TwitterException ex, int method) { 
    9195                // FIXME 
    92 //              if (ex.getStatusCode() == 400) { // タイムライン取得制限 
    93 //                      SabotterPlugin.handleException(ex, SabotterPlugin.DIALOG, "API limit rate over."); 
    94 //              } 
    95 //              ex.printStackTrace(); 
     96// if (ex.getStatusCode() == 400) { // タイムライン取得制限 
     97// SabotterPlugin.handleException(ex, SabotterPlugin.DIALOG, "API limit rate over."); 
     98// } 
     99// ex.printStackTrace(); 
    96100                this.listener.onException(new MiniblogServiceException(ex), method); 
    97101        } 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterDirectMessageEntry.java

    r15090 r15143  
    1818        private DirectMessage directMessage; 
    1919         
     20        private String userId; 
     21         
    2022 
    2123        /** 
    2224         * コンストラクタ。 
    2325         *  
     26         * @param userId サービスを利用中のID 
    2427         * @param directMessage 
    2528         */ 
    26         public TwitterDirectMessageEntry(DirectMessage directMessage) { 
     29        public TwitterDirectMessageEntry(DirectMessage directMessage, String userId) { 
    2730                this.directMessage = directMessage; 
     31                this.userId = userId; 
    2832        } 
    2933         
     
    8084         * {@inheritDoc} 
    8185         */ 
    82         public boolean isMessageToMe(String myId) { 
     86        public boolean isMessageToMe() { 
    8387                return true; 
    8488        } 
     
    8791         * {@inheritDoc} 
    8892         */ 
    89         public boolean isMyEntry(String myId) { 
    90                 return directMessage.getSender().getScreenName().equals(myId); 
     93        public boolean isMyEntry() { 
     94                return directMessage.getSender().getScreenName().equals(this.userId); 
    9195        } 
    9296         
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterService.java

    r15114 r15143  
    2121         
    2222        private PatentAsyncTwitterImpl twitter; 
     23         
     24        /** ツイッターサービスの ID です */ 
     25        public static final String SERVICE_ID = "Twitter"; 
    2326         
    2427 
     
    7174         */ 
    7275        public String getServiceId() { 
    73                 return "Twitter"; 
     76                return SERVICE_ID; 
    7477        } 
    7578         
     
    7881         */ 
    7982        public final void createFavorite(String statusId, MiniblogServiceResponceListener listener) { 
    80                 this.twitter.createFavoriteAsync(Integer.parseInt(statusId), new TwitterAdapterWrapper(listener)); 
     83                this.twitter.createFavoriteAsync(Integer.parseInt(statusId), new TwitterAdapterWrapper(listener, twitter 
     84                        .getUserId())); 
    8185        } 
    8286         
     
    8690        public final void getFriendsTimeline(MiniblogServiceResponceListener listener) { 
    8791                // this.twitter.verifyCredentials(); 
    88                 this.twitter.getFriendsTimelineAsync(new TwitterAdapterWrapper(listener)); 
     92                this.twitter.getFriendsTimelineAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 
    8993        } 
    9094         
     
    9498        public MiniblogEntry update(String statusText) throws MiniblogServiceException { 
    9599                try { 
    96                         return new TwitterStatusEntry(this.twitter.update(statusText)); 
     100                        return new TwitterStatusEntry(this.twitter.update(statusText), twitter.getUserId()); 
    97101                } catch (TwitterException e) { 
    98102                        throw new MiniblogServiceException(e); 
     
    115119         */ 
    116120        public void getReplies(MiniblogServiceResponceListener listener) { 
    117                 twitter.getRepliesAsync(new TwitterAdapterWrapper(listener)); 
     121                twitter.getRepliesAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 
    118122        } 
    119123         
     
    124128         */ 
    125129        public void getDirectMessages(MiniblogServiceResponceListener listener) { 
    126                 twitter.getDirectMessagesAsync(new TwitterAdapterWrapper(listener)); 
     130                twitter.getDirectMessagesAsync(new TwitterAdapterWrapper(listener, twitter.getUserId())); 
    127131        } 
    128132         
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterStatusEntry.java

    r15108 r15143  
    1515/** 
    1616 * TODO describe 
     17 *  
    1718 * @author daisuke 
    1819 */ 
     
    2223        private Status status; 
    2324         
     25        private String userId; 
     26         
    2427 
    2528        /** 
    2629         * コンストラクタ。 
    2730         *  
     31         * @param userId サービスを利用中の人の iD 
    2832         * @param status 
    2933         */ 
    30         public TwitterStatusEntry(Status status) { 
     34        public TwitterStatusEntry(Status status, String userId) { 
    3135                this.status = status; 
     36                this.userId = userId; 
    3237        } 
    3338         
     
    8085         * {@inheritDoc} 
    8186         */ 
    82         public boolean isMessageToMe(String myId) { 
    83                 return getText().contains("@" + myId); 
     87        public boolean isMessageToMe() { 
     88                return getText().contains("@" + this.userId); 
    8489        } 
    8590         
     
    8792         * {@inheritDoc} 
    8893         */ 
    89         public boolean isMyEntry(String myId) { 
    90                 return status.getUser().getScreenName().equals(myId); 
     94        public boolean isMyEntry() { 
     95                return status.getUser().getScreenName().equals(this.userId); 
    9196        } 
    9297         
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrEntry.java

    r15114 r15143  
    9999         * {@inheritDoc} 
    100100         */ 
    101         public boolean isMessageToMe(String myId) { 
     101        public boolean isMessageToMe() { 
    102102                return isMessageToMe; 
    103103        } 
     
    106106         * {@inheritDoc} 
    107107         */ 
    108         public boolean isMyEntry(String myId) { 
     108        public boolean isMyEntry() { 
    109109                return isMyEntry; 
    110110        } 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrService.java

    r15114 r15143  
    3434        private String myId; 
    3535         
     36        /** wassr サービスの ID です */ 
     37        public static final String SERVICE_ID = "Wassr"; 
     38         
    3639 
    3740        /** 
     
    4750         */ 
    4851        public String getServiceId() { 
    49                 return "Wassr"; 
     52                return SERVICE_ID; 
    5053        } 
    5154         
     
    5457         */ 
    5558        public void setAccount(String userId, String password) { 
    56                 // TODO! 
     59                client.setUserId(userId); 
     60                client.setPassword(password); 
    5761        } 
    5862         
     
    6064         * {@inheritDoc} 
    6165         */ 
    62         public void changeAccount(String username, String password) { 
    63                 // TODO Auto-generated method stub 
    64                  
     66        public void changeAccount(String userId, String password) { 
     67                client.setUserId(userId); 
     68                client.setPassword(password); 
    6569        } 
    6670         
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.mock/plugin.xml

    r15101 r15143  
    1212      <page 
    1313            class="jp.xet.sabotter.eclipse.service.mock.MockPreferencePage" 
    14             id="jp.xet.sabotter.preference.twitter" 
     14            id="jp.xet.sabotter.preference.mock" 
    1515            category="jp.xet.sabotter.preference" 
    16             name="Twitter"/> 
     16            name="Mock"/> 
    1717   </extension> 
    1818   <extension 
    1919         point="org.eclipse.core.runtime.preferences"> 
     20      <initializer class="jp.xet.sabotter.eclipse.service.mock.preferences.MockPreferenceInitializer"/> 
    2021   </extension> 
    2122</plugin> 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/MockPreferencePage.java

    r15114 r15143  
    11package jp.xet.sabotter.eclipse.service.mock; 
    22 
     3import jp.xet.sabotter.core.mock.MockService; 
    34import jp.xet.sabotter.eclipse.SabotterPlugin; 
    4 import jp.xet.sabotter.eclipse.preferences.BaloonDispayType; 
    5 import jp.xet.sabotter.eclipse.preferences.MiniblogServicePreferencePage; 
    6 import jp.xet.sabotter.eclipse.preferences.PreferenceKeys; 
    7 import jp.xet.sabotter.eclipse.preferences.SabotterPreferenceInitializer; 
    8  
    9 import org.eclipse.jface.preference.IPreferenceStore; 
     5import jp.xet.sabotter.eclipse.preferences.AbstractServiceCommonPreferencePage; 
     6import jp.xet.sabotter.eclipse.service.mock.preferences.MockPreferenceInitializer; 
    107 
    118/** 
    12  * Twitter用設定ページクラス。 UNDONE 未実装 
     9 * Mock用設定ページクラス。 UNDONE 未実装 
    1310 *  
    1411 * @author daisuke 
    1512 */ 
    16 public class MockPreferencePage extends MiniblogServicePreferencePage { 
     13public class MockPreferencePage extends AbstractServiceCommonPreferencePage { 
    1714         
     15        /** 
     16         * {@inheritDoc} 
     17         */ 
    1818        @Override 
    19         protected void setCurrentValueToControls() { 
    20                 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    21                 txtUsername.setText(ps.getString(PreferenceKeys.USERID)); 
    22                 txtPassword.setText(ps.getString(PreferenceKeys.PASSWORD)); 
    23                  
    24                 spnAPILimitRate.setSelection(ps.getInt(PreferenceKeys.API_LIMIT_RATE)); 
    25                 spnAPILimitRate.addSelectionListener(intervalListener); 
    26                 spnTimeLineInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_FRIEND_TIMELINE)); 
    27                 spnTimeLineInterval.addSelectionListener(intervalListener); 
    28                 spnRepliesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_REPLIES)); 
    29                 spnRepliesInterval.addSelectionListener(intervalListener); 
    30                 spnDirectMessagesInterval.setSelection(ps.getInt(PreferenceKeys.INTERVAL_DIRECT_MESSAGES)); 
    31                 spnDirectMessagesInterval.addSelectionListener(intervalListener); 
     19        public String getServiceId() { 
     20                return MockService.SERVICE_ID; 
    3221        } 
    3322         
     23        /** 
     24         * {@inheritDoc} 
     25         */ 
    3426        @Override 
    35         protected void loadDefaultValues() { 
    36                 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    37                 ps.setValue(PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 
    38                 ps.setValue(PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 
    39                 ps.setValue(PreferenceKeys.API_LIMIT_RATE, 30); 
    40                 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, 5); 
    41                 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, 12); 
    42                 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, 20); 
    43                 ps.setValue(PreferenceKeys.BALOON_DISPLAY_TYPE, BaloonDispayType.ALL.toString()); 
     27        public void loadServiceOwnDefaultValues() { 
     28                MockPreferenceInitializer.init(SabotterPlugin.getDefault().getPreferenceStore(), getServiceId()); 
    4429        } 
    45          
    46         @Override 
    47         protected void storeValues() { 
    48                 IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    49                 ps.setValue(PreferenceKeys.USERID, txtUsername.getText()); 
    50                 ps.setValue(PreferenceKeys.PASSWORD, txtPassword.getText()); 
    51                  
    52                 int apiLimitRate = spnAPILimitRate.getSelection(); 
    53                 ps.setValue(PreferenceKeys.API_LIMIT_RATE, apiLimitRate); 
    54                  
    55                 int timeLineInterval = spnTimeLineInterval.getSelection(); 
    56                 ps.setValue(PreferenceKeys.INTERVAL_FRIEND_TIMELINE, timeLineInterval); 
    57                  
    58                 int replyInterval = spnRepliesInterval.getSelection(); 
    59                 ps.setValue(PreferenceKeys.INTERVAL_REPLIES, replyInterval); 
    60                  
    61                 int dmInterval = spnDirectMessagesInterval.getSelection(); 
    62                 ps.setValue(PreferenceKeys.INTERVAL_DIRECT_MESSAGES, dmInterval); 
    63         } 
    64          
    6530} 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.twitter/plugin.xml

    r15101 r15143  
    1818   <extension 
    1919         point="org.eclipse.core.runtime.preferences"> 
     20      <initializer class="jp.xet.sabotter.eclipse.service.twitter.preferences.TwitterPreferenceInitializer"/> 
    2021   </extension> 
    2122</plugin> 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/TwitterPreferencePage.java

    r15114