OSDN Git Service

T28078
[traindelaybot/source.git] / workspace / .metadata / .plugins / org.eclipse.core.resources / .history / 50 / 505796472f7200111835fa7adce7cfd2
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/50/505796472f7200111835fa7adce7cfd2 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/50/505796472f7200111835fa7adce7cfd2
deleted file mode 100644 (file)
index 7611564..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-package com.yuji.tdb.twitter;\r
-\r
-import java.text.DateFormat;\r
-import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
-import java.util.Calendar;\r
-import java.util.Date;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.TimeZone;\r
-import java.util.logging.Logger;\r
-\r
-import twitter4j.Query;\r
-import twitter4j.QueryResult;\r
-import twitter4j.Status;\r
-import twitter4j.Tweet;\r
-import twitter4j.Twitter;\r
-import twitter4j.TwitterException;\r
-import twitter4j.TwitterFactory;\r
-import twitter4j.auth.AccessToken;\r
-import twitter4j.conf.ConfigurationBuilder;\r
-\r
-import com.yuji.tdb.common.CommonUtil;\r
-import com.yuji.tdb.db.KeyValueDao;\r
-import com.yuji.tdb.db.Train;\r
-import com.yuji.tdb.db.TrainDao;\r
-import com.yuji.tdb.debug.Debug;\r
-import com.yuji.tdb.utility.StringUtility;\r
-\r
-public class TwitterUtil {\r
-       private static final Logger log = Logger\r
-                       .getLogger(TwitterUtil.class.getName());\r
-       private static TwitterUtil instance = null;\r
-       private static Object obj = new Object();\r
-       //private DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");\r
-       private DateFormat df = new SimpleDateFormat("HH:mm");\r
-       private static List<String> keywords = null;\r
-       private long searchPeriod = 0;\r
-       private long twitPeriod = 0;\r
-       private Map<String, Long> twitTimeList = new HashMap<String, Long>();\r
-       \r
-       public static TwitterUtil getInstance() {\r
-               if (instance == null) {\r
-                       synchronized (obj) {\r
-                               if (instance == null) {\r
-                                       instance = new TwitterUtil();\r
-                               }\r
-                       }\r
-               }\r
-               return instance;\r
-       }\r
-\r
-       private TwitterUtil() {\r
-               df.setTimeZone(TimeZone.getTimeZone("JST")); \r
-       }\r
-\r
-       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
-               try {\r
-                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
-                       confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
-                                       .setOAuthConsumerSecret(consumerSecret);\r
-                       TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
-                       Twitter twitter = factory.getInstance(accessToken);\r
-\r
-                       List<Train> list = getTrainList();\r
-                       for (Train train : list){\r
-                               Calendar cal = Calendar.getInstance();\r
-                               Date date = cal.getTime();\r
-                               long cur = date.getTime();\r
-\r
-                               long id = train.getId();\r
-                               long t = getTwitTime(id);\r
-                               long period = getTwitPeriod();\r
-                               \r
-                               if (t > 0 && t + period < cur){\r
-                                       continue;\r
-                               }\r
-                               twite(twitter, train);\r
-                       }\r
-               } catch (TwitterException e) {\r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-                       log.severe(e.toString());\r
-               }\r
-       }\r
-\r
-       private void twite(Twitter twitter, Train train) throws TwitterException {\r
-               Query query = new Query();\r
-               //query.setRpp(1000); // TODO\r
-               query.setQuery(train.getSearchWord());\r
-               QueryResult result = null;\r
-               try {\r
-                       result = twitter.search(query);\r
-               }\r
-               catch (TwitterException e){\r
-                       log.severe("" + Debug.getLineNo());\r
-                       throw e;\r
-               }\r
-               List<Tweet> tweets = result.getTweets();\r
-               \r
-               Calendar cal = Calendar.getInstance();\r
-               Date date = cal.getTime();\r
-               long cur = date.getTime();\r
-\r
-               int count = 0;\r
-               int hit = 0;\r
-               int mhit = 0;\r
-               long period = getSearchPeriod();\r
-               long id = train.getId();\r
-               \r
-               int index;\r
-               int mindex = 0;\r
-               int size = tweets.size();\r
-               for (index = 0; index < size; index++) {\r
-                       Tweet tweet = tweets.get(index);\r
-                       \r
-                       Date at = tweet.getCreatedAt();\r
-                       long t = at.getTime();\r
-                       \r
-                       String message = tweet.getText();\r
-                       \r
-                       if (t < cur - period * 60 * 1000){\r
-                               System.out.println("\81~" + tweet.getFromUser() + " - "\r
-                                               + tweet.getText() + at);\r
-                               continue;\r
-                       }\r
-                       hit = filter(message);\r
-                       if (hit <= 0) {\r
-                               System.out.println("\81¢" + tweet.getFromUser() + " - "\r
-                                               + tweet.getText() + at);\r
-                               // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
-                               continue;\r
-                       }\r
-                       if (hit > mhit){\r
-                               hit = mhit;\r
-                               mindex = index;\r
-                       }\r
-\r
-                       System.out.println("@" + tweet.getFromUser() + " - "\r
-                                       + tweet.getText() + at);\r
-                       count++;\r
-               }\r
-\r
-               String message = "[" + train.getName() + "] ";\r
-               if (count < train.getCount()){\r
-                       message += df.format(date) + " \92x\89\84\82È\82µ";       \r
-               }\r
-               else {\r
-                       int N = 100;\r
-                       \r
-                       String sample = tweets.get(mindex).getText();\r
-                       sample = CommonUtil.replaceString(sample, "@", "(a)");\r
-                       sample = StringUtility.parseSubstring(sample, N);\r
-                       message += df.format(date) + " " + sample + " count=" + count;                                                  \r
-               }\r
-               System.out.println(message); //TODO\r
-               \r
-               Status status = null;\r
-               try {\r
-                       status = twitter.updateStatus(message); //TODO\r
-                       setTwitTime(id, cur);\r
-               }\r
-               catch (TwitterException e){\r
-                       log.severe(Debug.getLineNo() + " " + message);\r
-                       log.severe(Debug.getLineNo() + " " + status);\r
-                       throw e;\r
-               }\r
-       }\r
-       \r
-       private List<Train> getTrainList(){\r
-               TrainDao dao = TrainDao.getInstance();\r
-               List<Train> list = dao.search();\r
-               if (list.size() <= 0){\r
-                       Train train;\r
-                       \r
-                       train = new Train("\8b\9e\95l\93\8c\96k\90ü", "\8b\9e\95l\93\8c\96k", 5);\r
-                       dao.put(train);\r
-                       train = new Train("\93\8c\8aC\93¹\90ü", "\93\8c\8aC\93¹", 5);\r
-                       dao.put(train);\r
-                       train = new Train("\8b\9e\95l\8b}\8ds\90ü", "\8b\9e\8b}", 5);\r
-                       dao.put(train);\r
-                       list = dao.search();\r
-               }\r
-               return list;\r
-       }\r
-       \r
-       public int filter(String text) {\r
-               if (keywords == null) {\r
-                       keywords = new ArrayList<String>();\r
-                       keywords.add("\92x\89\84");\r
-                       keywords.add("\92x\82ê");\r
-                       keywords.add("\90U\82è\91Ö\82¦");\r
-                       keywords.add("\90U\91Ö");\r
-                       keywords.add("\92â\8e~");\r
-                       keywords.add("\8e\96\8cÌ");\r
-               }\r
-\r
-               int count = 0;\r
-               for (String keyword : keywords) {\r
-                       if (text.indexOf(keyword) >= 0) {\r
-                               count++;\r
-                       }\r
-               }\r
-               return count;\r
-       }\r
-       \r
-       public long getSearchPeriod(){\r
-               if (searchPeriod <= 0){\r
-                       KeyValueDao dao = KeyValueDao.getInstance();\r
-                       searchPeriod = dao.getInt(KeyValueDao.KEY_SEARCH_PERIOD, 5);\r
-               }\r
-               return searchPeriod;\r
-       }\r
-       \r
-       public long getTwitPeriod(){\r
-               if (twitPeriod <= 0){\r
-                       KeyValueDao dao = KeyValueDao.getInstance();\r
-                       twitPeriod = dao.getInt(KeyValueDao.KEY_TWIT_PERIOD, 5);\r
-               }\r
-               return twitPeriod;\r
-       }\r
-       \r
-       private long getTwitTime(long id){\r
-               String key = KeyValueDao.KEY_TWIT_TIME + id;\r
-               Long value = twitTimeList.get(key);\r
-               if (value == null){\r
-                       value = 0L;\r
-                       twitTimeList.put(key, value);\r
-               }\r
-               return value;\r
-       }\r
-       \r
-       private void setTwitTime(long id, long value){\r
-               String key = KeyValueDao.KEY_TWIT_TIME + id;\r
-               twitTimeList.put(key, value);\r
-       }\r
-}\r