private Tweet getTweetObjectFromStatus(Status status) { Tweet tweet = new Tweet(); tweet.setId(Long.toString(status.getId())); tweet.setText(status.getText()); tweet.setCreatedAt(status.getCreatedAt()); tweet.setFavCount(status.getFavoriteCount()); User user = status.getUser(); tweet.setUserId(user.getId()); tweet.setUserName(user.getName()); tweet.setUserScreenName(user.getScreenName()); HashtagEntity[] hashtagEntities = status.getHashtagEntities(); List<String> hashtags = new ArrayList<String>(); for (HashtagEntity hashtagEntity : hashtagEntities) { hashtags.add(hashtagEntity.getText()); } tweet.setHashTags(hashtags.toArray(new String[hashtags.size()])); GeoLocation geoLocation = status.getGeoLocation(); if (geoLocation != null) { double[] coordinates = {geoLocation.getLongitude(), geoLocation.getLatitude()}; tweet.setCoordinates(coordinates); } return tweet; }
public void testRetweetStatusAsJSON() throws Exception { // single Status HttpClientImpl http = new HttpClientImpl(); Status status = new StatusJSONImpl( http.get("http://twitter4j.org/en/testcases/statuses/retweet/6010814202.json"), conf); Assert.assertEquals(new Date(1259078050000l), status.getCreatedAt()); Assert.assertEquals(6011259778l, status.getId()); Assert.assertEquals(null, status.getInReplyToScreenName()); Assert.assertEquals(-1l, status.getInReplyToStatusId()); Assert.assertEquals(-1, status.getInReplyToUserId()); Assert.assertNull(status.getGeoLocation()); Assert.assertEquals( "<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>", status.getSource()); Assert.assertEquals( "RT @yusukey: この前取材受けた奴 -> 次世代のシステム環境を見据えたアプリケーションサーバー製品の選択 ITpro: http://special.nikkeibp.co.jp/ts/article/0iaa/104388/", status.getText()); Assert.assertEquals(6358482, status.getUser().getId()); Assert.assertTrue(status.isRetweet()); assertDeserializedFormIsEqual(status); }
public void testStatusAsJSON() throws Exception { // single Status HttpClientImpl http = new HttpClientImpl(); List<Status> statuses = StatusJSONImpl.createStatusList( http.get("http://twitter4j.org/en/testcases/statuses/public_timeline.json"), conf); Status status = statuses.get(0); Assert.assertEquals(new Date(1259041785000l), status.getCreatedAt()); Assert.assertEquals(6000554383l, status.getId()); Assert.assertEquals("G_Shock22", status.getInReplyToScreenName()); Assert.assertEquals(6000444309l, status.getInReplyToStatusId()); Assert.assertEquals(20159829, status.getInReplyToUserId()); Assert.assertNull(status.getGeoLocation()); Assert.assertEquals("web", status.getSource()); Assert.assertEquals( "@G_Shock22 I smelled a roast session coming when yu said that shyt about @2koolNicia lol....", status.getText()); Assert.assertEquals(23459577, status.getUser().getId()); Assert.assertFalse(status.isRetweet()); assertDeserializedFormIsEqual(statuses); }
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(); } }