X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=workspace%2F.metadata%2F.plugins%2Forg.eclipse.core.resources%2F.history%2F8b%2F50ef23a9eb6500111e5bcf098ae37dc9;fp=workspace%2F.metadata%2F.plugins%2Forg.eclipse.core.resources%2F.history%2F8b%2F50ef23a9eb6500111e5bcf098ae37dc9;h=043d8cdd1c256100b368da3b50ad8f2651de269c;hb=000b64772b5174b32cbb1cfecc79fcea54f590b1;hp=0000000000000000000000000000000000000000;hpb=72eb0ffc94cf46f1bd91fb55c4af86baec1e7cc5;p=traindelaybot%2Fsource.git diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8b/50ef23a9eb6500111e5bcf098ae37dc9 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8b/50ef23a9eb6500111e5bcf098ae37dc9 new file mode 100644 index 0000000..043d8cd --- /dev/null +++ b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8b/50ef23a9eb6500111e5bcf098ae37dc9 @@ -0,0 +1,131 @@ +package com.yuji.tdb; + +import java.io.IOException; +import java.util.logging.Logger; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import twitter4j.Twitter; +import twitter4j.TwitterException; +import twitter4j.TwitterFactory; +import twitter4j.auth.AccessToken; +import twitter4j.auth.OAuthAuthorization; +import twitter4j.auth.RequestToken; +import twitter4j.conf.Configuration; +import twitter4j.conf.ConfigurationBuilder; + +import com.yuji.tdb.common.CommonUtil; +import com.yuji.tdb.twitter.TwitterUtil; + +@SuppressWarnings("serial") +public class TrainDelayBotServlet extends HttpServlet { + private static final Logger log = Logger + .getLogger(TrainDelayBotServlet.class.getName()); + private static RequestToken requestToken = null; + private static AccessToken accessToken = null; + private static String consumerKey = null; + private static String consumerSecret = null; + + public void doGet(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + try { + log.info("start"); + + resp.setContentType("text/plain"); + resp.getWriter().println("

traindelaybot Hello, world

"); + + String parmConsumerKey = req.getParameter("key"); + String parmConsumerSecret = req.getParameter("secret"); + String parmResult = req.getParameter("result"); + if (!CommonUtil.isNull(parmConsumerKey) + && !CommonUtil.isNull(parmConsumerSecret)) { + setOAuthAuthorization(req, resp, parmConsumerKey, + parmConsumerSecret); + return; + } + + if (requestToken == null || CommonUtil.isNull(consumerKey) + || CommonUtil.isNull(consumerSecret)) { + log.warning("001"); + return; + } + + if (!CommonUtil.isNull(parmResult)) { + resultOAuthAuthorization(); + return; + } + + if (accessToken == null) { + log.warning("002"); + return; + } + + TwitterUtil util = TwitterUtil.getInstance(); + util.main(consumerKey, consumerSecret, accessToken); + } finally { + log.info("end"); + } + + } + + private void setOAuthAuthorization(HttpServletRequest req, + HttpServletResponse resp, String parmConsumerKey, + String parmConsumerSecret) { + try { + ConfigurationBuilder confBuilder = new ConfigurationBuilder(); + + confBuilder.setDebugEnabled(true); + confBuilder.setOAuthConsumerKey(parmConsumerKey); + confBuilder.setOAuthConsumerSecret(parmConsumerSecret); + Configuration conf = confBuilder.build(); + + String url = req.getRequestURL().toString(); + + OAuthAuthorization oauth = new OAuthAuthorization(conf); + // Twitter‚Ì”FØ‰æ–Ê‚©‚ç‚Ì–ß‚èæ‚ðŽw’肵‚Ü‚·B + // AccessTokenƒRƒ“ƒgƒ[ƒ‰‚ðŽw’肵‚Ü‚·B + String callbackURL = url + "?result=yes"; + // RequestToken requestToken = + // oauth.getOAuthRequestToken(callbackURL); + requestToken = oauth.getOAuthRequestToken(callbackURL); + // RequestToken‚ðƒZƒbƒVƒ‡ƒ“‚É•Û‘¶‚µ‚Ä‚¨‚«‚Ü‚·B + // sessionScope("RequestToken", requestToken); + // Twitter‚Ì”FØ‰æ–Ê‚ÖƒŠƒ_ƒCƒŒƒNƒg‚µ‚Ü‚·B + + consumerKey = parmConsumerKey; + consumerSecret = parmConsumerSecret; + + resp.sendRedirect(requestToken.getAuthenticationURL()); + } catch (TwitterException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + log.severe(e.toString()); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + log.severe(e.toString()); + } + } + + private void resultOAuthAuthorization() { + try { + // Twitter twitter = new TwitterFactory().getInstance(); + // String tokenKey = requestToken.getToken(); + // String tokenSecret = requestToken.getTokenSecret(); + + ConfigurationBuilder confBuilder = new ConfigurationBuilder(); + confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey) + .setOAuthConsumerSecret(consumerSecret); + TwitterFactory factory = new TwitterFactory(confBuilder.build()); + Twitter twitter = factory.getInstance(); + + accessToken = twitter.getOAuthAccessToken(requestToken); + } catch (TwitterException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + log.severe(e.toString()); + } + } +}