/** * It returns MAX(available_tweets,200,limit) tweets from the search of the specified query. In * case of error, returns null. */ public QueryResult searchTweets(String queryTerm, int limit) { try { Query query = new Query(queryTerm); query.setCount(limit); QueryResult result = twitter.search(query); LoggerClass.log( Level.INFO, "OK. Searching tweets for term " + queryTerm + " and limit " + limit + ". " + result.getCount() + " results."); return result; } catch (Exception ex) { LoggerClass.log( Level.SEVERE, "ERROR searching tweets for term " + queryTerm + " and limit " + limit + "."); System.err.println("[ERROR] Can't search tweets"); ex.printStackTrace(); return null; } }
/* * Favorites the specified tweet, returning true in case of success. * If error, returns false. */ public boolean doFav(Status tweet) { try { twitter.createFavorite(tweet.getId()); return true; } catch (Exception ex) { System.err.println("[ERROR] Can't favorite " + tweet.getId()); ex.printStackTrace(); return false; } }
/* * Follows the specified user, returning true in case of success. * If error, returns false. */ public boolean doFollow(long user) { try { twitter.friendsFollowers().createFriendship(user); return true; } catch (Exception ex) { System.err.println("[ERROR] Can't follow " + user); ex.printStackTrace(); return false; } }
/* * Re-tweets the specified tweet, returning true in case of success. * If error, returns false. */ public boolean doRT(Status tweet) { try { twitter.retweetStatus(tweet.getId()); return true; } catch (Exception ex) { System.err.println("[ERROR] Can't retweet " + tweet.getId()); ex.printStackTrace(); return false; } }
/** * Returns a list of id of the users the configured account follows. Returns null in case of * error. */ public ArrayList<Long> getFollowing() { ArrayList<Long> following = new ArrayList<Long>(); try { long lCursor = -1; IDs friendsIDs = twitter.getFriendsIDs(twitter.getId(), lCursor); do { for (long i : friendsIDs.getIDs()) { following.add(i); } } while (friendsIDs.hasNext()); return following; } catch (Exception ex) { System.err.println("[ERROR] Can't get following users."); ex.printStackTrace(); return null; } }
// loadArray Method loads a file into an array and returns the array ArrayList<String> loadArray(String thefile) { // System.out.println("Load array"); ArrayList<String> myarray = new ArrayList<String>(); try { BufferedReader an = new BufferedReader(new FileReader(thefile)); String line; while ((line = an.readLine()) != null) { myarray.add(line); } an.close(); } catch (Exception e) { e.printStackTrace(); } ; return myarray; }
public static void main(String[] args) { try { meet myobj = new meet(); // load jsiconfig.txt ArrayList<String> myconfiglist = new ArrayList<String>(); myconfiglist = myobj.loadArray("jsiconfig.txt"); // The text uri // "mongodb://*****:*****@ds023288.mongolab.com:23288/sample"; String textUri = myconfiglist.get(0); // Create MongoClientURI object from which you get MongoClient obj MongoClientURI uri = new MongoClientURI(textUri); // Connect to that uri MongoClient m = new MongoClient(uri); // get the database named sample String DBname = myconfiglist.get(1); DB d = m.getDB(DBname); // get the collection mycollection in sample String collectionName = myconfiglist.get(2); DBCollection collection = d.getCollection(collectionName); // System.out.println("Config: "+textUri+":"+DBname+":"+collectionName); // twitter4j // Twitter twitter = new TwitterFactory().getInstance(); Twitter twitter = new TwitterFactory().getSingleton(); User user = twitter.verifyCredentials(); // Twitter collection of latest tweets into the home account - defaulted to latest 20 tweets// ////////////////////////////////////////////////////////////// ArrayList<String> mylatesttweetslist = new ArrayList<String>(); // get list of tweets from a user or the next tweet listed try { long actid = 0; // twitter.createFriendship(actid); // The factory instance is re-useable and thread safe. // Twitter twitter = TwitterFactory.getSingleton(); List<Status> statuses = twitter.getHomeTimeline(); System.out.println("Showing home timeline."); for (Status status : statuses) { // System.out.println(status.getUser().getName() + ":" +status.getText()); // Addes timeline to an array String mytweets = status.getUser().getName() + ":" + status.getText(); mylatesttweetslist.add(mytweets); } ; } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); System.exit(-1); } // MongoDB Insert Below // ////////////////////////// // System Date Date sd = new Date(); String sysdate = sd.toString(); // Toggle the below to display and insert the transactions as required boolean showtrans = true; boolean inserttrans = true; // checkArray - loads args to a text string to allow the contains function String checkString = ""; for (int ck = 0; ck < args.length; ck++) { checkString = checkString + args[ck]; } ; // display transactions flag on runnning jsimongo eg: java jsimongo -d will NOT display // transactions // insert transactions flag on runnning jsimongo eg: java jsimongo -i will NOT insert // transactions if (args.length > 0) { if (checkString.contains("-d")) showtrans = false; if (checkString.contains("-i")) inserttrans = false; } ; int x = 0; for (String atweet : mylatesttweetslist) { x++; // Display tweets to console if (showtrans == true) { System.out.println("tweet : " + atweet); System.out.println("Created_DateTime : " + sysdate); // was sysdate } ; // Insert JSON into MongoDB if (inserttrans == true) { BasicDBObject b = new BasicDBObject(); System.out.println("tweet : " + atweet); System.out.println("Created_DateTime : " + sysdate); // was sysdate // Insert the JSON object into the chosen collection collection.insert(b); } ; Thread.sleep(1); } ; System.out.println("End, the number of tweets inserted at this time was: " + x); } catch (Exception e) { e.printStackTrace(); } }
public void dumpError(Exception exc) { exc.printStackTrace(System.err); }