OSDN Git Service

DB\82ð\8eg\97p
[traindelaybot/source.git] / workspace / .metadata / .plugins / org.eclipse.core.resources / .history / 1f / 80fdab5dee6500111e5bcf098ae37dc9
1 package com.yuji.tdb;\r
2 \r
3 import java.io.IOException;\r
4 import java.util.logging.Logger;\r
5 \r
6 import javax.servlet.http.HttpServlet;\r
7 import javax.servlet.http.HttpServletRequest;\r
8 import javax.servlet.http.HttpServletResponse;\r
9 \r
10 import twitter4j.Twitter;\r
11 import twitter4j.TwitterException;\r
12 import twitter4j.TwitterFactory;\r
13 import twitter4j.auth.AccessToken;\r
14 import twitter4j.auth.OAuthAuthorization;\r
15 import twitter4j.auth.RequestToken;\r
16 import twitter4j.conf.Configuration;\r
17 import twitter4j.conf.ConfigurationBuilder;\r
18 \r
19 import com.yuji.tdb.common.CommonUtil;\r
20 import com.yuji.tdb.db.KeyValueDao;\r
21 import com.yuji.tdb.twitter.TwitterUtil;\r
22 \r
23 @SuppressWarnings("serial")\r
24 public class TrainDelayBotServlet extends HttpServlet {\r
25         private static final Logger log = Logger\r
26                         .getLogger(TrainDelayBotServlet.class.getName());\r
27         private static RequestToken requestToken = null;\r
28         private static AccessToken accessToken = null;\r
29         //private static String consumerKey = null;\r
30         //private static String consumerSecret = null;\r
31 \r
32         private KeyValueDao dao = KeyValueDao.getInstance();\r
33 \r
34         public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
35                         throws IOException {\r
36                 try {\r
37                         log.info("start");\r
38                         \r
39                         resp.setContentType("text/plain");\r
40                         resp.getWriter().println("<h3>traindelaybot Hello, world</h3>");\r
41 \r
42                         String parmConsumerKey = req.getParameter("key");\r
43                         String parmConsumerSecret = req.getParameter("secret");\r
44                         String parmResult = req.getParameter("result");\r
45                         if (!CommonUtil.isNull(parmConsumerKey)\r
46                                         && !CommonUtil.isNull(parmConsumerSecret)) {\r
47                                 setOAuthAuthorization(req, resp, parmConsumerKey,\r
48                                                 parmConsumerSecret);\r
49                                 \r
50                                 dao.put("FOO", "aaa");\r
51                                 \r
52                                 return;\r
53                         }\r
54 \r
55                         consumerKey = dao.get(KeyValueDao.KEY_CONSUMER_KEY);\r
56                         consumerSecret = dao.get(KeyValueDao.KEY_CONSUMER_SECRET);\r
57                         if (requestToken == null || CommonUtil.isNull(consumerKey)\r
58                                         || CommonUtil.isNull(consumerSecret)) {\r
59                                 log.warning("001");\r
60                                 return;\r
61                         }\r
62 \r
63                         if (!CommonUtil.isNull(parmResult)) {\r
64                                 resultOAuthAuthorization();\r
65                                 \r
66                                 String value = dao.get("FOO");\r
67                                 log.warning("VALUE=" + value);\r
68                                 \r
69                                 return;\r
70                         }\r
71 \r
72                         if (accessToken == null) {\r
73                                 log.warning("002");\r
74                                 return;\r
75                         }\r
76 \r
77                         AccessToken a = new AccessToken(parmResult, parmResult);\r
78                         \r
79                         TwitterUtil util = TwitterUtil.getInstance();\r
80                         util.main(consumerKey, consumerSecret, accessToken);\r
81                 } finally {\r
82                         log.info("end");\r
83                 }\r
84 \r
85         }\r
86 \r
87         private void setOAuthAuthorization(HttpServletRequest req,\r
88                         HttpServletResponse resp, String parmConsumerKey,\r
89                         String parmConsumerSecret) {\r
90                 try {\r
91                         ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
92 \r
93                         confBuilder.setDebugEnabled(true);\r
94                         confBuilder.setOAuthConsumerKey(parmConsumerKey);\r
95                         confBuilder.setOAuthConsumerSecret(parmConsumerSecret);\r
96                         Configuration conf = confBuilder.build();\r
97 \r
98                         String url = req.getRequestURL().toString();\r
99 \r
100                         OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
101                         // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
102                         // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
103                         String callbackURL = url + "?result=yes";\r
104                         // RequestToken requestToken =\r
105                         // oauth.getOAuthRequestToken(callbackURL);\r
106                         requestToken = oauth.getOAuthRequestToken(callbackURL);\r
107                         // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
108                         // sessionScope("RequestToken", requestToken);\r
109                         // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
110 \r
111                         consumerKey = parmConsumerKey;\r
112                         consumerSecret = parmConsumerSecret;\r
113 \r
114                         resp.sendRedirect(requestToken.getAuthenticationURL());\r
115                 } catch (TwitterException e) {\r
116                         // TODO Auto-generated catch block\r
117                         e.printStackTrace();\r
118                         log.severe(e.toString());\r
119                 } catch (IOException e) {\r
120                         // TODO Auto-generated catch block\r
121                         e.printStackTrace();\r
122                         log.severe(e.toString());\r
123                 }\r
124         }\r
125 \r
126         private void resultOAuthAuthorization() {\r
127                 try {\r
128                         // Twitter twitter = new TwitterFactory().getInstance();\r
129                         // String tokenKey = requestToken.getToken();\r
130                         // String tokenSecret = requestToken.getTokenSecret();\r
131 \r
132                         ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
133                         confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
134                                         .setOAuthConsumerSecret(consumerSecret);\r
135                         TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
136                         Twitter twitter = factory.getInstance();\r
137 \r
138                         accessToken = twitter.getOAuthAccessToken(requestToken);\r
139                 } catch (TwitterException e) {\r
140                         // TODO Auto-generated catch block\r
141                         e.printStackTrace();\r
142                         log.severe(e.toString());\r
143                 }\r
144         }\r
145 }\r