OSDN Git Service

init bot
authorYuji Konishi <yuji.k64613@gmail.com>
Sat, 3 Mar 2012 09:48:08 +0000 (18:48 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Sat, 3 Mar 2012 09:48:08 +0000 (18:48 +0900)
271 files changed:
memo.txt
workspace/.metadata/.log
workspace/.metadata/.mylyn/.tasks.xml.zip
workspace/.metadata/.mylyn/tasks.xml.zip
workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-sdk-proxy.jar [new file with mode: 0644]
workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-tools-api.jar [new file with mode: 0644]
workspace/.metadata/.plugins/com.google.gwt.eclipse.core/uiBinderReferences [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/10/6015735704650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/00063d31d56400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/1079a903d76400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/c06a5787ef6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/14/d0edd093ef6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/15/c04383b6156500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/40cd87a6126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c08db8bf146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c0bf0ba7116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/505dfc26146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/7004616cf86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1a/8006693605650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/701bd97505650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0d23b6c04650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2b/d0128b79f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/10095185136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/e06f01a2146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/32/70c4775df96400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/304f2f00136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/e013c7b802650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0faa01bf76400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0e6d37bd26400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4/602d8e85f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4c/70eb0584136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b0a9e77a05650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/50/107f0abc02650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/51/20ca668202650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/55/40ecf67b04650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/59/50bf3582136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d01decd0116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e03b3c7b116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/908ac77bd26400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/307646aa02650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/90c5f98104650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/f080d3cc146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/65/c0bd1af9d06400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/69/c04815ae136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/80c52edbd66400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7/603cbc15126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/70/408cd60c03650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/72/a00c28efd06400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/76/40c8ae1103650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/78/905b4e84126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/400ac7abd76400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/80/b099851b136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/81/a0bcfc13136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/005f956ff96400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/a003bf99106500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/83/405456d4f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/00b5d60404650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/88/b04b4088116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/97/d097c8a9fb6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/99/d06cf93104650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9c/40e5c17bd26400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9f/c0fb49e904650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a1/00243ce0126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/600b3db2116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0a39ab6126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/30f33e7ed26400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ac/008fc697106500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/1082f3ef146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/10bcbf2ef86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/f0f050edf76400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/90c00d64fa6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/a03d42bc126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/00372809136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/b0ca88ec126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b0/b0ec126b106500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/00571300f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/2058e6ef136500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e0e7f1d6126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c0d35c3af66400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/d09c7050f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/bc/400f7c35d56400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/b0f57aa302650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/5029d71cfa6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50d07ddf02650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/f06a9ca303650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d4/309a0ff9d06400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d5/704c38c0116500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10694e16f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/dd/2017ce98146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/de/b036e208fa6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0f6bc2e156500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/e009bfcbf76400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e8/e0809f86f96400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/40af73b3146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ec/30597e35d56400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d096b290ef6400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10865fdc126500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f1/001aa439156500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/e0c3d16004650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f3/700bafd7146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/00f54854f86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f7/60c7f1dbd66400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f9/6052f73e156500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f08cf77f04650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/305a6c1ef86400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/e0cb967bf96400111689baadc7f8b0eb [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b02c6d5e146500111a4595e8dbbae88d [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c04882f301650011187edd98d8496234 [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/af/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/e8/a8/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/properties.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/org.eclipse.jdt.core/state.dat [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/af/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/15/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/8d/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/b9/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e8/a8/history.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/properties.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.markers [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/org.eclipse.jdt.core/state.dat [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
workspace/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree [deleted file]
workspace/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.appengine.eclipse.core.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gdt.eclipse.suite.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gwt.eclipse.core.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Test.launch [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/TrainDelayBot.launch [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload1.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload10.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload2.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload3.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload4.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload5.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload6.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload7.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload8.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload9.csv [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv
workspace/.metadata/.plugins/org.eclipse.jdt.core/1334072656.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1416700591.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1657330681.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1674092712.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1789169078.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1793416353.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1841838403.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1936741151.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/1950419709.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/2316769267.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/2594609853.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/2877109961.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/2934376851.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/2995743601.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3000053649.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/300720839.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3121891798.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3196967823.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3270002986.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3277441100.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3326703442.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3439653972.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3441353340.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3585733931.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3647253411.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/36897195.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/3730526690.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/4053157377.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/4065156612.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/4125496727.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/4251467834.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/454643000.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/610633013.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/954440477.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
workspace/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
workspace/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.history [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.history [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.index [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
workspace/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
workspace/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml [new file with mode: 0644]
workspace/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml [new file with mode: 0644]
workspace/Test/.classpath [new file with mode: 0644]
workspace/Test/.project [new file with mode: 0644]
workspace/Test/.settings/com.google.appengine.eclipse.core.prefs [new file with mode: 0644]
workspace/Test/.settings/com.google.gdt.eclipse.core.prefs [new file with mode: 0644]
workspace/Test/src/META-INF/jdoconfig.xml [new file with mode: 0644]
workspace/Test/src/log4j.properties [new file with mode: 0644]
workspace/Test/src/org/gtugs/codelab/appengine/blog/TestServlet.java [new file with mode: 0644]
workspace/Test/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml [new file with mode: 0644]
workspace/Test/war/WEB-INF/appengine-web.xml [new file with mode: 0644]
workspace/Test/war/WEB-INF/classes/META-INF/jdoconfig.xml [new file with mode: 0644]
workspace/Test/war/WEB-INF/classes/log4j.properties [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/datanucleus-core-1.1.5.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/jdo2-api-2.3-eb.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/lib/jsr107cache-1.1.jar [new file with mode: 0644]
workspace/Test/war/WEB-INF/logging.properties [new file with mode: 0644]
workspace/Test/war/WEB-INF/web.xml [new file with mode: 0644]
workspace/Test/war/favicon.ico [new file with mode: 0644]
workspace/Test/war/index.html [new file with mode: 0644]
workspace/TrainDelayBot/.classpath [new file with mode: 0644]
workspace/TrainDelayBot/.project [new file with mode: 0644]
workspace/TrainDelayBot/.settings/com.google.appengine.eclipse.core.prefs [new file with mode: 0644]
workspace/TrainDelayBot/.settings/com.google.gdt.eclipse.core.prefs [new file with mode: 0644]
workspace/TrainDelayBot/src/META-INF/jdoconfig.xml [new file with mode: 0644]
workspace/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java [new file with mode: 0644]
workspace/TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java [new file with mode: 0644]
workspace/TrainDelayBot/src/com/yuji/tdb/main/Main.java [new file with mode: 0644]
workspace/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java [new file with mode: 0644]
workspace/TrainDelayBot/src/log4j.properties [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/appengine-web.xml [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/classes/META-INF/jdoconfig.xml [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/classes/log4j.properties [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/cron.xml [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-core-1.1.5.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/jdo2-api-2.3-eb.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/jsr107cache-1.1.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/lib/twitter4j-core-2.2.5.jar [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/logging.properties [new file with mode: 0644]
workspace/TrainDelayBot/war/WEB-INF/web.xml [new file with mode: 0644]
workspace/TrainDelayBot/war/favicon.ico [new file with mode: 0644]
workspace/TrainDelayBot/war/index.html [new file with mode: 0644]

index b00bea0..3b1a639 100644 (file)
--- a/memo.txt
+++ b/memo.txt
@@ -9,9 +9,65 @@ Eclipse 3.5 (Galilo)   http://dl.google.com/eclipse/plugin/3.5
 Eclipse 3.6 (Helios)   http://dl.google.com/eclipse/plugin/3.6
 Eclipse 3.7 (Indigo)   http://dl.google.com/eclipse/plugin/3.7
 
+
 \8aY\93\96\82·\82é\83p\83b\83P\81[\83W\82ª\95\\8e¦\82³\82ê\82é\82Ì\82Å\81A\82·\82×\82Ä\82Ì\83`\83F\83b\83N\83{\83b\83N\83X\82É\83`\83F\83b\83N\82ð\93ü\82ê\81A[Next]\83{\83^\83\93\82ð\89\9f\82µ\82Ü\82·\81B
        Android\82Ì\8aÂ\8b«\82Í\83`\83F\83b\83N\82¹\82¸
 
+
 .gitignore
        \95Ï\8dX\82·\82é
        #workspace/.metadata
+
+
+https://appengine.google.com/
+http://code.google.com/p/appengine-cl/
+http://1.latest.yuji-k.appspot.com/
+http://1.latest.traindelaybot.appspot.com/
+
+
+<cronentries>
+       <cron>
+               <url>/traindelaybot</url>
+               <description>traindelaybot the run every 2 minutes</description>
+               <schedule>every 2 minutes</schedule>
+               <timezone>Asia/Tokyo</timezone>
+       </cron>
+</cronentries>
+
+
+http://localhost:8888/traindelaybot
+http://garlicg.blog92.fc2.com/blog-entry-2.html
+
+
+
+
+Consumer key           j9Nq0PPfoQxKbU2GUI2hQ
+Consumer secret                WURRzVzAsFWaoX8wKcVkIC16hSxwqRd9dabpO5tNVuw
+Request token URL      https://api.twitter.com/oauth/request_token
+Authorize URL          https://api.twitter.com/oauth/authorize
+Access token URL       https://api.twitter.com/oauth/access_token
+Callback URL           https://appengine.google.com/
+
+
+http://localhost:8888/traindelaybot?key=j9Nq0PPfoQxKbU2GUI2hQ&secret=WURRzVzAsFWaoX8wKcVkIC16hSxwqRd9dabpO5tNVuw
+
+
+http://localhost:8888/traindelaybot
+
+
+
+
+http://1.latest.traindelaybot.appspot.com/traindelaybot?key=j9Nq0PPfoQxKbU2GUI2hQ&secret=WURRzVzAsFWaoX8wKcVkIC16hSxwqRd9dabpO5tNVuw
+
+
+http://1.latest.traindelaybot.appspot.com/traindelaybot
+
+
+
+
+j9Nq0PPfoQxKbU2GUI2hQ
+WURRzVzAsFWaoX8wKcVkIC16hSxwqRd9dabpO5tNVuw
+klasdqc1aXedfHUPQ5Xte1KQDBfXOmqiKWEd6uhxrU
+g8PXKGRNqlsWx4rFUACbZsJJZnY2cnlUIkitFWmhqo
+282436171-2rW56ZCL82FOtgtSW3DR6i3OIKbosiVLt84mOInf
+8g6GFhaDtrRnnXVKaIZ4gfRfWAqZTnvcCIz05oHuas
index 9364ea4..5e4bbe2 100644 (file)
@@ -363,3 +363,863 @@ java.net.UnknownHostException: di.google.om
        at org.eclipse.equinox.internal.p2.ui.ProvUI.getSize(ProvUI.java:230)\r
        at org.eclipse.equinox.internal.p2.ui.dialogs.SizeComputingWizardPage$1.run(SizeComputingWizardPage.java:63)\r
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)\r
+!SESSION 2012-03-03 10:27:48.505 -----------------------------------------------\r
+eclipse.buildId=I20110613-1736\r
+java.version=1.6.0_26\r
+java.vendor=Sun Microsystems Inc.\r
+BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP\r
+Framework arguments:  -product org.eclipse.epp.package.java.product\r
+Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product\r
+\r
+!ENTRY com.google.gdt.eclipse.suite 1 0 2012-03-03 10:29:19.650\r
+!MESSAGE Registering: com.google.appengine.eclipse.sdkbundle_1.6.3.v201202290255r37\r
+\r
+!ENTRY com.google.gdt.eclipse.suite 1 0 2012-03-03 10:29:25.168\r
+!MESSAGE Registering: com.google.gwt.eclipse.sdkbundle_2.4.0.v201202290255-rel-r37\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 10:45:30.641\r
+!MESSAGE Test successfully deployed to Google App Engine\r
+\r
+!ENTRY org.eclipse.wst.common.project.facet.core 4 0 2012-03-03 11:10:51.783\r
+!MESSAGE Project facet wst.web has not been defined. It is used in plugin org.eclipse.jst.common.project.facet.core.\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 11:17:40.305\r
+!MESSAGE TrainDelayBot successfully deployed to Google App Engine\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 11:22:31.641\r
+!MESSAGE TrainDelayBot successfully deployed to Google App Engine\r
+\r
+!ENTRY org.eclipse.jdt.debug 4 125 2012-03-03 11:39:20.189\r
+!MESSAGE Internal error logged from JDI Debug: \r
+!STACK 0\r
+org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 346.\r
+       at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:171)\r
+       at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:180)\r
+       at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:177)\r
+       at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:208)\r
+       at org.eclipse.jdi.internal.VirtualMachineImpl.classesBySignature(VirtualMachineImpl.java:599)\r
+       at org.eclipse.jdi.internal.VirtualMachineImpl.classesByName(VirtualMachineImpl.java:626)\r
+       at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.jdiClassesByName(JDIDebugTarget.java:1524)\r
+       at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager.filterUnloadedTypes(JavaHotCodeReplaceManager.java:338)\r
+       at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager.doHotCodeReplace(JavaHotCodeReplaceManager.java:434)\r
+       at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager.access$0(JavaHotCodeReplaceManager.java:421)\r
+       at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager$1.run(JavaHotCodeReplaceManager.java:310)\r
+       at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run(DebugPlugin.java:1076)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.debug.core.DebugPlugin$AsynchRunner.async(DebugPlugin.java:1059)\r
+       at org.eclipse.debug.core.DebugPlugin$EventDispatchJob.run(DebugPlugin.java:413)\r
+       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)\r
+\r
+!ENTRY org.eclipse.jdt.ui 4 10001 2012-03-03 11:55:36.635\r
+!MESSAGE Internal Error\r
+!STACK 1\r
+Java Model Exception: Core Exception [code 4] Problems encountered while moving resources.\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:50)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not move: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:411)\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:352)\r
+       at org.eclipse.core.internal.localstore.FileSystemResourceManager.move(FileSystemResourceManager.java:767)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardMoveFile(ResourceTree.java:929)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1962)\r
+       at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591)\r
+       at org.eclipse.ltk.core.refactoring.resource.MoveResourceChange.perform(MoveResourceChange.java:119)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+Caused by: org.eclipse.core.internal.resources.ResourceException: Problems encountered while moving resources.\r
+       at org.eclipse.core.internal.resources.Resource.move(Resource.java:1603)\r
+       at org.eclipse.ltk.core.refactoring.resource.MoveResourceChange.perform(MoveResourceChange.java:119)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not move: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:411)\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:352)\r
+       at org.eclipse.core.internal.localstore.FileSystemResourceManager.move(FileSystemResourceManager.java:767)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardMoveFile(ResourceTree.java:929)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1962)\r
+       at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591)\r
+       at org.eclipse.ltk.core.refactoring.resource.MoveResourceChange.perform(MoveResourceChange.java:119)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 1 org.eclipse.core.resources 4 4 2012-03-03 11:55:36.668\r
+!MESSAGE Problems encountered while moving resources.\r
+!SUBENTRY 2 org.eclipse.core.filesystem 4 272 2012-03-03 11:55:36.668\r
+!MESSAGE Could not move: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!STACK 1\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:411)\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:352)\r
+       at org.eclipse.core.internal.localstore.FileSystemResourceManager.move(FileSystemResourceManager.java:767)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardMoveFile(ResourceTree.java:929)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1962)\r
+       at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591)\r
+       at org.eclipse.ltk.core.refactoring.resource.MoveResourceChange.perform(MoveResourceChange.java:119)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:36.669\r
+!MESSAGE Problems encountered while deleting files.\r
+!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:36.669\r
+!MESSAGE Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+\r
+!ENTRY org.eclipse.core.resources 4 4 2012-03-03 11:55:36.670\r
+!MESSAGE Problems encountered while moving resources.\r
+!SUBENTRY 1 org.eclipse.core.filesystem 4 272 2012-03-03 11:55:36.671\r
+!MESSAGE Could not move: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!STACK 1\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:411)\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:352)\r
+       at org.eclipse.core.internal.localstore.FileSystemResourceManager.move(FileSystemResourceManager.java:767)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardMoveFile(ResourceTree.java:929)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedMove(Resource.java:1962)\r
+       at org.eclipse.core.internal.resources.Resource.move(Resource.java:1591)\r
+       at org.eclipse.ltk.core.refactoring.resource.MoveResourceChange.perform(MoveResourceChange.java:119)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProcessor$1.perform(JavaMoveProcessor.java:147)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:106)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)\r
+       at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)\r
+       at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)\r
+       at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)\r
+       at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)\r
+       at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:70)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)\r
+       at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)\r
+       at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)\r
+       at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\r
+       at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\r
+       at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\r
+       at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)\r
+       at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)\r
+       at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)\r
+       at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)\r
+       at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)\r
+       at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)\r
+       at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)\r
+       at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)\r
+       at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 2 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:36.671\r
+!MESSAGE Problems encountered while deleting files.\r
+!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:36.672\r
+!MESSAGE Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+\r
+!ENTRY org.eclipse.ltk.ui.refactoring 4 10000 2012-03-03 11:55:59.728\r
+!MESSAGE Internal Error\r
+!STACK 1\r
+Java Model Exception: Core Exception [code 273] Problems encountered while deleting resources.\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:50)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete 'C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar'.\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1931)\r
+       at org.eclipse.core.internal.resources.Resource.delete(Resource.java:780)\r
+       at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:138)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+Caused by: org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources.\r
+       at org.eclipse.core.internal.resources.Resource.delete(Resource.java:793)\r
+       at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:138)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete 'C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar'.\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1931)\r
+       at org.eclipse.core.internal.resources.Resource.delete(Resource.java:780)\r
+       at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:138)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 1 org.eclipse.core.resources 4 273 2012-03-03 11:55:59.730\r
+!MESSAGE Problems encountered while deleting resources.\r
+!SUBENTRY 2 org.eclipse.core.resources 4 273 2012-03-03 11:55:59.730\r
+!MESSAGE Could not delete 'C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar'.\r
+!STACK 1\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1931)\r
+       at org.eclipse.core.internal.resources.Resource.delete(Resource.java:780)\r
+       at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:138)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:59.731\r
+!MESSAGE Problems encountered while deleting files.\r
+!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:59.731\r
+!MESSAGE Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+\r
+!ENTRY org.eclipse.core.resources 4 273 2012-03-03 11:55:59.732\r
+!MESSAGE Problems encountered while deleting resources.\r
+!SUBENTRY 1 org.eclipse.core.resources 4 273 2012-03-03 11:55:59.733\r
+!MESSAGE Could not delete 'C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar'.\r
+!STACK 1\r
+org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.\r
+       at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)\r
+       at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304)\r
+       at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785)\r
+       at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1931)\r
+       at org.eclipse.core.internal.resources.Resource.delete(Resource.java:780)\r
+       at org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange.perform(DeleteResourceChange.java:138)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:102)\r
+       at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)\r
+       at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4860)\r
+       at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:105)\r
+       at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)\r
+       at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)\r
+       at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)\r
+       at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)\r
+       at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)\r
+       at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)\r
+Contains: Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+!SUBENTRY 2 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:59.733\r
+!MESSAGE Problems encountered while deleting files.\r
+!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2012-03-03 11:55:59.733\r
+!MESSAGE Could not delete: C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\lib\twitter4j-core-2.2.5.jar.\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 15:33:13.749\r
+!MESSAGE TrainDelayBot successfully deployed to Google App Engine\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 15:44:58.736\r
+!MESSAGE TrainDelayBot successfully deployed to Google App Engine\r
+\r
+!ENTRY org.eclipse.ui 4 0 2012-03-03 16:01:00.931\r
+!MESSAGE Unhandled event loop exception\r
+!STACK 0\r
+java.lang.NullPointerException\r
+       at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1708)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:730)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:715)\r
+       at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:860)\r
+       at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\r
+       at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:858)\r
+       at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741)\r
+       at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687)\r
+       at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:98)\r
+       at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)\r
+       at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)\r
+       at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:308)\r
+       at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1677)\r
+       at org.eclipse.swt.widgets.Control.windowProc(Control.java:4530)\r
+       at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)\r
+       at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1610)\r
+       at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061)\r
+       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)\r
+       at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)\r
+       at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2525)\r
+       at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:498)\r
+       at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)\r
+       at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)\r
+       at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1610)\r
+       at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061)\r
+       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)\r
+       at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)\r
+       at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2525)\r
+       at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:498)\r
+       at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)\r
+       at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)\r
+       at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1610)\r
+       at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061)\r
+       at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)\r
+       at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)\r
+       at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2530)\r
+       at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)\r
+       at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)\r
+       at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)\r
+       at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)\r
+       at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)\r
+       at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\r
+       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)\r
+       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\r
+       at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)\r
+       at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\r
+       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\r
+       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\r
+       at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\r
+       at org.eclipse.equinox.launcher.Main.run(Main.java:1410)\r
+!SESSION 2012-03-03 16:21:41.368 -----------------------------------------------\r
+eclipse.buildId=I20110613-1736\r
+java.version=1.6.0_26\r
+java.vendor=Sun Microsystems Inc.\r
+BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP\r
+Framework arguments:  -product org.eclipse.epp.package.java.product\r
+Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product\r
+\r
+!ENTRY org.eclipse.wst.common.project.facet.core 4 0 2012-03-03 16:22:14.182\r
+!MESSAGE Project facet wst.web has not been defined. It is used in plugin org.eclipse.jst.common.project.facet.core.\r
+\r
+!ENTRY com.google.gdt.eclipse.core 1 0 2012-03-03 16:23:31.509\r
+!MESSAGE Scheduled rebuild of project Test because of plugin update (current version: 2.5.2.v201202290255-rel-r37)\r
+\r
+!ENTRY com.google.gdt.eclipse.core 1 0 2012-03-03 16:23:31.682\r
+!MESSAGE Scheduled rebuild of project TrainDelayBot because of plugin update (current version: 2.5.2.v201202290255-rel-r37)\r
+!SESSION 2012-03-03 18:04:05.645 -----------------------------------------------\r
+eclipse.buildId=I20110613-1736\r
+java.version=1.6.0_26\r
+java.vendor=Sun Microsystems Inc.\r
+BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP\r
+Framework arguments:  -product org.eclipse.epp.package.java.product\r
+Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product\r
+\r
+!ENTRY com.google.appengine.eclipse.core 1 0 2012-03-03 18:47:02.660\r
+!MESSAGE TrainDelayBot successfully deployed to Google App Engine\r
index 9df17ff..bed5b1a 100644 (file)
Binary files a/workspace/.metadata/.mylyn/.tasks.xml.zip and b/workspace/.metadata/.mylyn/.tasks.xml.zip differ
index eabbe70..7b5d793 100644 (file)
Binary files a/workspace/.metadata/.mylyn/tasks.xml.zip and b/workspace/.metadata/.mylyn/tasks.xml.zip differ
diff --git a/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-sdk-proxy.jar b/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-sdk-proxy.jar
new file mode 100644 (file)
index 0000000..f3e4691
Binary files /dev/null and b/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-sdk-proxy.jar differ
diff --git a/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-tools-api.jar b/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-tools-api.jar
new file mode 100644 (file)
index 0000000..fd8c4ca
Binary files /dev/null and b/workspace/.metadata/.plugins/com.google.appengine.eclipse.core/appengine-tools-api.jar differ
diff --git a/workspace/.metadata/.plugins/com.google.gwt.eclipse.core/uiBinderReferences b/workspace/.metadata/.plugins/com.google.gwt.eclipse.core/uiBinderReferences
new file mode 100644 (file)
index 0000000..b6f5092
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<uiBinderReferences>\r
+<referenceManager>\r
+<references/>\r
+</referenceManager>\r
+<uiBinderSubtypeToOwner/>\r
+<uiBinderSubtypeToUiXml/>\r
+<uiXmlReferencedFields/>\r
+</uiBinderReferences>
\ No newline at end of file
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/10/6015735704650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/10/6015735704650011187edd98d8496234
new file mode 100644 (file)
index 0000000..6045daa
--- /dev/null
@@ -0,0 +1,182 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/00063d31d56400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/00063d31d56400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..5a007f0
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 11:04:21 JST 2012\r
+eclipse.preferences.version=1\r
+warSrcDir=war\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/1079a903d76400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/1079a903d76400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..18de3a6
--- /dev/null
@@ -0,0 +1,5 @@
+#Sat Mar 03 11:04:28 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/c06a5787ef6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/12/c06a5787ef6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..839d433
--- /dev/null
@@ -0,0 +1,71 @@
+package com.yuji.em.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.content.Context;
+
+import com.yuji.em.utility.EditPrefUtil;
+
+public class CommonUtil {
+       public static String replaceString(String text, String src, String dst) {
+               return text.replaceAll(src, dst);
+       }
+
+       public static String escapeHtml(String text) {
+               StringBuffer result = new StringBuffer();
+               for (int i = 0; i < text.length(); i++) {
+                       switch (text.charAt(i)) {
+                       case '&':
+                               result.append("&amp;");
+                               break;
+                       case '<':
+                               result.append("&lt;");
+                               break;
+                       case '>':
+                               result.append("&gt;");
+                               break;
+                       default:
+                               result.append(text.charAt(i));
+                               break;
+                       }
+               }
+               return result.toString();
+       }
+
+       public static boolean isNull(String str){
+               return str == null || str.length() == 0;
+       }
+       
+       public static List<String> split(String str, String delm){
+               int l = str.length();
+               List<String> list = new ArrayList<String>();
+               
+               int pos = 0;
+               String s;
+               while (pos < l){
+                       int n = str.indexOf(delm, pos);
+                       if (n < 0){
+                               s = str.substring(pos);
+                               n = l;
+                       }
+                       else {
+                               s = str.substring(pos, n);
+                       }
+                       list.add(s);
+                       pos = n + 1;
+               }
+               
+               return list;
+       }
+       
+       public static String getUsername(Context context){
+               EditPrefUtil pref = new EditPrefUtil(context);  
+               return pref.get(Constant.PREF_USER);
+       }
+
+       public static String getPassword(Context context){
+               EditPrefUtil pref = new EditPrefUtil(context);  
+               return pref.get(Constant.PREF_PASSWORD);
+       }
+}
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/14/d0edd093ef6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/14/d0edd093ef6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..1c1f064
--- /dev/null
@@ -0,0 +1,62 @@
+package com.yuji.tdb.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.content.Context;
+
+import com.yuji.em.utility.EditPrefUtil;
+
+public class CommonUtil {
+       public static String replaceString(String text, String src, String dst) {
+               return text.replaceAll(src, dst);
+       }
+
+       public static String escapeHtml(String text) {
+               StringBuffer result = new StringBuffer();
+               for (int i = 0; i < text.length(); i++) {
+                       switch (text.charAt(i)) {
+                       case '&':
+                               result.append("&amp;");
+                               break;
+                       case '<':
+                               result.append("&lt;");
+                               break;
+                       case '>':
+                               result.append("&gt;");
+                               break;
+                       default:
+                               result.append(text.charAt(i));
+                               break;
+                       }
+               }
+               return result.toString();
+       }
+
+       public static boolean isNull(String str){
+               return str == null || str.length() == 0;
+       }
+       
+       public static List<String> split(String str, String delm){
+               int l = str.length();
+               List<String> list = new ArrayList<String>();
+               
+               int pos = 0;
+               String s;
+               while (pos < l){
+                       int n = str.indexOf(delm, pos);
+                       if (n < 0){
+                               s = str.substring(pos);
+                               n = l;
+                       }
+                       else {
+                               s = str.substring(pos, n);
+                       }
+                       list.add(s);
+                       pos = n + 1;
+               }
+               
+               return list;
+       }
+
+}
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/15/c04383b6156500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/15/c04383b6156500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..bed07ad
--- /dev/null
@@ -0,0 +1,36 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "j9Nq0PPfoQxKbU2GUI2hQ";\r
+               String consumerSecret = "WURRzVzAsFWaoX8wKcVkIC16hSxwqRd9dabpO5tNVuw";\r
+               String tokenKey = "282436171-2rW56ZCL82FOtgtSW3DR6i3OIKbosiVLt84mOInf";\r
+               String tokenSecret = "8g6GFhaDtrRnnXVKaIZ4gfRfWAqZTnvcCIz05oHuas";\r
+\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+                       confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
+                                       .setOAuthConsumerSecret(consumerSecret);\r
+                       TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
+\r
+                       AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+\r
+                       Status status = twitter.updateStatus("\83e\83X\83g");\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/40cd87a6126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/40cd87a6126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..306525b
--- /dev/null
@@ -0,0 +1,43 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\r
+\r
+       public 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
+\r
+       }\r
+\r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c08db8bf146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c08db8bf146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..0b8b432
--- /dev/null
@@ -0,0 +1,120 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c0bf0ba7116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/17/c0bf0ba7116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..5581910
--- /dev/null
@@ -0,0 +1,26 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+               String consumerSecret = "";\r
+               String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               TwitterFactory factory = new TwitterFactory();\r
+               AccessToken at = new AccessToken(tokenKey, tokenSecret);\r
+               Twitter twitter = factory.getOAuthAuthorizedInstance(consumerKey,\r
+                               consumerSecret, at);\r
+               // POST\r
+               Status status = twitter.updateStatus("\83e\83X\83g");\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/505dfc26146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/505dfc26146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..4049b92
--- /dev/null
@@ -0,0 +1,114 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/7004616cf86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/19/7004616cf86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..dc6b647
--- /dev/null
@@ -0,0 +1,138 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1a/8006693605650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1a/8006693605650011187edd98d8496234
new file mode 100644 (file)
index 0000000..9fc4935
--- /dev/null
@@ -0,0 +1,188 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString();                                                       \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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("\82 ");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/701bd97505650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/701bd97505650011187edd98d8496234
new file mode 100644 (file)
index 0000000..2890088
--- /dev/null
@@ -0,0 +1,188 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString();                                                       \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0d23b6c04650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0d23b6c04650011187edd98d8496234
new file mode 100644 (file)
index 0000000..94c2456
--- /dev/null
@@ -0,0 +1,186 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2b/d0128b79f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2b/d0128b79f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..e9bcd28
--- /dev/null
@@ -0,0 +1,139 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/10095185136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/10095185136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..d0ab84a
--- /dev/null
@@ -0,0 +1,108 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               // TODO null check\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(TrainDelayBotServlet.consumerKey, TrainDelayBotServlet.consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/e06f01a2146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2d/e06f01a2146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..df0ca4a
--- /dev/null
@@ -0,0 +1,115 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/32/70c4775df96400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/32/70c4775df96400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..d25abbc
--- /dev/null
@@ -0,0 +1,143 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/304f2f00136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/304f2f00136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..f2e0f96
--- /dev/null
@@ -0,0 +1,110 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(consumerKey, consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/e013c7b802650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/e013c7b802650011187edd98d8496234
new file mode 100644 (file)
index 0000000..ebaad0f
--- /dev/null
@@ -0,0 +1,145 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+\r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0faa01bf76400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0faa01bf76400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..aefe37b
--- /dev/null
@@ -0,0 +1,127 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       AccessToken accessToken = twitter.getOAuthAccessToken();\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0e6d37bd26400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0e6d37bd26400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..3dd55ef
--- /dev/null
@@ -0,0 +1,6 @@
+#Sat Mar 03 10:44:58 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
+googleCloudSqlEnabled=false\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4/602d8e85f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4/602d8e85f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..bf7737c
--- /dev/null
@@ -0,0 +1,140 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       TwitterFactory factory = new TwitterFactory();\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4c/70eb0584136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4c/70eb0584136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..7d3291d
--- /dev/null
@@ -0,0 +1,108 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               // TODO null check\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(TrainDelayBotServlet.consumerKey, consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b0a9e77a05650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b0a9e77a05650011187edd98d8496234
new file mode 100644 (file)
index 0000000..1823a9e
--- /dev/null
@@ -0,0 +1,188 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString()\81@+ "count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/50/107f0abc02650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/50/107f0abc02650011187edd98d8496234
new file mode 100644 (file)
index 0000000..da5bf30
--- /dev/null
@@ -0,0 +1,146 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = curDate.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/51/20ca668202650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/51/20ca668202650011187edd98d8496234
new file mode 100644 (file)
index 0000000..a6ff13f
--- /dev/null
@@ -0,0 +1,142 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/55/40ecf67b04650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/55/40ecf67b04650011187edd98d8496234
new file mode 100644 (file)
index 0000000..f8897bc
--- /dev/null
@@ -0,0 +1,186 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               message = " " + date.toString();                                                        \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/59/50bf3582136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/59/50bf3582136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..a57f3b2
--- /dev/null
@@ -0,0 +1,108 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               // TODO null check\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(consumerKey, consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d01decd0116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d01decd0116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..21fe48c
--- /dev/null
@@ -0,0 +1,36 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+               String consumerSecret = "";\r
+               String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+                       confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
+                                       .setOAuthConsumerSecret(consumerSecret);\r
+                       TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
+\r
+                       AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+\r
+                       Status status = twitter.updateStatus("\83e\83X\83g");\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e03b3c7b116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e03b3c7b116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..8898f4c
--- /dev/null
@@ -0,0 +1,13 @@
+package com.yuji.tdb.main;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               System.out.println("hello, world");\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/908ac77bd26400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/908ac77bd26400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..a9b1720
--- /dev/null
@@ -0,0 +1,5 @@
+#Sat Mar 03 10:34:09 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/307646aa02650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/307646aa02650011187edd98d8496234
new file mode 100644 (file)
index 0000000..a3b0d17
--- /dev/null
@@ -0,0 +1,146 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+\r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/90c5f98104650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/90c5f98104650011187edd98d8496234
new file mode 100644 (file)
index 0000000..519e4a7
--- /dev/null
@@ -0,0 +1,187 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString();                                                       \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/f080d3cc146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/f080d3cc146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..138333c
--- /dev/null
@@ -0,0 +1,121 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/65/c0bd1af9d06400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/65/c0bd1af9d06400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..763e0ab
--- /dev/null
@@ -0,0 +1,4 @@
+#Sat Mar 03 10:34:09 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeIsEclipseDefaultInstPath=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/69/c04815ae136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/69/c04815ae136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..24d5540
--- /dev/null
@@ -0,0 +1,113 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/80c52edbd66400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/80c52edbd66400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..9bbbe2d
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+  <application></application>
+  <version>1</version>
+
+  <!--
+    By default, App Engine sends requests serially to a given web server.
+    To allow App Engine to send multiple requests in parallel specify:
+
+      <threadsafe>true</threadsafe>
+  -->
+
+  <!-- Configure java.util.logging -->
+  <system-properties>
+    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+  </system-properties>
+
+  <!--
+    HTTP Sessions are disabled by default. To enable HTTP sessions specify:
+
+      <sessions-enabled>true</sessions-enabled>
+
+    It's possible to reduce request latency by configuring your application to
+    asynchronously write HTTP session data to the datastore:
+
+      <async-session-persistence enabled="true" />
+
+    With this feature enabled, there is a very small chance your app will see
+    stale session data. For details, see
+    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
+  -->
+
+</appengine-web-app>
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7/603cbc15126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7/603cbc15126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/70/408cd60c03650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/70/408cd60c03650011187edd98d8496234
new file mode 100644 (file)
index 0000000..ac8cef6
--- /dev/null
@@ -0,0 +1,148 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = dt.getTime();\r
+                               \r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/72/a00c28efd06400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/72/a00c28efd06400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..25ba521
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 10:33:52 JST 2012\r
+eclipse.preferences.version=1\r
+warSrcDir=war\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/76/40c8ae1103650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/76/40c8ae1103650011187edd98d8496234
new file mode 100644 (file)
index 0000000..3e5a385
--- /dev/null
@@ -0,0 +1,151 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               \r
+                               if (t < cur - 10 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/78/905b4e84126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/78/905b4e84126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..aa9d4a1
--- /dev/null
@@ -0,0 +1,5 @@
+package com.yuji.tdb.twitter;\r
+\r
+public class TwitterUtil {\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/400ac7abd76400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/400ac7abd76400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..43b9b12
--- /dev/null
@@ -0,0 +1,8 @@
+<cronentries>\r
+       <cron>\r
+               <url>/traindelaybot</url>\r
+               <description>traindelaybot the run every 2 minutes</description>\r
+               <schedule>every 2 minutes</schedule>\r
+               <timezone>Asia/Tokyo</timezone>\r
+       </cron>\r
+</cronentries>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/80/b099851b136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/80/b099851b136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..b2cb6b5
--- /dev/null
@@ -0,0 +1,111 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               // TODO null check\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(consumerKey, consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/81/a0bcfc13136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/81/a0bcfc13136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..517ae17
--- /dev/null
@@ -0,0 +1,113 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       private void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/005f956ff96400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/005f956ff96400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..099384d
--- /dev/null
@@ -0,0 +1,147 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               \r
+               String url = req.getRequestURL().toString();\r
+               \r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/a003bf99106500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/a003bf99106500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..0841b04
--- /dev/null
@@ -0,0 +1,13 @@
+package com.yuji.tdb.main;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               System.out.println("hello, world")\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/83/405456d4f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/83/405456d4f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..056a7e4
--- /dev/null
@@ -0,0 +1,140 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       TwitterFactory factory = new TwitterFactory();\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/00b5d60404650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/00b5d60404650011187edd98d8496234
new file mode 100644 (file)
index 0000000..d56da3d
--- /dev/null
@@ -0,0 +1,171 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = new ArrayList<String>();\r
+       \r
+       private boolean filter(String text) {\r
+               if (keywords == null) {\r
+                       return false;\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/88/b04b4088116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/88/b04b4088116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..24c0d24
--- /dev/null
@@ -0,0 +1,26 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+           String consumerSecret = "";\r
+           String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               TwitterFactory factory = new TwitterFactory();\r
+               AccessToken at = new AccessToken(tokenKey, tokenSecret);\r
+               Twitter twitter = factory.getOAuthAuthorizedInstance(consumerKey, consumerSecret, at);\r
+           // POST\r
+           Status status = twitter.updateStatus("\83e\83X\83g");\r
+           }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/97/d097c8a9fb6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/97/d097c8a9fb6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..779eb26
--- /dev/null
@@ -0,0 +1,8 @@
+<cronentries>\r
+       <cron>\r
+               <url>/traindelaybot</url>\r
+               <description>traindelaybot the run every 5 minutes</description>\r
+               <schedule>every 5 minutes</schedule>\r
+               <timezone>Asia/Tokyo</timezone>\r
+       </cron>\r
+</cronentries>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/99/d06cf93104650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/99/d06cf93104650011187edd98d8496234
new file mode 100644 (file)
index 0000000..ed2cbd3
--- /dev/null
@@ -0,0 +1,175 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9c/40e5c17bd26400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9c/40e5c17bd26400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..9bbbe2d
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+  <application></application>
+  <version>1</version>
+
+  <!--
+    By default, App Engine sends requests serially to a given web server.
+    To allow App Engine to send multiple requests in parallel specify:
+
+      <threadsafe>true</threadsafe>
+  -->
+
+  <!-- Configure java.util.logging -->
+  <system-properties>
+    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+  </system-properties>
+
+  <!--
+    HTTP Sessions are disabled by default. To enable HTTP sessions specify:
+
+      <sessions-enabled>true</sessions-enabled>
+
+    It's possible to reduce request latency by configuring your application to
+    asynchronously write HTTP session data to the datastore:
+
+      <async-session-persistence enabled="true" />
+
+    With this feature enabled, there is a very small chance your app will see
+    stale session data. For details, see
+    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
+  -->
+
+</appengine-web-app>
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9f/c0fb49e904650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9f/c0fb49e904650011187edd98d8496234
new file mode 100644 (file)
index 0000000..b9a43cf
--- /dev/null
@@ -0,0 +1,187 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString();                                                       \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a1/00243ce0126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a1/00243ce0126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..b9de3f8
--- /dev/null
@@ -0,0 +1,112 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\r
+\r
+       public 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
+\r
+       }\r
+\r
+       private void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/600b3db2116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/600b3db2116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..0f2c10f
--- /dev/null
@@ -0,0 +1,25 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+               String consumerSecret = "";\r
+               String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               TwitterFactory factory = new TwitterFactory();\r
+               AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+               Twitter twitter = factory.getInstance(accessToken);\r
+               // POST\r
+               Status status = twitter.updateStatus("\83e\83X\83g");\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0a39ab6126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0a39ab6126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..d5b755d
--- /dev/null
@@ -0,0 +1,188 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/30f33e7ed26400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/30f33e7ed26400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..8815b39
--- /dev/null
@@ -0,0 +1,7 @@
+#Sat Mar 03 10:44:58 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
+googleCloudSqlEnabled=false\r
+localDevMySqlEnabled=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ac/008fc697106500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ac/008fc697106500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..034111e
--- /dev/null
@@ -0,0 +1,13 @@
+package com.yuji.tdb.main;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               // TODO Auto-generated method stub\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/1082f3ef146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/1082f3ef146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..46b129c
--- /dev/null
@@ -0,0 +1,121 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (hit > mhit){\r
+                                       hit = mhit;\r
+                               }\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/10bcbf2ef86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/10bcbf2ef86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..bcfd4ea
--- /dev/null
@@ -0,0 +1,138 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+               try {\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/f0f050edf76400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ad/f0f050edf76400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..12aa09e
--- /dev/null
@@ -0,0 +1,127 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       AccessToken accessToken = twitter.getOAuthAccessToken(requestToken);\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/90c00d64fa6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/90c00d64fa6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..1388d5f
--- /dev/null
@@ -0,0 +1,8 @@
+<cronentries>\r
+       <cron>\r
+               <url>/traindelaybot</url>\r
+               <description>traindelaybot the run every 30 minutes</description>\r
+               <schedule>every 30 minutes</schedule>\r
+               <timezone>Asia/Tokyo</timezone>\r
+       </cron>\r
+</cronentries>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/a03d42bc126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/af/a03d42bc126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..53b44a5
--- /dev/null
@@ -0,0 +1,117 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/00372809136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/00372809136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..fb84c84
--- /dev/null
@@ -0,0 +1,113 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\r
+\r
+       public 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
+\r
+       }\r
+\r
+       private void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/b0ca88ec126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b/b0ca88ec126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..c46e4de
--- /dev/null
@@ -0,0 +1,110 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       }\r
+\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b0/b0ec126b106500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b0/b0ec126b106500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/00571300f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/00571300f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..a4f0d5b
--- /dev/null
@@ -0,0 +1,132 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+               else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       AccessToken accessToken = twitter.getOAuthAccessToken(requestToken);\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/2058e6ef136500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/2058e6ef136500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..e8168d7
--- /dev/null
@@ -0,0 +1,114 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e0e7f1d6126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b6/e0e7f1d6126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..f3a28c4
--- /dev/null
@@ -0,0 +1,112 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\r
+\r
+       public 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
+\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c0d35c3af66400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b8/c0d35c3af66400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..da07c4d
--- /dev/null
@@ -0,0 +1,127 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+                       confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
+                                       .setOAuthConsumerSecret(consumerSecret);\r
+                       TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
+                       \r
+                       Twitter twitter = factory.getInstance();\r
+                       accessToken = twitter.getOAuthAccessToken();\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/d09c7050f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/d09c7050f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..dc6b647
--- /dev/null
@@ -0,0 +1,138 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/bc/400f7c35d56400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/bc/400f7c35d56400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..e7b32e6
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 11:04:28 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/b0f57aa302650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/b0f57aa302650011187edd98d8496234
new file mode 100644 (file)
index 0000000..beeca9e
--- /dev/null
@@ -0,0 +1,145 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/5029d71cfa6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/5029d71cfa6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..26dbae2
--- /dev/null
@@ -0,0 +1,141 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50d07ddf02650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/50d07ddf02650011187edd98d8496234
new file mode 100644 (file)
index 0000000..0427f62
--- /dev/null
@@ -0,0 +1,146 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/f06a9ca303650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/f06a9ca303650011187edd98d8496234
new file mode 100644 (file)
index 0000000..e0aab72
--- /dev/null
@@ -0,0 +1,151 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d4/309a0ff9d06400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d4/309a0ff9d06400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..7ffea66
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 10:34:00 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d5/704c38c0116500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d5/704c38c0116500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..d1412ef
--- /dev/null
@@ -0,0 +1,30 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+               String consumerSecret = "";\r
+               String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+               confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
+                               .setOAuthConsumerSecret(consumerSecret);\r
+               TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
+\r
+               AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+               Twitter twitter = factory.getInstance(accessToken);\r
+               // POST\r
+               Status status = twitter.updateStatus("\83e\83X\83g");\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10694e16f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/10694e16f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..9b15e7b
--- /dev/null
@@ -0,0 +1,133 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+               else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/dd/2017ce98146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/dd/2017ce98146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..dd9aa54
--- /dev/null
@@ -0,0 +1,115 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/de/b036e208fa6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/de/b036e208fa6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..f1b206d
--- /dev/null
@@ -0,0 +1,144 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0f6bc2e156500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c0f6bc2e156500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..1a5b385
--- /dev/null
@@ -0,0 +1,122 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (hit > mhit){\r
+                                       hit = mhit;\r
+                               }\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               String sample = tweets.get(index).getText();\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/e009bfcbf76400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/e009bfcbf76400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..830d831
--- /dev/null
@@ -0,0 +1,127 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       AccessToken accessToken = twitter.getOAuthAccessToken(requestToken);\r
+                                       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e8/e0809f86f96400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e8/e0809f86f96400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..fd96adf
--- /dev/null
@@ -0,0 +1,144 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/40af73b3146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/40af73b3146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..e62dc29
--- /dev/null
@@ -0,0 +1,116 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ec/30597e35d56400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ec/30597e35d56400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..d4a901a
--- /dev/null
@@ -0,0 +1,4 @@
+#Sat Mar 03 11:04:28 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeIsEclipseDefaultInstPath=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d096b290ef6400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d096b290ef6400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..f27d9f9
--- /dev/null
@@ -0,0 +1,71 @@
+package com.yuji.tdb.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.content.Context;
+
+import com.yuji.em.utility.EditPrefUtil;
+
+public class CommonUtil {
+       public static String replaceString(String text, String src, String dst) {
+               return text.replaceAll(src, dst);
+       }
+
+       public static String escapeHtml(String text) {
+               StringBuffer result = new StringBuffer();
+               for (int i = 0; i < text.length(); i++) {
+                       switch (text.charAt(i)) {
+                       case '&':
+                               result.append("&amp;");
+                               break;
+                       case '<':
+                               result.append("&lt;");
+                               break;
+                       case '>':
+                               result.append("&gt;");
+                               break;
+                       default:
+                               result.append(text.charAt(i));
+                               break;
+                       }
+               }
+               return result.toString();
+       }
+
+       public static boolean isNull(String str){
+               return str == null || str.length() == 0;
+       }
+       
+       public static List<String> split(String str, String delm){
+               int l = str.length();
+               List<String> list = new ArrayList<String>();
+               
+               int pos = 0;
+               String s;
+               while (pos < l){
+                       int n = str.indexOf(delm, pos);
+                       if (n < 0){
+                               s = str.substring(pos);
+                               n = l;
+                       }
+                       else {
+                               s = str.substring(pos, n);
+                       }
+                       list.add(s);
+                       pos = n + 1;
+               }
+               
+               return list;
+       }
+       
+       public static String getUsername(Context context){
+               EditPrefUtil pref = new EditPrefUtil(context);  
+               return pref.get(Constant.PREF_USER);
+       }
+
+       public static String getPassword(Context context){
+               EditPrefUtil pref = new EditPrefUtil(context);  
+               return pref.get(Constant.PREF_PASSWORD);
+       }
+}
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10865fdc126500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10865fdc126500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..8fda650
--- /dev/null
@@ -0,0 +1,112 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\r
+\r
+       public 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
+\r
+       }\r
+\r
+       private void main(String consumerKey, String consumerSecret) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + "count=" + count;                                                    \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f1/001aa439156500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f1/001aa439156500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..a58ff15
--- /dev/null
@@ -0,0 +1,126 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       int index;\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
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (hit > mhit){\r
+                                       hit = mhit;\r
+                               }\r
+\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               String sample = tweets.get(index).getText();\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/e0c3d16004650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/e0c3d16004650011187edd98d8496234
new file mode 100644 (file)
index 0000000..b63846d
--- /dev/null
@@ -0,0 +1,186 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f3/700bafd7146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f3/700bafd7146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..fcf09f2
--- /dev/null
@@ -0,0 +1,125 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\r
+                       \r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (hit > mhit){\r
+                                       hit = mhit;\r
+                               }\r
+                               \r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/00f54854f86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/00f54854f86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..c83d56d
--- /dev/null
@@ -0,0 +1,132 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f7/60c7f1dbd66400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f7/60c7f1dbd66400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f9/6052f73e156500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f9/6052f73e156500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..0f9f0d0
--- /dev/null
@@ -0,0 +1,128 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\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
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\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 = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               String sample = tweets.get(index).getText();\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f08cf77f04650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fd/f08cf77f04650011187edd98d8496234
new file mode 100644 (file)
index 0000000..37e4111
--- /dev/null
@@ -0,0 +1,187 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = "<none>";\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = " " + date.toString();                                                        \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+       \r
+       private boolean 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
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }       \r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/305a6c1ef86400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/305a6c1ef86400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..d542dc0
--- /dev/null
@@ -0,0 +1,134 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization(req, resp);\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null\r
+                                       || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       //String tokenKey = requestToken.getToken();\r
+                       //String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+                       \r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               }\r
+                       private void main() {\r
+       \r
+//                     AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       //Twitter twitter = factory.getInstance();\r
+\r
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/e0cb967bf96400111689baadc7f8b0eb b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/fe/e0cb967bf96400111689baadc7f8b0eb
new file mode 100644 (file)
index 0000000..d25abbc
--- /dev/null
@@ -0,0 +1,143 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       // Configuration conf = ConfigurationContext.getInstance();\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = "http://localhost:8888/traindelaybot?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\r
+               try {\r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+\r
+                       // AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       // Twitter twitter = factory.getInstance();\r
+\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
+                       Status status = twitter.updateStatus(message);\r
+\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b02c6d5e146500111a4595e8dbbae88d b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b02c6d5e146500111a4595e8dbbae88d
new file mode 100644 (file)
index 0000000..ebdb455
--- /dev/null
@@ -0,0 +1,115 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       int count = 0;\r
+                       String sample = null;\r
+                       for (Tweet tweet : tweets) {\r
+                               Date at = tweet.getCreatedAt();\r
+                               long t = at.getTime();\r
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               if (!filter(message)) {\r
+                                       // \92x\89\84\88È\8aO\82Ì\8f\91\82«\8d\9e\82Ý\r
+                                       continue;\r
+                               }\r
+                               if (sample == null){\r
+                                       sample = message;\r
+                               }\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText() + at);\r
+                               count++;\r
+                       }\r
+               \r
+                       String message = "";\r
+                       if (count < 1){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private List<String> keywords = null;\r
+\r
+       public boolean 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("\92â");\r
+               }\r
+\r
+               for (String keyword : keywords) {\r
+                       if (text.indexOf(keyword) >= 0) {\r
+                               return true;\r
+                       }\r
+               }\r
+               return false;\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c04882f301650011187edd98d8496234 b/workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c04882f301650011187edd98d8496234
new file mode 100644 (file)
index 0000000..b86a11a
--- /dev/null
@@ -0,0 +1,140 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\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.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               main();\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+                       \r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void main() {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       QueryResult result = twitter.search(new Query(text));\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       for (Tweet tweet : tweets) {\r
+                               System.out.println("@" + tweet.getFromUser() + " - "\r
+                                               + tweet.getText());\r
+                       }\r
+               \r
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       String message = "\83e\83X\83g " + date.toString();\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/af/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/af/history.index
new file mode 100644 (file)
index 0000000..fdd46b3
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/af/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/e8/a8/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/e8/a8/history.index
new file mode 100644 (file)
index 0000000..c98b038
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/e8/a8/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/properties.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/properties.index
new file mode 100644 (file)
index 0000000..94c7026
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/.indexes/properties.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/org.eclipse.jdt.core/state.dat b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/org.eclipse.jdt.core/state.dat
new file mode 100644 (file)
index 0000000..d071419
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/Test/org.eclipse.jdt.core/state.dat differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/af/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/af/history.index
new file mode 100644 (file)
index 0000000..7ce6de7
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/af/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/15/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/15/history.index
new file mode 100644 (file)
index 0000000..d38a793
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/15/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/8d/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/8d/history.index
new file mode 100644 (file)
index 0000000..dd14aca
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/8d/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/b9/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/b9/history.index
new file mode 100644 (file)
index 0000000..e3ba102
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/b9/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/history.index
new file mode 100644 (file)
index 0000000..697ca94
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e4/81/5b/f2/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e8/a8/history.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e8/a8/history.index
new file mode 100644 (file)
index 0000000..b4f4f12
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/e8/a8/history.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/properties.index b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/properties.index
new file mode 100644 (file)
index 0000000..e5727e8
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.indexes/properties.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.markers b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.markers
new file mode 100644 (file)
index 0000000..c99f12f
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/.markers differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/org.eclipse.jdt.core/state.dat b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/org.eclipse.jdt.core/state.dat
new file mode 100644 (file)
index 0000000..3326b4f
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/TrainDelayBot/org.eclipse.jdt.core/state.dat differ
index 8aa4d6a..964da5a 100644 (file)
Binary files a/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree b/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree
deleted file mode 100644 (file)
index 6f3b1e7..0000000
Binary files a/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree and /dev/null differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree b/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree
new file mode 100644 (file)
index 0000000..1b55beb
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.root/5.tree differ
index 6cc2c25..552e34a 100644 (file)
Binary files a/workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and b/workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.appengine.eclipse.core.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.appengine.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..7074bea
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 10:29:23 JST 2012\r
+eclipse.preferences.version=1\r
+sdkSetXml=PHNka3MgZGVmYXVsdFNkaz0iQXBwIEVuZ2luZSI+Cgk8c2RrIG5hbWU9IkFwcCBFbmdpbmUiIGxvY2F0aW9uPSJDOlx5dWppXHByb2dcZWNsaXBzZVxBcHBFbmdpbmUyXGVjbGlwc2VccGx1Z2luc1xjb20uZ29vZ2xlLmFwcGVuZ2luZS5lY2xpcHNlLnNka2J1bmRsZV8xLjYuMy52MjAxMjAyMjkwMjU1cjM3XGFwcGVuZ2luZS1qYXZhLXNkay0xLjYuM1wiIHZlcnNpb249IjEuNi4zIi8+Cjwvc2Rrcz4K\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gdt.eclipse.suite.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gdt.eclipse.suite.prefs
new file mode 100644 (file)
index 0000000..5131670
--- /dev/null
@@ -0,0 +1,6 @@
+#Sat Mar 03 16:23:31 JST 2012\r
+addedNewWizardActions1.2_org.eclipse.jdt.ui.JavaPerspective=com.google.gdt.eclipse.suite.wizards.newProjectWizard|com.google.gwt.eclipse.core.newModuleWizard|com.google.gwt.eclipse.core.newHostPageWizard|com.google.gwt.eclipse.core.newEntryPointWizard|com.google.gwt.eclipse.core.newClientBundleWizard|com.google.gwt.eclipse.core.newUiBinderWizard\r
+versionForLastForcedRebuild_Test=2.5.2.v201202290255-rel-r37\r
+SdkRegistrants_1330738154316=com.google.appengine.eclipse.sdkbundle_1.6.3.v201202290255r37,com.google.gwt.eclipse.sdkbundle_2.4.0.v201202290255-rel-r37\r
+eclipse.preferences.version=1\r
+versionForLastForcedRebuild_TrainDelayBot=2.5.2.v201202290255-rel-r37\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gwt.eclipse.core.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.google.gwt.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..34421a4
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 10:29:27 JST 2012\r
+eclipse.preferences.version=1\r
+sdkSetXml=PHNka3MgZGVmYXVsdFNkaz0iR1dUIj4KCTxzZGsgbmFtZT0iR1dUIiBsb2NhdGlvbj0iQzpceXVqaVxwcm9nXGVjbGlwc2VcQXBwRW5naW5lMlxlY2xpcHNlXHBsdWdpbnNcY29tLmdvb2dsZS5nd3QuZWNsaXBzZS5zZGtidW5kbGVfMi40LjAudjIwMTIwMjI5MDI1NS1yZWwtcjM3XGd3dC0yLjQuMFwiIHZlcnNpb249IjIuNC4wIi8+Cjwvc2Rrcz4K\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
new file mode 100644 (file)
index 0000000..f50886a
--- /dev/null
@@ -0,0 +1,7 @@
+#Sat Mar 03 14:24:41 JST 2012\r
+org.eclipse.debug.ui.switch_perspective_on_suspend=never\r
+pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<DebugViewMemento org.eclipse.debug.ui.BREADCRUMB_DROPDOWN_AUTO_EXPAND\="false"/>\r
+eclipse.preferences.version=1\r
+preferredDetailPanes=DefaultDetailPane\:DefaultDetailPane|\r
+preferredTargets=default\:default|\r
+org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..ee638b4
--- /dev/null
@@ -0,0 +1,10 @@
+#Sat Mar 03 11:09:48 JST 2012\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled\r
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled\r
+org.eclipse.jdt.core.compiler.source=1.6\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs
new file mode 100644 (file)
index 0000000..f3b22fa
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 11:58:20 JST 2012\r
+org.eclipse.debug.ui.VariableView.org.eclipse.jdt.debug.ui.show_null_entries=true\r
+eclipse.preferences.version=1\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644 (file)
index 0000000..6e5c918
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 16:51:44 JST 2012\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1330738449072" defaultVMConnector\="">\r\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\r\n<vm id\="1330738449072" name\="jre6" path\="C\:\\Program Files\\Java\\jre6"/>\r\n</vmType>\r\n</vmSettings>\r\n\r
index d9ea697..c558a2e 100644 (file)
@@ -1,14 +1,21 @@
-#Sat Mar 03 07:52:45 JST 2012\r
-useQuickDiffPrefPage=true\r
-proposalOrderMigrated=true\r
-tabWidthPropagated=true\r
-content_assist_proposals_background=255,255,255\r
-org.eclipse.jdt.ui.javadoclocations.migrated=true\r
+#Sat Mar 03 16:01:09 JST 2012\r
+content_assist_proposals_foreground=0,0,0\r
+spelling_locale_initialized=true\r
+content_assist_disabled_computers=org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000\r
+org.eclipse.jdt.ui.text.templates_migrated=true\r
 useAnnotationsPrefPage=true\r
+eclipse.preferences.version=1\r
 org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas;\r
+tabWidthPropagated=true\r
 org.eclipse.jdt.ui.editor.tab.width=\r
-org.eclipse.jdt.ui.formatterprofiles.version=12\r
-spelling_locale_initialized=true\r
-eclipse.preferences.version=1\r
-content_assist_proposals_foreground=0,0,0\r
 fontPropagated=true\r
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>\r
+org.eclipse.jdt.ui.javadoclocations.migrated=true\r
+proposalOrderMigrated=true\r
+content_assist_proposals_background=255,255,255\r
+org.eclipse.jdt.ui.formatterprofiles.version=12\r
+content_assist_number_of_computers=18\r
+useQuickDiffPrefPage=true\r
+org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>\r
+content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"/>\r
+org.eclipse.jdt.ui.text.code_templates_migrated=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs
new file mode 100644 (file)
index 0000000..e05b871
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 16:01:08 JST 2012\r
+eclipse.preferences.version=1\r
+org.eclipse.mylyn.java.ui.run.count.3_1_0=1\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
new file mode 100644 (file)
index 0000000..6f47554
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 16:01:10 JST 2012\r
+eclipse.preferences.version=1\r
+overviewRuler_migration=migrated_3.1\r
index 88897dd..eacbb5b 100644 (file)
@@ -1,4 +1,5 @@
-#Sat Mar 03 07:52:44 JST 2012\r
+#Sat Mar 03 18:47:21 JST 2012\r
 PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;\r
+RUN_IN_BACKGROUND=true\r
 eclipse.preferences.version=1\r
 ENABLED_DECORATORS=org.eclipse.m2e.core.mavenVersionDecorator\:false,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.m2e.core.maven2decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs
new file mode 100644 (file)
index 0000000..51f3427
--- /dev/null
@@ -0,0 +1,11 @@
+#Sat Mar 03 16:01:09 JST 2012\r
+useQuickDiffPrefPage=true\r
+tabWidthPropagated=true\r
+proposalOrderMigrated=true\r
+useAnnotationsPrefPage=true\r
+org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas;\r
+org.eclipse.wst.jsdt.ui.javadoclocations.migrated=true\r
+eclipse.preferences.version=1\r
+fontPropagated=true\r
+org.eclipse.wst.jsdt.ui.editor.tab.width=\r
+org.eclipse.wst.jsdt.ui.formatterprofiles.version=11\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs
new file mode 100644 (file)
index 0000000..f5482db
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 16:22:25 JST 2012\r
+task-tag-projects-already-scanned=Test,TrainDelayBot\r
+eclipse.preferences.version=1\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs
new file mode 100644 (file)
index 0000000..a068ff3
--- /dev/null
@@ -0,0 +1,5 @@
+#Sat Mar 03 16:01:09 JST 2012\r
+useAnnotationsPrefPage=true\r
+eclipse.preferences.version=1\r
+content_assist_number_of_computers=4\r
+useQuickDiffPrefPage=true\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs b/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs
new file mode 100644 (file)
index 0000000..ddf6f3b
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Mar 03 16:01:09 JST 2012\r
+eclipse.preferences.version=1\r
+org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.lastActivePage=1\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch b/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Main.launch
new file mode 100644 (file)
index 0000000..269de26
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
+<listEntry value="/TrainDelayBot/src/com/yuji/tdb/main/Main.java"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
+<listEntry value="1"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.yuji.tdb.main.Main"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="TrainDelayBot"/>\r
+</launchConfiguration>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Test.launch b/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/Test.launch
new file mode 100644 (file)
index 0000000..23d305b
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">\r
+<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.appengine.tools.development.DevAppServerMain"/>\r
+<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
+<listEntry value="/Test"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
+<listEntry value="4"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">\r
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>\r
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.suite.appengineClasspathProvider"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.appengine.tools.development.DevAppServerMain"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port=8888 C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\Test\war"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Test"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50 -Xmx512m -javaagent:C:\yuji\prog\eclipse\AppEngine2\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.6.3.v201202290255r37\appengine-java-sdk-1.6.3\lib\agent\appengine-agent.jar"/>\r
+</launchConfiguration>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/TrainDelayBot.launch b/workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/TrainDelayBot.launch
new file mode 100644 (file)
index 0000000..daf33ec
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">\r
+<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.appengine.tools.development.DevAppServerMain"/>\r
+<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
+<listEntry value="/TrainDelayBot"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
+<listEntry value="4"/>\r
+</listAttribute>\r
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">\r
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>\r
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.suite.appengineClasspathProvider"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.appengine.tools.development.DevAppServerMain"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port=8888 C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\TrainDelayBot\war"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="TrainDelayBot"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50 -Xmx512m -javaagent:C:\yuji\prog\eclipse\AppEngine2\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.6.3.v201202290255r37\appengine-java-sdk-1.6.3\lib\agent\appengine-agent.jar"/>\r
+</launchConfiguration>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/workspace/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
new file mode 100644 (file)
index 0000000..fc78e67
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<section name="Workbench">\r
+       <section name="org.eclipse.debug.ui.SCOPED_SAVE_SELECTION_DIALOG">\r
+               <item value="488" key="DIALOG_WIDTH"/>\r
+               <item value="401" key="DIALOG_HEIGHT"/>\r
+               <item value="1|メイリオ|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|メイリオ" key="DIALOG_FONT_NAME"/>\r
+       </section>\r
+       <section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">\r
+               <item value="960" key="DIALOG_WIDTH"/>\r
+               <item value=", com.google.gdt.eclipse.suite.webapp, " key="org.eclipse.debug.ui.EXPANDED_NODES"/>\r
+               <item value="640" key="DIALOG_HEIGHT"/>\r
+               <item value="237" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1"/>\r
+               <item value="1|メイリオ|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|メイリオ" key="DIALOG_FONT_NAME"/>\r
+               <item value="762" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2"/>\r
+       </section>\r
+</section>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
new file mode 100644 (file)
index 0000000..084d71a
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchHistory>\r
+<launchGroup id="org.eclipse.ui.externaltools.launchGroup">\r
+<mruHistory/>\r
+<favorites/>\r
+</launchGroup>\r
+<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">\r
+<mruHistory/>\r
+<favorites/>\r
+</launchGroup>\r
+<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">\r
+<mruHistory>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;TrainDelayBot&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Main&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Test&quot;/&gt;&#13;&#10;"/>\r
+</mruHistory>\r
+<favorites>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Test&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;TrainDelayBot&quot;/&gt;&#13;&#10;"/>\r
+</favorites>\r
+</launchGroup>\r
+<launchGroup id="org.eclipse.debug.ui.launchGroup.run">\r
+<mruHistory>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;TrainDelayBot&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Main&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Test&quot;/&gt;&#13;&#10;"/>\r
+</mruHistory>\r
+<favorites>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Test&quot;/&gt;&#13;&#10;"/>\r
+<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;TrainDelayBot&quot;/&gt;&#13;&#10;"/>\r
+</favorites>\r
+</launchGroup>\r
+</launchHistory>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload1.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload1.csv
new file mode 100644 (file)
index 0000000..dd5e5a8
--- /dev/null
@@ -0,0 +1,252 @@
+what,kind,bundleId,bundleVersion,description,time
+started,bundle,org.eclipse.equinox.p2.engine,2.1.0.v20110511,"org.eclipse.equinox.p2.engine",1330728847858
+started,bundle,org.eclipse.equinox.p2.extensionlocation,1.2.100.v20110510,"org.eclipse.equinox.p2.extensionlocation",1330728847858
+started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110510,"org.eclipse.equinox.p2.metadata",1330728847860
+started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110511-1359,"org.eclipse.equinox.p2.metadata.repository",1330728847860
+started,bundle,org.eclipse.equinox.p2.operations,2.1.0.v20110511-1821,"org.eclipse.equinox.p2.operations",1330728847862
+started,bundle,org.eclipse.equinox.p2.publisher,1.2.0.v20110511,"org.eclipse.equinox.p2.publisher",1330728847863
+started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110510,"org.eclipse.equinox.p2.reconciler.dropins",1330728847863
+started,bundle,org.eclipse.equinox.p2.repository,2.1.0.v20110601,"org.eclipse.equinox.p2.repository",1330728847865
+started,bundle,org.eclipse.equinox.p2.touchpoint.eclipse,2.1.0.v20110511,"org.eclipse.equinox.p2.touchpoint.eclipse",1330728847865
+started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk.scheduler",1330728847865
+started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110502-1955,"org.eclipse.equinox.p2.updatechecker",1330728847866
+started,bundle,org.eclipse.equinox.preferences,3.4.0.v20110502,"org.eclipse.equinox.preferences",1330728847866
+started,bundle,org.eclipse.equinox.registry,3.5.100.v20110502,"org.eclipse.equinox.registry",1330728847866
+started,bundle,org.eclipse.equinox.security,1.1.0.v20110502,"org.eclipse.equinox.security",1330728847866
+started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1330728847868
+started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1330728847868
+started,bundle,org.eclipse.jdt.core,3.7.0.v_B61,"org.eclipse.jdt.core",1330728847868
+started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110505-0800,"org.eclipse.jdt.core.manipulation",1330728847869
+started,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330728847869
+started,bundle,org.eclipse.jface,3.7.0.I20110522-1430,"org.eclipse.jface",1330728847870
+started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1330728847870
+started,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330728847870
+started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.core",1330728847870
+started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330728847870
+started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1330728847872
+started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1330728847872
+started,bundle,org.eclipse.mylyn.context.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.core",1330728847872
+started,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330728847872
+started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1330728847872
+started,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330728847873
+started,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330728847873
+started,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330728847873
+started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1330728847873
+started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1330728847873
+started,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330728847873
+started,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330728847873
+started,bundle,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui",1330728847873
+started,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330728847873
+started,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330728847873
+started,bundle,org.eclipse.ui.forms,3.5.100.v20110425,"org.eclipse.ui.forms",1330728847875
+started,bundle,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.ide",1330728847875
+started,bundle,org.eclipse.ui.net,1.2.100.I20110511-0800,"org.eclipse.ui.net",1330728847875
+started,bundle,org.eclipse.ui.views,3.6.0.I20110412-0800,"org.eclipse.ui.views",1330728847875
+started,bundle,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"org.eclipse.ui.workbench",1330728847875
+started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330728847875
+started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1330728847876
+started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1330728847876
+started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1330728847876
+started,bundle,org.eclipse.wb.discovery.core,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.core",1330728847877
+started,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330728847877
+started,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330728847877
+started,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330728847878
+started,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330728847878
+started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330728847878
+os,sysinfo,,,"win32",1330728847886
+arch,sysinfo,,,"x86",1330728847886
+ws,sysinfo,,,"win32",1330728847886
+locale,sysinfo,,,"ja_JP",1330728847886
+processors,sysinfo,,,"2",1330728847886
+java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1330728847887
+java.runtime.version,sysinfo,,,"1.6.0_26-b03",1330728847887
+java.specification.name,sysinfo,,,"Java Platform API Specification",1330728847887
+java.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
+java.specification.version,sysinfo,,,"1.6",1330728847887
+java.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
+java.version,sysinfo,,,"1.6.0_26",1330728847887
+java.vm.info,sysinfo,,,"mixed mode",1330728847887
+java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1330728847887
+java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1330728847887
+java.vm.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
+java.vm.specification.version,sysinfo,,,"1.0",1330728847887
+java.vm.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
+java.vm.version,sysinfo,,,"20.1-b02",1330728847887
+started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330728847912
+started,bundle,org.eclipse.wb.discovery.ui,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.ui",1330728848157
+started,bundle,org.eclipse.wb.core.lib,1.2.0.r37x201112290923,"org.eclipse.wb.core.lib",1330728848494
+started,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330728848857
+started,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330728849452
+started,bundle,org.eclipse.debug.core,3.7.0.v20110518,"org.eclipse.debug.core",1330728849583
+started,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330728849653
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728852064
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728907886
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728907985
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728909629
+closed,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728909803
+started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1330728910278
+started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330728910645
+started,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330728910660
+stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330728911536
+stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1330728911536
+stopped,bundle,org.eclipse.help.ui,3.5.100.v20110425,"org.eclipse.help.ui",1330728911536
+stopped,bundle,org.eclipse.help.webapp,3.6.0.v20110518,"org.eclipse.help.webapp",1330728911536
+stopped,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330728911536
+stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1330728911536
+stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1330728911536
+stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1330728911536
+stopped,bundle,org.eclipse.help.base,3.6.0.v201106131736,"org.eclipse.help.base",1330728911536
+stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1330728911539
+stopped,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330728911539
+stopped,bundle,com.google.appengine.eclipse.sdkbundle,1.6.3.v201202290255r37,"com.google.appengine.eclipse.sdkbundle",1330728911540
+stopped,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330728911540
+stopped,bundle,com.google.gdt.eclipse.gph.e36,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.e36",1330728911540
+stopped,bundle,com.google.gdt.eclipse.gph.hge,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.hge",1330728911540
+stopped,bundle,com.google.gdt.eclipse.gph.subclipse,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1330728911540
+stopped,bundle,com.google.gdt.eclipse.gph.subversive,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subversive",1330728911540
+stopped,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330728911540
+stopped,bundle,com.google.gdt.eclipse.gph,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph",1330728911541
+stopped,bundle,com.google.gdt.eclipse.maven.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven.e37",1330728911541
+stopped,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330728911541
+stopped,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330728911541
+stopped,bundle,com.google.gdt.eclipse.appsmarketplace,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1330728911541
+stopped,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330728911541
+stopped,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330728911541
+stopped,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330728911574
+stopped,bundle,com.google.gwt.eclipse.oophm,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.oophm",1330728911574
+stopped,bundle,com.google.gwt.eclipse.sdkbundle,2.4.0.v201202290255-rel-r37,"com.google.gwt.eclipse.sdkbundle",1330728911575
+stopped,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330728911575
+stopped,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330728911578
+stopped,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330728911580
+stopped,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330728911581
+stopped,bundle,com.google.gdt.eclipse.platform.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.e37",1330728911582
+stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1330728911583
+stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1330728911583
+stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1330728911583
+stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330728911584
+stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1330728911584
+stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330728911585
+stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330728911585
+stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1330728911585
+stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1330728911585
+stopped,bundle,org.eclipse.mylyn.ide.ant,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ant",1330728911586
+stopped,bundle,org.eclipse.ant.ui,3.5.100.v20110510,"org.eclipse.ant.ui",1330728911586
+stopped,bundle,org.eclipse.ant.launching,1.0.100.v20110506,"org.eclipse.ant.launching",1330728911586
+stopped,bundle,org.eclipse.compare.win32,1.0.200.I20110510-0800,"org.eclipse.compare.win32",1330728911586
+stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk",1330728911587
+stopped,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330728911587
+stopped,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330728911588
+stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330728911589
+stopped,bundle,com.google.gdt.eclipse.designer.gpe,2.5.0.r37x201201030222,"com.google.gdt.eclipse.designer.gpe",1330728911589
+stopped,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330728911589
+stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330728911589
+stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1330728911590
+stopped,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330728911590
+stopped,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330728911591
+stopped,bundle,org.eclipse.wb.swing.FormLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.FormLayout",1330728911591
+stopped,bundle,org.eclipse.wb.swing.MigLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.MigLayout",1330728911592
+stopped,bundle,org.eclipse.wb.swing.databinding,1.0.0.r37x201106081552,"org.eclipse.wb.swing.databinding",1330728911592
+stopped,bundle,org.eclipse.wb.swing.java6,1.0.0.r37x201106081552,"org.eclipse.wb.swing.java6",1330728911592
+stopped,bundle,org.eclipse.wb.swing.jsr296,1.0.0.r37x201106081552,"org.eclipse.wb.swing.jsr296",1330728911592
+stopped,bundle,org.eclipse.wb.swing,1.0.0.r37x201106081552,"org.eclipse.wb.swing",1330728911593
+stopped,bundle,org.eclipse.wb.core.ui,1.0.0.r37x201106081733,"org.eclipse.wb.core.ui",1330728911593
+stopped,bundle,org.eclipse.wb.layout.group,1.0.0.r37x201106081642,"org.eclipse.wb.layout.group",1330728911593
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.ie",1330728911593
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.webkit",1330728911594
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0",1330728911594
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.ie",1330728911594
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.webkit",1330728911594
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2",1330728911594
+stopped,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330728911595
+stopped,bundle,org.eclipse.wb.core.databinding.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.databinding.xml",1330728911595
+stopped,bundle,org.eclipse.wb.core.databinding,1.2.0.r37x201112290923,"org.eclipse.wb.core.databinding",1330728911595
+stopped,bundle,org.eclipse.wb.core.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.xml",1330728911595
+stopped,bundle,org.eclipse.wb.css,1.2.0.r37x201112290951,"org.eclipse.wb.css",1330728911596
+stopped,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330728911596
+stopped,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330728911597
+stopped,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330728911686
+stopped,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330728911687
+stopped,bundle,org.eclipse.wst.xsd.ui,1.2.404.v201105050216,"org.eclipse.wst.xsd.ui",1330728911687
+stopped,bundle,org.eclipse.wst.css.ui,1.0.601.v201201101544,"org.eclipse.wst.css.ui",1330728911687
+stopped,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330728911687
+stopped,bundle,org.eclipse.wst.common.ui,1.1.500.v200911190730,"org.eclipse.wst.common.ui",1330728911688
+stopped,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330728911688
+stopped,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330728911688
+stopped,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330728911710
+stopped,bundle,org.eclipse.mylyn.commons.team,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.team",1330728911710
+stopped,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330728911711
+stopped,bundle,org.eclipse.ui.navigator.resources,3.4.300.I20110421-1800,"org.eclipse.ui.navigator.resources",1330728911711
+stopped,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330728911711
+stopped,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330728911712
+stopped,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330728911712
+stopped,bundle,org.eclipse.mylyn.resources.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.resources.ui",1330728911712
+stopped,bundle,org.eclipse.mylyn.wikitext.tasks.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.tasks.ui",1330728911712
+stopped,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330728911713
+stopped,bundle,org.eclipse.mylyn.help.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.help.ui",1330728911713
+stopped,bundle,org.eclipse.mylyn.tasks.bugs,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.bugs",1330728911713
+stopped,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330728911714
+stopped,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330728911715
+stopped,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330728911716
+stopped,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330728911717
+stopped,bundle,org.eclipse.ui.externaltools,3.2.0.v20110506,"org.eclipse.ui.externaltools",1330728911717
+stopped,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330728911717
+stopped,bundle,org.eclipse.mylyn.wikitext.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.ui",1330728911717
+stopped,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330728911718
+stopped,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330728911718
+stopped,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330728911718
+stopped,bundle,org.eclipse.wst.common.snippets,1.2.100.v201103281740,"org.eclipse.wst.common.snippets",1330728911718
+stopped,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330728911722
+stopped,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330728911723
+stopped,bundle,org.eclipse.emf.edit.ui,2.7.0.v20110606-0949,"org.eclipse.emf.edit.ui",1330728911723
+stopped,bundle,org.eclipse.gef,3.7.0.v20110407-2050,"org.eclipse.gef",1330728911723
+stopped,bundle,org.eclipse.emf.common.ui,2.7.0.v20110606-0949,"org.eclipse.emf.common.ui",1330728911723
+activated,perspective,org.eclipse.jdt.ui,,"org.eclipse.jdt.ui.JavaPerspective",1330738127664
+started,bundle,org.eclipse.osgi,3.7.0.v20110613,"org.eclipse.osgi",1330738127667
+started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110502-1955,"org.eclipse.equinox.simpleconfigurator",1330738127704
+started,bundle,com.ibm.icu,4.4.2.v20110208,"com.ibm.icu",1330738127717
+started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1330738127735
+started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1330738127758
+started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1330738127759
+started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110505-0800,"org.eclipse.core.filebuffers",1330738127760
+started,bundle,org.eclipse.core.jobs,3.5.100.v20110404,"org.eclipse.core.jobs",1330738127762
+started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1330738127778
+started,bundle,org.eclipse.core.resources,3.7.100.v20110510-0712,"org.eclipse.core.resources",1330738127801
+started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1330738127803
+started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1330738127820
+started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1330738127844
+started,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330738127858
+started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1330738127859
+started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1330738127874
+started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1330738127875
+started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1330738127877
+started,bundle,org.eclipse.equinox.ds,1.3.0.v20110502,"org.eclipse.equinox.ds",1330738127879
+started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1330738127891
+started,bundle,org.eclipse.equinox.p2.artifact.repository,1.1.100.v20110519,"org.eclipse.equinox.p2.artifact.repository",1330738127893
+started,bundle,org.eclipse.equinox.p2.core,2.1.0.v20110502-1955,"org.eclipse.equinox.p2.core",1330738127908
+started,bundle,org.eclipse.equinox.p2.director,2.1.0.v20110504-1715,"org.eclipse.equinox.p2.director",1330738127910
+started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110502-1955,"org.eclipse.equinox.p2.directorywatcher",1330738127928
+started,bundle,org.eclipse.equinox.p2.engine,2.1.0.v20110511,"org.eclipse.equinox.p2.engine",1330738127930
+started,bundle,org.eclipse.equinox.p2.extensionlocation,1.2.100.v20110510,"org.eclipse.equinox.p2.extensionlocation",1330738127932
+started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110510,"org.eclipse.equinox.p2.metadata",1330738127943
+started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110511-1359,"org.eclipse.equinox.p2.metadata.repository",1330738127953
+started,bundle,org.eclipse.equinox.p2.operations,2.1.0.v20110511-1821,"org.eclipse.equinox.p2.operations",1330738127956
+started,bundle,org.eclipse.equinox.p2.publisher,1.2.0.v20110511,"org.eclipse.equinox.p2.publisher",1330738127968
+started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110510,"org.eclipse.equinox.p2.reconciler.dropins",1330738127974
+started,bundle,org.eclipse.equinox.p2.repository,2.1.0.v20110601,"org.eclipse.equinox.p2.repository",1330738127983
+started,bundle,org.eclipse.equinox.p2.touchpoint.eclipse,2.1.0.v20110511,"org.eclipse.equinox.p2.touchpoint.eclipse",1330738127990
+started,bundle,org.eclipse.equinox.preferences,3.4.0.v20110502,"org.eclipse.equinox.preferences",1330738128012
+started,bundle,org.eclipse.equinox.registry,3.5.100.v20110502,"org.eclipse.equinox.registry",1330738128014
+started,bundle,org.eclipse.equinox.security,1.1.0.v20110502,"org.eclipse.equinox.security",1330738128043
+started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1330738128054
+started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1330738128063
+started,bundle,org.eclipse.jdt.core,3.7.0.v_B61,"org.eclipse.jdt.core",1330738128100
+started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110505-0800,"org.eclipse.jdt.core.manipulation",1330738128107
+started,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330738128157
+started,bundle,org.eclipse.jface,3.7.0.I20110522-1430,"org.eclipse.jface",1330738128175
+started,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330738128192
+started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.core",1330738128194
+started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330738128196
+started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1330738128198
+started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1330738128198
+started,bundle,org.eclipse.mylyn.context.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.core",1330738128200
+started,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330738128206
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload10.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload10.csv
new file mode 100644 (file)
index 0000000..caba4fa
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765890669
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765891335
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765894549
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.selectAll",1330765895665
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765896476
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765901796
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765905240
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.selectAll",1330765905672
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765908906
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765911375
+started,bundle,org.eclipse.wb.os,1.2.0.r37x201112290923,"org.eclipse.wb.os",1330765916441
+started,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330765916521
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765921301
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765924418
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765927644
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765929820
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765931293
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765941042
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765945105
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765948538
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765955152
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765956520
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765968144
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765971088
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765971947
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765972579
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765981573
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330765985292
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765988011
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330765989436
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765991145
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765991755
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330765996679
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330765997349
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330765998706
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330765999155
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766004643
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766097955
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766101375
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766104654
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766111268
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766113868
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330766113978
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766117498
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766119892
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766120062
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766122345
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766123671
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766123851
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766126113
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766127118
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766127334
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766129328
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766130459
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766130655
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330766134224
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766135351
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330766136731
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766137801
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766143714
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766144557
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766145771
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766151106
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766152322
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766153236
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766153916
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330766154596
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766155042
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766155502
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766161149
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.selectAll",1330766172996
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330766173784
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766177362
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766178929
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766190437
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766192045
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766201834
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766204707
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766209247
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766210727
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766217397
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766218600
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766219553
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330766220203
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766229044
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766232616
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766241739
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766243161
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766246164
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766247742
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766252582
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766255211
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766255432
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330766257334
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766259430
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766261458
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766261637
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330766266472
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766267519
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766271269
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766276223
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766279380
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766281824
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766282274
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766284304
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766286029
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766286469
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766291664
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766293323
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766293834
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766296721
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766298443
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766299229
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766310533
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766335247
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766338469
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766363353
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766378406
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766386398
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766387208
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766394096
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766396259
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766396939
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766410886
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766414780
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766415330
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766415580
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766422019
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766437881
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766441641
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.move.element",1330766441651
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766458645
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766459855
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.move.element",1330766459865
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330766465747
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766466677
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766467007
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766468522
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766475354
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766486646
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766516694
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766523898
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766538611
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330766589866
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766593351
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766594293
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766600197
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766610993
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766614117
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766615987
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330766622910
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330766636405
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766638654
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766638971
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766646994
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766657596
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766662148
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766662995
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766663306
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766667782
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766673063
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766684693
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766685073
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766689013
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330766693340
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766694040
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766702509
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.open.editor",1330766702556
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766727911
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766731533
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766733527
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766737489
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766738835
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766741506
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766743669
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766744119
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766747956
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330766752929
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330766753849
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766754437
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766758651
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330766761903
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330766765507
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330766765678
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766775053
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766808031
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330766809951
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766815606
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766823074
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766828697
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766836759
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.open.editor",1330766836819
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766841244
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766847587
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330766853905
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330766866559
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766887625
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766887922
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330766889155
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766890025
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330766899661
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766905879
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766906427
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766906827
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766907187
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766907987
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766908604
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330766909614
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330766927222
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766960759
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330766978154
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330766984862
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767021157
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767024477
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767026177
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767028113
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767029239
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330767030099
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767031379
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767066927
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767071903
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767084314
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767096125
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767097994
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767099774
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767108325
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767133542
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767137652
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767144641
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330767149423
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767154620
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767171441
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767184575
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767210206
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767213547
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767213561
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767213663
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767244393
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330767245956
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767251201
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767260389
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767283027
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767284272
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767287605
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767288915
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767302628
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767305445
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767329539
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767335716
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767390533
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767395669
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767402242
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767422915
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330767454738
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767470094
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767473492
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767474404
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330767475704
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767477325
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767484410
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767493582
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767502376
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767504737
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767508178
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767509008
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767538278
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330767545952
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767550733
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767558886
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767580859
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767599088
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767616334
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767620942
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767639829
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330767696598
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload2.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload2.csv
new file mode 100644 (file)
index 0000000..88ed2e7
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1330738128226
+started,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330738128287
+started,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330738128332
+started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1330738128358
+started,bundle,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui",1330738128435
+started,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330738128528
+started,bundle,org.eclipse.ui.forms,3.5.100.v20110425,"org.eclipse.ui.forms",1330738128581
+started,bundle,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.ide",1330738128656
+started,bundle,org.eclipse.ui.net,1.2.100.I20110511-0800,"org.eclipse.ui.net",1330738128674
+started,bundle,org.eclipse.ui.views,3.6.0.I20110412-0800,"org.eclipse.ui.views",1330738128675
+started,bundle,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"org.eclipse.ui.workbench",1330738128696
+started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330738128750
+started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1330738128767
+started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1330738128802
+started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1330738128816
+started,bundle,org.eclipse.wb.discovery.core,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.core",1330738128818
+started,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330738128820
+started,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330738128821
+started,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330738128828
+started,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330738128829
+started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330738128855
+os,sysinfo,,,"win32",1330738128864
+arch,sysinfo,,,"x86",1330738128864
+ws,sysinfo,,,"win32",1330738128864
+locale,sysinfo,,,"ja_JP",1330738128864
+processors,sysinfo,,,"2",1330738128864
+java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1330738128864
+java.runtime.version,sysinfo,,,"1.6.0_26-b03",1330738128864
+java.specification.name,sysinfo,,,"Java Platform API Specification",1330738128864
+java.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330738128864
+java.specification.version,sysinfo,,,"1.6",1330738128864
+java.vendor,sysinfo,,,"Sun Microsystems Inc.",1330738128864
+java.version,sysinfo,,,"1.6.0_26",1330738128864
+java.vm.info,sysinfo,,,"mixed mode",1330738128864
+java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1330738128864
+java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1330738128864
+java.vm.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330738128864
+java.vm.specification.version,sysinfo,,,"1.0",1330738128864
+java.vm.vendor,sysinfo,,,"Sun Microsystems Inc.",1330738128864
+java.vm.version,sysinfo,,,"20.1-b02",1330738128864
+started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330738128933
+started,bundle,org.eclipse.wb.discovery.ui,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.ui",1330738129653
+started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1330738130477
+started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1330738130520
+started,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330738130763
+started,bundle,org.eclipse.wb.core.lib,1.2.0.r37x201112290923,"org.eclipse.wb.core.lib",1330738130833
+started,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330738131184
+started,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330738131557
+started,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330738131644
+started,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330738132287
+started,bundle,org.eclipse.debug.core,3.7.0.v20110518,"org.eclipse.debug.core",1330738132398
+started,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330738132477
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738132903
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738132917
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738132948
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738146846
+started,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330738160637
+started,bundle,org.eclipse.jdt.launching,3.6.0.v20110509,"org.eclipse.jdt.launching",1330738164050
+started,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330738166152
+started,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330738166153
+started,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330738166737
+started,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330738175520
+executed,command,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.GDTPulldown",1330738175537
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738176003
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738187173
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738195995
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738202609
+activated,view,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.views.ProblemView",1330738202643
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738207103
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738211719
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738217081
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738233818
+executed,command,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.GDTPulldown",1330738235068
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738240604
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738241901
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738242289
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738255429
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738256199
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738263869
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738276045
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738300082
+started,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330738302479
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738302923
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738310874
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738316554
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330738414290
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330738424184
+started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1330738430599
+started,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330738430992
+started,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330738432561
+started,bundle,org.eclipse.core.variables,3.2.500.v20110511,"org.eclipse.core.variables",1330738449453
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738451663
+executed,command,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.newWebAppProject",1330738451677
+started,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330738451789
+started,bundle,org.eclipse.jdt.apt.core,3.3.500.v20110420-1015,"org.eclipse.jdt.apt.core",1330738452116
+started,bundle,org.eclipse.jdt.apt.pluggable.core,1.0.400.v20110305-1450,"org.eclipse.jdt.apt.pluggable.core",1330738452151
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738454717
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738472155
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330738473893
+started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330738475726
+started,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330738475756
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738482806
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738484529
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738492282
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738502220
+executed,command,,,"com.google.gdt.eclipse.suite.launch.ui.webappLaunchShortcut.debug",1330738506648
+started,bundle,org.eclipse.jdt.debug,3.7.0.v20110509,"org.eclipse.jdt.debug",1330738507187
+started,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330738507513
+started,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330738508753
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738509477
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738512387
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738513273
+opened,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330738532042
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738535255
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330738538361
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738548324
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738561206
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330738575201
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738575730
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738704322
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330738705968
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738718836
+no handler,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738823385
+no handler,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738823386
+no handler,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738831058
+no handler,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330738831059
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738881789
+started,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330738886020
+started,bundle,org.eclipse.wst.sse.core,1.1.602.v201112071516,"org.eclipse.wst.sse.core",1330738886277
+started,bundle,org.eclipse.wst.xml.core,1.1.602.v201201091944,"org.eclipse.wst.xml.core",1330738886653
+started,bundle,org.eclipse.wst.common.uriresolver,1.1.401.v201004280700,"org.eclipse.wst.common.uriresolver",1330738887099
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738887402
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738887510
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330738887618
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330739086218
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330739102263
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330739105490
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330739130782
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330739135790
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740147346
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740149104
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740185266
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740206094
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330740213523
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330740224345
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330740248791
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330740255502
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740268912
+executed,command,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.newWebAppProject",1330740268929
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740291645
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740580164
+started,bundle,org.eclipse.ltk.core.refactoring,3.5.200.v20110505-0800,"org.eclipse.ltk.core.refactoring",1330740586319
+started,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330740590385
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330740591100
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330740591897
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740595868
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740598724
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740601074
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740618586
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330740620676
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740624451
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740627818
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740628108
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740633911
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740637814
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740639765
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740646186
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330740647268
+started,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330740648586
+started,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330740648705
+started,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330740649524
+started,bundle,org.eclipse.wst.validation,1.2.303.v201202090300,"org.eclipse.wst.validation",1330740651567
+started,bundle,org.eclipse.wst.common.project.facet.core,1.4.201.v201201101553,"org.eclipse.wst.common.project.facet.core",1330740651644
+error,log,,,"Project facet wst.web has not been defined. It is used in plugin org.eclipse.jst.common.project.facet.core.",1330740651794
+started,bundle,org.eclipse.jst.common.project.facet.core,1.4.200.v201103170302,"org.eclipse.jst.common.project.facet.core",1330740651843
+started,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330740652050
+started,bundle,org.eclipse.emf.common,2.7.0.v20120127-1122,"org.eclipse.emf.common",1330740652153
+opened,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740652285
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740652594
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740652683
+started,bundle,org.eclipse.wst.common.frameworks,1.2.102.v201201190400,"org.eclipse.wst.common.frameworks",1330740653580
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740656481
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740762604
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330740763473
+started,bundle,org.eclipse.wst.internet.cache,1.0.400.v201004280700,"org.eclipse.wst.internet.cache",1330740764735
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740771148
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740792204
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740793468
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740888489
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330740890429
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740891799
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330740893046
+opened,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740893422
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740893624
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740898752
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740928331
+started,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330740936438
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330740936536
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740941510
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740956182
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740956860
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740958961
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330740961644
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740968988
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740974036
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330740976136
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330740977257
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330740977396
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330740981157
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330740988407
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741044113
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741045409
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741060429
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741070909
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741210830
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741213574
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741315910
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330741318812
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330741326095
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741330738
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741332722
+executed,command,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core.deployToGoogle",1330741333492
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741333593
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741351780
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741361687
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741402431
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330741405090
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330741413193
+executed,command,,,"com.google.gdt.eclipse.suite.launch.ui.webappLaunchShortcut.debug",1330741417011
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330741433761
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742331030
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330742333023
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330742334559
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.refresh",1330742336131
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742345602
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742355375
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742357476
+error,log,,,"Internal error logged from JDI Debug: ",1330742360210
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742508598
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330742518523
+started,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330742528289
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330742545055
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742550038
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742560242
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330742560443
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330742568385
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.selectAll",1330742570524
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330742571177
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742571962
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742601446
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330742610204
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330742615044
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330742617455
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330742625353
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330742629272
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742629975
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330742663578
+executed,command,,,"com.google.gdt.eclipse.suite.launch.ui.webappLaunchShortcut.debug",1330742667357
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742675793
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742675812
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742675940
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742691671
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330742697477
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330742699141
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330742702514
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742710044
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742717003
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742721779
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330742724481
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330742726075
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330742726265
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742748774
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742752623
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742761158
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742797984
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload3.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload3.csv
new file mode 100644 (file)
index 0000000..7d85005
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330742799894
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330742806774
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742811460
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742829438
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330742832118
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330742835071
+executed,command,,,"com.google.gdt.eclipse.suite.launch.ui.webappLaunchShortcut.debug",1330742845481
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742856682
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742915218
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330742916740
+started,bundle,org.eclipse.wb.os,1.2.0.r37x201112290923,"org.eclipse.wb.os",1330742921620
+started,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330742921775
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330742926820
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330742930060
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742934497
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742943797
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742947184
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742963849
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.add.block.comment",1330742975209
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330742976357
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.toggle.comment",1330742979959
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330742980917
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742982198
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742988845
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330742994790
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330742997429
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330742999237
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743009420
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743076916
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743093624
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743104747
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330743112325
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743115379
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743123236
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743130627
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743132463
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743132528
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743134669
+opened,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330743138320
+opened,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.VariableView",1330743138768
+activated,perspective,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugPerspective",1330743138958
+opened,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.BreakpointView",1330743140574
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330743143513
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743156253
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743182038
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.views.showView",1330743182054
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.views.showView",1330743182054
+activated,perspective,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.JavaPerspective",1330743190212
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330743195219
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.toggle.comment",1330743199776
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330743200812
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743202386
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743203106
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743203215
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743207952
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330743208128
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330743211299
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330743216090
+activated,view,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.views.ProblemView",1330743220122
+opened,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.JavadocView",1330743221180
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.JavadocView",1330743221284
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330743227283
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743249319
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743256006
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743289452
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743300129
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330743302028
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743320048
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743326703
+started,bundle,org.eclipse.wst.jsdt.manipulation,1.0.300.v201104272153,"org.eclipse.wst.jsdt.manipulation",1330743333739
+started,bundle,org.eclipse.wst.jsdt.core,1.1.102.v201111090634,"org.eclipse.wst.jsdt.core",1330743335625
+started,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330743335930
+error,log,,,"Internal Error",1330743336670
+error,log,,,"Problems encountered while moving resources.",1330743336672
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743336708
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743342374
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743342562
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743342658
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330743345242
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743346771
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743352747
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330743352842
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743357954
+error,log,,,"Internal Error",1330743359732
+error,log,,,"Problems encountered while deleting resources.",1330743359734
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743361507
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330743361580
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330743364075
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330743368729
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743373360
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743374887
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330743374901
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743381592
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743399631
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743417868
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743417887
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743417960
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743420660
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743420697
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743425993
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330743427884
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330743433083
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330743433215
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330743437016
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743443870
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743449219
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330743456950
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743460884
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743467117
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330743480780
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330743671201
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330744145609
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330744148245
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330744149317
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330744157658
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330744162574
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330744170881
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330744175426
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330744189235
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330744193780
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330744920427
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330744922171
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330745054602
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330745061597
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330749873057
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330749923447
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330749929075
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330749954310
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330749971131
+started,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330749973489
+started,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330749974244
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330749981634
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330749983984
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330749996365
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750003622
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750035917
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750039013
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750061164
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750071559
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750072335
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750079957
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750091535
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750094401
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750101516
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750183130
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750186108
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750188738
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750194578
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750201942
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750204441
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750206665
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750222425
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750225620
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750225810
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750226012
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750229137
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330750229334
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750241008
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750251074
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750272311
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750274071
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750277768
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750282166
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750298381
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750325120
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750415313
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750429494
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750433656
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750441888
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750457016
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750461049
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750478149
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750481637
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330750487580
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750488122
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750494949
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750496749
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750497111
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750501561
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750505803
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750506341
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750512054
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750513643
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750514551
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750527521
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750546145
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750555699
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750558192
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750573946
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750573962
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750574004
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750590453
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750595310
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750618125
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750622663
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750627030
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750628145
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750628959
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750633771
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750640646
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750658623
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750660730
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750664639
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750666345
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750668364
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750675685
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750677714
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750680178
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750682629
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750686204
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750687374
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750689761
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750691425
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750693652
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750695015
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750697916
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750705321
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750708112
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750713425
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750714277
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330750718315
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750719472
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750736189
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750745690
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750750518
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750752189
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750778854
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750788964
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750797041
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750798571
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750799861
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750812370
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750813075
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750819014
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750820838
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750824957
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750840598
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750846406
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750850924
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750853788
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330750854777
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750855630
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330750863214
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750870309
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330750875723
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750900945
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750908768
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750916741
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750919006
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750920839
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330750922224
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330750925781
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330750928565
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330750929375
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750930909
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750937842
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750938535
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750946338
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750962454
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750974702
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750978587
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330750989489
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751009191
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751012587
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751014703
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751029462
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330751030708
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751036579
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751038911
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751071436
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751072352
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751077149
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330751079704
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751092587
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751106746
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload4.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload4.csv
new file mode 100644 (file)
index 0000000..39ca321
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751107220
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751139443
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330751141088
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751142177
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751143935
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751157019
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751167454
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751170926
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751182635
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330751185331
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330751187502
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330751188882
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751189560
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751190101
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751190423
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751190681
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751190867
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751191063
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751191363
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751192188
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751195510
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751195865
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330751205185
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751217566
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751233448
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751297636
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330751317522
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751320289
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751320720
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751325037
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751326154
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751329522
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751333208
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751334380
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330751340808
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751341578
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751342331
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751362979
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751371599
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751385924
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751387877
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751388206
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751433785
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751443577
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751448396
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751457619
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751458765
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751462645
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751463298
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751464968
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751466137
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751470194
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751473389
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751475068
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751483532
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330751484991
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751492273
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751494749
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751499976
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751503141
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751504560
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751549902
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751554804
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751559253
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751559917
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751562692
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330751563935
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751565329
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751567682
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751569735
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751573792
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.rename",1330751573810
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751579904
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751588597
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330751593005
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751593820
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751599890
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751600821
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751605062
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751616012
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751622848
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751626244
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751627593
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751629574
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751633365
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751636209
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751638593
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751641927
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751644469
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751645144
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330751661644
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751673043
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751686137
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751689304
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751690338
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751693413
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751697596
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330751699398
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751699879
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepReturn",1330751706074
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepReturn",1330751707732
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751708027
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751709179
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330751710188
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751711057
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751718719
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751719020
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751719183
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751719372
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751719609
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751721982
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330751722945
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330751731805
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751737155
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751741468
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751753830
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751758261
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751774121
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751778413
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751779515
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330751781583
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330751789552
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751794052
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751803949
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330751806877
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751807942
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751815706
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751816576
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751823182
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751834685
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751858637
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751873278
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330751875443
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751876574
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330751880477
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330751884172
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751884809
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751889543
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751890783
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751903589
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751904477
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751909890
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751922734
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751924497
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751943403
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751960509
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330751967556
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330751967673
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751981082
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330751989267
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330751991544
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330751993073
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330751999936
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752001282
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330752005494
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330752006580
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752008389
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752009268
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752015069
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752021070
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330752038004
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752039151
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752064334
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752079025
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752082684
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752085705
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330752088467
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Terminate",1330752088471
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752094260
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752097204
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330752097218
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752110396
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752111180
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752112238
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752114266
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330752114317
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Terminate",1330752119071
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752120392
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752122429
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330752127459
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752132156
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752135566
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330752135615
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752137637
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330752138838
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752139790
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330752143793
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330752143901
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330752145213
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752145991
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752146633
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752147943
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752148584
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330752152547
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330752152973
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330752153131
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330752155684
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752158005
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752165637
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752166272
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752173187
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330752175475
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330752175475
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752182364
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752249410
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330752255798
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330752257183
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752259227
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752260904
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752266973
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752268745
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752276949
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752279885
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752281267
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752287462
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752289541
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752299396
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752300777
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330752302017
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752313645
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752324546
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752332468
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752334705
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752357467
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752364737
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752368786
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752373040
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752376600
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752379354
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752395273
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752396343
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330752399630
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752400943
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330752412466
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752413080
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752418633
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752506061
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752524291
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752539147
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752543295
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752545407
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752563575
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752575601
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752581508
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752584519
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752603154
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752718179
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752721599
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752749277
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752763541
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752781207
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330752786048
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752787488
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752788675
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752791688
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752793531
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752795039
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752796360
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752798451
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330752798566
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330752798677
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752800774
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752805640
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752808961
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752813147
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752821680
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752840823
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752842266
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752843691
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752846284
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752847182
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752909467
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752918357
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752939164
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752949976
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload5.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload5.csv
new file mode 100644 (file)
index 0000000..e2696a9
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752963830
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752970407
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752972420
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752975078
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752976673
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752982057
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752984221
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330752984976
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330752991201
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330752996199
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753002402
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753007725
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330753008962
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753010254
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753018003
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753032919
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753036490
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753050013
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753054494
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753056321
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330753057367
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753059072
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753078222
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753080330
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753086722
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753087823
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753089109
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753090144
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753090720
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753113074
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753117903
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753118576
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753126176
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753129397
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753130537
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753130712
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753130873
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753131056
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753131228
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753132621
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753132800
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753135827
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753136422
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753141338
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753152764
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753153285
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753153684
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753155603
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753155949
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753156864
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753157989
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753158412
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753159142
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753159547
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753159946
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753160308
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753160830
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753161284
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753163627
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753163696
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753163773
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753166044
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753167557
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753169748
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330753171843
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753171844
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753181663
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753188595
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753199571
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753204740
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753207017
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753223755
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753226944
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753227360
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753227731
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753228195
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753228929
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753229345
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753230055
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753230459
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753231100
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753232310
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753232827
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753233251
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753233842
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753234375
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753235207
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753235286
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753235358
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753238315
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753239957
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753241502
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753252405
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330753254317
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753254318
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753287365
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753329527
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753330129
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753331831
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753338802
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753340616
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753341893
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753343765
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753347837
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753350510
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753354722
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753356903
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753358172
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753376228
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753387125
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753390481
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753393717
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753394894
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753401523
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753411021
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753420217
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330753430343
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753514394
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753524170
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753525040
+executed,command,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals",1330753526321
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330753530829
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330753533075
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330753538855
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330753548460
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753556424
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753567601
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753570234
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753571593
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753584813
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753587723
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753588007
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753588406
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753588704
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753588958
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753589453
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753589908
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753590477
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753590910
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753591411
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753591869
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753592586
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753593647
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753593724
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753593801
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753596702
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753599119
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753606986
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330753608966
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753608966
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330753612955
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753614196
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753616124
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330753620955
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753621317
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330753660465
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753660544
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753660616
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330753663170
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330753663170
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753671561
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753756272
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753794020
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753844928
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330753859879
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753859984
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330753860271
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753871670
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753913065
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330753922745
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753959891
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753979236
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330753982163
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330753983707
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754001231
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754004608
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754004694
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754004767
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754007663
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754008778
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754044332
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330754046538
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754046539
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754050979
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754052576
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754053581
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754055544
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754058920
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754084500
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754112643
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754118265
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330754122726
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330754124525
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.open.editor",1330754129012
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754144584
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754164600
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754168034
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754169285
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754179712
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754184906
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754184978
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754185057
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754186569
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754187925
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754191494
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330754194722
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330754195257
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754201424
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754254812
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754259213
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754269820
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330754281496
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330754285257
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754290581
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754293214
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754298804
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754313643
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754314688
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754316151
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754320657
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754327896
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754329202
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754330117
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754347202
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754362615
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754381321
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754400461
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754401893
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754418181
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330754422796
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330754425541
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330754426547
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754433503
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754434088
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330754437656
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330754447540
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330754449102
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330754450220
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754452801
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754456602
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754467608
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754472309
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754483699
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754511771
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330754513373
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754515774
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754560715
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754567847
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754584641
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754612632
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754636849
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754641604
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754665292
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754669199
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754691178
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754691596
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754701513
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754732388
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754747272
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754757747
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754795364
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330754805263
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754806876
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754821789
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754824295
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754826315
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330754828163
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754854015
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754859381
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754862700
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754866361
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754870703
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754873950
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754874433
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754874830
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload6.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload6.csv
new file mode 100644 (file)
index 0000000..453d5db
--- /dev/null
@@ -0,0 +1,251 @@
+what,kind,bundleId,bundleVersion,description,time
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754875406
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754877627
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754878643
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754879944
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754883065
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754891600
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754918714
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754935541
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754937762
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754940634
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754941129
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754941544
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754942031
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754942743
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754943279
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754956199
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754961966
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754962686
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754965397
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330754971945
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754974386
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754974891
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754975611
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754979941
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754980963
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330754989447
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330754999594
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755035573
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755058494
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755107133
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755123872
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755141421
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755142351
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755146980
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755148173
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755153965
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755154648
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755160091
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755162951
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755180313
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755191718
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755192296
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755196278
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755208442
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755211682
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755212159
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755214463
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755226279
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755229020
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755236533
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755241146
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330755246428
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330755247424
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755248830
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755255937
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755257998
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.format",1330755261329
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755262460
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330755274628
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755278104
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330755285876
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755288816
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755289910
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755305407
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755320066
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330755345660
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755346295
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.undo",1330755349898
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755352705
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755379365
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755381620
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755385454
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755388252
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755389620
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755393425
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755403489
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755410590
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755415865
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755436714
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755445176
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755447566
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755452021
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755454917
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755469391
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755483284
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755489483
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755493222
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755495656
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755496229
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755496772
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755497269
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755497648
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755498078
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755499966
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755500924
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755502711
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755504752
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755518232
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755522333
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755528697
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755531786
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755532208
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755532778
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755533937
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755534997
+opened,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330755535092
+activated,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330755535164
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755536907
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755539293
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755544970
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755545519
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755546033
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330755547855
+closed,editor,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor",1330755547855
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755553961
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755561343
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755567998
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755573050
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755574253
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755580578
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755593565
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755596497
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755598320
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755598878
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755599320
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755599586
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755599784
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755600109
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755600428
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755601237
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755603267
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755611307
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755613792
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755614291
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755614896
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755615609
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755616199
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755617153
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755630872
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755636981
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755658324
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755660502
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755664672
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755667154
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755667388
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755667603
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755668677
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755669082
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330755670525
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755673763
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755675121
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755676770
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755678393
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755691505
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755695270
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755698034
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755705595
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755709755
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755710725
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755712683
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755731854
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330755746956
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330755748273
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755760981
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755768060
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755784586
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755786103
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330755791853
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755796419
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755798174
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755799258
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755811655
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755815234
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330755821786
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Terminate",1330755821840
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330755822556
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330755826265
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755828003
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755828947
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755836168
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755848161
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330755849672
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330755859378
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330755866814
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755874056
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755889021
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755897402
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755901191
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755910753
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755917419
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755926496
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755932949
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330755943884
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755944664
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755945788
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330755948208
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755951761
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755982911
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755984880
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755988927
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330755994786
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756062373
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330756074971
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330756077125
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330756085198
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330756104208
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330756108737
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330756112456
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330756114352
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330756118828
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756125943
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756132235
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756133217
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756145167
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756155993
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756161419
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330756164773
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330756166403
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756169386
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756200668
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756204131
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.findReplace",1330756204216
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756207504
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756211658
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756211676
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756211801
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756226488
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330756229544
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330756231791
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330756238153
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330756239781
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330756245106
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756246931
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756310417
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756313114
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756317251
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756317665
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756355570
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756356603
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756361801
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756369120
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756371475
+executed,command,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core.deployToGoogle",1330756372946
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756372975
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756394054
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756398408
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756580725
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756582595
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756770909
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330756774595
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload7.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload7.csv
new file mode 100644 (file)
index 0000000..311a45f
--- /dev/null
@@ -0,0 +1,242 @@
+what,kind,bundleId,bundleVersion,description,time
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330756776429
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330756780756
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330756783777
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330756784633
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756788568
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756792962
+executed,command,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core.deployToGoogle",1330756792979
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330756794177
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757062818
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757069163
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757070686
+executed,command,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core.deployToGoogle",1330757071615
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757071779
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757098870
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757109840
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757140115
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330757141916
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757180250
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757261106
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757353078
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757546195
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757567172
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757805765
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330757807567
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330758009104
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330758031196
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330758033212
+closed,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330758047982
+error,log,,,"Unhandled event loop exception",1330758060978
+stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330758065034
+stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1330758065034
+stopped,bundle,org.eclipse.help.ui,3.5.100.v20110425,"org.eclipse.help.ui",1330758065034
+stopped,bundle,org.eclipse.help.webapp,3.6.0.v20110518,"org.eclipse.help.webapp",1330758065034
+stopped,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330758065034
+stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1330758065065
+stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1330758065065
+stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1330758065065
+stopped,bundle,org.eclipse.help.base,3.6.0.v201106131736,"org.eclipse.help.base",1330758065065
+stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1330758065065
+stopped,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330758065065
+stopped,bundle,com.google.appengine.eclipse.sdkbundle,1.6.3.v201202290255r37,"com.google.appengine.eclipse.sdkbundle",1330758065065
+stopped,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330758065112
+stopped,bundle,com.google.gdt.eclipse.gph.e36,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.e36",1330758065112
+stopped,bundle,com.google.gdt.eclipse.gph.hge,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.hge",1330758065143
+stopped,bundle,com.google.gdt.eclipse.gph.subclipse,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1330758065143
+stopped,bundle,com.google.gdt.eclipse.gph.subversive,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subversive",1330758065143
+stopped,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330758065143
+stopped,bundle,com.google.gdt.eclipse.gph,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph",1330758065143
+stopped,bundle,com.google.gdt.eclipse.maven.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven.e37",1330758065143
+stopped,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330758065143
+stopped,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330758065143
+stopped,bundle,com.google.gdt.eclipse.appsmarketplace,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1330758065143
+stopped,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330758065143
+stopped,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330758065143
+stopped,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330758065704
+stopped,bundle,com.google.gwt.eclipse.oophm,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.oophm",1330758065704
+stopped,bundle,com.google.gwt.eclipse.sdkbundle,2.4.0.v201202290255-rel-r37,"com.google.gwt.eclipse.sdkbundle",1330758065704
+stopped,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330758067389
+stopped,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330758067389
+stopped,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330758067389
+stopped,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330758067389
+stopped,bundle,com.google.gdt.eclipse.platform.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.e37",1330758067389
+stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1330758067405
+stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1330758067436
+stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1330758067436
+stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330758067436
+stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1330758067436
+stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330758067436
+stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330758067436
+stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1330758067452
+stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1330758067452
+stopped,bundle,org.eclipse.mylyn.ide.ant,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ant",1330758067452
+stopped,bundle,org.eclipse.ant.ui,3.5.100.v20110510,"org.eclipse.ant.ui",1330758067452
+stopped,bundle,org.eclipse.ant.launching,1.0.100.v20110506,"org.eclipse.ant.launching",1330758067452
+stopped,bundle,org.eclipse.compare.win32,1.0.200.I20110510-0800,"org.eclipse.compare.win32",1330758067452
+stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk",1330758067452
+stopped,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330758067452
+stopped,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330758068325
+stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330758068325
+stopped,bundle,com.google.gdt.eclipse.designer.gpe,2.5.0.r37x201201030222,"com.google.gdt.eclipse.designer.gpe",1330758068325
+stopped,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330758068325
+stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330758068325
+stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1330758068325
+stopped,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330758068403
+stopped,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330758068403
+stopped,bundle,org.eclipse.wb.swing.FormLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.FormLayout",1330758068403
+stopped,bundle,org.eclipse.wb.swing.MigLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.MigLayout",1330758068403
+stopped,bundle,org.eclipse.wb.swing.databinding,1.0.0.r37x201106081552,"org.eclipse.wb.swing.databinding",1330758068403
+stopped,bundle,org.eclipse.wb.swing.java6,1.0.0.r37x201106081552,"org.eclipse.wb.swing.java6",1330758068403
+stopped,bundle,org.eclipse.wb.swing.jsr296,1.0.0.r37x201106081552,"org.eclipse.wb.swing.jsr296",1330758068403
+stopped,bundle,org.eclipse.wb.swing,1.0.0.r37x201106081552,"org.eclipse.wb.swing",1330758068403
+stopped,bundle,org.eclipse.wb.core.ui,1.0.0.r37x201106081733,"org.eclipse.wb.core.ui",1330758068403
+stopped,bundle,org.eclipse.wb.layout.group,1.0.0.r37x201106081642,"org.eclipse.wb.layout.group",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.ie",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.webkit",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.ie",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.webkit",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2",1330758068403
+stopped,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330758068403
+stopped,bundle,org.eclipse.wb.core.databinding.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.databinding.xml",1330758068403
+stopped,bundle,org.eclipse.wb.core.databinding,1.2.0.r37x201112290923,"org.eclipse.wb.core.databinding",1330758068403
+stopped,bundle,org.eclipse.wb.core.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.xml",1330758068403
+stopped,bundle,org.eclipse.wb.css,1.2.0.r37x201112290951,"org.eclipse.wb.css",1330758068403
+stopped,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330758068450
+stopped,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330758068450
+stopped,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330758069308
+stopped,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330758069308
+stopped,bundle,org.eclipse.wst.xsd.ui,1.2.404.v201105050216,"org.eclipse.wst.xsd.ui",1330758069308
+stopped,bundle,org.eclipse.wst.css.ui,1.0.601.v201201101544,"org.eclipse.wst.css.ui",1330758069339
+stopped,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330758069370
+stopped,bundle,org.eclipse.wst.common.ui,1.1.500.v200911190730,"org.eclipse.wst.common.ui",1330758069370
+stopped,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330758069729
+stopped,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330758069760
+stopped,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330758070306
+stopped,bundle,org.eclipse.mylyn.commons.team,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.team",1330758070306
+stopped,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330758070306
+stopped,bundle,org.eclipse.ui.navigator.resources,3.4.300.I20110421-1800,"org.eclipse.ui.navigator.resources",1330758070306
+stopped,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330758070431
+stopped,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330758070494
+stopped,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330758070525
+stopped,bundle,org.eclipse.mylyn.resources.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.resources.ui",1330758070525
+stopped,bundle,org.eclipse.mylyn.wikitext.tasks.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.tasks.ui",1330758070525
+stopped,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330758070525
+stopped,bundle,org.eclipse.mylyn.help.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.help.ui",1330758070525
+stopped,bundle,org.eclipse.mylyn.tasks.bugs,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.bugs",1330758070540
+stopped,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330758070572
+stopped,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330758070681
+stopped,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330758070681
+stopped,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330758070743
+stopped,bundle,org.eclipse.ui.externaltools,3.2.0.v20110506,"org.eclipse.ui.externaltools",1330758070743
+stopped,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330758070884
+stopped,bundle,org.eclipse.mylyn.wikitext.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.ui",1330758070884
+stopped,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330758070884
+stopped,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330758070884
+stopped,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330758070899
+stopped,bundle,org.eclipse.wst.common.snippets,1.2.100.v201103281740,"org.eclipse.wst.common.snippets",1330758070899
+stopped,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330758070899
+stopped,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330758070899
+stopped,bundle,org.eclipse.emf.edit.ui,2.7.0.v20110606-0949,"org.eclipse.emf.edit.ui",1330758070899
+stopped,bundle,org.eclipse.gef,3.7.0.v20110407-2050,"org.eclipse.gef",1330758070899
+activated,perspective,org.eclipse.jdt.ui,,"org.eclipse.jdt.ui.JavaPerspective",1330759346369
+started,bundle,org.eclipse.osgi,3.7.0.v20110613,"org.eclipse.osgi",1330759346372
+started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110502-1955,"org.eclipse.equinox.simpleconfigurator",1330759346415
+started,bundle,com.ibm.icu,4.4.2.v20110208,"com.ibm.icu",1330759346507
+started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330759346523
+started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1330759346658
+started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1330759346714
+started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1330759346716
+started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110505-0800,"org.eclipse.core.filebuffers",1330759346717
+started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1330759346849
+started,bundle,org.eclipse.core.jobs,3.5.100.v20110404,"org.eclipse.core.jobs",1330759346852
+started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1330759347060
+started,bundle,org.eclipse.core.resources,3.7.100.v20110510-0712,"org.eclipse.core.resources",1330759347161
+started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1330759347165
+started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1330759347200
+started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1330759347250
+started,bundle,org.eclipse.core.variables,3.2.500.v20110511,"org.eclipse.core.variables",1330759347298
+started,bundle,org.eclipse.debug.core,3.7.0.v20110518,"org.eclipse.debug.core",1330759347330
+started,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330759347416
+started,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330759347539
+started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1330759347540
+started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1330759347597
+started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1330759347601
+started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1330759347603
+started,bundle,org.eclipse.equinox.ds,1.3.0.v20110502,"org.eclipse.equinox.ds",1330759347605
+started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1330759347675
+started,bundle,org.eclipse.equinox.p2.core,2.1.0.v20110502-1955,"org.eclipse.equinox.p2.core",1330759347756
+started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110502-1955,"org.eclipse.equinox.p2.directorywatcher",1330759347817
+started,bundle,org.eclipse.equinox.p2.engine,2.1.0.v20110511,"org.eclipse.equinox.p2.engine",1330759347849
+started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110510,"org.eclipse.equinox.p2.metadata",1330759347974
+started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110511-1359,"org.eclipse.equinox.p2.metadata.repository",1330759348018
+started,bundle,org.eclipse.equinox.p2.operations,2.1.0.v20110511-1821,"org.eclipse.equinox.p2.operations",1330759348019
+started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110510,"org.eclipse.equinox.p2.reconciler.dropins",1330759348147
+started,bundle,org.eclipse.equinox.p2.repository,2.1.0.v20110601,"org.eclipse.equinox.p2.repository",1330759348492
+started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk.scheduler",1330759348494
+started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110502-1955,"org.eclipse.equinox.p2.updatechecker",1330759348521
+started,bundle,org.eclipse.equinox.preferences,3.4.0.v20110502,"org.eclipse.equinox.preferences",1330759348621
+started,bundle,org.eclipse.equinox.registry,3.5.100.v20110502,"org.eclipse.equinox.registry",1330759348623
+started,bundle,org.eclipse.equinox.security,1.1.0.v20110502,"org.eclipse.equinox.security",1330759348867
+started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1330759348895
+started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1330759348992
+started,bundle,org.eclipse.jdt.core,3.7.0.v_B61,"org.eclipse.jdt.core",1330759349026
+started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110505-0800,"org.eclipse.jdt.core.manipulation",1330759349057
+started,bundle,org.eclipse.jdt.debug,3.7.0.v20110509,"org.eclipse.jdt.debug",1330759349364
+started,bundle,org.eclipse.jdt.launching,3.6.0.v20110509,"org.eclipse.jdt.launching",1330759349402
+started,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330759349751
+started,bundle,org.eclipse.jface,3.7.0.I20110522-1430,"org.eclipse.jface",1330759350416
+started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1330759350445
+started,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330759350495
+started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.core",1330759350497
+started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330759350499
+started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1330759350500
+started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1330759350500
+started,bundle,org.eclipse.mylyn.context.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.core",1330759350502
+started,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330759350610
+started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1330759350665
+started,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330759350765
+started,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330759350849
+started,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330759350943
+started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1330759351136
+started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1330759351210
+started,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330759351291
+started,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330759351596
+started,bundle,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui",1330759351702
+started,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330759351704
+started,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330759351704
+started,bundle,org.eclipse.ui.forms,3.5.100.v20110425,"org.eclipse.ui.forms",1330759351799
+started,bundle,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.ide",1330759351892
+started,bundle,org.eclipse.ui.net,1.2.100.I20110511-0800,"org.eclipse.ui.net",1330759351965
+started,bundle,org.eclipse.ui.views,3.6.0.I20110412-0800,"org.eclipse.ui.views",1330759351967
+started,bundle,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"org.eclipse.ui.workbench",1330759352012
+started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330759352141
+started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1330759352217
+started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1330759352340
+started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1330759352379
+started,bundle,org.eclipse.wb.discovery.core,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.core",1330759352380
+started,bundle,org.eclipse.wb.discovery.ui,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.ui",1330759352381
+started,bundle,org.eclipse.wst.common.uriresolver,1.1.401.v201004280700,"org.eclipse.wst.common.uriresolver",1330759352383
+started,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330759352438
+started,bundle,org.eclipse.wst.internet.cache,1.0.400.v201004280700,"org.eclipse.wst.internet.cache",1330759352440
+started,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330759352442
+started,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330759352443
+started,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330759352444
+started,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330759352446
+started,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330759352448
+started,bundle,org.eclipse.emf.common,2.7.0.v20120127-1122,"org.eclipse.emf.common",1330759352489
+started,bundle,org.eclipse.jst.common.project.facet.core,1.4.200.v201103170302,"org.eclipse.jst.common.project.facet.core",1330759352564
+started,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330759352613
+started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330759352677
+started,bundle,org.eclipse.wst.common.frameworks,1.2.102.v201201190400,"org.eclipse.wst.common.frameworks",1330759352718
+started,bundle,org.eclipse.wst.common.project.facet.core,1.4.201.v201201101553,"org.eclipse.wst.common.project.facet.core",1330759352786
+started,bundle,org.eclipse.wst.sse.core,1.1.602.v201112071516,"org.eclipse.wst.sse.core",1330759352788
+started,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330759353081
+started,bundle,org.eclipse.wst.validation,1.2.303.v201202090300,"org.eclipse.wst.validation",1330759353081
+started,bundle,org.eclipse.wst.xml.core,1.1.602.v201201091944,"org.eclipse.wst.xml.core",1330759353212
+started,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330759353287
+os,sysinfo,,,"win32",1330759353295
+arch,sysinfo,,,"x86",1330759353296
+ws,sysinfo,,,"win32",1330759353296
+locale,sysinfo,,,"ja_JP",1330759353296
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload8.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload8.csv
new file mode 100644 (file)
index 0000000..09c117d
--- /dev/null
@@ -0,0 +1,276 @@
+what,kind,bundleId,bundleVersion,description,time
+processors,sysinfo,,,"2",1330759353296
+java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1330759353296
+java.runtime.version,sysinfo,,,"1.6.0_26-b03",1330759353296
+java.specification.name,sysinfo,,,"Java Platform API Specification",1330759353296
+java.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330759353296
+java.specification.version,sysinfo,,,"1.6",1330759353296
+java.vendor,sysinfo,,,"Sun Microsystems Inc.",1330759353296
+java.version,sysinfo,,,"1.6.0_26",1330759353296
+java.vm.info,sysinfo,,,"mixed mode",1330759353296
+java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1330759353296
+java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1330759353296
+java.vm.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330759353296
+java.vm.specification.version,sysinfo,,,"1.0",1330759353296
+java.vm.vendor,sysinfo,,,"Sun Microsystems Inc.",1330759353296
+java.vm.version,sysinfo,,,"20.1-b02",1330759353296
+started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330759353373
+started,bundle,org.eclipse.wb.core.lib,1.2.0.r37x201112290923,"org.eclipse.wb.core.lib",1330759353858
+started,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330759355075
+opened,view,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.views.ProblemView",1330759355322
+started,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330759356941
+started,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330759357166
+started,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330759357257
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330759368190
+started,bundle,org.eclipse.ltk.core.refactoring,3.5.200.v20110505-0800,"org.eclipse.ltk.core.refactoring",1330759378956
+activated,editor,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart",1330759380396
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330759380501
+started,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330759382607
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330759383469
+started,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330759386514
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330759387708
+started,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330759387769
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759388070
+started,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330759388498
+started,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330759388507
+started,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330759389877
+started,bundle,org.eclipse.jdt.apt.core,3.3.500.v20110420-1015,"org.eclipse.jdt.apt.core",1330759390042
+started,bundle,org.eclipse.jdt.apt.pluggable.core,1.0.400.v20110305-1450,"org.eclipse.jdt.apt.pluggable.core",1330759390092
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759404557
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759405947
+started,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330759411951
+started,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330759412006
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759412309
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759412429
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759415217
+started,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330759421303
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759441666
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759442712
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759446211
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759466085
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759474799
+started,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330759481184
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759481497
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759484250
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759485469
+started,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330759494936
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759496856
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759516991
+opened,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330759517842
+started,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330759522273
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330759525523
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330759526959
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759529403
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759532134
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330759537356
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759539097
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759547443
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330759550404
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759590027
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759610653
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759627113
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759630207
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759631818
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759640010
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330759648399
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759656777
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759658117
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759661520
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759665586
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759667814
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759669177
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759670328
+started,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330759672090
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759680628
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759707250
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759716142
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759722123
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759724121
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759725218
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759735886
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759742471
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759742820
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759759843
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330759775102
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759778820
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759780681
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759792215
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759795907
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759803421
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759806451
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759807426
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759813226
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759815276
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759816297
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759818687
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759820493
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759821785
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759829264
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759833600
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330759857328
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759859846
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759881334
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759886366
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759891579
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330759898421
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759957585
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330759965699
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759976289
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759976317
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330759976411
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760002130
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760005292
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760006188
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760011580
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760021179
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330760022678
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760070944
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760115609
+started,bundle,org.eclipse.wb.os,1.2.0.r37x201112290923,"org.eclipse.wb.os",1330760118063
+started,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330760118144
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760118651
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760124151
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760130632
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760134670
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760138006
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760152748
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760153860
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760154856
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760171195
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760175948
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330760195240
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760195695
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760210812
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760211291
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760225675
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760228554
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760228862
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760229438
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760230769
+executed,command,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.edit.text.java.organize.imports",1330760231042
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330760235395
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760243830
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760253367
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760254623
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760254766
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760266660
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760267332
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760267472
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760267614
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330760271716
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760319445
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760325522
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760356521
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760373468
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760392416
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760407873
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760416783
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330760430252
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760431835
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.cut",1330760437867
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760438963
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760441667
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760442922
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760449101
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330760467406
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760468649
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760469006
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760478632
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760483363
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760496995
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760502426
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760507568
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760512210
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760527727
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760535387
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760536056
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760546889
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760548296
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760550248
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760561569
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760573295
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760576293
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760577973
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760580008
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760583480
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760609586
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760651916
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760656977
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760661130
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760665956
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760668587
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330760669481
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760677030
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760677152
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760678551
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760681338
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330760684288
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760686089
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760687512
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760688992
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760689896
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760690491
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760690959
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760691453
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760695572
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696025
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696303
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696493
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696648
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696824
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760696976
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760697143
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760697317
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760699217
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760699645
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760720219
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760741850
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760750727
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760751645
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760757176
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760763154
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760780947
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760786654
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760788160
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760791865
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760795807
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760798678
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760825690
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760845992
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760850904
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760856750
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760860901
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760869205
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760877032
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760878551
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760879032
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760886045
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760888727
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760909641
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760920041
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760923647
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330760925693
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760928444
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330760930439
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760936444
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330760943056
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepInto",1330760945027
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.StepOver",1330760946476
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Resume",1330760953123
+activated,view,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.DebugView",1330760955040
+executed,command,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui.commands.Terminate",1330760955089
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330760956063
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330760976113
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330760991683
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330760992473
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330761000957
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330761008588
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330761097715
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330761097934
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330761099088
+closed,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330761099962
+started,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330761101444
+stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330761103675
+stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1330761103675
+stopped,bundle,org.eclipse.help.ui,3.5.100.v20110425,"org.eclipse.help.ui",1330761103675
+stopped,bundle,org.eclipse.help.webapp,3.6.0.v20110518,"org.eclipse.help.webapp",1330761103675
diff --git a/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload9.csv b/workspace/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload9.csv
new file mode 100644 (file)
index 0000000..ae1e010
--- /dev/null
@@ -0,0 +1,251 @@
+what,kind,bundleId,bundleVersion,description,time
+stopped,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330761103675
+stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1330761103675
+stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1330761103675
+stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1330761103675
+stopped,bundle,org.eclipse.help.base,3.6.0.v201106131736,"org.eclipse.help.base",1330761103675
+stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1330761103675
+stopped,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330761103675
+stopped,bundle,com.google.appengine.eclipse.sdkbundle,1.6.3.v201202290255r37,"com.google.appengine.eclipse.sdkbundle",1330761103675
+stopped,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330761103675
+stopped,bundle,com.google.gdt.eclipse.gph.e36,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.e36",1330761103675
+stopped,bundle,com.google.gdt.eclipse.gph.hge,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.hge",1330761103675
+stopped,bundle,com.google.gdt.eclipse.gph.subclipse,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1330761103675
+stopped,bundle,com.google.gdt.eclipse.gph.subversive,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subversive",1330761103675
+stopped,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330761103675
+stopped,bundle,com.google.gdt.eclipse.gph,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph",1330761103675
+stopped,bundle,com.google.gdt.eclipse.maven.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven.e37",1330761103675
+stopped,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330761103675
+stopped,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330761103675
+stopped,bundle,com.google.gdt.eclipse.appsmarketplace,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1330761103675
+stopped,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330761103675
+stopped,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330761103675
+stopped,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330761103753
+stopped,bundle,com.google.gwt.eclipse.oophm,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.oophm",1330761103769
+stopped,bundle,com.google.gwt.eclipse.sdkbundle,2.4.0.v201202290255-rel-r37,"com.google.gwt.eclipse.sdkbundle",1330761103769
+stopped,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330761103956
+stopped,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330761103956
+stopped,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330761103956
+stopped,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330761103956
+stopped,bundle,com.google.gdt.eclipse.platform.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.e37",1330761103956
+stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1330761103956
+stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1330761103956
+stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1330761103956
+stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330761103956
+stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1330761103956
+stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330761103956
+stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330761103956
+stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1330761103956
+stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1330761103956
+stopped,bundle,org.eclipse.mylyn.ide.ant,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ant",1330761103956
+stopped,bundle,org.eclipse.ant.ui,3.5.100.v20110510,"org.eclipse.ant.ui",1330761103956
+stopped,bundle,org.eclipse.ant.launching,1.0.100.v20110506,"org.eclipse.ant.launching",1330761103956
+stopped,bundle,org.eclipse.compare.win32,1.0.200.I20110510-0800,"org.eclipse.compare.win32",1330761103956
+stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk",1330761103956
+stopped,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330761103956
+stopped,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330761103956
+stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330761103956
+stopped,bundle,com.google.gdt.eclipse.designer.gpe,2.5.0.r37x201201030222,"com.google.gdt.eclipse.designer.gpe",1330761103956
+stopped,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330761103956
+stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330761103956
+stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1330761103956
+stopped,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330761104066
+stopped,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330761104066
+stopped,bundle,org.eclipse.wb.swing.FormLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.FormLayout",1330761104066
+stopped,bundle,org.eclipse.wb.swing.MigLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.MigLayout",1330761104066
+stopped,bundle,org.eclipse.wb.swing.databinding,1.0.0.r37x201106081552,"org.eclipse.wb.swing.databinding",1330761104066
+stopped,bundle,org.eclipse.wb.swing.java6,1.0.0.r37x201106081552,"org.eclipse.wb.swing.java6",1330761104066
+stopped,bundle,org.eclipse.wb.swing.jsr296,1.0.0.r37x201106081552,"org.eclipse.wb.swing.jsr296",1330761104066
+stopped,bundle,org.eclipse.wb.swing,1.0.0.r37x201106081552,"org.eclipse.wb.swing",1330761104066
+stopped,bundle,org.eclipse.wb.core.ui,1.0.0.r37x201106081733,"org.eclipse.wb.core.ui",1330761104066
+stopped,bundle,org.eclipse.wb.layout.group,1.0.0.r37x201106081642,"org.eclipse.wb.layout.group",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.ie",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.webkit",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.ie",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.webkit",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2",1330761104066
+stopped,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330761104066
+stopped,bundle,org.eclipse.wb.core.databinding.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.databinding.xml",1330761104066
+stopped,bundle,org.eclipse.wb.core.databinding,1.2.0.r37x201112290923,"org.eclipse.wb.core.databinding",1330761104066
+stopped,bundle,org.eclipse.wb.core.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.xml",1330761104066
+stopped,bundle,org.eclipse.wb.css,1.2.0.r37x201112290951,"org.eclipse.wb.css",1330761104066
+stopped,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330761104066
+stopped,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330761104066
+stopped,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330761104129
+stopped,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330761104129
+stopped,bundle,org.eclipse.wst.xsd.ui,1.2.404.v201105050216,"org.eclipse.wst.xsd.ui",1330761104129
+stopped,bundle,org.eclipse.wst.css.ui,1.0.601.v201201101544,"org.eclipse.wst.css.ui",1330761104129
+stopped,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330761104129
+stopped,bundle,org.eclipse.wst.common.ui,1.1.500.v200911190730,"org.eclipse.wst.common.ui",1330761104129
+stopped,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330761104129
+stopped,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330761104129
+stopped,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330761104378
+stopped,bundle,org.eclipse.mylyn.commons.team,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.team",1330761104378
+stopped,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330761104378
+stopped,bundle,org.eclipse.ui.navigator.resources,3.4.300.I20110421-1800,"org.eclipse.ui.navigator.resources",1330761104378
+stopped,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330761104378
+stopped,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.resources.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.resources.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.wikitext.tasks.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.tasks.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.help.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.help.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.tasks.bugs,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.bugs",1330761104378
+stopped,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330761104378
+stopped,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330761104378
+stopped,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330761104378
+stopped,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330761104378
+stopped,bundle,org.eclipse.ui.externaltools,3.2.0.v20110506,"org.eclipse.ui.externaltools",1330761104378
+stopped,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330761104378
+stopped,bundle,org.eclipse.mylyn.wikitext.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.ui",1330761104378
+activated,perspective,org.eclipse.jdt.ui,,"org.eclipse.jdt.ui.JavaPerspective",1330765651994
+started,bundle,org.eclipse.osgi,3.7.0.v20110613,"org.eclipse.osgi",1330765651997
+started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110502-1955,"org.eclipse.equinox.simpleconfigurator",1330765652127
+started,bundle,com.ibm.icu,4.4.2.v20110208,"com.ibm.icu",1330765652166
+started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330765652190
+started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1330765652226
+started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1330765652274
+started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1330765652300
+started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110505-0800,"org.eclipse.core.filebuffers",1330765652302
+started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1330765652360
+started,bundle,org.eclipse.core.jobs,3.5.100.v20110404,"org.eclipse.core.jobs",1330765652390
+started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1330765652456
+started,bundle,org.eclipse.core.resources,3.7.100.v20110510-0712,"org.eclipse.core.resources",1330765652607
+started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1330765652665
+started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1330765652689
+started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1330765652735
+started,bundle,org.eclipse.debug.core,3.7.0.v20110518,"org.eclipse.debug.core",1330765652834
+started,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330765653519
+started,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330765653559
+started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1330765653560
+started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1330765653650
+started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1330765653690
+started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1330765653745
+started,bundle,org.eclipse.equinox.ds,1.3.0.v20110502,"org.eclipse.equinox.ds",1330765653845
+started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1330765653952
+started,bundle,org.eclipse.equinox.p2.core,2.1.0.v20110502-1955,"org.eclipse.equinox.p2.core",1330765654067
+started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110502-1955,"org.eclipse.equinox.p2.directorywatcher",1330765654248
+started,bundle,org.eclipse.equinox.p2.engine,2.1.0.v20110511,"org.eclipse.equinox.p2.engine",1330765654285
+started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110510,"org.eclipse.equinox.p2.metadata",1330765654402
+started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110511-1359,"org.eclipse.equinox.p2.metadata.repository",1330765654628
+started,bundle,org.eclipse.equinox.p2.operations,2.1.0.v20110511-1821,"org.eclipse.equinox.p2.operations",1330765654630
+started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110510,"org.eclipse.equinox.p2.reconciler.dropins",1330765654814
+started,bundle,org.eclipse.equinox.p2.repository,2.1.0.v20110601,"org.eclipse.equinox.p2.repository",1330765654975
+started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk.scheduler",1330765654977
+started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110502-1955,"org.eclipse.equinox.p2.updatechecker",1330765655162
+started,bundle,org.eclipse.equinox.preferences,3.4.0.v20110502,"org.eclipse.equinox.preferences",1330765655220
+started,bundle,org.eclipse.equinox.registry,3.5.100.v20110502,"org.eclipse.equinox.registry",1330765655297
+started,bundle,org.eclipse.equinox.security,1.1.0.v20110502,"org.eclipse.equinox.security",1330765655538
+started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1330765655548
+started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1330765655788
+started,bundle,org.eclipse.jdt.apt.core,3.3.500.v20110420-1015,"org.eclipse.jdt.apt.core",1330765655968
+started,bundle,org.eclipse.jdt.apt.pluggable.core,1.0.400.v20110305-1450,"org.eclipse.jdt.apt.pluggable.core",1330765655988
+started,bundle,org.eclipse.jdt.core,3.7.0.v_B61,"org.eclipse.jdt.core",1330765656028
+started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110505-0800,"org.eclipse.jdt.core.manipulation",1330765656258
+started,bundle,org.eclipse.jdt.debug,3.7.0.v20110509,"org.eclipse.jdt.debug",1330765656478
+started,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330765656478
+started,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330765656658
+started,bundle,org.eclipse.jdt.launching,3.6.0.v20110509,"org.eclipse.jdt.launching",1330765656718
+started,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330765656718
+started,bundle,org.eclipse.jface,3.7.0.I20110522-1430,"org.eclipse.jface",1330765656858
+started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1330765656928
+started,bundle,org.eclipse.ltk.core.refactoring,3.5.200.v20110505-0800,"org.eclipse.ltk.core.refactoring",1330765656958
+started,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330765657078
+started,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330765657158
+started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.core",1330765657198
+started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330765657218
+started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1330765657228
+started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1330765657228
+started,bundle,org.eclipse.mylyn.context.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.core",1330765657228
+started,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330765657404
+started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1330765657441
+started,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330765657518
+started,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330765657568
+started,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330765657780
+started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1330765657839
+started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1330765657867
+started,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330765658006
+started,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330765658107
+started,bundle,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui",1330765658292
+started,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330765658292
+started,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330765658292
+started,bundle,org.eclipse.ui.forms,3.5.100.v20110425,"org.eclipse.ui.forms",1330765658370
+started,bundle,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.ide",1330765658401
+started,bundle,org.eclipse.ui.net,1.2.100.I20110511-0800,"org.eclipse.ui.net",1330765658432
+started,bundle,org.eclipse.ui.views,3.6.0.I20110412-0800,"org.eclipse.ui.views",1330765658432
+started,bundle,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"org.eclipse.ui.workbench",1330765658532
+started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330765658572
+started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1330765658612
+started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1330765658752
+started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1330765658832
+started,bundle,org.eclipse.wb.discovery.core,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.core",1330765658832
+started,bundle,org.eclipse.wb.discovery.ui,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.ui",1330765658832
+started,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330765658832
+started,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330765658862
+started,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330765658862
+started,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330765658892
+started,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330765659022
+started,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330765659072
+started,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330765659072
+started,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330765659082
+started,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330765659122
+started,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330765659122
+started,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330765659122
+started,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330765659152
+started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330765659242
+started,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330765659412
+started,bundle,org.eclipse.wb.core.lib,1.2.0.r37x201112290923,"org.eclipse.wb.core.lib",1330765659612
+os,sysinfo,,,"win32",1330765659612
+arch,sysinfo,,,"x86",1330765659612
+ws,sysinfo,,,"win32",1330765659612
+locale,sysinfo,,,"ja_JP",1330765659612
+processors,sysinfo,,,"2",1330765659612
+java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1330765659612
+java.runtime.version,sysinfo,,,"1.6.0_26-b03",1330765659612
+java.specification.name,sysinfo,,,"Java Platform API Specification",1330765659612
+java.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330765659612
+java.specification.version,sysinfo,,,"1.6",1330765659612
+java.vendor,sysinfo,,,"Sun Microsystems Inc.",1330765659612
+java.version,sysinfo,,,"1.6.0_26",1330765659612
+java.vm.info,sysinfo,,,"mixed mode",1330765659612
+java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1330765659612
+java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1330765659612
+java.vm.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330765659612
+java.vm.specification.version,sysinfo,,,"1.0",1330765659612
+java.vm.vendor,sysinfo,,,"Sun Microsystems Inc.",1330765659612
+java.vm.version,sysinfo,,,"20.1-b02",1330765659612
+started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330765659702
+opened,view,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.views.ProblemView",1330765661308
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330765672471
+started,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330765672689
+started,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330765672720
+started,bundle,org.eclipse.core.variables,3.2.500.v20110511,"org.eclipse.core.variables",1330765672821
+started,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330765677511
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765685828
+started,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330765697554
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765699091
+opened,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330765699971
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330765700351
+opened,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330765703019
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765709591
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765757467
+started,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330765765872
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330765773948
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330765777165
+started,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330765777286
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330765778967
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765784794
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765785607
+executed,command,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui.localJavaShortcut.debug",1330765785649
+started,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330765786466
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330765795489
+executed,command,,,"AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction",1330765817191
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765839311
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765863752
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765867548
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765868997
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765870696
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765872592
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765880276
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330765881824
index 154664a..9888727 100644 (file)
 what,kind,bundleId,bundleVersion,description,time
-started,bundle,org.eclipse.equinox.p2.engine,2.1.0.v20110511,"org.eclipse.equinox.p2.engine",1330728847858
-started,bundle,org.eclipse.equinox.p2.extensionlocation,1.2.100.v20110510,"org.eclipse.equinox.p2.extensionlocation",1330728847858
-started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110510,"org.eclipse.equinox.p2.metadata",1330728847860
-started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110511-1359,"org.eclipse.equinox.p2.metadata.repository",1330728847860
-started,bundle,org.eclipse.equinox.p2.operations,2.1.0.v20110511-1821,"org.eclipse.equinox.p2.operations",1330728847862
-started,bundle,org.eclipse.equinox.p2.publisher,1.2.0.v20110511,"org.eclipse.equinox.p2.publisher",1330728847863
-started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110510,"org.eclipse.equinox.p2.reconciler.dropins",1330728847863
-started,bundle,org.eclipse.equinox.p2.repository,2.1.0.v20110601,"org.eclipse.equinox.p2.repository",1330728847865
-started,bundle,org.eclipse.equinox.p2.touchpoint.eclipse,2.1.0.v20110511,"org.eclipse.equinox.p2.touchpoint.eclipse",1330728847865
-started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk.scheduler",1330728847865
-started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110502-1955,"org.eclipse.equinox.p2.updatechecker",1330728847866
-started,bundle,org.eclipse.equinox.preferences,3.4.0.v20110502,"org.eclipse.equinox.preferences",1330728847866
-started,bundle,org.eclipse.equinox.registry,3.5.100.v20110502,"org.eclipse.equinox.registry",1330728847866
-started,bundle,org.eclipse.equinox.security,1.1.0.v20110502,"org.eclipse.equinox.security",1330728847866
-started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1330728847868
-started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1330728847868
-started,bundle,org.eclipse.jdt.core,3.7.0.v_B61,"org.eclipse.jdt.core",1330728847868
-started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110505-0800,"org.eclipse.jdt.core.manipulation",1330728847869
-started,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330728847869
-started,bundle,org.eclipse.jface,3.7.0.I20110522-1430,"org.eclipse.jface",1330728847870
-started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1330728847870
-started,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330728847870
-started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.core",1330728847870
-started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330728847870
-started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1330728847872
-started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1330728847872
-started,bundle,org.eclipse.mylyn.context.core,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.core",1330728847872
-started,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330728847872
-started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1330728847872
-started,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330728847873
-started,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330728847873
-started,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330728847873
-started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1330728847873
-started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1330728847873
-started,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330728847873
-started,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330728847873
-started,bundle,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui",1330728847873
-started,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330728847873
-started,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330728847873
-started,bundle,org.eclipse.ui.forms,3.5.100.v20110425,"org.eclipse.ui.forms",1330728847875
-started,bundle,org.eclipse.ui.ide,3.7.0.I20110519-0100,"org.eclipse.ui.ide",1330728847875
-started,bundle,org.eclipse.ui.net,1.2.100.I20110511-0800,"org.eclipse.ui.net",1330728847875
-started,bundle,org.eclipse.ui.views,3.6.0.I20110412-0800,"org.eclipse.ui.views",1330728847875
-started,bundle,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"org.eclipse.ui.workbench",1330728847875
-started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330728847875
-started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1330728847876
-started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1330728847876
-started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1330728847876
-started,bundle,org.eclipse.wb.discovery.core,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.core",1330728847877
-started,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330728847877
-started,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330728847877
-started,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330728847878
-started,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330728847878
-started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330728847878
-os,sysinfo,,,"win32",1330728847886
-arch,sysinfo,,,"x86",1330728847886
-ws,sysinfo,,,"win32",1330728847886
-locale,sysinfo,,,"ja_JP",1330728847886
-processors,sysinfo,,,"2",1330728847886
-java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1330728847887
-java.runtime.version,sysinfo,,,"1.6.0_26-b03",1330728847887
-java.specification.name,sysinfo,,,"Java Platform API Specification",1330728847887
-java.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
-java.specification.version,sysinfo,,,"1.6",1330728847887
-java.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
-java.version,sysinfo,,,"1.6.0_26",1330728847887
-java.vm.info,sysinfo,,,"mixed mode",1330728847887
-java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1330728847887
-java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1330728847887
-java.vm.specification.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
-java.vm.specification.version,sysinfo,,,"1.0",1330728847887
-java.vm.vendor,sysinfo,,,"Sun Microsystems Inc.",1330728847887
-java.vm.version,sysinfo,,,"20.1-b02",1330728847887
-started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330728847912
-started,bundle,org.eclipse.wb.discovery.ui,1.0.0.r37x201106081733,"org.eclipse.wb.discovery.ui",1330728848157
-started,bundle,org.eclipse.wb.core.lib,1.2.0.r37x201112290923,"org.eclipse.wb.core.lib",1330728848494
-started,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330728848857
-started,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330728849452
-started,bundle,org.eclipse.debug.core,3.7.0.v20110518,"org.eclipse.debug.core",1330728849583
-started,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330728849653
-deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728852064
-activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728907886
-deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728907985
-activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728909629
-closed,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330728909803
-started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1330728910278
-started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330728910645
-started,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330728910660
-stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330728911536
-stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1330728911536
-stopped,bundle,org.eclipse.help.ui,3.5.100.v20110425,"org.eclipse.help.ui",1330728911536
-stopped,bundle,org.eclipse.help.webapp,3.6.0.v20110518,"org.eclipse.help.webapp",1330728911536
-stopped,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330728911536
-stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1330728911536
-stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1330728911536
-stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1330728911536
-stopped,bundle,org.eclipse.help.base,3.6.0.v201106131736,"org.eclipse.help.base",1330728911536
-stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1330728911539
-stopped,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330728911539
-stopped,bundle,com.google.appengine.eclipse.sdkbundle,1.6.3.v201202290255r37,"com.google.appengine.eclipse.sdkbundle",1330728911540
-stopped,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330728911540
-stopped,bundle,com.google.gdt.eclipse.gph.e36,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.e36",1330728911540
-stopped,bundle,com.google.gdt.eclipse.gph.hge,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.hge",1330728911540
-stopped,bundle,com.google.gdt.eclipse.gph.subclipse,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1330728911540
-stopped,bundle,com.google.gdt.eclipse.gph.subversive,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subversive",1330728911540
-stopped,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330728911540
-stopped,bundle,com.google.gdt.eclipse.gph,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph",1330728911541
-stopped,bundle,com.google.gdt.eclipse.maven.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven.e37",1330728911541
-stopped,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330728911541
-stopped,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330728911541
-stopped,bundle,com.google.gdt.eclipse.appsmarketplace,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1330728911541
-stopped,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330728911541
-stopped,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330728911541
-stopped,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330728911574
-stopped,bundle,com.google.gwt.eclipse.oophm,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.oophm",1330728911574
-stopped,bundle,com.google.gwt.eclipse.sdkbundle,2.4.0.v201202290255-rel-r37,"com.google.gwt.eclipse.sdkbundle",1330728911575
-stopped,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330728911575
-stopped,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330728911578
-stopped,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330728911580
-stopped,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330728911581
-stopped,bundle,com.google.gdt.eclipse.platform.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.e37",1330728911582
-stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1330728911583
-stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1330728911583
-stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1330728911583
-stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330728911584
-stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1330728911584
-stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330728911585
-stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330728911585
-stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1330728911585
-stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1330728911585
-stopped,bundle,org.eclipse.mylyn.ide.ant,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ant",1330728911586
-stopped,bundle,org.eclipse.ant.ui,3.5.100.v20110510,"org.eclipse.ant.ui",1330728911586
-stopped,bundle,org.eclipse.ant.launching,1.0.100.v20110506,"org.eclipse.ant.launching",1330728911586
-stopped,bundle,org.eclipse.compare.win32,1.0.200.I20110510-0800,"org.eclipse.compare.win32",1330728911586
-stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk",1330728911587
-stopped,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330728911587
-stopped,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330728911588
-stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330728911589
-stopped,bundle,com.google.gdt.eclipse.designer.gpe,2.5.0.r37x201201030222,"com.google.gdt.eclipse.designer.gpe",1330728911589
-stopped,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330728911589
-stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330728911589
-stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1330728911590
-stopped,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330728911590
-stopped,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330728911591
-stopped,bundle,org.eclipse.wb.swing.FormLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.FormLayout",1330728911591
-stopped,bundle,org.eclipse.wb.swing.MigLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.MigLayout",1330728911592
-stopped,bundle,org.eclipse.wb.swing.databinding,1.0.0.r37x201106081552,"org.eclipse.wb.swing.databinding",1330728911592
-stopped,bundle,org.eclipse.wb.swing.java6,1.0.0.r37x201106081552,"org.eclipse.wb.swing.java6",1330728911592
-stopped,bundle,org.eclipse.wb.swing.jsr296,1.0.0.r37x201106081552,"org.eclipse.wb.swing.jsr296",1330728911592
-stopped,bundle,org.eclipse.wb.swing,1.0.0.r37x201106081552,"org.eclipse.wb.swing",1330728911593
-stopped,bundle,org.eclipse.wb.core.ui,1.0.0.r37x201106081733,"org.eclipse.wb.core.ui",1330728911593
-stopped,bundle,org.eclipse.wb.layout.group,1.0.0.r37x201106081642,"org.eclipse.wb.layout.group",1330728911593
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.ie",1330728911593
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.webkit",1330728911594
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0",1330728911594
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.ie",1330728911594
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.webkit",1330728911594
-stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2",1330728911594
-stopped,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330728911595
-stopped,bundle,org.eclipse.wb.core.databinding.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.databinding.xml",1330728911595
-stopped,bundle,org.eclipse.wb.core.databinding,1.2.0.r37x201112290923,"org.eclipse.wb.core.databinding",1330728911595
-stopped,bundle,org.eclipse.wb.core.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.xml",1330728911595
-stopped,bundle,org.eclipse.wb.css,1.2.0.r37x201112290951,"org.eclipse.wb.css",1330728911596
-stopped,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330728911596
-stopped,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330728911597
-stopped,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330728911686
-stopped,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330728911687
-stopped,bundle,org.eclipse.wst.xsd.ui,1.2.404.v201105050216,"org.eclipse.wst.xsd.ui",1330728911687
-stopped,bundle,org.eclipse.wst.css.ui,1.0.601.v201201101544,"org.eclipse.wst.css.ui",1330728911687
-stopped,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330728911687
-stopped,bundle,org.eclipse.wst.common.ui,1.1.500.v200911190730,"org.eclipse.wst.common.ui",1330728911688
-stopped,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330728911688
-stopped,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330728911688
-stopped,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330728911710
-stopped,bundle,org.eclipse.mylyn.commons.team,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.team",1330728911710
-stopped,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330728911711
-stopped,bundle,org.eclipse.ui.navigator.resources,3.4.300.I20110421-1800,"org.eclipse.ui.navigator.resources",1330728911711
-stopped,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330728911711
-stopped,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330728911712
-stopped,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330728911712
-stopped,bundle,org.eclipse.mylyn.resources.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.resources.ui",1330728911712
-stopped,bundle,org.eclipse.mylyn.wikitext.tasks.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.tasks.ui",1330728911712
-stopped,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330728911713
-stopped,bundle,org.eclipse.mylyn.help.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.help.ui",1330728911713
-stopped,bundle,org.eclipse.mylyn.tasks.bugs,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.bugs",1330728911713
-stopped,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330728911714
-stopped,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330728911715
-stopped,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330728911716
-stopped,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330728911717
-stopped,bundle,org.eclipse.ui.externaltools,3.2.0.v20110506,"org.eclipse.ui.externaltools",1330728911717
-stopped,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330728911717
-stopped,bundle,org.eclipse.mylyn.wikitext.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.ui",1330728911717
-stopped,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330728911718
-stopped,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330728911718
-stopped,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330728911718
-stopped,bundle,org.eclipse.wst.common.snippets,1.2.100.v201103281740,"org.eclipse.wst.common.snippets",1330728911718
-stopped,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110505-0800,"org.eclipse.ui.workbench.texteditor",1330728911722
-stopped,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1330728911723
-stopped,bundle,org.eclipse.emf.edit.ui,2.7.0.v20110606-0949,"org.eclipse.emf.edit.ui",1330728911723
-stopped,bundle,org.eclipse.gef,3.7.0.v20110407-2050,"org.eclipse.gef",1330728911723
-stopped,bundle,org.eclipse.emf.common.ui,2.7.0.v20110606-0949,"org.eclipse.emf.common.ui",1330728911723
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767698767
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767713620
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767719580
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767745158
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767758308
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767760926
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767763420
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.copy",1330767764530
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.paste",1330767771595
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767772364
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767797054
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767879295
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767886361
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767952105
+activated,view,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.PackageExplorer",1330767955792
+activated,editor,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui.CompilationUnitEditor",1330767956136
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330767960460
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330767961350
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330767962506
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.edit.delete",1330767963866
+executed,command,org.eclipse.ui,3.7.0.I20110602-0100,"org.eclipse.ui.file.save",1330767972951
+activated,view,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console.ConsoleView",1330767979269
+started,bundle,org.eclipse.wst.sse.core,1.1.602.v201112071516,"org.eclipse.wst.sse.core",1330767986953
+started,bundle,org.eclipse.wst.xml.core,1.1.602.v201201091944,"org.eclipse.wst.xml.core",1330767987163
+started,bundle,org.eclipse.wst.common.uriresolver,1.1.401.v201004280700,"org.eclipse.wst.common.uriresolver",1330767988453
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767988653
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767990310
+executed,command,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core.deployToGoogle",1330767992609
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330767992770
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768003075
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768010341
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768036288
+deactivated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768038478
+activated,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768040336
+closed,workbench,org.eclipse.ui.workbench,3.7.0.I20110519-0100,"",1330768041046
+stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.0.20110607-2117,"org.eclipse.m2e.logback.configuration",1330768042086
+stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1330768042086
+stopped,bundle,org.eclipse.help.ui,3.5.100.v20110425,"org.eclipse.help.ui",1330768042086
+stopped,bundle,org.eclipse.help.webapp,3.6.0.v20110518,"org.eclipse.help.webapp",1330768042086
+stopped,bundle,org.eclipse.epp.mpc.ui,1.1.0.I20110525-0742,"org.eclipse.epp.mpc.ui",1330768042087
+stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1330768042087
+stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1330768042087
+stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1330768042087
+stopped,bundle,org.eclipse.help.base,3.6.0.v201106131736,"org.eclipse.help.base",1330768042087
+stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1330768042087
+stopped,bundle,com.google.appengine.eclipse.datatools,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.datatools",1330768042088
+stopped,bundle,com.google.appengine.eclipse.sdkbundle,1.6.3.v201202290255r37,"com.google.appengine.eclipse.sdkbundle",1330768042088
+stopped,bundle,com.google.gdt.eclipse.appengine.rpc,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1330768042091
+stopped,bundle,com.google.gdt.eclipse.gph.e36,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.e36",1330768042091
+stopped,bundle,com.google.gdt.eclipse.gph.hge,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.hge",1330768042091
+stopped,bundle,com.google.gdt.eclipse.gph.subclipse,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1330768042091
+stopped,bundle,com.google.gdt.eclipse.gph.subversive,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph.subversive",1330768042091
+stopped,bundle,com.google.gdt.eclipse.suite.ext,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite.ext",1330768042091
+stopped,bundle,com.google.gdt.eclipse.gph,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.gph",1330768042091
+stopped,bundle,com.google.gdt.eclipse.maven.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven.e37",1330768042091
+stopped,bundle,com.google.gdt.eclipse.maven,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.maven",1330768042092
+stopped,bundle,com.google.gdt.eclipse.suite,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.suite",1330768042092
+stopped,bundle,com.google.gdt.eclipse.appsmarketplace,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1330768042092
+stopped,bundle,com.google.appengine.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.appengine.eclipse.core",1330768042093
+stopped,bundle,com.google.gdt.eclipse.login,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.login",1330768042094
+stopped,bundle,com.google.gdt.eclipse.managedapis,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.managedapis",1330768042130
+stopped,bundle,com.google.gwt.eclipse.oophm,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.oophm",1330768042130
+stopped,bundle,com.google.gwt.eclipse.sdkbundle,2.4.0.v201202290255-rel-r37,"com.google.gwt.eclipse.sdkbundle",1330768042130
+stopped,bundle,com.google.gwt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gwt.eclipse.core",1330768042230
+stopped,bundle,com.google.gdt.eclipse.core,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.core",1330768042231
+stopped,bundle,com.google.gdt.eclipse.platform,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform",1330768042231
+stopped,bundle,com.google.gdt.eclipse.platform.e36,2.5.2.v201202290255-rel-r36,"com.google.gdt.eclipse.platform.e36",1330768042231
+stopped,bundle,com.google.gdt.eclipse.platform.e37,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.e37",1330768042231
+stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1330768042232
+stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1330768042232
+stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1330768042233
+stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1330768042233
+stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1330768042233
+stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1330768042233
+stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1330768042234
+stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1330768042234
+stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1330768042234
+stopped,bundle,org.eclipse.mylyn.ide.ant,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ant",1330768042234
+stopped,bundle,org.eclipse.ant.ui,3.5.100.v20110510,"org.eclipse.ant.ui",1330768042234
+stopped,bundle,org.eclipse.ant.launching,1.0.100.v20110506,"org.eclipse.ant.launching",1330768042235
+stopped,bundle,org.eclipse.compare.win32,1.0.200.I20110510-0800,"org.eclipse.compare.win32",1330768042235
+stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110502-1955,"org.eclipse.equinox.p2.ui.sdk",1330768042235
+stopped,bundle,org.eclipse.mylyn.java.tasks,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.tasks",1330768042236
+stopped,bundle,org.eclipse.mylyn.java.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.java.ui",1330768042236
+stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer.UiBinder",1330768042236
+stopped,bundle,com.google.gdt.eclipse.designer.gpe,2.5.0.r37x201201030222,"com.google.gdt.eclipse.designer.gpe",1330768042236
+stopped,bundle,com.google.gdt.eclipse.designer,2.5.0.r37x201112291029,"com.google.gdt.eclipse.designer",1330768042237
+stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110505-0800,"org.eclipse.jdt.junit",1330768042237
+stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1330768042237
+stopped,bundle,org.eclipse.jdt.debug.ui,3.6.0.v20110512,"org.eclipse.jdt.debug.ui",1330768042288
+stopped,bundle,com.google.gdt.eclipse.platform.shared,2.5.2.v201202290255-rel-r37,"com.google.gdt.eclipse.platform.shared",1330768042288
+stopped,bundle,org.eclipse.wb.swing.FormLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.FormLayout",1330768042288
+stopped,bundle,org.eclipse.wb.swing.MigLayout,1.0.0.r37x201106081552,"org.eclipse.wb.swing.MigLayout",1330768042288
+stopped,bundle,org.eclipse.wb.swing.databinding,1.0.0.r37x201106081552,"org.eclipse.wb.swing.databinding",1330768042289
+stopped,bundle,org.eclipse.wb.swing.java6,1.0.0.r37x201106081552,"org.eclipse.wb.swing.java6",1330768042289
+stopped,bundle,org.eclipse.wb.swing.jsr296,1.0.0.r37x201106081552,"org.eclipse.wb.swing.jsr296",1330768042289
+stopped,bundle,org.eclipse.wb.swing,1.0.0.r37x201106081552,"org.eclipse.wb.swing",1330768042289
+stopped,bundle,org.eclipse.wb.core.ui,1.0.0.r37x201106081733,"org.eclipse.wb.core.ui",1330768042289
+stopped,bundle,org.eclipse.wb.layout.group,1.0.0.r37x201106081642,"org.eclipse.wb.layout.group",1330768042290
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.ie",1330768042290
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0.webkit",1330768042290
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_0,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_0",1330768042290
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.ie,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.ie",1330768042290
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2.webkit,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2.webkit",1330768042292
+stopped,bundle,com.google.gdt.eclipse.designer.hosted.2_2,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted.2_2",1330768042292
+stopped,bundle,com.google.gdt.eclipse.designer.hosted,2.5.0.r37x201112291019,"com.google.gdt.eclipse.designer.hosted",1330768042293
+stopped,bundle,org.eclipse.wb.core.databinding.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.databinding.xml",1330768042293
+stopped,bundle,org.eclipse.wb.core.databinding,1.2.0.r37x201112290923,"org.eclipse.wb.core.databinding",1330768042293
+stopped,bundle,org.eclipse.wb.core.xml,1.2.0.r37x201112291009,"org.eclipse.wb.core.xml",1330768042293
+stopped,bundle,org.eclipse.wb.css,1.2.0.r37x201112290951,"org.eclipse.wb.css",1330768042293
+stopped,bundle,org.eclipse.wb.os.win32,1.2.0.r37x201112290923,"org.eclipse.wb.os.win32",1330768042293
+stopped,bundle,org.eclipse.wb.core,1.2.0.r37x201112290923,"org.eclipse.wb.core",1330768042294
+stopped,bundle,org.eclipse.jdt.ui,3.7.0.v20110531-1200,"org.eclipse.jdt.ui",1330768042367
+stopped,bundle,org.eclipse.wst.dtd.ui,1.0.600.v201103171359,"org.eclipse.wst.dtd.ui",1330768042367
+stopped,bundle,org.eclipse.wst.xsd.ui,1.2.404.v201105050216,"org.eclipse.wst.xsd.ui",1330768042368
+stopped,bundle,org.eclipse.wst.css.ui,1.0.601.v201201101544,"org.eclipse.wst.css.ui",1330768042368
+stopped,bundle,org.eclipse.wst.xml.ui,1.1.202.v201112071516,"org.eclipse.wst.xml.ui",1330768042368
+stopped,bundle,org.eclipse.wst.common.ui,1.1.500.v200911190730,"org.eclipse.wst.common.ui",1330768042368
+stopped,bundle,org.eclipse.wst.jsdt.ui,1.1.102.v201201131900,"org.eclipse.wst.jsdt.ui",1330768042369
+stopped,bundle,org.eclipse.wst.sse.ui,1.3.2.v201201041522,"org.eclipse.wst.sse.ui",1330768042369
+stopped,bundle,org.eclipse.search,3.7.0.v20110505-0800,"org.eclipse.search",1330768042511
+stopped,bundle,org.eclipse.mylyn.commons.team,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.team",1330768042511
+stopped,bundle,org.eclipse.mylyn.team.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.team.ui",1330768042512
+stopped,bundle,org.eclipse.ui.navigator.resources,3.4.300.I20110421-1800,"org.eclipse.ui.navigator.resources",1330768042512
+stopped,bundle,org.eclipse.ltk.ui.refactoring,3.6.0.v20110505-0800,"org.eclipse.ltk.ui.refactoring",1330768042512
+stopped,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1330768042515
+stopped,bundle,org.eclipse.mylyn.ide.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.ide.ui",1330768042515
+stopped,bundle,org.eclipse.mylyn.resources.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.resources.ui",1330768042515
+stopped,bundle,org.eclipse.mylyn.wikitext.tasks.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.tasks.ui",1330768042515
+stopped,bundle,org.eclipse.mylyn.context.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.context.ui",1330768042516
+stopped,bundle,org.eclipse.mylyn.help.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.help.ui",1330768042516
+stopped,bundle,org.eclipse.mylyn.tasks.bugs,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.bugs",1330768042516
+stopped,bundle,org.eclipse.mylyn.tasks.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.tasks.ui",1330768042517
+stopped,bundle,org.eclipse.team.cvs.ui,3.3.400.I20110510-0800,"org.eclipse.team.cvs.ui",1330768042517
+stopped,bundle,org.eclipse.team.ui,3.6.100.I20110525-0800,"org.eclipse.team.ui",1330768042518
+stopped,bundle,org.eclipse.compare,3.5.200.I20110525-0800,"org.eclipse.compare",1330768042518
+stopped,bundle,org.eclipse.ui.externaltools,3.2.0.v20110506,"org.eclipse.ui.externaltools",1330768042518
+stopped,bundle,org.eclipse.debug.ui,3.7.0.v20110518,"org.eclipse.debug.ui",1330768042532
+stopped,bundle,org.eclipse.mylyn.wikitext.ui,1.5.0.v20110608-1400,"org.eclipse.mylyn.wikitext.ui",1330768042532
+stopped,bundle,org.eclipse.ui.console,3.5.100.v20110511,"org.eclipse.ui.console",1330768042533
+stopped,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1330768042533
+stopped,bundle,org.eclipse.ui.editors,3.7.0.v20110517-0800,"org.eclipse.ui.editors",1330768042533
+stopped,bundle,org.eclipse.wst.common.snippets,1.2.100.v201103281740,"org.eclipse.wst.common.snippets",1330768042534
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1334072656.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1334072656.index
new file mode 100644 (file)
index 0000000..34749bc
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1334072656.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1416700591.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1416700591.index
new file mode 100644 (file)
index 0000000..b476849
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1416700591.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1657330681.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1657330681.index
new file mode 100644 (file)
index 0000000..b629060
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1657330681.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1674092712.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1674092712.index
new file mode 100644 (file)
index 0000000..a82b219
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1674092712.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1789169078.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1789169078.index
new file mode 100644 (file)
index 0000000..f1db472
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1789169078.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1793416353.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1793416353.index
new file mode 100644 (file)
index 0000000..2f53573
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1793416353.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1841838403.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1841838403.index
new file mode 100644 (file)
index 0000000..337b331
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1841838403.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1936741151.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1936741151.index
new file mode 100644 (file)
index 0000000..7b39bcb
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1936741151.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/1950419709.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1950419709.index
new file mode 100644 (file)
index 0000000..2e6001f
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/1950419709.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/2316769267.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2316769267.index
new file mode 100644 (file)
index 0000000..bcf51ef
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2316769267.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/2594609853.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2594609853.index
new file mode 100644 (file)
index 0000000..4bafac0
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2594609853.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/2877109961.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2877109961.index
new file mode 100644 (file)
index 0000000..67174fb
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2877109961.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/2934376851.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2934376851.index
new file mode 100644 (file)
index 0000000..6db6616
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2934376851.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/2995743601.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2995743601.index
new file mode 100644 (file)
index 0000000..76c158b
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/2995743601.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3000053649.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3000053649.index
new file mode 100644 (file)
index 0000000..5fe1ed0
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3000053649.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/300720839.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/300720839.index
new file mode 100644 (file)
index 0000000..a94b7e6
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/300720839.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3121891798.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3121891798.index
new file mode 100644 (file)
index 0000000..c9b0baf
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3121891798.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3196967823.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3196967823.index
new file mode 100644 (file)
index 0000000..8dc5ab8
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3196967823.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3270002986.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3270002986.index
new file mode 100644 (file)
index 0000000..0cf80d8
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3270002986.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3277441100.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3277441100.index
new file mode 100644 (file)
index 0000000..306d707
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3277441100.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3326703442.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3326703442.index
new file mode 100644 (file)
index 0000000..36c958e
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3326703442.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3439653972.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3439653972.index
new file mode 100644 (file)
index 0000000..b3f4b27
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3439653972.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3441353340.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3441353340.index
new file mode 100644 (file)
index 0000000..698b930
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3441353340.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3585733931.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3585733931.index
new file mode 100644 (file)
index 0000000..3dfc59a
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3585733931.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3647253411.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3647253411.index
new file mode 100644 (file)
index 0000000..c455de8
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3647253411.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/36897195.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/36897195.index
new file mode 100644 (file)
index 0000000..1fcf204
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/36897195.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/3730526690.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3730526690.index
new file mode 100644 (file)
index 0000000..b27a189
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/3730526690.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/4053157377.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4053157377.index
new file mode 100644 (file)
index 0000000..dce54fa
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4053157377.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/4065156612.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4065156612.index
new file mode 100644 (file)
index 0000000..98a900c
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4065156612.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/4125496727.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4125496727.index
new file mode 100644 (file)
index 0000000..22595dc
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4125496727.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/4251467834.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4251467834.index
new file mode 100644 (file)
index 0000000..8e1d141
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/4251467834.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/454643000.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/454643000.index
new file mode 100644 (file)
index 0000000..aa7e2f4
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/454643000.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/610633013.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/610633013.index
new file mode 100644 (file)
index 0000000..f55a4ba
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/610633013.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/954440477.index b/workspace/.metadata/.plugins/org.eclipse.jdt.core/954440477.index
new file mode 100644 (file)
index 0000000..f9a9c37
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/954440477.index differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
new file mode 100644 (file)
index 0000000..99156b8
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/workspace/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
new file mode 100644 (file)
index 0000000..8586397
--- /dev/null
@@ -0,0 +1 @@
+java
\ No newline at end of file
index 593f470..5496c20 100644 (file)
Binary files a/workspace/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
new file mode 100644 (file)
index 0000000..d3d617e
--- /dev/null
@@ -0,0 +1,35 @@
+INDEX VERSION 1.126+C:\yuji\prog\Android\workspaces\TrainDelayBot\source\workspace\.metadata\.plugins\org.eclipse.jdt.core
+1936741151.index
+300720839.index
+3439653972.index
+3647253411.index
+3196967823.index
+3000053649.index
+2995743601.index
+1334072656.index
+4053157377.index
+1657330681.index
+3270002986.index
+1416700591.index
+4125496727.index
+2934376851.index
+954440477.index
+3326703442.index
+3441353340.index
+454643000.index
+3585733931.index
+1950419709.index
+610633013.index
+2877109961.index
+2316769267.index
+1841838403.index
+3121891798.index
+1674092712.index
+3730526690.index
+4065156612.index
+1793416353.index
+3277441100.index
+36897195.index
+4251467834.index
+2594609853.index
+1789169078.index
index 3bcf5c0..7e0375d 100644 (file)
Binary files a/workspace/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat and b/workspace/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml b/workspace/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml
new file mode 100644 (file)
index 0000000..7bf32b8
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<section name="Workbench">\r
+       <section name="org.eclipse.jdt.internal.debug.ui.ExpressionInformationControlCreator$ExpressionInformationControl">\r
+               <item value="500" key="SashWeightDetails"/>\r
+               <item value="500" key="SashWeightTree"/>\r
+               <item value="230" key="HEIGHT"/>\r
+               <item value="1208" key="WIDTH"/>\r
+       </section>\r
+</section>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/workspace/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
new file mode 100644 (file)
index 0000000..6aceb9d
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<dirs>\r
+<entry loc="C:\Program Files\Java\jre6" stamp="1308232866937"/>\r
+</dirs>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/workspace/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
new file mode 100644 (file)
index 0000000..cf8a85f
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<libraryInfos>\r
+<libraryInfo home="C:\Program Files\Java\jre6" version="1.6.0_26">\r
+<bootpath>\r
+<entry path="C:\Program Files\Java\jre6\lib\resources.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\rt.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\sunrsasign.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\jsse.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\jce.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\charsets.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\lib\modules\jdk.boot.jar"/>\r
+<entry path="C:\Program Files\Java\jre6\classes"/>\r
+</bootpath>\r
+<extensionDirs>\r
+<entry path="C:\Program Files\Java\jre6\lib\ext"/>\r
+<entry path="C:\Windows\Sun\Java\lib\ext"/>\r
+</extensionDirs>\r
+<endorsedDirs>\r
+<entry path="C:\Program Files\Java\jre6\lib\endorsed"/>\r
+</endorsedDirs>\r
+</libraryInfo>\r
+</libraryInfos>\r
index 8c365b7..01a82a0 100644 (file)
@@ -1,2 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<qualifiedTypeNameHistroy/>\r
+<qualifiedTypeNameHistroy>\r
+<fullyQualifiedTypeName name="twitter4j.QueryResult"/>\r
+<fullyQualifiedTypeName name="twitter4j.Query"/>\r
+<fullyQualifiedTypeName name="java.util.List"/>\r
+<fullyQualifiedTypeName name="twitter4j.conf.Configuration"/>\r
+<fullyQualifiedTypeName name="twitter4j.conf.ConfigurationBuilder"/>\r
+<fullyQualifiedTypeName name="com.yuji.tdb.common.CommonUtil"/>\r
+<fullyQualifiedTypeName name="java.util.Calendar"/>\r
+<fullyQualifiedTypeName name="org.datanucleus.sco.simple.Date"/>\r
+<fullyQualifiedTypeName name="java.util.Date"/>\r
+<fullyQualifiedTypeName name="java.util.ArrayList"/>\r
+<fullyQualifiedTypeName name="twitter4j.Status"/>\r
+</qualifiedTypeNameHistroy>\r
index 6396f12..b3beffa 100644 (file)
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <section name="Workbench">\r
+       <section name="OptionalMessageDialog.hide.">\r
+               <item value="true" key="org.eclipse.jdt.ui.typecomment.deprecated"/>\r
+       </section>\r
        <section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">\r
                <item value="true" key="group_libraries"/>\r
                <item value="false" key="linkWithEditor"/>\r
@@ -7,4 +10,23 @@
                <item value="1" key="rootMode"/>\r
                <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;&quot;&gt;&#x0D;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0D;&#x0A;&lt;xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;com.google.gdt.eclipse.managedapis.ui.ManagedApiContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.m2e.MavenModuleFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;/customFilters&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>\r
        </section>\r
+       <section name="completion_proposal_size">\r
+       </section>\r
+       <section name="JavaElementSearchActions">\r
+       </section>\r
+       <section name="BuildPathsPropertyPage">\r
+               <item value="2" key="pageIndex"/>\r
+       </section>\r
+       <section name="RefactoringWizard.preview">\r
+               <item value="400" key="height"/>\r
+               <item value="600" key="width"/>\r
+       </section>\r
+       <section name="org.eclipse.ltk.ui.refactoring.settings">\r
+               <item value="*" key="patterns"/>\r
+               <item value="false" key="updateQualifiedNames"/>\r
+               <item value="false" key="renameSubpackages"/>\r
+               <item value="false" key="updateTextualMatches"/>\r
+       </section>\r
+       <section name="quick_assist_proposal_size">\r
+       </section>\r
 </section>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.history b/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.history
new file mode 100644 (file)
index 0000000..7950cf0
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<session version="1.0">\r
+<refactoring comment="Copy 0 elements to &apos;lib&apos;&#x0D;&#x0A;- Destination element: &apos;lib&apos;" description="Copy compilation units" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1330743352764" target="/TrainDelayBot/war/WEB-INF/lib" units="0" version="1.0"/>\r
+</session>
\ No newline at end of file
diff --git a/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.index b/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/3/9/refactorings.index
new file mode 100644 (file)
index 0000000..02f38ed
--- /dev/null
@@ -0,0 +1 @@
+1330743352764  Copy compilation units
diff --git a/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.history b/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.history
new file mode 100644 (file)
index 0000000..4e7b231
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;TrainDelayBot&apos;&#x0D;&#x0A;- Original project: &apos;TrainDelayBot&apos;&#x0D;&#x0A;- Original element: &apos;lib&apos;" description="Delete element" element1="lib" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1330743374742" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Rename package &apos;com.yuji.tdb.util&apos; to &apos;com.yuji.tdb.common&apos;&#x0D;&#x0A;- Original project: &apos;TrainDelayBot&apos;&#x0D;&#x0A;- Original element: &apos;TrainDelayBot/src/com.yuji.tdb.util&apos;&#x0D;&#x0A;- Renamed element: &apos;TrainDelayBot/src/com.yuji.tdb.common&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename package &apos;com.yuji.tdb.util&apos;" flags="589830" hierarchical="false" id="org.eclipse.jdt.ui.rename.package" input="/src&lt;com.yuji.tdb.util" name="com.yuji.tdb.common" qualified="false" references="true" stamp="1330751572941" textual="false" version="1.0"/>\r
+</session>
\ No newline at end of file
diff --git a/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.index b/workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TrainDelayBot/2012/3/9/refactorings.index
new file mode 100644 (file)
index 0000000..a96dc95
--- /dev/null
@@ -0,0 +1,2 @@
+1330743374742  Delete element
+1330751572941  Rename package 'com.yuji.tdb.util'
diff --git a/workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
new file mode 100644 (file)
index 0000000..ed857b0
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<section name="Workbench">\r
+       <section name="RefactoringWizard.preview">\r
+               <item value="400" key="height"/>\r
+               <item value="600" key="width"/>\r
+       </section>\r
+</section>\r
index e69de29..d48477b 100644 (file)
@@ -0,0 +1,3 @@
+2012-03-03 10:29:26,216 [main] INFO  org.mortbay.log - Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog\r
+2012-03-03 16:23:08,834 [org.eclipse.jdt.internal.ui.text.JavaReconciler] INFO  org.mortbay.log - Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog\r
+2012-03-03 18:07:26,156 [main] INFO  org.mortbay.log - Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
new file mode 100644 (file)
index 0000000..caa7447
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<section name="Workbench">\r
+       <section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds">\r
+               <item value="407" key="DIALOG_WIDTH"/>\r
+               <item value="87" key="DIALOG_Y_ORIGIN"/>\r
+               <item value="410" key="DIALOG_HEIGHT"/>\r
+               <item value="363" key="DIALOG_X_ORIGIN"/>\r
+               <item value="1|メイリオ|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|メイリオ" key="DIALOG_FONT_NAME"/>\r
+       </section>\r
+       <section name="org.eclipse.ui.texteditor.FindReplaceDialog">\r
+               <item value="true" key="wrap"/>\r
+               <item value="false" key="isRegEx"/>\r
+               <item value="false" key="casesensitive"/>\r
+               <item value="false" key="incremental"/>\r
+               <item value="false" key="wholeword"/>\r
+               <item value="" key="selection"/>\r
+               <list key="findhistory">\r
+                       <item value="localhost"/>\r
+               </list>\r
+               <list key="replacehistory">\r
+               </list>\r
+       </section>\r
+</section>\r
index 1ef2b05..3184440 100644 (file)
@@ -1,3 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <section name="Workbench">\r
+       <section name="ShowViewDialog">\r
+               <item value="436" key="DIALOG_WIDTH"/>\r
+               <item value="56" key="DIALOG_Y_ORIGIN"/>\r
+               <item value="456" key="DIALOG_HEIGHT"/>\r
+               <item value="348" key="DIALOG_X_ORIGIN"/>\r
+               <item value="1|メイリオ|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|メイリオ" key="DIALOG_FONT_NAME"/>\r
+       </section>\r
 </section>\r
index 4472451..9882ca2 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<workbench progressCount="26" version="2.0">\r
+<workbench progressCount="36" version="2.0">\r
 <workbenchAdvisor/>\r
 <window height="721" width="1132" x="72" y="29">\r
 <fastViewData fastViewLocation="1024"/>\r
 <coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="135" y="22"/>\r
 <coolItem id="org.eclipse.jdt.ui.JavaElementCreationActionSet" itemType="typeToolBarContribution" x="78" y="22"/>\r
 <coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="101" y="22"/>\r
+<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="130" y="22"/>\r
 <coolItem id="org.eclipse.wst.xml.ui.perspective.NewFileToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>\r
 <coolItem id="org.eclipse.wst.xml.ui.design.DesignToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>\r
 <coolItem id="group.nav" itemType="typeGroupMarker"/>\r
 <coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="198" y="22"/>\r
 <coolItem id="group.editor" itemType="typeGroupMarker"/>\r
+<coolItem id="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart" itemType="typeToolBarContribution" x="-1" y="-1"/>\r
+<coolItem id="org.eclipse.jdt.ui.CompilationUnitEditor" itemType="typeToolBarContribution" x="-1" y="-1"/>\r
 <coolItem id="group.help" itemType="typeGroupMarker"/>\r
 <coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>\r
 </coolbarLayout>\r
 <editorArea activeWorkbook="DefaultEditorWorkbook">\r
 <info part="DefaultEditorWorkbook">\r
 <folder appearance="1" expanded="2">\r
-<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>\r
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">\r
+<part id="0"/>\r
+<part id="1"/>\r
+<part id="2"/>\r
+<part id="3"/>\r
+<part id="4"/>\r
+<part id="5"/>\r
+</presentation>\r
 </folder>\r
 </info>\r
 </editorArea>\r
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TrainDelayBotServlet.java" partName="TrainDelayBotServlet.java" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java" title="TrainDelayBotServlet.java" tooltip="TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java"/>\r
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="1455" selectionTopPixel="1062"/>\r
+</editor>\r
+<editor id="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart" name="cron.xml" partName="cron.xml" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/war/WEB-INF/cron.xml" title="cron.xml" tooltip="TrainDelayBot/war/WEB-INF/cron.xml" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/war/WEB-INF/cron.xml"/>\r
+</editor>\r
+<editor id="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart" name="appengine-web.xml" partName="appengine-web.xml" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/war/WEB-INF/appengine-web.xml" title="appengine-web.xml" tooltip="TrainDelayBot/war/WEB-INF/appengine-web.xml" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/war/WEB-INF/appengine-web.xml"/>\r
+</editor>\r
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CommonUtil.java" partName="CommonUtil.java" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java" title="CommonUtil.java" tooltip="TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java"/>\r
+<editorState selectionHorizontalPixel="0" selectionLength="13" selectionOffset="130" selectionTopPixel="47"/>\r
+</editor>\r
+<editor activePart="true" focus="true" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Main.java" partName="Main.java" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/src/com/yuji/tdb/main/Main.java" title="Main.java" tooltip="TrainDelayBot/src/com/yuji/tdb/main/Main.java" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/src/com/yuji/tdb/main/Main.java"/>\r
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="837" selectionTopPixel="205"/>\r
+</editor>\r
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TwitterUtil.java" partName="TwitterUtil.java" path="C:/yuji/prog/Android/workspaces/TrainDelayBot/source/workspace/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java" title="TwitterUtil.java" tooltip="TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java" workbook="DefaultEditorWorkbook">\r
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java"/>\r
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="2367" selectionTopPixel="1008"/>\r
+</editor>\r
 </editors>\r
 <views>\r
+<view id="org.eclipse.debug.ui.DebugView" partName="Debug">\r
+<viewState/>\r
+</view>\r
 <view id="org.eclipse.ui.views.ProblemView" partName="Problems">\r
 <viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">\r
+<expanded>\r
+<category IMemento.internal.id="Warnings (1 item)"/>\r
+<category IMemento.internal.id="Warnings"/>\r
+<category IMemento.internal.id="Errors"/>\r
+</expanded>\r
 <columnWidths org.eclipse.ui.ide.locationField="180" org.eclipse.ui.ide.markerType="180" org.eclipse.ui.ide.pathField="240" org.eclipse.ui.ide.resourceField="180" org.eclipse.ui.ide.severityAndDescriptionField="600"/>\r
 <visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>\r
 <visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>\r
@@ -43,6 +83,9 @@
 <visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>\r
 </viewState>\r
 </view>\r
+<view id="org.eclipse.ui.console.ConsoleView" partName="Console">\r
+<viewState/>\r
+</view>\r
 <view id="org.eclipse.jdt.ui.PackageExplorer" partName="Package Explorer">\r
 <viewState group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="">\r
 <customFilters userDefinedPatternsEnabled="false">\r
 <filteredTreeFindHistory/>\r
 </viewState>\r
 </view>\r
+<view id="org.eclipse.debug.ui.BreakpointView" partName="Breakpoints">\r
+<viewState/>\r
+</view>\r
+<view id="org.eclipse.debug.ui.VariableView" partName="Variables">\r
+<viewState/>\r
+</view>\r
+<view id="org.eclipse.ui.views.TaskList" partName="Tasks"/>\r
 <view id="org.eclipse.ui.views.ContentOutline" partName="Outline">\r
 <viewState/>\r
 </view>\r
 <view id="org.eclipse.jdt.ui.SourceView" partName="Declaration"/>\r
-<view id="org.eclipse.jdt.ui.JavadocView" partName="Javadoc"/>\r
+<view id="com.google.gwt.eclipse.DevModeView" partName="Development Mode"/>\r
+<view id="org.eclipse.jdt.ui.JavadocView" partName="Javadoc">\r
+<viewState/>\r
+</view>\r
 </views>\r
-<perspectives activePart="org.eclipse.jdt.ui.PackageExplorer" activePerspective="org.eclipse.jdt.ui.JavaPerspective">\r
+<perspectives activePart="org.eclipse.ui.console.ConsoleView" activePerspective="org.eclipse.jdt.ui.JavaPerspective">\r
 <perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">\r
 <descriptor class="org.eclipse.jdt.internal.ui.JavaPerspectiveFactory" id="org.eclipse.jdt.ui.JavaPerspective" label="Java"/>\r
 <alwaysOnActionSet id="org.eclipse.mylyn.context.ui.actionSet"/>\r
 <alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>\r
 <alwaysOnActionSet id="org.eclipse.jdt.junit.JUnitActionSet"/>\r
 <alwaysOnActionSet id="com.google.gdt.eclipse.core.actionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.debug.ui.debugActionSet"/>\r
 <show_view_action id="org.eclipse.jdt.ui.PackageExplorer"/>\r
 <show_view_action id="org.eclipse.jdt.ui.TypeHierarchy"/>\r
 <show_view_action id="org.eclipse.jdt.ui.SourceView"/>\r
 <new_wizard_action id="org.eclipse.ui.editors.wizards.UntitledTextFileWizard"/>\r
 <new_wizard_action id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard"/>\r
 <new_wizard_action id="org.eclipse.mylyn.tasks.ui.wizards.new.repository.task"/>\r
+<new_wizard_action id="com.google.gdt.eclipse.suite.wizards.newProjectWizard"/>\r
+<new_wizard_action id="com.google.gwt.eclipse.core.newModuleWizard"/>\r
+<new_wizard_action id="com.google.gwt.eclipse.core.newHostPageWizard"/>\r
+<new_wizard_action id="com.google.gwt.eclipse.core.newEntryPointWizard"/>\r
+<new_wizard_action id="com.google.gwt.eclipse.core.newClientBundleWizard"/>\r
+<new_wizard_action id="com.google.gwt.eclipse.core.newUiBinderWizard"/>\r
 <perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>\r
 <perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>\r
 <hide_toolbar_item_id id="org.eclipse.jdt.ui.actions.OpenProjectWizard"/>\r
 <view id="org.eclipse.ui.views.ProblemView"/>\r
 <view id="org.eclipse.jdt.ui.JavadocView"/>\r
 <view id="org.eclipse.jdt.ui.SourceView"/>\r
+<view id="org.eclipse.ui.console.ConsoleView"/>\r
+<view id="org.eclipse.debug.ui.DebugView"/>\r
 <view id="org.eclipse.ui.views.ContentOutline"/>\r
 <view id="org.eclipse.mylyn.tasks.ui.views.tasks"/>\r
 <fastViewBars/>\r
 </info>\r
 <info part="org.eclipse.ui.editorss" ratio="0.25" ratioLeft="250" ratioRight="750" relationship="2" relative="left"/>\r
 <info folder="true" part="bottom" ratio="0.7496136" ratioLeft="485" ratioRight="162" relationship="4" relative="org.eclipse.ui.editorss">\r
-<folder activePageID="org.eclipse.ui.views.ProblemView" appearance="2" expanded="2">\r
+<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">\r
 <page content="org.eclipse.ui.views.ProblemView" label="Problems"/>\r
 <page content="org.eclipse.jdt.ui.JavadocView" label="Javadoc"/>\r
 <page content="org.eclipse.jdt.ui.SourceView" label="Declaration"/>\r
+<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>\r
+<page content="org.eclipse.debug.ui.DebugView" label="Debug"/>\r
 <page content="org.eclipse.search.ui.views.SearchView" label="LabelNotFound"/>\r
-<page content="org.eclipse.ui.console.ConsoleView" label="LabelNotFound"/>\r
 <page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>\r
 <page content="org.eclipse.ui.views.ProgressView" label="LabelNotFound"/>\r
 <presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">\r
 <part id="0"/>\r
 <part id="1"/>\r
 <part id="2"/>\r
+<part id="3"/>\r
+<part id="4"/>\r
 </presentation>\r
 </folder>\r
 </info>\r
 </mainWindow>\r
 </layout>\r
 </perspective>\r
+<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">\r
+<descriptor class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory" id="org.eclipse.debug.ui.DebugPerspective" label="Debug"/>\r
+<alwaysOnActionSet id="org.eclipse.mylyn.context.ui.actionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.mylyn.doc.actionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.mylyn.tasks.ui.navigation"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>\r
+<alwaysOnActionSet id="org.eclipse.wb.core.ui.actionset"/>\r
+<alwaysOnActionSet id="com.google.gdt.eclipse.core.actionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>\r
+<alwaysOnActionSet id="org.eclipse.debug.ui.debugActionSet"/>\r
+<show_view_action id="org.eclipse.debug.ui.DebugView"/>\r
+<show_view_action id="org.eclipse.debug.ui.VariableView"/>\r
+<show_view_action id="org.eclipse.debug.ui.BreakpointView"/>\r
+<show_view_action id="org.eclipse.debug.ui.ExpressionView"/>\r
+<show_view_action id="org.eclipse.ui.views.ContentOutline"/>\r
+<show_view_action id="org.eclipse.ui.console.ConsoleView"/>\r
+<show_view_action id="org.eclipse.ui.views.TaskList"/>\r
+<show_view_action id="org.eclipse.ant.ui.views.AntView"/>\r
+<show_view_action id="org.eclipse.pde.runtime.LogView"/>\r
+<show_view_action id="org.eclipse.jdt.debug.ui.DisplayView"/>\r
+<perspective_action id="org.eclipse.jdt.ui.JavaPerspective"/>\r
+<perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>\r
+<perspective_action id="org.eclipse.wst.jsdt.ui.JavaPerspective"/>\r
+<perspective_action id="org.eclipse.wst.xml.ui.perspective"/>\r
+<hide_toolbar_item_id id="org.eclipse.jdt.ui.actions.OpenProjectWizard"/>\r
+<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>\r
+<view id="org.eclipse.ui.console.ConsoleView"/>\r
+<view id="org.eclipse.ui.views.TaskList"/>\r
+<view id="com.google.gwt.eclipse.DevModeView"/>\r
+<view id="org.eclipse.debug.ui.DebugView"/>\r
+<view id="org.eclipse.debug.ui.VariableView"/>\r
+<view id="org.eclipse.debug.ui.BreakpointView"/>\r
+<view id="org.eclipse.ui.views.ContentOutline"/>\r
+<fastViewBars/>\r
+<layout>&#x0A;<mainWindow>&#x0A;<info folder="true" part="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.debug.ui.DebugView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.debug.ui.DebugView" label="Debug"/>\r
+<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>\r
+<page content="org.eclipse.jdt.ui.PackageExplorer" label="LabelNotFound"/>\r
+<page content="org.eclipse.jdt.ui.TypeHierarchy" label="LabelNotFound"/>\r
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">&#x0A;<part id="0"/>\r
+</presentation>\r
+</folder>\r
+</info>\r
+<info folder="true" part="stickyFolderRight" ratio="0.75" ratioLeft="831" ratioRight="277" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder appearance="2" expanded="2">&#x0A;<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>\r
+<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>\r
+<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>\r
+</folder>\r
+</info>\r
+<info folder="true" part="org.eclipse.debug.internal.ui.ConsoleFolderView" ratio="0.74916387" ratioLeft="448" ratioRight="150" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>\r
+<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>\r
+<page content="com.google.gwt.eclipse.DevModeView" label="Development Mode"/>\r
+<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>\r
+<page content="org.eclipse.ui.views.PropertySheet" label="LabelNotFound"/>\r
+<page content="org.eclipse.jdt.debug.ui.DisplayView" label="LabelNotFound"/>\r
+<page content="org.eclipse.search.SearchResultView" label="LabelNotFound"/>\r
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">&#x0A;<part id="0"/>\r
+<part id="1"/>\r
+<part id="2"/>\r
+</presentation>\r
+</folder>\r
+</info>\r
+<info part="org.eclipse.ui.editorss" ratio="0.4486607" ratioLeft="201" ratioRight="247" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView"/>\r
+<info folder="true" part="org.eclipse.debug.internal.ui.OutlineFolderView" ratio="0.75" ratioLeft="831" ratioRight="277" relationship="2" relative="org.eclipse.ui.editorss">&#x0A;<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>\r
+<page content="org.eclipse.ant.ui.views.AntView" label="LabelNotFound"/>\r
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">&#x0A;<part id="0"/>\r
+</presentation>\r
+</folder>\r
+</info>\r
+<info folder="true" part="org.eclipse.debug.internal.ui.ToolsFolderView" ratio="0.5" ratioLeft="554" ratioRight="554" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">&#x0A;<folder activePageID="org.eclipse.debug.ui.VariableView" appearance="2" expanded="2">&#x0A;<page content="org.eclipse.debug.ui.VariableView" label="Variables"/>\r
+<page content="org.eclipse.debug.ui.BreakpointView" label="Breakpoints"/>\r
+<page content="org.eclipse.debug.ui.ExpressionView" label="LabelNotFound"/>\r
+<page content="org.eclipse.debug.ui.RegisterView" label="LabelNotFound"/>\r
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">&#x0A;<part id="0"/>\r
+<part id="1"/>\r
+</presentation>\r
+</folder>\r
+</info>\r
+</mainWindow>\r
+</layout>\r
+</perspective>\r
 </perspectives>\r
 <workingSets/>\r
-<navigationHistory/>\r
+<navigationHistory>\r
+<editors>\r
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java"/>\r
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/TrainDelayBot/src/com/yuji/tdb/main/Main.java"/>\r
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java"/>\r
+</editors>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="0" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="801" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="404" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="989" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="992" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="445" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="439" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="0" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="3727" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="0" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="815" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="628" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="786" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="746" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="583" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="482" y="11"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="803" y="11"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="1523" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="846" y="66"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="1479" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="604" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="1540" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="835" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="3727" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="835" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="439" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="454" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="521" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="592" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="639" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="711" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="781" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="839" y="0"/>\r
+</item>\r
+<item historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="961" y="0"/>\r
+</item>\r
+<item historyLabel="TrainDelayBotServlet.java" index="0">\r
+<position info="not_deleted" x="1455" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="835" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="2418" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="2104" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="2368" y="0"/>\r
+</item>\r
+<item historyLabel="TwitterUtil.java" index="2">\r
+<position info="not_deleted" x="2367" y="0"/>\r
+</item>\r
+<item active="true" historyLabel="Main.java" index="1">\r
+<position info="not_deleted" x="961" y="0"/>\r
+</item>\r
+</navigationHistory>\r
 <input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>\r
 </page>\r
 <workbenchWindowAdvisor/>\r
 </trimArea>\r
 </trimLayout>\r
 </window>\r
-<mruList/>\r
+<mruList>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TwitterUtil.java" tooltip="TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java">\r
+<persistable path="/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java"/>\r
+</file>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Main.java" tooltip="TrainDelayBot/src/com/yuji/tdb/main/Main.java">\r
+<persistable path="/TrainDelayBot/src/com/yuji/tdb/main/Main.java"/>\r
+</file>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="CommonUtil.java" tooltip="TrainDelayBot/src/com/yuji/tdb/util/CommonUtil.java">\r
+<persistable path="/TrainDelayBot/src/com/yuji/tdb/util/CommonUtil.java"/>\r
+</file>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart" name="appengine-web.xml" tooltip="TrainDelayBot/war/WEB-INF/appengine-web.xml">\r
+<persistable path="/TrainDelayBot/war/WEB-INF/appengine-web.xml"/>\r
+</file>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart" name="cron.xml" tooltip="TrainDelayBot/war/WEB-INF/cron.xml">\r
+<persistable path="/TrainDelayBot/war/WEB-INF/cron.xml"/>\r
+</file>\r
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="TrainDelayBotServlet.java" tooltip="TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java">\r
+<persistable path="/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java"/>\r
+</file>\r
+</mruList>\r
 </workbench>
\ No newline at end of file
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml b/workspace/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml
new file mode 100644 (file)
index 0000000..6574033
--- /dev/null
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><cache/>
\ No newline at end of file
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat b/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat
new file mode 100644 (file)
index 0000000..3f8e74c
Binary files /dev/null and b/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat differ
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml b/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml
new file mode 100644 (file)
index 0000000..6cd9562
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<typeInfoHistroy/>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml b/workspace/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644 (file)
index 0000000..8c365b7
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<qualifiedTypeNameHistroy/>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml b/workspace/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml
new file mode 100644 (file)
index 0000000..e153bf9
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<section name="Workbench">\r
+       <section name="contentassistsize">\r
+       </section>\r
+</section>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml b/workspace/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml
new file mode 100644 (file)
index 0000000..ef0de5d
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">\r
+  <nextCatalog catalog="user_catalog.xml" id="user_catalog"/>\r
+  <nextCatalog catalog="system_catalog.xml" id="system_catalog"/>\r
+</catalog>\r
diff --git a/workspace/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml b/workspace/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml
new file mode 100644 (file)
index 0000000..2fbd17b
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">\r
+  <system systemId="http://www.w3.org/2001/xml.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.xsd_2.7.1.v20120130-0943.jar!/cache/www.w3.org/2001/xml.xsd"/>\r
+  <uri name="http://www.w3.org/2001/XMLSchema" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.xsd_2.7.1.v20120130-0943.jar!/cache/www.w3.org/2001/XMLSchema.xsd"/>\r
+  <uri name="urn:ui:com.google.gwt.uibinder" uri="http://dl.google.com/gwt/dtd/uibinder.xsd"/>\r
+  <uri name="urn:import:com.google.gwt.user.client.ui" uri="http://dl.google.com/gwt/dtd/com.google.gwt.user.client.ui.xsd"/>\r
+  <system systemId="http://maven.apache.org/maven-v4_0_0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/maven-v4_0_0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/maven-4.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/maven-v4_0_0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/settings-1.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/settings-v1_0_0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/profiles-1.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/profiles-v1_0_0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/archetype-1.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/archetype-1.0.0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/archetype-catalog-1.0.0.xsd"/>\r
+  <system systemId="http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.m2e.model.edit_1.0.200.20111228-1245.jar!/xsd/archetype-descriptor-1.0.0.xsd"/>\r
+  <public publicId="-//WAPFORUM//DTD WML 1.1//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/wml11.dtd"/>\r
+  <public publicId="-//W3C//DTD XHTML 1.0 Strict//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml1-strict.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>\r
+  <public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml1-transitional.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>\r
+  <public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml1-frameset.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"/>\r
+  <public publicId="-//W3C//DTD XHTML Basic 1.0//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml-basic10-f.dtd" webURL="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"/>\r
+  <public publicId="-//W3C//DTD XHTML 1.1//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml11-flat.dtd" webURL="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>\r
+  <public publicId="-//WAPFORUM//DTD XHTML Mobile 1.0//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/xhtml-mobile10-flat.dtd" webURL="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>\r
+  <public publicId="-//WAPFORUM//DTD WML 1.3//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/wml13.dtd" webURL="http://www.wapforum.org/DTD/wml13.dtd"/>\r
+  <public publicId="-//W3C//DTD HTML 4.01 Frameset//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/frameset.dtd" webURL="http://www.w3.org/TR/html4/frameset.dtd"/>\r
+  <public publicId="-//W3C//ENTITIES Latin 1//EN//HTML" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/HTMLlat1.ent" webURL="HTMLlat1.ent"/>\r
+  <public publicId="-//W3C//ENTITIES Special//EN//HTM" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/HTMLspecial.ent" webURL="HTMLspecial.ent"/>\r
+  <public publicId="-//W3C//ENTITIES Symbols//EN//HTML" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/HTMLsymbol.ent" webURL="HTMLsymbol.ent"/>\r
+  <public publicId="-//W3C//DTD HTML 4.01 Transitional//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/loose.dtd" webURL="http://www.w3.org/TR/html4/loose.dtd"/>\r
+  <public publicId="-//W3C//DTD HTML 4.01//EN" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/strict.dtd" webURL="http://www.w3.org/TR/html4/strict.dtd"/>\r
+  <uri name="http://schemas.xmlsoap.org/wsdl/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/wsdl.xsd"/>\r
+  <uri name="http://schemas.xmlsoap.org/wsdl/soap/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/soap.xsd"/>\r
+  <uri name="http://schemas.xmlsoap.org/wsdl/http/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/http.xsd"/>\r
+  <uri name="http://schemas.xmlsoap.org/wsdl/mime/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/wsdl-mime.xsd"/>\r
+  <uri name="http://schemas.xmlsoap.org/soap/encoding/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/soapenc.xsd"/>\r
+  <uri name="http://schemas.xmlsoap.org/soap/envelope/" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/soapenv.xsd"/>\r
+  <uri name="urn:oasis:names:tc:entity:xmlns:xml:catalog" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/xsd/xmlcatalog11.xsd"/>\r
+  <uri name="http://www.w3.org/TR/html4/loose.dtd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/loose.dtd"/>\r
+  <uri name="http://www.w3.org/TR/html4/strict.dtd" uri="jar:file:/C:/yuji/prog/eclipse/AppEngine2/eclipse/plugins/org.eclipse.wst.standard.schemas_1.0.401.v201108151912.jar!/dtds/strict.dtd"/>\r
+</catalog>\r
diff --git a/workspace/Test/.classpath b/workspace/Test/.classpath
new file mode 100644 (file)
index 0000000..bea5790
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" path="src"/>\r
+       <classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="output" path="war/WEB-INF/classes"/>\r
+</classpath>\r
diff --git a/workspace/Test/.project b/workspace/Test/.project
new file mode 100644 (file)
index 0000000..002a967
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>Test</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.projectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.enhancerbuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>com.google.appengine.eclipse.core.gaeNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/workspace/Test/.settings/com.google.appengine.eclipse.core.prefs b/workspace/Test/.settings/com.google.appengine.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..6461869
--- /dev/null
@@ -0,0 +1,8 @@
+#Sat Mar 03 10:45:02 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeDeployDialogSettings=\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
+googleCloudSqlEnabled=false\r
+localDevMySqlEnabled=true\r
diff --git a/workspace/Test/.settings/com.google.gdt.eclipse.core.prefs b/workspace/Test/.settings/com.google.gdt.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..337d6a3
--- /dev/null
@@ -0,0 +1,4 @@
+#Sat Mar 03 10:33:52 JST 2012\r
+eclipse.preferences.version=1\r
+warSrcDir=war\r
+warSrcDirIsOutput=true\r
diff --git a/workspace/Test/src/META-INF/jdoconfig.xml b/workspace/Test/src/META-INF/jdoconfig.xml
new file mode 100644 (file)
index 0000000..5f56aa1
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
+
+   <persistence-manager-factory name="transactions-optional">
+       <property name="javax.jdo.PersistenceManagerFactoryClass"
+           value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
+       <property name="javax.jdo.option.ConnectionURL" value="appengine"/>
+       <property name="javax.jdo.option.NontransactionalRead" value="true"/>
+       <property name="javax.jdo.option.NontransactionalWrite" value="true"/>
+       <property name="javax.jdo.option.RetainValues" value="true"/>
+       <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
+   </persistence-manager-factory>
+</jdoconfig>
diff --git a/workspace/Test/src/log4j.properties b/workspace/Test/src/log4j.properties
new file mode 100644 (file)
index 0000000..d9c3edc
--- /dev/null
@@ -0,0 +1,24 @@
+# A default log4j configuration for log4j users.
+#
+# To use this configuration, deploy it into your application's WEB-INF/classes
+# directory.  You are also encouraged to edit it as you like.
+
+# Configure the console as our one appender
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
+
+# tighten logging on the DataNucleus Categories
+log4j.category.DataNucleus.JDO=WARN, A1
+log4j.category.DataNucleus.Persistence=WARN, A1
+log4j.category.DataNucleus.Cache=WARN, A1
+log4j.category.DataNucleus.MetaData=WARN, A1
+log4j.category.DataNucleus.General=WARN, A1
+log4j.category.DataNucleus.Utility=WARN, A1
+log4j.category.DataNucleus.Transaction=WARN, A1
+log4j.category.DataNucleus.Datastore=WARN, A1
+log4j.category.DataNucleus.ClassLoading=WARN, A1
+log4j.category.DataNucleus.Plugin=WARN, A1
+log4j.category.DataNucleus.ValueGeneration=WARN, A1
+log4j.category.DataNucleus.Enhancer=WARN, A1
+log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/workspace/Test/src/org/gtugs/codelab/appengine/blog/TestServlet.java b/workspace/Test/src/org/gtugs/codelab/appengine/blog/TestServlet.java
new file mode 100644 (file)
index 0000000..d7b7d07
--- /dev/null
@@ -0,0 +1,11 @@
+package org.gtugs.codelab.appengine.blog;
+import java.io.IOException;
+import javax.servlet.http.*;
+
+@SuppressWarnings("serial")
+public class TestServlet extends HttpServlet {
+       public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+               resp.setContentType("text/plain");
+               resp.getWriter().println("Hello, world");
+       }
+}
diff --git a/workspace/Test/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml b/workspace/Test/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml
new file mode 100644 (file)
index 0000000..0f57ad2
--- /dev/null
@@ -0,0 +1,4 @@
+<!-- Indices written at Sat, 3 Mar 2012 01:48:17 UTC -->
+
+<datastore-indexes/>
+
diff --git a/workspace/Test/war/WEB-INF/appengine-web.xml b/workspace/Test/war/WEB-INF/appengine-web.xml
new file mode 100644 (file)
index 0000000..6b8480c
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+  <application>yuji-k</application>
+  <version>1</version>
+
+  <!--
+    By default, App Engine sends requests serially to a given web server.
+    To allow App Engine to send multiple requests in parallel specify:
+
+      <threadsafe>true</threadsafe>
+  -->
+
+  <!-- Configure java.util.logging -->
+  <system-properties>
+    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+  </system-properties>
+
+  <!--
+    HTTP Sessions are disabled by default. To enable HTTP sessions specify:
+
+      <sessions-enabled>true</sessions-enabled>
+
+    It's possible to reduce request latency by configuring your application to
+    asynchronously write HTTP session data to the datastore:
+
+      <async-session-persistence enabled="true" />
+
+    With this feature enabled, there is a very small chance your app will see
+    stale session data. For details, see
+    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
+  -->
+
+</appengine-web-app>
diff --git a/workspace/Test/war/WEB-INF/classes/META-INF/jdoconfig.xml b/workspace/Test/war/WEB-INF/classes/META-INF/jdoconfig.xml
new file mode 100644 (file)
index 0000000..5f56aa1
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
+
+   <persistence-manager-factory name="transactions-optional">
+       <property name="javax.jdo.PersistenceManagerFactoryClass"
+           value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
+       <property name="javax.jdo.option.ConnectionURL" value="appengine"/>
+       <property name="javax.jdo.option.NontransactionalRead" value="true"/>
+       <property name="javax.jdo.option.NontransactionalWrite" value="true"/>
+       <property name="javax.jdo.option.RetainValues" value="true"/>
+       <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
+   </persistence-manager-factory>
+</jdoconfig>
diff --git a/workspace/Test/war/WEB-INF/classes/log4j.properties b/workspace/Test/war/WEB-INF/classes/log4j.properties
new file mode 100644 (file)
index 0000000..d9c3edc
--- /dev/null
@@ -0,0 +1,24 @@
+# A default log4j configuration for log4j users.
+#
+# To use this configuration, deploy it into your application's WEB-INF/classes
+# directory.  You are also encouraged to edit it as you like.
+
+# Configure the console as our one appender
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
+
+# tighten logging on the DataNucleus Categories
+log4j.category.DataNucleus.JDO=WARN, A1
+log4j.category.DataNucleus.Persistence=WARN, A1
+log4j.category.DataNucleus.Cache=WARN, A1
+log4j.category.DataNucleus.MetaData=WARN, A1
+log4j.category.DataNucleus.General=WARN, A1
+log4j.category.DataNucleus.Utility=WARN, A1
+log4j.category.DataNucleus.Transaction=WARN, A1
+log4j.category.DataNucleus.Datastore=WARN, A1
+log4j.category.DataNucleus.ClassLoading=WARN, A1
+log4j.category.DataNucleus.Plugin=WARN, A1
+log4j.category.DataNucleus.ValueGeneration=WARN, A1
+log4j.category.DataNucleus.Enhancer=WARN, A1
+log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/workspace/Test/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar b/workspace/Test/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar
new file mode 100644 (file)
index 0000000..d658680
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar b/workspace/Test/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar
new file mode 100644 (file)
index 0000000..476d3fd
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar b/workspace/Test/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar
new file mode 100644 (file)
index 0000000..a89c03a
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar b/workspace/Test/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar
new file mode 100644 (file)
index 0000000..668a7f8
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/datanucleus-core-1.1.5.jar b/workspace/Test/war/WEB-INF/lib/datanucleus-core-1.1.5.jar
new file mode 100644 (file)
index 0000000..caac70e
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/datanucleus-core-1.1.5.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar b/workspace/Test/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
new file mode 100644 (file)
index 0000000..657fd0f
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar b/workspace/Test/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
new file mode 100644 (file)
index 0000000..12d4ab0
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar b/workspace/Test/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
new file mode 100644 (file)
index 0000000..ee9963d
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/jdo2-api-2.3-eb.jar b/workspace/Test/war/WEB-INF/lib/jdo2-api-2.3-eb.jar
new file mode 100644 (file)
index 0000000..a039ae7
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/jdo2-api-2.3-eb.jar differ
diff --git a/workspace/Test/war/WEB-INF/lib/jsr107cache-1.1.jar b/workspace/Test/war/WEB-INF/lib/jsr107cache-1.1.jar
new file mode 100644 (file)
index 0000000..a94aa31
Binary files /dev/null and b/workspace/Test/war/WEB-INF/lib/jsr107cache-1.1.jar differ
diff --git a/workspace/Test/war/WEB-INF/logging.properties b/workspace/Test/war/WEB-INF/logging.properties
new file mode 100644 (file)
index 0000000..a172066
--- /dev/null
@@ -0,0 +1,13 @@
+# A default java.util.logging configuration.
+# (All App Engine logging is through java.util.logging by default).
+#
+# To use this configuration, copy it into your application's WEB-INF
+# folder and add the following to your appengine-web.xml:
+# 
+# <system-properties>
+#   <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+# </system-properties>
+#
+
+# Set the default logging level for all loggers to WARNING
+.level = WARNING
diff --git a/workspace/Test/war/WEB-INF/web.xml b/workspace/Test/war/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..6a54b5e
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://java.sun.com/xml/ns/javaee"
+xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+       <servlet>
+               <servlet-name>Test</servlet-name>
+               <servlet-class>org.gtugs.codelab.appengine.blog.TestServlet</servlet-class>
+       </servlet>
+       <servlet-mapping>
+               <servlet-name>Test</servlet-name>
+               <url-pattern>/test</url-pattern>
+       </servlet-mapping>
+       <welcome-file-list>
+               <welcome-file>index.html</welcome-file>
+       </welcome-file-list>
+</web-app>
diff --git a/workspace/Test/war/favicon.ico b/workspace/Test/war/favicon.ico
new file mode 100644 (file)
index 0000000..0062ab4
Binary files /dev/null and b/workspace/Test/war/favicon.ico differ
diff --git a/workspace/Test/war/index.html b/workspace/Test/war/index.html
new file mode 100644 (file)
index 0000000..eecbd6c
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
+<!-- above set at the top of the file will set     -->
+<!-- the browser's rendering engine into           -->
+<!-- "Quirks Mode". Replacing this declaration     -->
+<!-- with a "Standards Mode" doctype is supported, -->
+<!-- but may lead to some differences in layout.   -->
+
+<html>
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+    <title>Hello App Engine</title>
+  </head>
+
+  <body>
+    <h1>Hello App Engine!</h1>
+       
+    <table>
+      <tr>
+        <td colspan="2" style="font-weight:bold;">Available Servlets:</td>        
+      </tr>
+      <tr>
+        <td><a href="test">Test</a></td>
+      </tr>
+    </table>
+  </body>
+</html>
diff --git a/workspace/TrainDelayBot/.classpath b/workspace/TrainDelayBot/.classpath
new file mode 100644 (file)
index 0000000..1304228
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" path="src"/>\r
+       <classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="lib" path="war/WEB-INF/lib/twitter4j-core-2.2.5.jar"/>\r
+       <classpathentry kind="output" path="war/WEB-INF/classes"/>\r
+</classpath>\r
diff --git a/workspace/TrainDelayBot/.project b/workspace/TrainDelayBot/.project
new file mode 100644 (file)
index 0000000..2dc86d8
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>TrainDelayBot</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.projectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.enhancerbuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>com.google.appengine.eclipse.core.gaeNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/workspace/TrainDelayBot/.settings/com.google.appengine.eclipse.core.prefs b/workspace/TrainDelayBot/.settings/com.google.appengine.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..5815f61
--- /dev/null
@@ -0,0 +1,6 @@
+#Sat Mar 03 11:17:23 JST 2012\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.6.3.jar|appengine-api-labs-1.6.3.jar|appengine-jsr107cache-1.6.3.jar|jsr107cache-1.1.jar|datanucleus-appengine-1.0.10.final.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
+gaeDeployDialogSettings=\r
+gaeHrdEnabled=true\r
+gaeIsEclipseDefaultInstPath=true\r
diff --git a/workspace/TrainDelayBot/.settings/com.google.gdt.eclipse.core.prefs b/workspace/TrainDelayBot/.settings/com.google.gdt.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..acb98ad
--- /dev/null
@@ -0,0 +1,4 @@
+#Sat Mar 03 11:04:21 JST 2012\r
+eclipse.preferences.version=1\r
+warSrcDir=war\r
+warSrcDirIsOutput=true\r
diff --git a/workspace/TrainDelayBot/src/META-INF/jdoconfig.xml b/workspace/TrainDelayBot/src/META-INF/jdoconfig.xml
new file mode 100644 (file)
index 0000000..5f56aa1
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
+
+   <persistence-manager-factory name="transactions-optional">
+       <property name="javax.jdo.PersistenceManagerFactoryClass"
+           value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
+       <property name="javax.jdo.option.ConnectionURL" value="appengine"/>
+       <property name="javax.jdo.option.NontransactionalRead" value="true"/>
+       <property name="javax.jdo.option.NontransactionalWrite" value="true"/>
+       <property name="javax.jdo.option.RetainValues" value="true"/>
+       <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
+   </persistence-manager-factory>
+</jdoconfig>
diff --git a/workspace/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java b/workspace/TrainDelayBot/src/com/yuji/tdb/TrainDelayBotServlet.java
new file mode 100644 (file)
index 0000000..71ecdd4
--- /dev/null
@@ -0,0 +1,109 @@
+package com.yuji.tdb;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.auth.OAuthAuthorization;\r
+import twitter4j.auth.RequestToken;\r
+import twitter4j.conf.Configuration;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+import com.yuji.tdb.common.CommonUtil;\r
+import com.yuji.tdb.twitter.TwitterUtil;\r
+\r
+@SuppressWarnings("serial")\r
+public class TrainDelayBotServlet extends HttpServlet {\r
+       private static RequestToken requestToken = null;\r
+       private static AccessToken accessToken = null;\r
+       private static String consumerKey = null;\r
+       private static String consumerSecret = null;\r
+\r
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)\r
+                       throws IOException {\r
+               resp.setContentType("text/plain");\r
+               resp.getWriter().println(" traindelaybot Hello, world");\r
+\r
+               String consumerKey = req.getParameter("key");\r
+               String consumerSecret = req.getParameter("secret");\r
+               String result = req.getParameter("result");\r
+               if (!CommonUtil.isNull(consumerKey)\r
+                               && !CommonUtil.isNull(consumerSecret)) {\r
+                       setOAuthAuthorization(req, resp, consumerKey, consumerSecret);\r
+                       return;\r
+               } else if (!CommonUtil.isNull(result)) {\r
+                       resultOAuthAuthorization();\r
+                       return;\r
+               }\r
+\r
+               // TODO null check\r
+               TwitterUtil util = TwitterUtil.getInstance();\r
+               util.main(TrainDelayBotServlet.consumerKey,\r
+                               TrainDelayBotServlet.consumerSecret, accessToken);\r
+       }\r
+\r
+       private void setOAuthAuthorization(HttpServletRequest req,\r
+                       HttpServletResponse resp, String consumerKey, String consumerSecret) {\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+\r
+                       confBuilder.setDebugEnabled(true);\r
+                       confBuilder.setOAuthConsumerKey(consumerKey);\r
+                       confBuilder.setOAuthConsumerSecret(consumerSecret);\r
+                       Configuration conf = confBuilder.build();\r
+\r
+                       String url = req.getRequestURL().toString();\r
+\r
+                       OAuthAuthorization oauth = new OAuthAuthorization(conf);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82©\82ç\82Ì\96ß\82è\90æ\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       // AccessToken\83R\83\93\83g\83\8d\81[\83\89\82ð\8ew\92è\82µ\82Ü\82·\81B\r
+                       String callbackURL = url + "?result=yes";\r
+                       // RequestToken requestToken =\r
+                       // oauth.getOAuthRequestToken(callbackURL);\r
+                       requestToken = oauth.getOAuthRequestToken(callbackURL);\r
+                       // RequestToken\82ð\83Z\83b\83V\83\87\83\93\82É\95Û\91\82µ\82Ä\82¨\82«\82Ü\82·\81B\r
+                       // sessionScope("RequestToken", requestToken);\r
+                       // Twitter\82Ì\94F\8fØ\89æ\96Ê\82Ö\83\8a\83_\83C\83\8c\83N\83g\82µ\82Ü\82·\81B\r
+\r
+                       TrainDelayBotServlet.consumerKey = consumerKey;\r
+                       TrainDelayBotServlet.consumerSecret = consumerSecret;\r
+\r
+                       resp.sendRedirect(requestToken.getAuthenticationURL());\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (IOException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+       private void resultOAuthAuthorization() {\r
+               try {\r
+                       // Twitter twitter = new TwitterFactory().getInstance();\r
+                       if (requestToken == null || CommonUtil.isNull(consumerKey)\r
+                                       || CommonUtil.isNull(consumerSecret)) {\r
+                               return;\r
+                       }\r
+                       // String tokenKey = requestToken.getToken();\r
+                       // String tokenSecret = requestToken.getTokenSecret();\r
+\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();\r
+\r
+                       accessToken = twitter.getOAuthAccessToken(requestToken);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java b/workspace/TrainDelayBot/src/com/yuji/tdb/common/CommonUtil.java
new file mode 100644 (file)
index 0000000..fc8af96
--- /dev/null
@@ -0,0 +1,58 @@
+package com.yuji.tdb.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CommonUtil {
+       public static String replaceString(String text, String src, String dst) {
+               return text.replaceAll(src, dst);
+       }
+
+       public static String escapeHtml(String text) {
+               StringBuffer result = new StringBuffer();
+               for (int i = 0; i < text.length(); i++) {
+                       switch (text.charAt(i)) {
+                       case '&':
+                               result.append("&amp;");
+                               break;
+                       case '<':
+                               result.append("&lt;");
+                               break;
+                       case '>':
+                               result.append("&gt;");
+                               break;
+                       default:
+                               result.append(text.charAt(i));
+                               break;
+                       }
+               }
+               return result.toString();
+       }
+
+       public static boolean isNull(String str){
+               return str == null || str.length() == 0;
+       }
+       
+       public static List<String> split(String str, String delm){
+               int l = str.length();
+               List<String> list = new ArrayList<String>();
+               
+               int pos = 0;
+               String s;
+               while (pos < l){
+                       int n = str.indexOf(delm, pos);
+                       if (n < 0){
+                               s = str.substring(pos);
+                               n = l;
+                       }
+                       else {
+                               s = str.substring(pos, n);
+                       }
+                       list.add(s);
+                       pos = n + 1;
+               }
+               
+               return list;
+       }
+
+}
diff --git a/workspace/TrainDelayBot/src/com/yuji/tdb/main/Main.java b/workspace/TrainDelayBot/src/com/yuji/tdb/main/Main.java
new file mode 100644 (file)
index 0000000..21fe48c
--- /dev/null
@@ -0,0 +1,36 @@
+package com.yuji.tdb.main;\r
+\r
+import twitter4j.Status;\r
+import twitter4j.Twitter;\r
+import twitter4j.TwitterException;\r
+import twitter4j.TwitterFactory;\r
+import twitter4j.auth.AccessToken;\r
+import twitter4j.conf.ConfigurationBuilder;\r
+\r
+public class Main {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               String consumerKey = "";\r
+               String consumerSecret = "";\r
+               String tokenKey = "";\r
+               String tokenSecret = "";\r
+\r
+               try {\r
+                       ConfigurationBuilder confBuilder = new ConfigurationBuilder();\r
+                       confBuilder.setDebugEnabled(true).setOAuthConsumerKey(consumerKey)\r
+                                       .setOAuthConsumerSecret(consumerSecret);\r
+                       TwitterFactory factory = new TwitterFactory(confBuilder.build());\r
+\r
+                       AccessToken accessToken = new AccessToken(tokenKey, tokenSecret);\r
+                       Twitter twitter = factory.getInstance(accessToken);\r
+\r
+                       Status status = twitter.updateStatus("\83e\83X\83g");\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+}\r
diff --git a/workspace/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java b/workspace/TrainDelayBot/src/com/yuji/tdb/twitter/TwitterUtil.java
new file mode 100644 (file)
index 0000000..12af0a6
--- /dev/null
@@ -0,0 +1,128 @@
+package com.yuji.tdb.twitter;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.List;\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
+\r
+public class TwitterUtil {\r
+       private static TwitterUtil instance = null;\r
+       private static Object obj = new Object();\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
+\r
+       }\r
+\r
+       public void main(String consumerKey, String consumerSecret, AccessToken accessToken) {\r
+\r
+               String text = "\8b\9e\95l\93\8c\96k";\r
+\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
+                       Calendar cal = Calendar.getInstance();\r
+                       Date date = cal.getTime();\r
+                       long cur = date.getTime();\r
+                       \r
+                       Query query = new Query();\r
+                       query.setRpp(100); // TODO\r
+                       query.setQuery(text);\r
+                       QueryResult result = twitter.search(query);\r
+                       List<Tweet> tweets = result.getTweets();\r
+                       \r
+                       int count = 0;\r
+                       int hit = 0;\r
+                       int mhit = 0;\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
+                               String message = tweet.getText();\r
+                               \r
+                               if (t < cur - 30 * 60 * 1000){\r
+                                       continue;\r
+                               }\r
+                               hit = filter(message);\r
+                               if (hit <= 0) {\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 = "";\r
+                       if (count < 10){\r
+                               message = "\92x\89\84\82È\82µ " + date.toString();                        \r
+                       }\r
+                       else {\r
+                               String sample = tweets.get(mindex).getText();\r
+                               sample = sample.substring(0, 50);\r
+                               sample = CommonUtil.replaceString(sample, "@", "(a)");\r
+                               message = sample + " " + date.toString() + " count=" + count;                                                   \r
+                       }\r
+                       Status status = twitter.updateStatus(message);\r
+               } catch (TwitterException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+       \r
+       private static List<String> keywords = null;\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("\8bÙ\8b}\92â\8e~");\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
diff --git a/workspace/TrainDelayBot/src/log4j.properties b/workspace/TrainDelayBot/src/log4j.properties
new file mode 100644 (file)
index 0000000..d9c3edc
--- /dev/null
@@ -0,0 +1,24 @@
+# A default log4j configuration for log4j users.
+#
+# To use this configuration, deploy it into your application's WEB-INF/classes
+# directory.  You are also encouraged to edit it as you like.
+
+# Configure the console as our one appender
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
+
+# tighten logging on the DataNucleus Categories
+log4j.category.DataNucleus.JDO=WARN, A1
+log4j.category.DataNucleus.Persistence=WARN, A1
+log4j.category.DataNucleus.Cache=WARN, A1
+log4j.category.DataNucleus.MetaData=WARN, A1
+log4j.category.DataNucleus.General=WARN, A1
+log4j.category.DataNucleus.Utility=WARN, A1
+log4j.category.DataNucleus.Transaction=WARN, A1
+log4j.category.DataNucleus.Datastore=WARN, A1
+log4j.category.DataNucleus.ClassLoading=WARN, A1
+log4j.category.DataNucleus.Plugin=WARN, A1
+log4j.category.DataNucleus.ValueGeneration=WARN, A1
+log4j.category.DataNucleus.Enhancer=WARN, A1
+log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/workspace/TrainDelayBot/war/WEB-INF/appengine-web.xml b/workspace/TrainDelayBot/war/WEB-INF/appengine-web.xml
new file mode 100644 (file)
index 0000000..97ae3f1
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+  <application>traindelaybot</application>
+  <version>1</version>
+
+  <!--
+    By default, App Engine sends requests serially to a given web server.
+    To allow App Engine to send multiple requests in parallel specify:
+
+      <threadsafe>true</threadsafe>
+  -->
+
+  <!-- Configure java.util.logging -->
+  <system-properties>
+    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+  </system-properties>
+
+  <!--
+    HTTP Sessions are disabled by default. To enable HTTP sessions specify:
+
+      <sessions-enabled>true</sessions-enabled>
+
+    It's possible to reduce request latency by configuring your application to
+    asynchronously write HTTP session data to the datastore:
+
+      <async-session-persistence enabled="true" />
+
+    With this feature enabled, there is a very small chance your app will see
+    stale session data. For details, see
+    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
+  -->
+
+</appengine-web-app>
diff --git a/workspace/TrainDelayBot/war/WEB-INF/classes/META-INF/jdoconfig.xml b/workspace/TrainDelayBot/war/WEB-INF/classes/META-INF/jdoconfig.xml
new file mode 100644 (file)
index 0000000..5f56aa1
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">
+
+   <persistence-manager-factory name="transactions-optional">
+       <property name="javax.jdo.PersistenceManagerFactoryClass"
+           value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
+       <property name="javax.jdo.option.ConnectionURL" value="appengine"/>
+       <property name="javax.jdo.option.NontransactionalRead" value="true"/>
+       <property name="javax.jdo.option.NontransactionalWrite" value="true"/>
+       <property name="javax.jdo.option.RetainValues" value="true"/>
+       <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
+   </persistence-manager-factory>
+</jdoconfig>
diff --git a/workspace/TrainDelayBot/war/WEB-INF/classes/log4j.properties b/workspace/TrainDelayBot/war/WEB-INF/classes/log4j.properties
new file mode 100644 (file)
index 0000000..d9c3edc
--- /dev/null
@@ -0,0 +1,24 @@
+# A default log4j configuration for log4j users.
+#
+# To use this configuration, deploy it into your application's WEB-INF/classes
+# directory.  You are also encouraged to edit it as you like.
+
+# Configure the console as our one appender
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
+
+# tighten logging on the DataNucleus Categories
+log4j.category.DataNucleus.JDO=WARN, A1
+log4j.category.DataNucleus.Persistence=WARN, A1
+log4j.category.DataNucleus.Cache=WARN, A1
+log4j.category.DataNucleus.MetaData=WARN, A1
+log4j.category.DataNucleus.General=WARN, A1
+log4j.category.DataNucleus.Utility=WARN, A1
+log4j.category.DataNucleus.Transaction=WARN, A1
+log4j.category.DataNucleus.Datastore=WARN, A1
+log4j.category.DataNucleus.ClassLoading=WARN, A1
+log4j.category.DataNucleus.Plugin=WARN, A1
+log4j.category.DataNucleus.ValueGeneration=WARN, A1
+log4j.category.DataNucleus.Enhancer=WARN, A1
+log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/workspace/TrainDelayBot/war/WEB-INF/cron.xml b/workspace/TrainDelayBot/war/WEB-INF/cron.xml
new file mode 100644 (file)
index 0000000..1388d5f
--- /dev/null
@@ -0,0 +1,8 @@
+<cronentries>\r
+       <cron>\r
+               <url>/traindelaybot</url>\r
+               <description>traindelaybot the run every 30 minutes</description>\r
+               <schedule>every 30 minutes</schedule>\r
+               <timezone>Asia/Tokyo</timezone>\r
+       </cron>\r
+</cronentries>\r
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar
new file mode 100644 (file)
index 0000000..d658680
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.3.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar
new file mode 100644 (file)
index 0000000..476d3fd
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-api-labs-1.6.3.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar
new file mode 100644 (file)
index 0000000..a89c03a
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/appengine-jsr107cache-1.6.3.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar
new file mode 100644 (file)
index 0000000..668a7f8
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-core-1.1.5.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-core-1.1.5.jar
new file mode 100644 (file)
index 0000000..caac70e
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-core-1.1.5.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
new file mode 100644 (file)
index 0000000..657fd0f
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar
new file mode 100644 (file)
index 0000000..12d4ab0
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar
new file mode 100644 (file)
index 0000000..ee9963d
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/jdo2-api-2.3-eb.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/jdo2-api-2.3-eb.jar
new file mode 100644 (file)
index 0000000..a039ae7
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/jdo2-api-2.3-eb.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/jsr107cache-1.1.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/jsr107cache-1.1.jar
new file mode 100644 (file)
index 0000000..a94aa31
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/jsr107cache-1.1.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/lib/twitter4j-core-2.2.5.jar b/workspace/TrainDelayBot/war/WEB-INF/lib/twitter4j-core-2.2.5.jar
new file mode 100644 (file)
index 0000000..4413d67
Binary files /dev/null and b/workspace/TrainDelayBot/war/WEB-INF/lib/twitter4j-core-2.2.5.jar differ
diff --git a/workspace/TrainDelayBot/war/WEB-INF/logging.properties b/workspace/TrainDelayBot/war/WEB-INF/logging.properties
new file mode 100644 (file)
index 0000000..a172066
--- /dev/null
@@ -0,0 +1,13 @@
+# A default java.util.logging configuration.
+# (All App Engine logging is through java.util.logging by default).
+#
+# To use this configuration, copy it into your application's WEB-INF
+# folder and add the following to your appengine-web.xml:
+# 
+# <system-properties>
+#   <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+# </system-properties>
+#
+
+# Set the default logging level for all loggers to WARNING
+.level = WARNING
diff --git a/workspace/TrainDelayBot/war/WEB-INF/web.xml b/workspace/TrainDelayBot/war/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..0859861
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://java.sun.com/xml/ns/javaee"
+xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+       <servlet>
+               <servlet-name>TrainDelayBot</servlet-name>
+               <servlet-class>com.yuji.tdb.TrainDelayBotServlet</servlet-class>
+       </servlet>
+       <servlet-mapping>
+               <servlet-name>TrainDelayBot</servlet-name>
+               <url-pattern>/traindelaybot</url-pattern>
+       </servlet-mapping>
+       <welcome-file-list>
+               <welcome-file>index.html</welcome-file>
+       </welcome-file-list>
+</web-app>
diff --git a/workspace/TrainDelayBot/war/favicon.ico b/workspace/TrainDelayBot/war/favicon.ico
new file mode 100644 (file)
index 0000000..0062ab4
Binary files /dev/null and b/workspace/TrainDelayBot/war/favicon.ico differ
diff --git a/workspace/TrainDelayBot/war/index.html b/workspace/TrainDelayBot/war/index.html
new file mode 100644 (file)
index 0000000..561bea6
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- The HTML 4.01 Transitional DOCTYPE declaration-->
+<!-- above set at the top of the file will set     -->
+<!-- the browser's rendering engine into           -->
+<!-- "Quirks Mode". Replacing this declaration     -->
+<!-- with a "Standards Mode" doctype is supported, -->
+<!-- but may lead to some differences in layout.   -->
+
+<html>
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+    <title>Hello App Engine</title>
+  </head>
+
+  <body>
+    <h1>Hello App Engine!</h1>
+       
+    <table>
+      <tr>
+        <td colspan="2" style="font-weight:bold;">Available Servlets:</td>        
+      </tr>
+      <tr>
+        <td><a href="traindelaybot">TrainDelayBot</a></td>
+      </tr>
+    </table>
+  </body>
+</html>