You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/07/23 09:59:59 UTC
svn commit: r1150062 - in
/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter:
./ util/
Author: dblevins
Date: Sat Jul 23 07:59:58 2011
New Revision: 1150062
URL: http://svn.apache.org/viewvc?rev=1150062&view=rev
Log:
reformatted
Modified:
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AccessTokenGenerator.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AuthorizationUrlGenerator.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/JsonResponseParser.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/OpenEJBMessageFilterUtil.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/Retweet.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/RetweetAppConstants.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/ScreenNamesRetriever.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/UserStatusRetriever.java
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/util/RetweetAppUtil.java
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AccessTokenGenerator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AccessTokenGenerator.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AccessTokenGenerator.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AccessTokenGenerator.java Sat Jul 23 07:59:58 2011
@@ -16,12 +16,13 @@
*/
package org.apache.openejb.tools.twitter;
-import java.util.Scanner;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
+import java.util.Scanner;
+
import static org.apache.openejb.tools.twitter.AuthorizationUrlGenerator.consumer;
import static org.apache.openejb.tools.twitter.AuthorizationUrlGenerator.provider;
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AuthorizationUrlGenerator.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AuthorizationUrlGenerator.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AuthorizationUrlGenerator.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/AuthorizationUrlGenerator.java Sat Jul 23 07:59:58 2011
@@ -16,7 +16,6 @@
*/
package org.apache.openejb.tools.twitter;
-import java.util.Properties;
import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
@@ -28,8 +27,10 @@ import oauth.signpost.exception.OAuthMes
import oauth.signpost.exception.OAuthNotAuthorizedException;
import org.apache.openejb.tools.twitter.util.RetweetAppUtil;
+import java.util.Properties;
+
public class AuthorizationUrlGenerator {
- static Properties retweetToolProperties;
+ static Properties retweetToolProperties;
static OAuthConsumer consumer;
static OAuthProvider provider;
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/JsonResponseParser.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/JsonResponseParser.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/JsonResponseParser.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/JsonResponseParser.java Sat Jul 23 07:59:58 2011
@@ -16,11 +16,6 @@
*/
package org.apache.openejb.tools.twitter;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
@@ -31,10 +26,16 @@ import org.codehaus.jackson.map.JsonMapp
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
public class JsonResponseParser {
-
- private static Logger logger = Logger.getLogger(JsonResponseParser.class);
+
+ private static Logger logger = Logger.getLogger(JsonResponseParser.class);
public static String getResponseBody(HttpResponse response) {
ResponseHandler<String> responseHander = new BasicResponseHandler();
@@ -69,26 +70,25 @@ public class JsonResponseParser {
logger.debug("Json to List of key value pairs:" + result);
return result;
}
-
- @SuppressWarnings("rawtypes")
- public static Map getMapFromJson(Reader jsonDataReader)
- {
- Map result = null;
- ObjectMapper mapper = new ObjectMapper();
- try {
- result=mapper.readValue(jsonDataReader, new TypeReference<Map>() {
- });
- } catch (JsonParseException e) {
- e.printStackTrace();
- } catch (JsonMappingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- return result;
-
- }
+
+ @SuppressWarnings("rawtypes")
+ public static Map getMapFromJson(Reader jsonDataReader) {
+ Map result = null;
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ result = mapper.readValue(jsonDataReader, new TypeReference<Map>() {
+ });
+ } catch (JsonParseException e) {
+ e.printStackTrace();
+ } catch (JsonMappingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return result;
+
+ }
}
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/OpenEJBMessageFilterUtil.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/OpenEJBMessageFilterUtil.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/OpenEJBMessageFilterUtil.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/OpenEJBMessageFilterUtil.java Sat Jul 23 07:59:58 2011
@@ -16,6 +16,8 @@
*/
package org.apache.openejb.tools.twitter;
+import org.apache.log4j.Logger;
+
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -24,105 +26,103 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
-import org.apache.log4j.Logger;
public class OpenEJBMessageFilterUtil implements RetweetAppConstants {
-
- static SimpleDateFormat dateFormat = new SimpleDateFormat(TWITTER_DATE_FORMAT, TWITTER_LOCALE);
- private static Logger logger = Logger.getLogger(OpenEJBMessageFilterUtil.class);
-
- @SuppressWarnings("rawtypes")
- public static List<String> getNonRetweetedOpenEJBStatusIDs(
- List<Map> keyValuePairs) {
-
- List<String> openEJBStatusIDs = new ArrayList<String>();
-
- for (Object keyValuePair : keyValuePairs) {
- Map keyValue = (Map) keyValuePair;
- if (keyValue.containsKey("text")) {
- acceptOrRejectTweets(openEJBStatusIDs, keyValue);
- }
- }
-
- return openEJBStatusIDs;
- }
-
- @SuppressWarnings("rawtypes")
- private static void acceptOrRejectTweets(List<String> openEJBStatusIDs,
- Map keyValue) {
- String tweet = (String) keyValue.get("text");
- if (!isOlderThanAnHour(keyValue) & isOpenEJBTweet(tweet) & !isRetweeted(keyValue) ) {
- acceptTweet(openEJBStatusIDs, keyValue, tweet);
- } else {
- logWhyTweetWasRejected(keyValue, tweet);
- }
- }
-
-
- @SuppressWarnings("rawtypes")
- private static void acceptTweet(List<String> openEJBStatusIDs,
- Map keyValue, String tweet) {
- logger.info("Adding Tweet:" + tweet);
- Number tweetId = (Number) keyValue.get("id");
- openEJBStatusIDs.add(tweetId.toString());
- }
-
- @SuppressWarnings("rawtypes")
- private static void logWhyTweetWasRejected(Map keyValue, String tweet) {
- logger.debug("IsOpenEJBTweet?:" + isOpenEJBTweet(tweet));
- logger.debug("Was it retweeted before:" + isRetweeted(keyValue));
- logger.info("Tweet Not Considered:" + keyValue.get("text"));
- }
-
- @SuppressWarnings("rawtypes")
- private static boolean isOlderThanAnHour(Map keyValue) {
- String dateAsString =(String) keyValue.get("created_at");
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.HOUR_OF_DAY, -1);
+
+ static SimpleDateFormat dateFormat = new SimpleDateFormat(TWITTER_DATE_FORMAT, TWITTER_LOCALE);
+ private static Logger logger = Logger.getLogger(OpenEJBMessageFilterUtil.class);
+
+ @SuppressWarnings("rawtypes")
+ public static List<String> getNonRetweetedOpenEJBStatusIDs(
+ List<Map> keyValuePairs) {
+
+ List<String> openEJBStatusIDs = new ArrayList<String>();
+
+ for (Object keyValuePair : keyValuePairs) {
+ Map keyValue = (Map) keyValuePair;
+ if (keyValue.containsKey("text")) {
+ acceptOrRejectTweets(openEJBStatusIDs, keyValue);
+ }
+ }
+
+ return openEJBStatusIDs;
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static void acceptOrRejectTweets(List<String> openEJBStatusIDs,
+ Map keyValue) {
+ String tweet = (String) keyValue.get("text");
+ if (!isOlderThanAnHour(keyValue) & isOpenEJBTweet(tweet) & !isRetweeted(keyValue)) {
+ acceptTweet(openEJBStatusIDs, keyValue, tweet);
+ } else {
+ logWhyTweetWasRejected(keyValue, tweet);
+ }
+ }
+
+
+ @SuppressWarnings("rawtypes")
+ private static void acceptTweet(List<String> openEJBStatusIDs,
+ Map keyValue, String tweet) {
+ logger.info("Adding Tweet:" + tweet);
+ Number tweetId = (Number) keyValue.get("id");
+ openEJBStatusIDs.add(tweetId.toString());
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static void logWhyTweetWasRejected(Map keyValue, String tweet) {
+ logger.debug("IsOpenEJBTweet?:" + isOpenEJBTweet(tweet));
+ logger.debug("Was it retweeted before:" + isRetweeted(keyValue));
+ logger.info("Tweet Not Considered:" + keyValue.get("text"));
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static boolean isOlderThanAnHour(Map keyValue) {
+ String dateAsString = (String) keyValue.get("created_at");
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.HOUR_OF_DAY, -1);
Date tweetDate;
- try {
- tweetDate = dateFormat.parse(dateAsString);
- } catch (ParseException e) {
+ try {
+ tweetDate = dateFormat.parse(dateAsString);
+ } catch (ParseException e) {
logger.error("can't parse date " + dateAsString, e);
return false;
}
- logger.debug("Older than an hour?: "+ tweetDate.before(calendar.getTime()));
+ logger.debug("Older than an hour?: " + tweetDate.before(calendar.getTime()));
return tweetDate.before(calendar.getTime());
- }
+ }
- @SuppressWarnings("rawtypes")
+ @SuppressWarnings("rawtypes")
private static boolean isRetweeted(Map keyValue) {
-
- Integer retweetCount;
- try {
- retweetCount = getRetweetCount(keyValue, null);
- } catch (NumberFormatException ignoredException) {
- //Sometimes retweet-count returned by twitter is "100+" A non Number.
- //Ignoring such exception
- logger.debug("Skipping this status...");
- return true;
- }
-
- return retweetCount > 0;
- }
-
- @SuppressWarnings("rawtypes")
- private static Integer getRetweetCount(Map keyValue, Integer retweetCount) {
- if(keyValue.get("retweet_count") instanceof String) {
- retweetCount = new Integer((String)keyValue.get("retweet_count"));
- }
- else if(keyValue.get("retweet_count") instanceof Integer) {
- retweetCount =(Integer)keyValue.get("retweet_count");
- }
- return retweetCount;
- }
-
-
- /*
- * tweet.contains(string) can't help since mentions can end with period, like "#openejb."
- */
+
+ Integer retweetCount;
+ try {
+ retweetCount = getRetweetCount(keyValue, null);
+ } catch (NumberFormatException ignoredException) {
+ //Sometimes retweet-count returned by twitter is "100+" A non Number.
+ //Ignoring such exception
+ logger.debug("Skipping this status...");
+ return true;
+ }
+
+ return retweetCount > 0;
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static Integer getRetweetCount(Map keyValue, Integer retweetCount) {
+ if (keyValue.get("retweet_count") instanceof String) {
+ retweetCount = new Integer((String) keyValue.get("retweet_count"));
+ } else if (keyValue.get("retweet_count") instanceof Integer) {
+ retweetCount = (Integer) keyValue.get("retweet_count");
+ }
+ return retweetCount;
+ }
+
+
+ /*
+ * tweet.contains(string) can't help since mentions can end with period, like "#openejb."
+ */
private static boolean isOpenEJBTweet(String tweet) {
String[] words = tweet.split(" ");
List<String> wordsAsList = Arrays.asList(words);
@@ -130,7 +130,8 @@ public class OpenEJBMessageFilterUtil im
if (isOpenEJBMentioned(word)) {
String mentionName = word.trim().substring(1, 8);
if (mentionName.equalsIgnoreCase("openejb")) {
- return true;}
+ return true;
+ }
}
}
return false;
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/Retweet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/Retweet.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/Retweet.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/Retweet.java Sat Jul 23 07:59:58 2011
@@ -16,10 +16,6 @@
*/
package org.apache.openejb.tools.twitter;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Properties;
-import java.util.Set;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.exception.OAuthCommunicationException;
@@ -33,6 +29,11 @@ import org.apache.http.impl.client.Defau
import org.apache.log4j.Logger;
import org.apache.openejb.tools.twitter.util.RetweetAppUtil;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Properties;
+import java.util.Set;
+
/**
* We should monitor this feed http://twitter.com/#!/OpenEJB/contributors
* and retweet anything that mentions OpenEJB
@@ -63,7 +64,7 @@ public class Retweet {
public static void main(String[] args) {
- Set<String> nonRetweetedOpenEJBStatusIDs = UserStatusRetriever.getAllContributorsOpenEJBStatuses();
+ Set<String> nonRetweetedOpenEJBStatusIDs = UserStatusRetriever.getAllContributorsOpenEJBStatuses();
logger.info("About to retweet:" + nonRetweetedOpenEJBStatusIDs);
retweetIfNotEmpty(nonRetweetedOpenEJBStatusIDs);
@@ -108,7 +109,7 @@ public class Retweet {
}
public static HttpResponse retweet(String statusIDToRetweet) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException {
- HttpPost httpPost = new HttpPost(RetweetAppConstants.RETWEET_URL+statusIDToRetweet+".json");
+ HttpPost httpPost = new HttpPost(RetweetAppConstants.RETWEET_URL + statusIDToRetweet + ".json");
initConsumer();
consumer.sign(httpPost);
HttpResponse response = null;
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/RetweetAppConstants.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/RetweetAppConstants.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/RetweetAppConstants.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/RetweetAppConstants.java Sat Jul 23 07:59:58 2011
@@ -20,8 +20,8 @@ import java.util.Locale;
public interface RetweetAppConstants {
- static final String TWITTER_DATE_FORMAT="EEE MMM d H:m:s Z y";
- static final Locale TWITTER_LOCALE = Locale.ENGLISH;
- static final String USER_TIMELINE_STATUS_URL="http://api.twitter.com/1/statuses/user_timeline.json?include_rts=true&count=20&screen_name=";
- static final String RETWEET_URL="http://api.twitter.com/1/statuses/retweet/";
+ static final String TWITTER_DATE_FORMAT = "EEE MMM d H:m:s Z y";
+ static final Locale TWITTER_LOCALE = Locale.ENGLISH;
+ static final String USER_TIMELINE_STATUS_URL = "http://api.twitter.com/1/statuses/user_timeline.json?include_rts=true&count=20&screen_name=";
+ static final String RETWEET_URL = "http://api.twitter.com/1/statuses/retweet/";
}
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/ScreenNamesRetriever.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/ScreenNamesRetriever.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/ScreenNamesRetriever.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/ScreenNamesRetriever.java Sat Jul 23 07:59:58 2011
@@ -16,12 +16,6 @@
*/
package org.apache.openejb.tools.twitter;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
@@ -32,81 +26,84 @@ import org.apache.http.client.methods.Ht
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.log4j.Logger;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
public class ScreenNamesRetriever {
-
- private static Logger logger = Logger.getLogger(ScreenNamesRetriever.class);
-
- public static void main(String[] args) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException {
- getContributorsNames();
- }
-
- public static List<String> getContributorsNames()
- {
- List<String> contributorsScreenNames = null;
- try {
- contributorsScreenNames = getContributorsScreenNames();
- } catch (OAuthMessageSignerException e) {
- e.printStackTrace();
- } catch (OAuthExpectationFailedException e) {
- e.printStackTrace();
- } catch (OAuthCommunicationException e) {
- e.printStackTrace();
- } catch (ClientProtocolException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return contributorsScreenNames;
- }
-
- @SuppressWarnings("rawtypes")
- private static List<String> getContributorsScreenNames()
- throws OAuthMessageSignerException,
- OAuthExpectationFailedException, OAuthCommunicationException,
- IOException, ClientProtocolException {
- HttpResponse response = getContribListMembersResponse();
- String responseBody = JsonResponseParser.getResponseBody(response);
- StringReader reader= new StringReader(responseBody);
- Map mapFromJson = JsonResponseParser.getMapFromJson(reader);
- logger.debug("MAP:"+mapFromJson);
- List listFromJson=(List) mapFromJson.get("users");
- return getScreenNamesAlone(listFromJson);
- }
-
- @SuppressWarnings("rawtypes")
- private static List<String> getScreenNamesAlone(List listFromJson)
- {
- List<String> contribMembersList = new ArrayList<String>();
- for(Object object:listFromJson)
- {
- LinkedHashMap map = (LinkedHashMap)object;
- contribMembersList.add((String)map.get("screen_name"));
- }
- return contribMembersList;
- }
-
-
- private static HttpResponse getContribListMembersResponse()
- throws OAuthMessageSignerException,
- OAuthExpectationFailedException, OAuthCommunicationException,
- IOException, ClientProtocolException {
- HttpClient client = new DefaultHttpClient();
- HttpGet httpGet = getRequestForContribListMembers();
- Retweet.initConsumer();
- Retweet.consumer.sign(httpGet);
- HttpResponse response = client.execute(getRequestForContribListMembers());
- return response;
- }
-
- public static HttpGet getRequestForContribListMembers()
- {
- String listName="contributors";
- String ownerScreenName="OpenEJB";
- HttpGet httpGet = new HttpGet("http://api.twitter.com/1/lists/members.json?slug="+listName
- +"&owner_screen_name="+ownerScreenName);
- return httpGet;
-
- }
+
+ private static Logger logger = Logger.getLogger(ScreenNamesRetriever.class);
+
+ public static void main(String[] args) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException {
+ getContributorsNames();
+ }
+
+ public static List<String> getContributorsNames() {
+ List<String> contributorsScreenNames = null;
+ try {
+ contributorsScreenNames = getContributorsScreenNames();
+ } catch (OAuthMessageSignerException e) {
+ e.printStackTrace();
+ } catch (OAuthExpectationFailedException e) {
+ e.printStackTrace();
+ } catch (OAuthCommunicationException e) {
+ e.printStackTrace();
+ } catch (ClientProtocolException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return contributorsScreenNames;
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static List<String> getContributorsScreenNames()
+ throws OAuthMessageSignerException,
+ OAuthExpectationFailedException, OAuthCommunicationException,
+ IOException, ClientProtocolException {
+ HttpResponse response = getContribListMembersResponse();
+ String responseBody = JsonResponseParser.getResponseBody(response);
+ StringReader reader = new StringReader(responseBody);
+ Map mapFromJson = JsonResponseParser.getMapFromJson(reader);
+ logger.debug("MAP:" + mapFromJson);
+ List listFromJson = (List) mapFromJson.get("users");
+ return getScreenNamesAlone(listFromJson);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static List<String> getScreenNamesAlone(List listFromJson) {
+ List<String> contribMembersList = new ArrayList<String>();
+ for (Object object : listFromJson) {
+ LinkedHashMap map = (LinkedHashMap) object;
+ contribMembersList.add((String) map.get("screen_name"));
+ }
+ return contribMembersList;
+ }
+
+
+ private static HttpResponse getContribListMembersResponse()
+ throws OAuthMessageSignerException,
+ OAuthExpectationFailedException, OAuthCommunicationException,
+ IOException, ClientProtocolException {
+ HttpClient client = new DefaultHttpClient();
+ HttpGet httpGet = getRequestForContribListMembers();
+ Retweet.initConsumer();
+ Retweet.consumer.sign(httpGet);
+ HttpResponse response = client.execute(getRequestForContribListMembers());
+ return response;
+ }
+
+ public static HttpGet getRequestForContribListMembers() {
+ String listName = "contributors";
+ String ownerScreenName = "OpenEJB";
+ HttpGet httpGet = new HttpGet("http://api.twitter.com/1/lists/members.json?slug=" + listName
+ + "&owner_screen_name=" + ownerScreenName);
+ return httpGet;
+
+ }
}
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/UserStatusRetriever.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/UserStatusRetriever.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/UserStatusRetriever.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/UserStatusRetriever.java Sat Jul 23 07:59:58 2011
@@ -16,27 +16,26 @@
*/
package org.apache.openejb.tools.twitter;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.HttpGet;
+
import java.io.IOException;
import java.io.StringReader;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.methods.HttpGet;
public class UserStatusRetriever {
-
- public static HttpGet getHttpRequestToRetrieveUserStatuses(String screenName)
- {
-
- HttpGet requestForUserStatus=new HttpGet(RetweetAppConstants.USER_TIMELINE_STATUS_URL+screenName);
- return requestForUserStatus;
- }
-
- public static HttpResponse getUserStatusResponse(HttpGet userStatusRequest)
- {
+
+ public static HttpGet getHttpRequestToRetrieveUserStatuses(String screenName) {
+
+ HttpGet requestForUserStatus = new HttpGet(RetweetAppConstants.USER_TIMELINE_STATUS_URL + screenName);
+ return requestForUserStatus;
+ }
+
+ public static HttpResponse getUserStatusResponse(HttpGet userStatusRequest) {
HttpResponse response = null;
try {
response = Retweet.getHttpClient().execute(userStatusRequest);
@@ -45,31 +44,28 @@ public class UserStatusRetriever {
} catch (IOException e) {
e.printStackTrace();
}
-
+
return response;
-
- }
-
- @SuppressWarnings("rawtypes")
- public static List<String> getUserOpenEJBStatus(String screenName)
- {
- HttpResponse userStatusResponse = getUserStatusResponse(getHttpRequestToRetrieveUserStatuses(screenName));
- String responseBody = JsonResponseParser.getResponseBody(userStatusResponse);
- StringReader dataToParse = new StringReader(responseBody);
- List<Map> listFromJson = JsonResponseParser.getListFromJson(dataToParse);
- List<String> nonRetweetedOpenEJBStatusIDs = OpenEJBMessageFilterUtil.getNonRetweetedOpenEJBStatusIDs(listFromJson);
- return nonRetweetedOpenEJBStatusIDs;
- }
-
- public static Set<String> getAllContributorsOpenEJBStatuses()
- {
- List<String> contributorsNames = ScreenNamesRetriever.getContributorsNames();
- Set<String> openEJBStatuses = new HashSet<String>();
- for(String screenName : contributorsNames)
- {
- openEJBStatuses.addAll(getUserOpenEJBStatus(screenName));
- }
- return openEJBStatuses;
- }
+
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static List<String> getUserOpenEJBStatus(String screenName) {
+ HttpResponse userStatusResponse = getUserStatusResponse(getHttpRequestToRetrieveUserStatuses(screenName));
+ String responseBody = JsonResponseParser.getResponseBody(userStatusResponse);
+ StringReader dataToParse = new StringReader(responseBody);
+ List<Map> listFromJson = JsonResponseParser.getListFromJson(dataToParse);
+ List<String> nonRetweetedOpenEJBStatusIDs = OpenEJBMessageFilterUtil.getNonRetweetedOpenEJBStatusIDs(listFromJson);
+ return nonRetweetedOpenEJBStatusIDs;
+ }
+
+ public static Set<String> getAllContributorsOpenEJBStatuses() {
+ List<String> contributorsNames = ScreenNamesRetriever.getContributorsNames();
+ Set<String> openEJBStatuses = new HashSet<String>();
+ for (String screenName : contributorsNames) {
+ openEJBStatuses.addAll(getUserOpenEJBStatus(screenName));
+ }
+ return openEJBStatuses;
+ }
}
Modified: openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/util/RetweetAppUtil.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/util/RetweetAppUtil.java?rev=1150062&r1=1150061&r2=1150062&view=diff
==============================================================================
--- openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/util/RetweetAppUtil.java (original)
+++ openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/twitter/util/RetweetAppUtil.java Sat Jul 23 07:59:58 2011
@@ -16,20 +16,22 @@
*/
package org.apache.openejb.tools.twitter.util;
+import org.apache.log4j.Logger;
+import org.springframework.core.io.ClassPathResource;
+
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
-import org.apache.log4j.Logger;
-import org.springframework.core.io.ClassPathResource;
public class RetweetAppUtil {
- private static Logger logger = Logger.getLogger(RetweetAppUtil.class);
+ private static Logger logger = Logger.getLogger(RetweetAppUtil.class);
+
public static Properties getTwitterAppProperties() {
- Properties retweetAppProperties = new Properties();
- try {
- ClassPathResource retweetToolPropertiesFile = new ClassPathResource(
+ Properties retweetAppProperties = new Properties();
+ try {
+ ClassPathResource retweetToolPropertiesFile = new ClassPathResource(
"RetweetTool.properties");
retweetAppProperties.load(retweetToolPropertiesFile
.getInputStream());