OSDN Git Service

自分のタイムラインのツイートをSQLiteに書きだすプログラムを実装
[nt-manager/nt-manager.git] / src / twitter / log / StatusDBObjectConverter.java
1 package twitter.log;
2
3 import java.text.SimpleDateFormat;
4
5 import twitter4j.Status;
6 import twitter4j.User;
7
8 public class StatusDBObjectConverter {
9
10         // 時間
11         private static final String DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
12         
13         /**
14          * StatusからDBに保存するためのオブジェクトに変換
15          * @param s
16          * @param following 自分がフォローしている相手かどうか
17          * @return
18          */
19         public static TweetDBObject convertStatusToDBObject(Status s, boolean following) {
20                 TweetDBObject result = new TweetDBObject();
21                 
22                 result.setId( s.getId() );
23                 
24                 String date = null;
25                 if (s.getCreatedAt() != null) {
26                         SimpleDateFormat sdf = new SimpleDateFormat(DATE_PATTERN);
27                         date = sdf.format(s.getCreatedAt());
28                 }
29                 result.setDate( date );
30                 
31                 result.setReplyStatusID( s.getInReplyToStatusId() );
32                 result.setReplyUserID( s.getInReplyToUserId() );
33                 result.setText( s.getText() );
34                 
35                 //ユーザ情報
36                 User u = s.getUser();
37                 if( u != null ) {
38                         
39                         String userCreated = null;
40                         if (u.getCreatedAt() != null) {
41                                 SimpleDateFormat sdf = new SimpleDateFormat(DATE_PATTERN);
42                                 userCreated = sdf.format(s.getCreatedAt());
43                         }
44                         result.setCreated( userCreated );
45                         result.setDescription( u.getDescription() );
46                         result.setUserFavorite( u.getFavouritesCount() );
47                         result.setFollowers( u.getFollowersCount() );
48                         result.setFriend( u.getFriendsCount() );
49                         result.setUserId( u.getId() );
50                         result.setLang( u.getLang() );
51                         result.setLocation( u.getLocation() );
52                         result.setName( u.getName() );
53                         result.setProfileBackgroundColor( u.getProfileBackgroundColor() );
54                         result.setProfileBackgroundImageURL( u.getProfileBackgroundImageUrl() );
55                         result.setProfileImageURL( u.getProfileImageURL().toString() );
56                         result.setProfileSidebarBorderColor( u.getProfileSidebarBorderColor() );
57                         result.setProfileSidebarFillColor( u.getProfileSidebarFillColor() );
58                         result.setProfileTextColor( u.getProfileTextColor() );
59                         result.setScreenName( u.getScreenName() );
60                         result.setStatusesCount( u.getStatusesCount() );
61                         result.setTimeZone( u.getTimeZone() );
62                         if( u.getURL() != null ) {
63                                 result.setUrl( u.getURL().toString() );
64                         }else {
65                                 result.setUrl("");
66                         }
67                         result.setUtc( u.getUtcOffset() );
68                         result.setContributorsEnable( u.isContributorsEnabled() + "" );
69                         result.setGeoEnable( u.isGeoEnabled() + "");
70                         result.setProfileBackgroundTiled( u.isProfileBackgroundTiled() + "");
71                         result.setIsProtected( u.isProtected() + "");
72                         result.setVerified( u.isVerified() + "");
73                 }
74                 result.setSource( s.getSource() );
75                 result.setFavorite( s.isFavorited() + "");
76                 result.setRetweet( s.isRetweet() + "");
77                 result.setTruncated( s.isTruncated() + "");
78                 
79                 return result;
80         }
81 }