public TweetSlideEvent(String slide, Tweet tweet) { this.slide = slide.replace(" ", "_"); this.createdAt = tweet.getCreatedAt().toString(); this.id = tweet.getId(); this.userId = tweet.getUserId(); this.text = tweet.getText().replaceAll("\\s+", " "); }
/** creates marker for tweet and its to map */ private void addTweet(Tweet t) { if (t.getText() == null) { // ignore tweets without text return; } GeoCoordinate gc = t.getUserCoordinate(); boolean addTweet = true; cleanOldest(); if (map.getZoomLevel() > 0) { GeoBoundingBox gbb = new GeoBoundingBox( map.pixelToGeo(new Point(0, 0)), map.pixelToGeo(new Point(map.getWidth(), map.getHeight()))); addTweet = gbb.contains(gc); } if (addTweet) { MapStandardMarker msm = mapFactory.createStandardMarker(gc, 100, "", MapStandardMarker.BALLOON); msm.setColor(MARKER_COLOR); map.addMapObject(msm); addedTweets.addData(msm, t); tweetAge.put(msm, new Long(t.getCreatedTime())); repaint(); } }
/** Shows current tweet dialog and downloads user image */ private void showTweet() { String text = current_tweet.getText(); if (text != null) { String from = current_tweet.getFromUser(); Alert a = new Alert("" + from, text, null, AlertType.INFO); a.setTimeout(Alert.FOREVER); display.setCurrent(a, this); String url = current_tweet.getProfileImageUrl(); if (url != null) { // download and set user image to visible alert Image img; InputStream is = null; try { is = Connector.openInputStream(url); img = Image.createImage(is); a.setImage(img); } catch (Throwable t) { // do not show errors if image // download fails } finally { try { if (is != null) { is.close(); } } catch (Throwable e) { } } } } }
public List<Map<String, Object>> getTwitter(String url, Context context) { ArrayList<Map<String, String>> json = this.JSON(url, context); List<Map<String, Object>> tweets = new ArrayList<Map<String, Object>>(); Map<String, Object> data; if (json.get(0).get("internet").equals("true")) { for (int i = 0; i < json.size(); i++) { try { data = new HashMap<String, Object>(); Log.i("JSON Lista Recebida", i + " -> " + json.get(i).toString()); Tweet tweet = new Tweet( json.get(i).get("texto"), json.get(i).get("autor"), json.get(i).get("imagem"), json.get(i).get("date")); data.put("internet", true); data.put("text", tweet.getText()); data.put("author", tweet.getAuthor()); data.put("image", tweet.getImage()); data.put("datetime", tweet.getDate()); tweets.add(data); } catch (Exception e) { Log.e("JSON - Tweets", e.getMessage() + " " + e.getStackTrace()); } } } else { data = new HashMap<String, Object>(); data.put("internet", false); tweets.add(data); } return tweets; }
public void grab(Date timeLimit) { log.info("Twitter grabber started..."); Twitter twitter = new TwitterFactory().getInstance(); List<Brand> brandList = handler.getBrandProvider().getAllBrands(); ArticleProvider articleProvider = handler.getArticleProvider(); for (Brand b : brandList) { Query query = new Query(b.getName()); query.setRpp(PAGE_SIZE); query.setLang("ru"); query.setResultType(Query.MIXED); List<Tweet> resultTweets = new LinkedList<Tweet>(); QueryResult queryResult; int pageNumber = 1; try { do { query.setPage(pageNumber); queryResult = twitter.search(query); resultTweets.addAll(queryResult.getTweets()); pageNumber++; log.info(pageNumber); } while (ISSUANCE_SIZE > resultTweets.size()); } catch (TwitterException e) { throw new RuntimeException(e); } log.info("tweets in da111y: " + resultTweets.size()); twitter = null; twitter = new TwitterFactory().getInstance(); for (Tweet t : resultTweets) { articleProvider.writeArticleToDataStore( new Article(-1, b.getId(), 2, "", t.getText(), "", getSimpleTime(t.getCreatedAt()), 1)); } } log.info("twitter grabber finished succesful."); }