Changeset 15114

Show
Ignore:
Timestamp:
07/03/08 19:49:47 (2 months ago)
Author:
yamashiro
Message:

不正なid/パスワードのときに固まる問題が再現したので修正した。また、その際に、userNameなどをuserIdに統一するようにリファクタリングしたり、その他のリファクタを行った

Location:
platform/eclipse/sabotter/trunk
Files:
20 modified

Legend:

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

    r15109 r15114  
    44 
    55/** 
    6  * さぼったーコアインタフェース 
     6 * 各ミニblogサービスを表すインタフェースです。 各メソッドについて、サービスごとに差異があるため、未実装であったり、null などが返却されることがあります。 
    77 *  
    8  * @author Ewigkeit 
     8 * @author Ewigkeit yamashiro 
    99 */ 
    1010public interface MiniblogService { 
     
    1212        /** 
    1313         * サービス識別子を取得する。 
     14         *  
    1415         * @return サービス識別子 
    1516         */ 
     
    1718         
    1819        /** 
    19          * ログイン用にユーザIDを設定する。 
     20         * アカウント情報の初期設定を設定します。 このメソッドは「初期設定」に使われます。 初期設定後にアカウント情報を変更する場合には、 changeAccountメソッドを利用します。 サービスによっては、設定した 
     21         *  
    2022         * @param userId ユーザID 
     23         * @param password パスワード 
    2124         */ 
    22         public void setUserId(String userId); 
     25        public void setAccount(String userId, String password); 
    2326         
    2427        /** 
    25          * ログイン用にパスワードを設定する。 
     28         * アカウント情報の変更を行います。 
     29         *  
     30         * @param userId ユーザId 
     31         *  
    2632         * @param password パスワード 
    2733         */ 
    28         public void setPassword(String password); 
     34        void changeAccount(String userId, String password); 
    2935         
    30         void createFavorite(String id, MiniblogServiceResponceListener listener); 
     36        /** 
     37         * favorite を行います。 favorite 機能が実装されていないサービスでは何も行われません 
     38         *  
     39         * @param statusId favorite状態にしたいステータスのID 
     40         * @param listener favorite 機能が実装されている場合に、favoriteが終了した後に呼ばれるリスナです 
     41         */ 
     42        void createFavorite(String statusId, MiniblogServiceResponceListener listener); 
    3143         
     44        /** 
     45         * タイムラインの取得を行います。 タイムライン取得機能が実装されていないサービスでは何も行われません 
     46         *  
     47         * @param listener タイムラインの取得機能が実装されている場合に、タイムラインの取得が終了した後に呼ばれるリスナです 
     48         */ 
    3249        void getFriendsTimeline(MiniblogServiceResponceListener listener); 
    3350         
     51        /** 
     52         * リプライの取得を行います。 リプライ取得機能が実装されていないサービスでは何も行われません 
     53         *  
     54         * @param listener リプライの取得機能が実装されている場合に、リプライの取得が終了した後に呼ばれるリスナです 
     55         */ 
    3456        void getReplies(MiniblogServiceResponceListener listener); 
    3557         
     58        /** 
     59         * ダイレクトメッセージの取得を行います。 ダイレクトメッセージ取得機能が実装されていないサービスでは何も行われません 
     60         *  
     61         * @param listener ダイレクトメッセージの取得機能が実装されている場合に、ダイレクトメッセージの取得が終了した後に呼ばれるリスナです 
     62         */ 
    3663        void getDirectMessages(MiniblogServiceResponceListener listener); 
    3764         
     65        /** 
     66         * 発言を行います。 
     67         *  
     68         * @param statusText 発言したい内容 
     69         * @return 発言した内容をエントリーとして返せるサービスの場合エントリー。返せない場合 null が返ります。 
     70         * @throws MiniblogServiceException サービスで例外が発生した際に発生します。 
     71         */ 
    3872        MiniblogEntry update(String statusText) throws MiniblogServiceException; 
    3973         
    40         MiniblogUser getUser(String screenName); 
     74        /** 
     75         * 指定されたユーザ情報を返します。 
     76         *  
     77         * @param userId ユーザId 
     78         * @return ユーザ情報 
     79         */ 
     80        MiniblogUser getUser(String userId); 
    4181         
    42         void changeAccount(String username, String password); 
    4382} 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/MiniblogServiceResponceAdapter.java

    r15107 r15114  
    55import jp.xet.sabotter.core.exception.MiniblogServiceException; 
    66 
    7  
    87/** 
    9  * <code>twitter4j.TwitterAdapter</code>の代替クラス 
     8 * MiniblogServiceResponceListenerのAdapterクラス。何も実装していません 
    109 *  
    11  * @author Ewigkeit 
    12  * @see twitter4j.TwitterAdapter 
     10 * @author Ewigkeit yamashiro 
    1311 */ 
    1412public class MiniblogServiceResponceAdapter implements MiniblogServiceResponceListener { 
     
    3230        /** 
    3331         * Override method. 
     32         *  
    3433         * @see jp.xet.sabotter.core.MiniblogServiceResponceListener#gotReplies(java.util.List) 
    3534         */ 
     
    3837         
    3938        /** 
    40          * Override method. 
    41          *  
    42          * @see jp.xet.sabotter.core.MiniblogServiceResponceListener#onException(jp.xet.sabotter.core.exception.MiniblogServiceException, 
    43          *      int) 
     39         * {@inheritDoc} 
    4440         */ 
    4541        public void onException(MiniblogServiceException ex, int method) { 
    4642        } 
     43         
     44        /** 
     45         * {@inheritDoc} 
     46         */ 
     47        public void onFavoriteDone(MiniblogEntry entry) { 
     48        } 
    4749} 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/MiniblogServiceResponceListener.java

    r15107 r15114  
    55import jp.xet.sabotter.core.exception.MiniblogServiceException; 
    66 
    7  
    87/** 
    9  * <code>twitter4j.TwitterListener</code>の代替インタフェース。 
     8 * 各 miniblog の API 呼び出しが、完了した後に呼ばれるインタフェースです 
    109 *  
    11  * @author Ewigkeit 
    12  * @see twitter4j.TwitterListener 
     10 * @author Ewigkeit yamashiro 
    1311 */ 
    1412public interface MiniblogServiceResponceListener { 
    1513         
    1614        /** 
    17          * @param miniblogEntries 
     15         * タイムラインを取得した後に呼ばれるメソッドです 
     16         *  
     17         * @param miniblogEntries タイムラインに含まれるエントリーのリスト 
    1818         */ 
    1919        void gotFriendsTimeline(List<MiniblogEntry> miniblogEntries); 
    2020         
    2121        /** 
    22          * @param miniblogEntries 
     22         * リプライを取得した後に呼ばれるメソッドです 
     23         *  
     24         * @param miniblogEntries リプライに含まれるエントリーのリスト 
    2325         */ 
    2426        void gotReplies(List<MiniblogEntry> miniblogEntries); 
    2527         
    2628        /** 
    27          * @param miniblogEntries 
     29         * ダイレクトメッセージを取得した後に呼ばれるメソッドです。 
     30         *  
     31         * @param miniblogEntries ダイレクトメッセージに含まれるエントリーのリスト 
    2832         */ 
    2933        public void gotDirectMessages(List<MiniblogEntry> miniblogEntries); 
    3034         
    3135        /** 
     36         * favorite が追加後に呼ばれるメソッドです。 
     37         *  
     38         * @param entry もし返せるサービスならば、favorite した entry が返ります 
     39         */ 
     40        public void onFavoriteDone(MiniblogEntry entry); 
     41         
     42        /** 
     43         * 各、API の呼び出し時にエラーがあったときに呼ばれます。 
     44         *  
    3245         * @param ex 
    3346         * @param method 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/mock/MockService.java

    r15108 r15114  
    9797         * {@inheritDoc} 
    9898         */ 
    99         public void setPassword(String password) { 
    100                 // nothing to do 
    101         } 
    102          
    103         /** 
    104          * {@inheritDoc} 
    105          */ 
    106         public void setUserId(String userId) { 
     99        public void setAccount(String userId, String password) { 
    107100                createUsers(userId); 
    108101                initAccount(userId); 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/AbstractTwitterEntry.java

    r15090 r15114  
    1313 */ 
    1414public abstract class AbstractTwitterEntry implements MiniblogEntry { 
     15         
     16        private static final long serialVersionUID = -4894138755228575724L; 
    1517         
    1618        /** APIから取得した日付のフォーマット */ 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/twitter/TwitterService.java

    r15108 r15114  
    2828        public TwitterService() { 
    2929                // FIXME 
    30 //              IProxyService manager = ProxyManager.getProxyManager(); 
    31 //              if (manager.isProxiesEnabled()) { 
    32 //                      IProxyData proxyData = manager.getProxyData(IProxyData.HTTP_PROXY_TYPE); 
    33 //                      if (proxyData != null) { 
    34 //                              System.setProperty("http.proxyHost", proxyData.getHost()); 
    35 //                              System.setProperty("http.proxyPort", String.valueOf(proxyData.getPort())); 
    36 //                              if (proxyData.isRequiresAuthentication()) { 
    37 //                                      System.setProperty("http.proxyUser", proxyData.getUserId()); 
    38 //                                      System.setProperty("http.proxyPassword", proxyData.getPassword()); 
    39 //                              } 
    40 //                      } 
     30// IProxyService manager = ProxyManager.getProxyManager(); 
     31// if (manager.isProxiesEnabled()) { 
     32// IProxyData proxyData = manager.getProxyData(IProxyData.HTTP_PROXY_TYPE); 
     33// if (proxyData != null) { 
     34// System.setProperty("http.proxyHost", proxyData.getHost()); 
     35// System.setProperty("http.proxyPort", String.valueOf(proxyData.getPort())); 
     36// if (proxyData.isRequiresAuthentication()) { 
     37// System.setProperty("http.proxyUser", proxyData.getUserId()); 
     38// System.setProperty("http.proxyPassword", proxyData.getPassword()); 
     39// } 
     40// } 
    4141//                       
    42 //              } 
     42// } 
    4343                 
    4444                this.twitter = new PatentAsyncTwitterImpl(); 
    45 //              this.twitter.verifyCredentials(); 
    4645                this.twitter.setSource(TWITTER_SOURCE); 
    4746        } 
     
    6261         * {@inheritDoc} 
    6362         */ 
    64         public void setUserId(String userId) { 
     63        public void setAccount(String userId, String password) { 
    6564                twitter.setUserId(userId); 
    66         } 
    67          
    68         /** 
    69          * {@inheritDoc} 
    70          */ 
    71         public void setPassword(String password) { 
    7265                twitter.setPassword(password); 
     66                twitter.verifyCredentials(); 
    7367        } 
    7468         
     
    8377         * {@inheritDoc} 
    8478         */ 
    85         public final void createFavorite(String id, MiniblogServiceResponceListener listener) { 
    86                 this.twitter.createFavoriteAsync(Integer.parseInt(id), new TwitterAdapterWrapper(listener)); 
     79        public final void createFavorite(String statusId, MiniblogServiceResponceListener listener) { 
     80                this.twitter.createFavoriteAsync(Integer.parseInt(statusId), new TwitterAdapterWrapper(listener)); 
    8781        } 
    8882         
     
    138132         * @see jp.xet.sabotter.core.MiniblogService#changeAccount(java.lang.String, java.lang.String) 
    139133         */ 
    140         public void changeAccount(String username, String password) { 
    141                 twitter.setUserId(username); 
     134        public void changeAccount(String userId, String password) { 
     135                twitter.setUserId(userId); 
    142136                twitter.setPassword(password); 
     137                twitter.verifyCredentials(); 
    143138        } 
    144139} 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrEntry.java

    r15090 r15114  
    11package jp.xet.sabotter.core.wassr; 
    22 
    3 import java.text.ParseException; 
    43import java.util.Date; 
    54 
     
    76import jp.xet.sabotter.core.MiniblogUser; 
    87 
     8/** 
     9 * わっサー版のエントリーです。 
     10 *  
     11 * @author yamashiro 
     12 */ 
    913@SuppressWarnings("serial") 
    1014public class WassrEntry implements MiniblogEntry { 
     
    2933        /** 
    3034         * コンストラクタ。 
    31          * @param id  
    32          * @param text  
    33          * @param timeStamp  
    34          * @param user  
    35          * @param isDirectMessage  
    36          * @param isMessageToMe  
    37          * @param isMyEntry  
    38          * @category instance creation 
     35         *  
     36         * @param id 
     37         * @param text 
     38         * @param timeStamp 
     39         * @param user 
     40         * @param isDirectMessage 
     41         * @param isMessageToMe 
     42         * @param isMyEntry creation 
    3943         */ 
    4044        public WassrEntry(String id, String text, Date timeStamp, MiniblogUser user, boolean isDirectMessage, 
     
    5761        } 
    5862         
     63        /** 
     64         * {@inheritDoc} 
     65         */ 
    5966        public String getId() { 
    6067                return id; 
    6168        } 
    6269         
     70        /** 
     71         * {@inheritDoc} 
     72         */ 
    6373        public String getText() { 
    6474                return text; 
    6575        } 
    6676         
    67         public Date getTimeSatmp() throws ParseException { 
     77        /** 
     78         * {@inheritDoc} 
     79         */ 
     80        public Date getTimeSatmp() { 
    6881                return timeStamp; 
    6982        } 
    7083         
     84        /** 
     85         * {@inheritDoc} 
     86         */ 
    7187        public MiniblogUser getUser() { 
    7288                return user; 
    7389        } 
    7490         
     91        /** 
     92         * {@inheritDoc} 
     93         */ 
    7594        public boolean isDirectMessage() { 
    7695                return isDirectMessage; 
    7796        } 
    7897         
     98        /** 
     99         * {@inheritDoc} 
     100         */ 
    79101        public boolean isMessageToMe(String myId) { 
    80102                return isMessageToMe; 
    81103        } 
    82104         
     105        /** 
     106         * {@inheritDoc} 
     107         */ 
    83108        public boolean isMyEntry(String myId) { 
    84109                return isMyEntry; 
    85110        } 
    86111         
     112        /** 
     113         * {@inheritDoc} 
     114         */ 
    87115        public boolean isUnread() { 
    88116                return isUnread; 
    89117        } 
    90118         
     119        /** 
     120         * {@inheritDoc} 
     121         */ 
    91122        public void setUnread(boolean unread) { 
    92123                this.isUnread = unread; 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrService.java

    r15107 r15114  
    4040        public WassrService() { 
    4141                client = new HttpClient(); 
     42                 
    4243        } 
    4344         
     
    5253         * {@inheritDoc} 
    5354         */ 
    54         public void setUserId(String userId) { 
    55                 this.myId = userId; 
    56                 client.setUserId(userId); 
    57         } 
    58          
    59         /** 
    60          * {@inheritDoc} 
    61          */ 
    62         public void setPassword(String password) { 
    63                 client.setPassword(password); 
     55        public void setAccount(String userId, String password) { 
     56                // TODO! 
    6457        } 
    6558         
     
    7568         * {@inheritDoc} 
    7669         */ 
    77         public void createFavorite(String id, MiniblogServiceResponceListener listener) { 
     70        public void createFavorite(String statusId, MiniblogServiceResponceListener listener) { 
    7871                // TODO Auto-generated method stub 
    7972                 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.core/src/jp/xet/sabotter/core/wassr/WassrUser.java

    r15107 r15114  
    55import jp.xet.sabotter.core.MiniblogUser; 
    66 
    7 @SuppressWarnings("serial") 
     7/** 
     8 * {@inheritDoc} 
     9 */ 
    810public class WassrUser implements MiniblogUser { 
     11         
     12        private static final long serialVersionUID = 1L; 
    913         
    1014        private String screenName; 
     
    1519         
    1620 
     21        /** 
     22         * コンストラクタです。 
     23         *  
     24         * @param name 名前 
     25         * @param screenName 表示名 
     26         * @param profileImageURL プロフィール表示用URL 
     27         */ 
    1728        public WassrUser(String name, String screenName, URL profileImageURL) { 
    1829                this.name = name; 
     
    2839        } 
    2940         
     41        /** 
     42         * {@inheritDoc} 
     43         */ 
    3044        public String getName() { 
    3145                return name; 
    3246        } 
    3347         
     48        /** 
     49         * {@inheritDoc} 
     50         */ 
    3451        public URL getProfileImageURL() { 
    3552                return profileImageURL; 
    3653        } 
    3754         
     55        /** 
     56         * {@inheritDoc} 
     57         */ 
    3858        public String getUserId() { 
    3959                return screenName; 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.mock/src/jp/xet/sabotter/eclipse/service/mock/MockPreferencePage.java

    r15101 r15114  
    1010 
    1111/** 
    12  * Twitter用設定ページクラス。 
    13  * UNDONE 未実装 
     12 * Twitter用設定ページクラス。 UNDONE 未実装 
     13 *  
    1414 * @author daisuke 
    1515 */ 
     
    1919        protected void setCurrentValueToControls() { 
    2020                IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    21                 txtUsername.setText(ps.getString(PreferenceKeys.USERNAME)); 
     21                txtUsername.setText(ps.getString(PreferenceKeys.USERID)); 
    2222                txtPassword.setText(ps.getString(PreferenceKeys.PASSWORD)); 
    2323                 
     
    3535        protected void loadDefaultValues() { 
    3636                IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    37                 ps.setValue(PreferenceKeys.USERNAME, SabotterPreferenceInitializer.DEF_USERNAME); 
     37                ps.setValue(PreferenceKeys.USERID, SabotterPreferenceInitializer.DEF_USERNAME); 
    3838                ps.setValue(PreferenceKeys.PASSWORD, SabotterPreferenceInitializer.DEF_PASSWORD); 
    3939                ps.setValue(PreferenceKeys.API_LIMIT_RATE, 30); 
     
    4747        protected void storeValues() { 
    4848                IPreferenceStore ps = SabotterPlugin.getDefault().getPreferenceStore(); 
    49                 ps.setValue(PreferenceKeys.USERNAME, txtUsername.getText()); 
     49                ps.setValue(PreferenceKeys.USERID, txtUsername.getText()); 
    5050                ps.setValue(PreferenceKeys.PASSWORD, txtPassword.getText()); 
    5151                 
  • platform/eclipse/sabotter/trunk/jp.xet.sabotter.eclipse.service.twitter/src/jp/xet/sabotter/eclipse/service/twitter/TwitterPreferencePage.java