List of usage examples for twitter4j Status getMediaEntities
MediaEntity[] getMediaEntities();
From source file:com.learnncode.twitter.TweetViewHolder.java
License:Apache License
public void populateView(final Context context, final Status status) { mContext = context;/*from w ww.j a v a2 s.c o m*/ if (status.getUser().getId() != AppSettings.getTwitterUserId(mContext)) { retweetTextView.setEnabled(true); } else { retweetTextView.setEnabled(false); } retweetTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.retweet_action_selector, 0); aQuery = new AQuery(mContext); aQuery.id(userProfileImageView).image(status.getUser().getBiggerProfileImageURL(), true, true, userProfileImageView.getWidth(), 0, null, 0); userNameTextView.setText(status.getUser().getName()); twitterHandlerTextView.setText("@" + status.getUser().getScreenName()); setMessage(mContext, tweetTextView, status.getText()); favoriteTextView.setText(" " + status.getFavoriteCount()); retweetTextView.setText(" " + status.getRetweetCount()); timeTextView.setText(AppUtilities.getConvertDate(status.getCreatedAt().toString())); twitter4j.MediaEntity[] entity = status.getMediaEntities(); int count = entity.length; if (count > 0) { imageContainer.setVisibility(View.VISIBLE); imageWithTweet.setVisibility(View.VISIBLE); for (int i = 0; i < count; i++) { mImageLink = entity[i].getMediaURL(); aQuery.id(imageWithTweet).image(entity[i].getMediaURL(), true, true, userProfileImageView.getWidth(), 0, null, 0); } } else { imageContainer.setVisibility(View.GONE); imageWithTweet.setVisibility(View.GONE); } imageWithTweet.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, UIImagePreview.class); intent.putExtra("url", mImageLink); context.startActivity(intent); } }); }
From source file:com.mycompany.omnomtweets.Search.java
public static boolean writeToStdErr(Status tweet) { //System.out.println("Writing " + tweets.size() + " tweets"); boolean success = true; if (tweet != null) { String tweetText;// w w w . j a v a 2s . co m String idOfRetweetee = ""; if (tweet.getRetweetedStatus() != null) { tweetText = "RT " + tweet.getRetweetedStatus().getText(); idOfRetweetee = "" + tweet.getRetweetedStatus().getUser().getScreenName(); //System.out.println("retweeted" + tweetText); } else { tweetText = tweet.getText(); } String urlText = ""; if (tweet.getURLEntities().length > 0) { for (URLEntity url : tweet.getURLEntities()) { if (url.getExpandedURL() != null) { urlText += url.getExpandedURL() + " "; tweetText = tweetText.replace(url.getURL(), url.getExpandedURL()); //System.out.println("Expanded URL " + url.getExpandedURL()); } else { urlText += url.getURL() + " "; //System.out.println("URL " + url.getURL()); } } } if (tweet.getMediaEntities().length > 0) { for (MediaEntity media : tweet.getMediaEntities()) { if (media.getExpandedURL() != null) { urlText += media.getExpandedURL() + " "; tweetText = tweetText.replace(media.getMediaURL(), media.getExpandedURL()); //System.out.println("Expanded URL " + media.getExpandedURL()); } else { urlText += media.getMediaURL() + " "; //System.out.println("URL " + media.getMediaURL()); } } } String encodedText = tweetText.replaceAll("\"", "\"\""); encodedText = encodedText.replaceAll("\\s", " "); String writeMe = "\"" + encodedText + "\"," + urlText + "," + tweet.getUser().getId() + "," + tweet.getId() + "," + candidate.name + "," + sdf.format(tweet.getCreatedAt()) + "," + idOfRetweetee + "\n"; System.err.print(writeMe); //writeTweets.write(writeMe); } return success; }
From source file:com.mycompany.omnomtweets.Search.java
/** * Method to write the tweets to file, base 64 encoded tweet text. * @param tweets the tweets to be written * @param filename the file to write the tweets into * @return true unless something bad happens *//* w w w . j av a2s .co m*/ public static boolean writeTweetsToFile(List<Status> tweets, String filename) { //System.out.println("Writing " + tweets.size() + " tweets"); boolean success = true; try { FileWriter addTweets = new FileWriter(new File(filename), true); if (tweets != null && tweets.size() > 0) { for (Status tweet : tweets) { String tweetText; String idOfRetweetee = ""; if (tweet.getRetweetedStatus() != null) { tweetText = "RT " + tweet.getRetweetedStatus().getText(); idOfRetweetee = "" + tweet.getRetweetedStatus().getUser().getScreenName(); //System.out.println("retweeted" + tweetText); } else { tweetText = tweet.getText(); } String urlText = ""; if (tweet.getURLEntities().length > 0) { for (URLEntity url : tweet.getURLEntities()) { if (url.getExpandedURL() != null) { urlText += url.getExpandedURL() + " "; tweetText = tweetText.replace(url.getURL(), url.getExpandedURL()); //System.out.println("Expanded URL " + url.getExpandedURL()); } else { urlText += url.getURL() + " "; //System.out.println("URL " + url.getURL()); } } } if (tweet.getMediaEntities().length > 0) { for (MediaEntity media : tweet.getMediaEntities()) { if (media.getExpandedURL() != null) { urlText += media.getExpandedURL() + " "; tweetText = tweetText.replace(media.getMediaURL(), media.getExpandedURL()); //System.out.println("Expanded URL " + media.getExpandedURL()); } else { urlText += media.getMediaURL() + " "; //System.out.println("URL " + media.getMediaURL()); } } } String encodedText = tweetText.replaceAll("\"", "\"\""); encodedText = encodedText.replaceAll("\n", " "); String writeMe = "\"" + encodedText + "\"," + urlText + "," + tweet.getUser().getId() + "," + tweet.getId() + "," + candidate.name + "," + tweet.getCreatedAt() + "," + idOfRetweetee + "\n"; //System.out.println(writeMe); addTweets.write(writeMe); } } addTweets.close(); } catch (IOException ex) { //System.out.println("Something broke lol"); success = false; } return success; }
From source file:com.mycompany.omnomtweets.TweetsAboutCandidates.java
/** * Method to write the tweets to file, base 64 encoded tweet text. * @param tweets the tweets to be written * @param filename the file to write the tweets into * @return true unless something bad happens *//*from w ww.j a v a 2 s . c o m*/ public boolean writeTweetsToFile(List<Status> tweets, String filename) { //System.out.println("Writing " + tweets.size() + " tweets"); boolean success = true; try { FileWriter addTweets = new FileWriter(new File(filename), true); if (tweets != null && tweets.size() > 0) { for (Status tweet : tweets) { String tweetText; String idOfRetweetee = ""; if (tweet.getRetweetedStatus() != null) { tweetText = "RT " + tweet.getRetweetedStatus().getText(); idOfRetweetee = "" + tweet.getRetweetedStatus().getUser().getScreenName(); //System.out.println("retweeted" + tweetText); } else { tweetText = tweet.getText(); } String urlText = ""; if (tweet.getURLEntities().length > 0) { for (URLEntity url : tweet.getURLEntities()) { if (url.getExpandedURL() != null) { urlText += url.getExpandedURL() + " "; //System.out.println("Expanded URL " + url.getExpandedURL()); } else { urlText += url.getURL() + " "; //System.out.println("URL " + url.getURL()); } } } if (tweet.getMediaEntities().length > 0) { for (MediaEntity media : tweet.getMediaEntities()) { if (media.getExpandedURL() != null) { urlText += media.getExpandedURL() + " "; //System.out.println("Expanded URL " + media.getExpandedURL()); } else { urlText += media.getMediaURL() + " "; //System.out.println("URL " + media.getMediaURL()); } } } String encodedText = tweet.getText().replaceAll("\"", "\"\""); String writeMe = "\"" + encodedText + "\"," + urlText + "," + tweet.getUser().getId() + "," + tweet.getId() + "," + candidate.name + "," + tweet.getCreatedAt() + "," + idOfRetweetee + "\n"; //System.out.println(writeMe); addTweets.write(writeMe); } } addTweets.close(); } catch (IOException ex) { System.out.println("Something broke lol"); success = false; } return success; }
From source file:com.ofbizian.camelympics.MainApp.java
License:Open Source License
public static void main(String[] args) throws Exception { System.out.println("___________________Camelympics___________________"); System.out.println("Open your web browser on http://localhost:8080"); System.out.println("Press ctrl+c to stop this application"); System.out.println("__________________________________________________"); Main main = new Main(); main.enableHangupSupport();/*from www . j a va 2 s .co m*/ main.addRouteBuilder(new RouteBuilder() { @Override public void configure() throws Exception { PropertiesComponent properties = new PropertiesComponent(); properties.setLocation("classpath:app.properties"); properties.setSystemPropertiesMode(PropertiesComponent.SYSTEM_PROPERTIES_MODE_OVERRIDE); getContext().addComponent("properties", properties); ThreadPoolProfile throttlerPool = new ThreadPoolProfile("throttlerPool"); throttlerPool.setRejectedPolicy(ThreadPoolRejectedPolicy.Discard); throttlerPool.setMaxQueueSize(10); throttlerPool.setMaxPoolSize(2); throttlerPool.setPoolSize(2); getContext().getExecutorServiceManager().registerThreadPoolProfile(throttlerPool); getContext().getShutdownStrategy().setTimeout(1); from("twitter://streaming/filter?type=event&keywords={{searchTerm}}&accessToken={{accessToken}}&accessTokenSecret={{accessTokenSecret}}&consumerKey={{consumerKey}}&consumerSecret={{consumerSecret}}") .to("log:tweetStream?level=INFO&groupInterval=10000&groupDelay=50000&groupActiveOnly=false") .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { tweetCount++; Status status = exchange.getIn().getBody(Status.class); MediaEntity[] mediaEntities = status.getMediaEntities(); if (mediaEntities != null && !status.isPossiblySensitive()) { //nsfw for (MediaEntity mediaEntity : mediaEntities) { imageCount++; exchange.getIn() .setBody(new Tweet().withName(status.getUser().getScreenName()) .withText(status.getText()).withCount(tweetCount) .withImageCount(imageCount) .withTweetUrl(mediaEntity.getDisplayURL().toString()) .withImageUrl(mediaEntity.getMediaURLHttps().toString())); exchange.getIn().setHeader("UNIQUE_IMAGE_URL", mediaEntity.getMediaURL().toString()); break; //grab only the first image } } } }) .filter(body().isInstanceOf(Tweet.class)) .idempotentConsumer(header("UNIQUE_IMAGE_URL"), MemoryIdempotentRepository.memoryIdempotentRepository(10000)) .throttle(1).timePeriodMillis(500).asyncDelayed().executorServiceRef("throttlerPool") .marshal().json(JsonLibrary.Jackson).convertBodyTo(String.class) .to("websocket://0.0.0.0:8080/camelympics?sendToAll=true&staticResources=classpath:web/."); } }); main.run(); }
From source file:de.vanita5.twittnuker.util.MediaPreviewUtils.java
License:Open Source License
public static String getSupportedFirstLink(final Status status) { if (status == null) return null; final MediaEntity[] mediaEntities = status.getMediaEntities(); if (mediaEntities != null) { for (final MediaEntity mediaEntity : mediaEntities) { final String expanded = ParseUtils.parseString(mediaEntity.getMediaURLHttps()); if (getSupportedLink(expanded) != null) return expanded; }//www . jav a 2 s. co m } final URLEntity[] urlEntities = status.getURLEntities(); if (urlEntities != null) { for (final URLEntity urlEntity : urlEntities) { final String expanded = ParseUtils.parseString(urlEntity.getExpandedURL()); if (getSupportedLink(expanded) != null) return expanded; } } return null; }
From source file:dhbw.clippinggorilla.external.twitter.TwitterUtils.java
private static Article fillArticle(Status status) { Article article = new Article(); article.setTitle(status.getUser().getName()); article.setDescription(status.getText()); article.setBody(status.getText());/* w w w . j a v a2s .co m*/ article.setSource(SourceUtils.TWITTER); for (MediaEntity mediaEntity : status.getMediaEntities()) { if (!mediaEntity.getType().equals("video")) { article.setUrlToImage(mediaEntity.getMediaURL()); break; } } if (article.getUrlToImage().isEmpty()) { article.setUrlToImage(status.getUser().getBiggerProfileImageURL()); } article.setUrl("https://twitter.com/" + status.getUser().getScreenName() + "/status/" + status.getId()); article.setId(status.getId() + ""); article.setAuthor("@" + status.getUser().getScreenName()); Date date = status.getCreatedAt(); Instant instant = Instant.ofEpochMilli(date.getTime()); LocalDateTime createdAt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC); article.setPublishedAt(createdAt.toString()); return article; }
From source file:dhbw.clippinggorilla.external.twitter.TwitterUtils.java
public static void main(String[] args) { Set<String> includedTagsSet = new HashSet<>(); Set<String> excludedTagsSet = new HashSet<>(); LocalDateTime date;//www . jav a 2s . c o m includedTagsSet.add("bmw, mercedes"); includedTagsSet.add("Audi, toyota"); includedTagsSet.add("merkel"); includedTagsSet.add("dat boi, pepe"); includedTagsSet.add("dhbw"); includedTagsSet.add("VW Golf"); Query query = queryBuilder(includedTagsSet, LocalDateTime.of(2017, 5, 1, 0, 0)); QueryResult result = searchTweets(query); for (Status status : result.getTweets()) { System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText()); for (MediaEntity mediaEntity : status.getMediaEntities()) { System.out.println(mediaEntity.getType()); } System.out.println("_________________________________________________"); } }
From source file:edu.cmu.cs.lti.discoursedb.io.twitter.converter.TwitterConverterService.java
License:Open Source License
/** * Maps a Tweet represented as a Twitter4J Status object to DiscourseDB * //from w w w. j a v a 2 s. c om * @param discourseName the name of the discourse * @param datasetName the dataset identifier * @param tweet the Tweet to store in DiscourseDB */ public void mapTweet(String discourseName, String datasetName, Status tweet, PemsStationMetaData pemsMetaData) { if (tweet == null) { return; } Assert.hasText(discourseName, "The discourse name has to be specified and cannot be empty."); Assert.hasText(datasetName, "The dataset name has to be specified and cannot be empty."); if (dataSourceService.dataSourceExists(String.valueOf(tweet.getId()), TweetSourceMapping.ID_TO_CONTRIBUTION, datasetName)) { log.trace("Tweet with id " + tweet.getId() + " already exists in database. Skipping"); return; } log.trace("Mapping Tweet " + tweet.getId()); Discourse discourse = discourseService.createOrGetDiscourse(discourseName); twitter4j.User tUser = tweet.getUser(); User user = null; if (!userService.findUserByDiscourseAndUsername(discourse, tUser.getScreenName()).isPresent()) { user = userService.createOrGetUser(discourse, tUser.getScreenName()); user.setRealname(tUser.getName()); user.setEmail(tUser.getEmail()); user.setLocation(tUser.getLocation()); user.setLanguage(tUser.getLang()); user.setStartTime(tweet.getUser().getCreatedAt()); AnnotationInstance userInfo = annoService.createTypedAnnotation("twitter_user_info"); annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getFavouritesCount()), "favorites_count")); annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getFollowersCount()), "followers_count")); annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getFriendsCount()), "friends_count")); annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getStatusesCount()), "statuses_count")); annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getListedCount()), "listed_count")); if (tUser.getDescription() != null) { annoService.addFeature(userInfo, annoService.createTypedFeature(String.valueOf(tUser.getDescription()), "description")); } annoService.addAnnotation(user, userInfo); } Contribution curContrib = contributionService.createTypedContribution(ContributionTypes.TWEET); DataSourceInstance contribSource = dataSourceService.createIfNotExists(new DataSourceInstance( String.valueOf(tweet.getId()), TweetSourceMapping.ID_TO_CONTRIBUTION, datasetName)); curContrib.setStartTime(tweet.getCreatedAt()); dataSourceService.addSource(curContrib, contribSource); AnnotationInstance tweetInfo = annoService.createTypedAnnotation("twitter_tweet_info"); if (tweet.getSource() != null) { annoService.addFeature(tweetInfo, annoService.createTypedFeature(tweet.getSource(), "tweet_source")); } annoService.addFeature(tweetInfo, annoService.createTypedFeature(String.valueOf(tweet.getFavoriteCount()), "favorites_count")); if (tweet.getHashtagEntities() != null) { for (HashtagEntity hashtag : tweet.getHashtagEntities()) { annoService.addFeature(tweetInfo, annoService.createTypedFeature(hashtag.getText(), "hashtag")); } } if (tweet.getMediaEntities() != null) { for (MediaEntity media : tweet.getMediaEntities()) { //NOTE: additional info is available for MediaEntities annoService.addFeature(tweetInfo, annoService.createTypedFeature(media.getMediaURL(), "media_url")); } } //TODO this should be represented as a relation if the related tweet is part of the dataset if (tweet.getInReplyToStatusId() > 0) { annoService.addFeature(tweetInfo, annoService .createTypedFeature(String.valueOf(tweet.getInReplyToStatusId()), "in_reply_to_status_id")); } //TODO this should be represented as a relation if the related tweet is part of the dataset if (tweet.getInReplyToScreenName() != null) { annoService.addFeature(tweetInfo, annoService.createTypedFeature(tweet.getInReplyToScreenName(), "in_reply_to_screen_name")); } annoService.addAnnotation(curContrib, tweetInfo); GeoLocation geo = tweet.getGeoLocation(); if (geo != null) { AnnotationInstance coord = annoService.createTypedAnnotation("twitter_tweet_geo_location"); annoService.addFeature(coord, annoService.createTypedFeature(String.valueOf(geo.getLongitude()), "long")); annoService.addFeature(coord, annoService.createTypedFeature(String.valueOf(geo.getLatitude()), "lat")); annoService.addAnnotation(curContrib, coord); } Place place = tweet.getPlace(); if (place != null) { AnnotationInstance placeAnno = annoService.createTypedAnnotation("twitter_tweet_place"); annoService.addFeature(placeAnno, annoService.createTypedFeature(String.valueOf(place.getPlaceType()), "place_type")); if (place.getGeometryType() != null) { annoService.addFeature(placeAnno, annoService.createTypedFeature(String.valueOf(place.getGeometryType()), "geo_type")); } annoService.addFeature(placeAnno, annoService .createTypedFeature(String.valueOf(place.getBoundingBoxType()), "bounding_box_type")); annoService.addFeature(placeAnno, annoService.createTypedFeature(String.valueOf(place.getFullName()), "place_name")); if (place.getStreetAddress() != null) { annoService.addFeature(placeAnno, annoService.createTypedFeature(String.valueOf(place.getStreetAddress()), "street_address")); } annoService.addFeature(placeAnno, annoService.createTypedFeature(String.valueOf(place.getCountry()), "country")); if (place.getBoundingBoxCoordinates() != null) { annoService.addFeature(placeAnno, annoService.createTypedFeature( convertGeoLocationArray(place.getBoundingBoxCoordinates()), "bounding_box_lat_lon_array")); } if (place.getGeometryCoordinates() != null) { annoService.addFeature(placeAnno, annoService.createTypedFeature( convertGeoLocationArray(place.getGeometryCoordinates()), "geometry_lat_lon_array")); } annoService.addAnnotation(curContrib, placeAnno); } Content curContent = contentService.createContent(); curContent.setText(tweet.getText()); curContent.setAuthor(user); curContent.setStartTime(tweet.getCreatedAt()); curContrib.setCurrentRevision(curContent); curContrib.setFirstRevision(curContent); DataSourceInstance contentSource = dataSourceService.createIfNotExists(new DataSourceInstance( String.valueOf(tweet.getId()), TweetSourceMapping.ID_TO_CONTENT, datasetName)); dataSourceService.addSource(curContent, contentSource); if (pemsMetaData != null) { log.warn("PEMS station meta data mapping not implemented yet"); //TODO map pems meta data if available } }
From source file:fr.ybonnel.model.TweetPhoto.java
License:Apache License
public static Stream<TweetPhoto> fromStatus(Status status) { String user = status.getUser().getScreenName(); String avatar = status.getUser().getBiggerProfileImageURL(); String text = status.getText(); /*if (status.getMediaEntities().length == 0) { return Stream.of(new TweetPhoto(user, avatar, "http://placehold.it/400x300", text)); }*//*from ww w . j a v a 2 s.com*/ return Arrays.stream(status.getMediaEntities()) .map(media -> new TweetPhoto(user, avatar, media.getMediaURL(), text)); }