Example usage for twitter4j Status getSource

List of usage examples for twitter4j Status getSource

Introduction

In this page you can find the example usage for twitter4j Status getSource.

Prototype

String getSource();

Source Link

Document

Returns the source

Usage

From source file:org.gabrielebaldassarre.twitter.tweet.TalendFlowTweetBehaviour.java

License:Open Source License

/**
 * Visit a target {@link TalendFlow} for parsed or raw json output.
 * //w w w  .ja v a 2  s.  c o  m
 * @param target the data flow to fill
 */
public void visit(TalendFlow target) {
    ResourceBundle rb = ResourceBundle.getBundle("tTwitterInput", Locale.getDefault());

    TalendRowFactory rowFactory = target.getModel().getRowFactory();
    valid = false;

    @SuppressWarnings("unchecked")
    List<Status> tweets = (List<Status>) resultSet.getValue();
    for (int i = 0; i < tweets.size(); i++) {
        Status tweet = tweets.get(i);
        TalendRow current = rowFactory.newRow(target);

        Iterator<Entry<TalendColumn, TweetField>> col = associations.entrySet().iterator();
        while (col.hasNext()) {
            List<String> h;
            List<Long> l;

            Map.Entry<TalendColumn, TweetField> row = (Map.Entry<TalendColumn, TweetField>) col.next();

            if (target != null && !row.getKey().getFlow().equals(target)) {
                throw new IllegalArgumentException(String.format(rb.getString("exception.columnNotInFlow"),
                        row.getKey().getName(), target.getName()));
            }

            switch (row.getValue()) {
            case CREATION_DATE:
                String literalDate = (new StringBuilder(
                        TalendFlowTweetBehaviour.DATEFORMAT.format(tweet.getCreatedAt()))).toString();

                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(literalDate));
                case LONG:
                    current.setValue(row.getKey(), Long.parseLong(literalDate));
                case DOUBLE:
                    current.setValue(row.getKey(), Double.parseDouble(literalDate));
                case FLOAT:
                    current.setValue(row.getKey(), Float.parseFloat(literalDate));
                case INTEGER:
                    current.setValue(row.getKey(), Integer.parseInt(literalDate));
                case DATE:
                    current.setValue(row.getKey(), tweet.getCreatedAt());
                    break;
                case STRING:
                    current.setValue(row.getKey(), literalDate);
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case FROM_NAME:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), tweet.getUser().getName());
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case FROM_USERID:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.getUser().getId()));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), new Double(tweet.getUser().getId()));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), new Float(tweet.getUser().getId()));
                    break;
                case LONG:
                    current.setValue(row.getKey(), new Long(tweet.getUser().getId()));
                    break;
                case STRING:
                    current.setValue(row.getKey(), String.valueOf((tweet.getUser().getId())));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case FROM_SCREEN_NAME:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), tweet.getUser().getScreenName());
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case HASHTAGS:
                List<HashtagEntity> hashtags = Arrays.asList(tweet.getHashtagEntities());
                h = new ArrayList<String>(hashtags.size());

                for (HashtagEntity hashtag : hashtags) {
                    h.add((includeHash() ? "#" : "") + hashtag.getText());
                }
                switch (row.getKey().getType()) {
                case STRING:
                case LIST:
                    current.setValue(row.getKey(), !TalendType.STRING.equals(row.getKey().getType()) ? h
                            : Joiner.on(getEntitiesSeparator()).join(h));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case IS_FAVORITED:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.isFavorited() ? 1 : 0));
                    break;
                case BOOLEAN:
                    current.setValue(row.getKey(), tweet.isFavorited());
                    break;
                case BYTE:
                    current.setValue(row.getKey(), (byte) (tweet.isFavorited() ? 1 : 0));
                    break;
                case CHARACTER:
                    current.setValue(row.getKey(), (tweet.isFavorited() ? '1' : '0'));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), (double) (tweet.isFavorited() ? 1d : 0d));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), (float) (tweet.isFavorited() ? 1f : 0f));
                    break;
                case INTEGER:
                    current.setValue(row.getKey(), (tweet.isFavorited() ? 1 : 0));
                    break;
                case LONG:
                    current.setValue(row.getKey(), (long) (tweet.isFavorited() ? 1l : 0l));
                    break;
                case SHORT:
                    current.setValue(row.getKey(), (short) (tweet.isFavorited() ? (short) 1 : (short) 0));
                    break;
                case STRING:
                    current.setValue(row.getKey(), (tweet.isFavorited() ? "1" : "0"));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));

                }
                break;
            case IS_POSSIBLY_SENSITIVE:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.isPossiblySensitive() ? 1 : 0));
                    break;
                case BOOLEAN:
                    current.setValue(row.getKey(), tweet.isPossiblySensitive());
                    break;
                case BYTE:
                    current.setValue(row.getKey(), (byte) (tweet.isPossiblySensitive() ? 1 : 0));
                    break;
                case CHARACTER:
                    current.setValue(row.getKey(), (tweet.isPossiblySensitive() ? '1' : '0'));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), (double) (tweet.isPossiblySensitive() ? 1d : 0d));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), (float) (tweet.isPossiblySensitive() ? 1f : 0f));
                    break;
                case INTEGER:
                    current.setValue(row.getKey(), (tweet.isPossiblySensitive() ? 1 : 0));
                    break;
                case LONG:
                    current.setValue(row.getKey(), (long) (tweet.isPossiblySensitive() ? 1l : 0l));
                    break;
                case SHORT:
                    current.setValue(row.getKey(),
                            (short) (tweet.isPossiblySensitive() ? (short) 1 : (short) 0));
                    break;
                case STRING:
                    current.setValue(row.getKey(), (tweet.isPossiblySensitive() ? "1" : "0"));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case IS_RETWEET:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.isRetweet() ? 1 : 0));
                    break;
                case BOOLEAN:
                    current.setValue(row.getKey(), tweet.isRetweet());
                    break;
                case BYTE:
                    current.setValue(row.getKey(), (byte) (tweet.isRetweet() ? 1 : 0));
                    break;
                case CHARACTER:
                    current.setValue(row.getKey(), (tweet.isRetweet() ? '1' : '0'));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), (double) (tweet.isRetweet() ? 1d : 0d));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), (float) (tweet.isRetweet() ? 1f : 0f));
                    break;
                case INTEGER:
                    current.setValue(row.getKey(), (tweet.isRetweet() ? 1 : 0));
                    break;
                case LONG:
                    current.setValue(row.getKey(), (long) (tweet.isRetweet() ? 1l : 0l));
                    break;
                case SHORT:
                    current.setValue(row.getKey(), (short) (tweet.isRetweet() ? (short) 1 : (short) 0));
                    break;
                case STRING:
                    current.setValue(row.getKey(), (tweet.isRetweet() ? "1" : "0"));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                current.setValue(row.getKey(), tweet.isRetweet());
                break;
            case LOCATION:
                GeoLocation g = tweet.getGeoLocation();
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(),
                            g != null
                                    ? String.valueOf(g.getLatitude()) + getEntitiesSeparator()
                                            + String.valueOf(g.getLongitude())
                                    : null);
                    break;
                case OBJECT:
                    current.setValue(row.getKey(), g);
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case REPLYTO_SCREEN_NAME:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), tweet.getInReplyToScreenName());
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case REPLYTO_STATUSID:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.getInReplyToStatusId()));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), new Double(tweet.getInReplyToStatusId()));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), new Float(tweet.getInReplyToStatusId()));
                    break;
                case LONG:
                    current.setValue(row.getKey(), new Long(tweet.getInReplyToStatusId()));
                    break;
                case STRING:
                    current.setValue(row.getKey(), String.valueOf((tweet.getInReplyToStatusId())));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case REPLYTO_USERID:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.getInReplyToUserId()));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), new Double(tweet.getInReplyToUserId()));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), new Float(tweet.getInReplyToUserId()));
                    break;
                case LONG:
                    current.setValue(row.getKey(), new Long(tweet.getInReplyToUserId()));
                    break;
                case STRING:
                    current.setValue(row.getKey(), String.valueOf((tweet.getInReplyToUserId())));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case RETWEET_COUNT:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.getRetweetCount()));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), new Double(tweet.getRetweetCount()));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), new Float(tweet.getRetweetCount()));
                    break;
                case LONG:
                    current.setValue(row.getKey(), new Long(tweet.getRetweetCount()));
                    break;
                case STRING:
                    current.setValue(row.getKey(), String.valueOf((tweet.getRetweetCount())));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case SOURCE:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), tweet.getSource());
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case STATUS_ID:
                switch (row.getKey().getType()) {
                case BIGDECIMAL:
                    current.setValue(row.getKey(), new BigDecimal(tweet.getId()));
                    break;
                case DOUBLE:
                    current.setValue(row.getKey(), new Double(tweet.getId()));
                    break;
                case FLOAT:
                    current.setValue(row.getKey(), new Float(tweet.getId()));
                    break;
                case LONG:
                    current.setValue(row.getKey(), new Long(tweet.getId()));
                    break;
                case STRING:
                    current.setValue(row.getKey(), String.valueOf((tweet.getId())));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case TEXT:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), tweet.getText());
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case URL_ENTITIES:
            case URL_ENTITIES_STRING:
                List<URLEntity> urlEntities = Arrays.asList(tweet.getURLEntities());
                h = new ArrayList<String>(urlEntities.size());

                for (URLEntity urlEntity : urlEntities) {
                    h.add(urlEntity.getExpandedURL());
                }
                switch (row.getKey().getType()) {
                case STRING:
                case LIST:
                    current.setValue(row.getKey(), !TalendType.STRING.equals(row.getKey().getType()) ? h
                            : Joiner.on(getEntitiesSeparator()).join(h));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case USER_MENTIONS:
                List<UserMentionEntity> userMentionsEntities = Arrays.asList(tweet.getUserMentionEntities());
                l = new ArrayList<Long>(userMentionsEntities.size());

                for (UserMentionEntity userMention : userMentionsEntities) {
                    l.add(userMention.getId());
                }
                switch (row.getKey().getType()) {
                case STRING:
                case LIST:
                    current.setValue(row.getKey(), !TalendType.STRING.equals(row.getKey().getType()) ? l
                            : Joiner.on(getEntitiesSeparator()).join(l));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case USER_MENTIONS_SCREEN_NAME:
                List<UserMentionEntity> userMentionsScreen = Arrays.asList(tweet.getUserMentionEntities());
                h = new ArrayList<String>(userMentionsScreen.size());

                for (UserMentionEntity userMention : userMentionsScreen) {
                    h.add((includeHash() ? "@" : "") + userMention.getScreenName());
                }
                switch (row.getKey().getType()) {
                case STRING:
                case LIST:
                    current.setValue(row.getKey(), !TalendType.STRING.equals(row.getKey().getType()) ? h
                            : Joiner.on(getEntitiesSeparator()).join(h));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            case JSON:
                switch (row.getKey().getType()) {
                case STRING:
                    current.setValue(row.getKey(), DataObjectFactory.getRawJSON(tweet));
                    break;
                default:
                    throw new IllegalArgumentException(String.format(rb.getString("exception.uncastableColumn"),
                            row.getKey().getType().getTypeString(), row.getKey().getName()));
                }
                break;
            default:
                throw new IllegalArgumentException(
                        String.format(rb.getString("exception.unparseableColumn"), row.getKey().getName()));

            }

        }

    }
    valid = true;
}

From source file:org.getlantern.firetweet.model.ParcelableStatus.java

License:Open Source License

public ParcelableStatus(final Status orig, final long account_id, final boolean is_gap) {
    this.is_gap = is_gap;
    this.account_id = account_id;
    id = orig.getId();//from ww w . j  ava 2  s  .c  o  m
    timestamp = getTime(orig.getCreatedAt());

    final Status retweeted = orig.getRetweetedStatus();
    final User retweet_user = retweeted != null ? orig.getUser() : null;
    is_retweet = orig.isRetweet();
    retweet_id = retweeted != null ? retweeted.getId() : -1;
    retweet_timestamp = retweeted != null ? getTime(retweeted.getCreatedAt()) : -1;
    retweeted_by_id = retweet_user != null ? retweet_user.getId() : -1;
    retweeted_by_name = retweet_user != null ? retweet_user.getName() : null;
    retweeted_by_screen_name = retweet_user != null ? retweet_user.getScreenName() : null;
    retweeted_by_profile_image = retweet_user != null ? retweet_user.getProfileImageUrlHttps() : null;

    final Status quoted = orig.getQuotedStatus();
    final User quote_user = quoted != null ? orig.getUser() : null;
    is_quote = orig.isQuote();
    quote_id = quoted != null ? quoted.getId() : -1;
    quote_text_html = TwitterContentUtils.formatStatusText(orig);
    quote_text_plain = orig.getText();
    quote_text_unescaped = HtmlEscapeHelper.toPlainText(quote_text_html);
    quote_timestamp = orig.getCreatedAt().getTime();
    quote_source = orig.getSource();

    quoted_by_user_id = quote_user != null ? quote_user.getId() : -1;
    quoted_by_user_name = quote_user != null ? quote_user.getName() : null;
    quoted_by_user_screen_name = quote_user != null ? quote_user.getScreenName() : null;
    quoted_by_user_profile_image = quote_user != null ? quote_user.getProfileImageUrlHttps() : null;
    quoted_by_user_is_protected = quote_user != null && quote_user.isProtected();
    quoted_by_user_is_verified = quote_user != null && quote_user.isVerified();

    final Status status;
    if (quoted != null) {
        status = quoted;
    } else if (retweeted != null) {
        status = retweeted;
    } else {
        status = orig;
    }
    final User user = status.getUser();
    user_id = user.getId();
    user_name = user.getName();
    user_screen_name = user.getScreenName();
    user_profile_image_url = user.getProfileImageUrlHttps();
    user_is_protected = user.isProtected();
    user_is_verified = user.isVerified();
    user_is_following = user.isFollowing();
    text_html = TwitterContentUtils.formatStatusText(status);
    media = ParcelableMedia.fromEntities(status);
    text_plain = status.getText();
    retweet_count = status.getRetweetCount();
    favorite_count = status.getFavoriteCount();
    reply_count = status.getReplyCount();
    descendent_reply_count = status.getDescendentReplyCount();
    in_reply_to_name = TwitterContentUtils.getInReplyToName(status);
    in_reply_to_screen_name = status.getInReplyToScreenName();
    in_reply_to_status_id = status.getInReplyToStatusId();
    in_reply_to_user_id = status.getInReplyToUserId();
    source = status.getSource();
    location = ParcelableLocation.fromGeoLocation(status.getGeoLocation());
    is_favorite = status.isFavorited();
    text_unescaped = HtmlEscapeHelper.toPlainText(text_html);
    my_retweet_id = retweeted_by_id == account_id ? id : status.getCurrentUserRetweet();
    is_possibly_sensitive = status.isPossiblySensitive();
    mentions = ParcelableUserMention.fromUserMentionEntities(status.getUserMentionEntities());
    card = ParcelableCardEntity.fromCardEntity(status.getCard(), account_id);
    place_full_name = getPlaceFullName(status.getPlace());
    card_name = card != null ? card.name : null;
}

From source file:org.getlantern.firetweet.util.ContentValuesCreator.java

License:Open Source License

public static ContentValues createStatus(final Status orig, final long accountId) {
    if (orig == null || orig.getId() <= 0)
        return null;
    final ContentValues values = new ContentValues();
    values.put(Statuses.ACCOUNT_ID, accountId);
    values.put(Statuses.STATUS_ID, orig.getId());
    values.put(Statuses.STATUS_TIMESTAMP, orig.getCreatedAt().getTime());
    final Status status;
    if (orig.isRetweet()) {
        final Status retweetedStatus = orig.getRetweetedStatus();
        final User retweetUser = orig.getUser();
        final long retweetedById = retweetUser.getId();
        values.put(Statuses.RETWEET_ID, retweetedStatus.getId());
        values.put(Statuses.RETWEET_TIMESTAMP, retweetedStatus.getCreatedAt().getTime());
        values.put(Statuses.RETWEETED_BY_USER_ID, retweetedById);
        values.put(Statuses.RETWEETED_BY_USER_NAME, retweetUser.getName());
        values.put(Statuses.RETWEETED_BY_USER_SCREEN_NAME, retweetUser.getScreenName());
        values.put(Statuses.RETWEETED_BY_USER_PROFILE_IMAGE, (retweetUser.getProfileImageUrlHttps()));
        values.put(Statuses.IS_RETWEET, true);
        if (retweetedById == accountId) {
            values.put(Statuses.MY_RETWEET_ID, orig.getId());
        } else {/*  w  w  w  .ja v a2 s .c  o m*/
            values.put(Statuses.MY_RETWEET_ID, orig.getCurrentUserRetweet());
        }
        status = retweetedStatus;
    } else if (orig.isQuote()) {
        final Status quotedStatus = orig.getQuotedStatus();
        final User quoteUser = orig.getUser();
        final long quotedById = quoteUser.getId();
        values.put(Statuses.QUOTE_ID, quotedStatus.getId());
        final String textHtml = TwitterContentUtils.formatStatusText(orig);
        values.put(Statuses.QUOTE_TEXT_HTML, textHtml);
        values.put(Statuses.QUOTE_TEXT_PLAIN, orig.getText());
        values.put(Statuses.QUOTE_TEXT_UNESCAPED, toPlainText(textHtml));
        values.put(Statuses.QUOTE_TIMESTAMP, orig.getCreatedAt().getTime());
        values.put(Statuses.QUOTE_SOURCE, orig.getSource());

        values.put(Statuses.QUOTED_BY_USER_ID, quotedById);
        values.put(Statuses.QUOTED_BY_USER_NAME, quoteUser.getName());
        values.put(Statuses.QUOTED_BY_USER_SCREEN_NAME, quoteUser.getScreenName());
        values.put(Statuses.QUOTED_BY_USER_PROFILE_IMAGE, quoteUser.getProfileImageUrlHttps());
        values.put(Statuses.QUOTED_BY_USER_IS_VERIFIED, quoteUser.isVerified());
        values.put(Statuses.QUOTED_BY_USER_IS_PROTECTED, quoteUser.isProtected());
        values.put(Statuses.IS_QUOTE, true);
        if (quotedById == accountId) {
            values.put(Statuses.MY_QUOTE_ID, orig.getId());
            //            } else {
            //                values.put(Statuses.MY_QUOTE_ID, orig.getCurrentUserRetweet());
        }
        status = quotedStatus;
    } else {
        values.put(Statuses.MY_RETWEET_ID, orig.getCurrentUserRetweet());
        status = orig;
    }
    final User user = status.getUser();
    final long userId = user.getId();
    final String profileImageUrl = (user.getProfileImageUrlHttps());
    final String name = user.getName(), screenName = user.getScreenName();
    values.put(Statuses.USER_ID, userId);
    values.put(Statuses.USER_NAME, name);
    values.put(Statuses.USER_SCREEN_NAME, screenName);
    values.put(Statuses.IS_PROTECTED, user.isProtected());
    values.put(Statuses.IS_VERIFIED, user.isVerified());
    values.put(Statuses.USER_PROFILE_IMAGE_URL, profileImageUrl);
    values.put(CachedUsers.IS_FOLLOWING, user.isFollowing());
    final String textHtml = TwitterContentUtils.formatStatusText(status);
    values.put(Statuses.TEXT_HTML, textHtml);
    values.put(Statuses.TEXT_PLAIN, status.getText());
    values.put(Statuses.TEXT_UNESCAPED, toPlainText(textHtml));
    values.put(Statuses.RETWEET_COUNT, status.getRetweetCount());
    values.put(Statuses.REPLY_COUNT, status.getReplyCount());
    values.put(Statuses.FAVORITE_COUNT, status.getFavoriteCount());
    values.put(Statuses.DESCENDENT_REPLY_COUNT, status.getDescendentReplyCount());
    values.put(Statuses.IN_REPLY_TO_STATUS_ID, status.getInReplyToStatusId());
    values.put(Statuses.IN_REPLY_TO_USER_ID, status.getInReplyToUserId());
    values.put(Statuses.IN_REPLY_TO_USER_NAME, TwitterContentUtils.getInReplyToName(status));
    values.put(Statuses.IN_REPLY_TO_USER_SCREEN_NAME, status.getInReplyToScreenName());
    values.put(Statuses.SOURCE, status.getSource());
    values.put(Statuses.IS_POSSIBLY_SENSITIVE, status.isPossiblySensitive());
    final GeoLocation location = status.getGeoLocation();
    if (location != null) {
        values.put(Statuses.LOCATION,
                ParcelableLocation.toString(location.getLatitude(), location.getLongitude()));
    }
    final Place place = status.getPlace();
    if (place != null) {
        values.put(Statuses.PLACE_FULL_NAME, place.getFullName());
    }
    values.put(Statuses.IS_FAVORITE, status.isFavorited());
    final ParcelableMedia[] media = ParcelableMedia.fromEntities(status);
    if (media != null) {
        values.put(Statuses.MEDIA_LIST, SimpleValueSerializer.toSerializedString(media));
    }
    final ParcelableUserMention[] mentions = ParcelableUserMention.fromStatus(status);
    if (mentions != null) {
        values.put(Statuses.MENTIONS_LIST, SimpleValueSerializer.toSerializedString(mentions));
    }
    final ParcelableCardEntity card = ParcelableCardEntity.fromCardEntity(status.getCard(), accountId);
    if (card != null) {
        values.put(Statuses.CARD_NAME, card.name);
        values.put(Statuses.CARD, JSONSerializer.toJSONObjectString(card));
    }
    return values;
}

From source file:org.hornetq.integration.twitter.impl.IncomingTweetsHandler.java

License:Apache License

private void putTweetIntoMessage(final Status status, final ServerMessage msg) {
    msg.getBodyBuffer().writeString(status.getText());
    msg.putLongProperty(TwitterConstants.KEY_ID, status.getId());
    msg.putStringProperty(TwitterConstants.KEY_SOURCE, status.getSource());

    msg.putLongProperty(TwitterConstants.KEY_CREATED_AT, status.getCreatedAt().getTime());
    msg.putBooleanProperty(TwitterConstants.KEY_IS_TRUNCATED, status.isTruncated());
    msg.putLongProperty(TwitterConstants.KEY_IN_REPLY_TO_STATUS_ID, status.getInReplyToStatusId());
    msg.putIntProperty(TwitterConstants.KEY_IN_REPLY_TO_USER_ID, status.getInReplyToUserId());
    msg.putBooleanProperty(TwitterConstants.KEY_IS_FAVORITED, status.isFavorited());
    msg.putBooleanProperty(TwitterConstants.KEY_IS_RETWEET, status.isRetweet());
    msg.putObjectProperty(TwitterConstants.KEY_CONTRIBUTORS, status.getContributors());
    GeoLocation gl;// ww  w.j a  v  a  2  s . c om
    if ((gl = status.getGeoLocation()) != null) {
        msg.putDoubleProperty(TwitterConstants.KEY_GEO_LOCATION_LATITUDE, gl.getLatitude());
        msg.putDoubleProperty(TwitterConstants.KEY_GEO_LOCATION_LONGITUDE, gl.getLongitude());
    }
    Place place;
    if ((place = status.getPlace()) != null) {
        msg.putStringProperty(TwitterConstants.KEY_PLACE_ID, place.getId());
    }
}

From source file:org.hubiquitus.hubotsdk.adapters.HTwitterAdapterInbox.java

License:Open Source License

/**
 * Function for transforming Tweet to HMessage
 * @param tweet from twitter4j/* w  ww. jav  a  2s.c  o  m*/
 * @return HMessage of type hTweet
 */
private HMessage transformtweet(Status tweet) {
    HMessage message = new HMessage();

    HTweet htweet = new HTweet();
    if (("complete").equalsIgnoreCase(content)) {
        HTweetAuthor hauthortweet = new HTweetAuthor();

        //Construct the location 
        HLocation location = new HLocation();
        if (tweet.getGeoLocation() != null) {
            HGeo geo = new HGeo(tweet.getGeoLocation().getLatitude(), tweet.getGeoLocation().getLongitude());
            location.setPos(geo);
            message.setLocation(location);
        }

        //Construct the Place
        if (tweet.getPlace() != null) {
            if (tweet.getPlace().getStreetAddress() != null) {
                location.setAddr(tweet.getPlace().getStreetAddress());
            }
            if (tweet.getPlace().getCountryCode() != null) {
                location.setCountryCode(tweet.getPlace().getCountryCode());
            }
            if ((tweet.getPlace().getPlaceType() != null)
                    && ("city".equalsIgnoreCase(tweet.getPlace().getPlaceType()))) {
                location.setCity(tweet.getPlace().getName());
            }
        }

        //Construct the Authortweet JSONObject
        hauthortweet.setStatus(tweet.getUser().getStatusesCount());
        hauthortweet.setFollowers(tweet.getUser().getFollowersCount());
        hauthortweet.setFriends(tweet.getUser().getFriendsCount());
        hauthortweet.setLocation(tweet.getUser().getLocation());
        hauthortweet.setDescription(tweet.getUser().getDescription());
        hauthortweet.setProfileImg(tweet.getUser().getProfileImageURL().toString());
        hauthortweet.setUrl(tweet.getUser().getURL());
        hauthortweet.setCreatedAt(tweet.getUser().getCreatedAt());
        hauthortweet.setLang(tweet.getUser().getLang());
        hauthortweet.setListeds(tweet.getUser().getListedCount());
        hauthortweet.setGeo(tweet.getUser().isGeoEnabled());
        hauthortweet.setVerified(tweet.getUser().isVerified());
        hauthortweet.setName(tweet.getUser().getName());

        //Construct the tweet JSONObject      
        htweet.setId(tweet.getId());
        try {
            htweet.setSource(tweet.getSource());
            htweet.setAuthor(hauthortweet);
        } catch (MissingAttrException e) {
            log.error("message: ", e);
        }

    }
    // now manage the minimal list of attributes to get from twitter
    try {
        htweet.setText(tweet.getText());
    } catch (MissingAttrException e) {
        log.error("message: ", e);
    }
    message.setPayload(htweet);
    message.setType("hTweet");
    message.setAuthor(tweet.getUser().getScreenName() + "@twitter.com");
    Date createdAt = tweet.getCreatedAt();
    message.setPublished(createdAt);

    if (log.isDebugEnabled()) {
        log.debug("tweet(" + tweet + ") -> hMessage :" + message);
    }

    return message;
}

From source file:org.mariotaku.twidere.model.ParcelableStatus.java

License:Open Source License

public ParcelableStatus(final Status orig, final long account_id, final boolean is_gap) {
    this.is_gap = is_gap;
    this.account_id = account_id;
    id = orig.getId();//from   w  w  w.j av  a2  s. co m
    timestamp = getTime(orig.getCreatedAt());

    final Status retweeted = orig.getRetweetedStatus();
    final User retweet_user = retweeted != null ? orig.getUser() : null;
    is_retweet = orig.isRetweet();
    retweet_id = retweeted != null ? retweeted.getId() : -1;
    retweet_timestamp = retweeted != null ? getTime(retweeted.getCreatedAt()) : -1;
    retweeted_by_user_id = retweet_user != null ? retweet_user.getId() : -1;
    retweeted_by_user_name = retweet_user != null ? retweet_user.getName() : null;
    retweeted_by_user_screen_name = retweet_user != null ? retweet_user.getScreenName() : null;
    retweeted_by_user_profile_image = retweet_user != null ? retweet_user.getProfileImageUrlHttps() : null;

    final Status quoted = orig.getQuotedStatus();
    final User quote_user = quoted != null ? orig.getUser() : null;
    is_quote = orig.isQuote();
    quote_id = quoted != null ? quoted.getId() : -1;
    quote_text_html = TwitterContentUtils.formatStatusText(orig);
    quote_text_plain = orig.getText();
    quote_text_unescaped = HtmlEscapeHelper.toPlainText(quote_text_html);
    quote_timestamp = orig.getCreatedAt().getTime();
    quote_source = orig.getSource();

    quoted_by_user_id = quote_user != null ? quote_user.getId() : -1;
    quoted_by_user_name = quote_user != null ? quote_user.getName() : null;
    quoted_by_user_screen_name = quote_user != null ? quote_user.getScreenName() : null;
    quoted_by_user_profile_image = quote_user != null ? quote_user.getProfileImageUrlHttps() : null;
    quoted_by_user_is_protected = quote_user != null && quote_user.isProtected();
    quoted_by_user_is_verified = quote_user != null && quote_user.isVerified();

    final Status status;
    if (quoted != null) {
        status = quoted;
    } else if (retweeted != null) {
        status = retweeted;
    } else {
        status = orig;
    }
    final User user = status.getUser();
    user_id = user.getId();
    user_name = user.getName();
    user_screen_name = user.getScreenName();
    user_profile_image_url = user.getProfileImageUrlHttps();
    user_is_protected = user.isProtected();
    user_is_verified = user.isVerified();
    user_is_following = user.isFollowing();
    text_html = TwitterContentUtils.formatStatusText(status);
    media = ParcelableMedia.fromStatus(status);
    quote_media = quoted != null ? ParcelableMedia.fromStatus(orig) : null;
    text_plain = status.getText();
    retweet_count = status.getRetweetCount();
    favorite_count = status.getFavoriteCount();
    reply_count = status.getReplyCount();
    descendent_reply_count = status.getDescendentReplyCount();
    in_reply_to_name = TwitterContentUtils.getInReplyToName(retweeted != null ? retweeted : orig);
    in_reply_to_screen_name = (retweeted != null ? retweeted : orig).getInReplyToScreenName();
    in_reply_to_status_id = (retweeted != null ? retweeted : orig).getInReplyToStatusId();
    in_reply_to_user_id = (retweeted != null ? retweeted : orig).getInReplyToUserId();
    source = status.getSource();
    location = ParcelableLocation.fromGeoLocation(status.getGeoLocation());
    is_favorite = status.isFavorited();
    text_unescaped = HtmlEscapeHelper.toPlainText(text_html);
    my_retweet_id = retweeted_by_user_id == account_id ? id : status.getCurrentUserRetweet();
    is_possibly_sensitive = status.isPossiblySensitive();
    mentions = ParcelableUserMention.fromUserMentionEntities(status.getUserMentionEntities());
    card = ParcelableCardEntity.fromCardEntity(status.getCard(), account_id);
    place_full_name = getPlaceFullName(status.getPlace());
    card_name = card != null ? card.name : null;
}

From source file:org.mariotaku.twidere.util.ContentValuesCreator.java

License:Open Source License

@NonNull
public static ContentValues createStatus(final Status orig, final long accountId) {
    if (orig == null)
        throw new NullPointerException();
    final ContentValues values = new ContentValues();
    values.put(Statuses.ACCOUNT_ID, accountId);
    values.put(Statuses.STATUS_ID, orig.getId());
    values.put(Statuses.STATUS_TIMESTAMP, orig.getCreatedAt().getTime());
    final Status status;
    if (orig.isRetweet()) {
        final Status retweetedStatus = orig.getRetweetedStatus();
        final User retweetUser = orig.getUser();
        final long retweetedById = retweetUser.getId();
        values.put(Statuses.RETWEET_ID, retweetedStatus.getId());
        values.put(Statuses.RETWEET_TIMESTAMP, retweetedStatus.getCreatedAt().getTime());
        values.put(Statuses.RETWEETED_BY_USER_ID, retweetedById);
        values.put(Statuses.RETWEETED_BY_USER_NAME, retweetUser.getName());
        values.put(Statuses.RETWEETED_BY_USER_SCREEN_NAME, retweetUser.getScreenName());
        values.put(Statuses.RETWEETED_BY_USER_PROFILE_IMAGE, (retweetUser.getProfileImageUrlHttps()));
        values.put(Statuses.IS_RETWEET, true);
        if (retweetedById == accountId) {
            values.put(Statuses.MY_RETWEET_ID, orig.getId());
        } else {//w ww .j a va 2 s  . c om
            values.put(Statuses.MY_RETWEET_ID, orig.getCurrentUserRetweet());
        }
        status = retweetedStatus;
    } else if (orig.isQuote()) {
        final Status quotedStatus = orig.getQuotedStatus();
        final User quoteUser = orig.getUser();
        final long quotedById = quoteUser.getId();
        values.put(Statuses.QUOTE_ID, quotedStatus.getId());
        final String textHtml = TwitterContentUtils.formatStatusText(orig);
        values.put(Statuses.QUOTE_TEXT_HTML, textHtml);
        values.put(Statuses.QUOTE_TEXT_PLAIN, orig.getText());
        values.put(Statuses.QUOTE_TEXT_UNESCAPED, toPlainText(textHtml));
        values.put(Statuses.QUOTE_TIMESTAMP, orig.getCreatedAt().getTime());
        values.put(Statuses.QUOTE_SOURCE, orig.getSource());
        final ParcelableMedia[] quoteMedia = ParcelableMedia.fromStatus(orig);
        if (quoteMedia != null && quoteMedia.length > 0) {
            try {
                values.put(Statuses.QUOTE_MEDIA_JSON,
                        LoganSquare.serialize(Arrays.asList(quoteMedia), ParcelableMedia.class));
            } catch (IOException ignored) {
            }
        }
        values.put(Statuses.QUOTED_BY_USER_ID, quotedById);
        values.put(Statuses.QUOTED_BY_USER_NAME, quoteUser.getName());
        values.put(Statuses.QUOTED_BY_USER_SCREEN_NAME, quoteUser.getScreenName());
        values.put(Statuses.QUOTED_BY_USER_PROFILE_IMAGE, quoteUser.getProfileImageUrlHttps());
        values.put(Statuses.QUOTED_BY_USER_IS_VERIFIED, quoteUser.isVerified());
        values.put(Statuses.QUOTED_BY_USER_IS_PROTECTED, quoteUser.isProtected());
        values.put(Statuses.IS_QUOTE, true);
        status = quotedStatus;
    } else {
        values.put(Statuses.MY_RETWEET_ID, orig.getCurrentUserRetweet());
        status = orig;
    }
    if (orig.isRetweet()) {
        values.put(Statuses.IN_REPLY_TO_STATUS_ID, status.getInReplyToStatusId());
        values.put(Statuses.IN_REPLY_TO_USER_ID, status.getInReplyToUserId());
        values.put(Statuses.IN_REPLY_TO_USER_NAME, TwitterContentUtils.getInReplyToName(status));
        values.put(Statuses.IN_REPLY_TO_USER_SCREEN_NAME, status.getInReplyToScreenName());
    } else {
        values.put(Statuses.IN_REPLY_TO_STATUS_ID, orig.getInReplyToStatusId());
        values.put(Statuses.IN_REPLY_TO_USER_ID, orig.getInReplyToUserId());
        values.put(Statuses.IN_REPLY_TO_USER_NAME, TwitterContentUtils.getInReplyToName(orig));
        values.put(Statuses.IN_REPLY_TO_USER_SCREEN_NAME, orig.getInReplyToScreenName());
    }
    final User user = status.getUser();
    final long userId = user.getId();
    final String profileImageUrl = (user.getProfileImageUrlHttps());
    final String name = user.getName(), screenName = user.getScreenName();
    values.put(Statuses.USER_ID, userId);
    values.put(Statuses.USER_NAME, name);
    values.put(Statuses.USER_SCREEN_NAME, screenName);
    values.put(Statuses.IS_PROTECTED, user.isProtected());
    values.put(Statuses.IS_VERIFIED, user.isVerified());
    values.put(Statuses.USER_PROFILE_IMAGE_URL, profileImageUrl);
    values.put(CachedUsers.IS_FOLLOWING, user.isFollowing());
    final String textHtml = TwitterContentUtils.formatStatusText(status);
    values.put(Statuses.TEXT_HTML, textHtml);
    values.put(Statuses.TEXT_PLAIN, status.getText());
    values.put(Statuses.TEXT_UNESCAPED, toPlainText(textHtml));
    values.put(Statuses.RETWEET_COUNT, status.getRetweetCount());
    values.put(Statuses.REPLY_COUNT, status.getReplyCount());
    values.put(Statuses.FAVORITE_COUNT, status.getFavoriteCount());
    values.put(Statuses.DESCENDENT_REPLY_COUNT, status.getDescendentReplyCount());
    values.put(Statuses.SOURCE, status.getSource());
    values.put(Statuses.IS_POSSIBLY_SENSITIVE, status.isPossiblySensitive());
    final GeoLocation location = status.getGeoLocation();
    if (location != null) {
        values.put(Statuses.LOCATION,
                ParcelableLocation.toString(location.getLatitude(), location.getLongitude()));
    }
    final Place place = status.getPlace();
    if (place != null) {
        values.put(Statuses.PLACE_FULL_NAME, place.getFullName());
    }
    values.put(Statuses.IS_FAVORITE, status.isFavorited());
    final ParcelableMedia[] media = ParcelableMedia.fromStatus(status);
    if (media != null && media.length > 0) {
        try {
            values.put(Statuses.MEDIA_JSON, LoganSquare.serialize(Arrays.asList(media), ParcelableMedia.class));
        } catch (IOException ignored) {
        }
    }
    final ParcelableUserMention[] mentions = ParcelableUserMention.fromStatus(status);
    if (mentions != null && mentions.length > 0) {
        try {
            values.put(Statuses.MENTIONS_JSON,
                    LoganSquare.serialize(Arrays.asList(mentions), ParcelableUserMention.class));
        } catch (IOException ignored) {
        }
    }
    final ParcelableCardEntity card = ParcelableCardEntity.fromCardEntity(status.getCard(), accountId);
    if (card != null) {
        try {
            values.put(Statuses.CARD, LoganSquare.serialize(card));
            values.put(Statuses.CARD_NAME, card.name);
        } catch (IOException ignored) {
        }
    }
    return values;
}

From source file:org.opensocial.TwitterProxy.java

License:Apache License

/**
 * Called on HTTP GET/*  w  ww.  jav  a  2  s.co m*/
 * Returns last 20 tweets from the user using "screen_name".
 * If screenName is null or an empty string, we return the last 20 tweets from the public
 * timeline
 * @param screenName
 * @return JSON Response a ActivityStream Activity collection for the set tweets
 */
@GET
@Produces(MediaType.APPLICATION_JSON)
public Object getTweets(@QueryParam("screen_name") String screenName) {

    JSONArray resultArray = new JSONArray();
    ResponseList<Status> list = null;
    try {
        if (screenName == null || screenName.equals("")) {
            list = twitter.getHomeTimeline();
        } else {
            list = twitter.getUserTimeline(screenName);
        }

        System.out.println("Rate limit: " + list.getRateLimitStatus().getRemainingHits());
        Iterator<Status> iter = list.iterator();
        while (iter.hasNext()) {
            Status status = iter.next();

            ActivityBuilder activityBuilder = Activity.makeActivity().id(Long.toString(status.getId()))
                    .verb(Verb.POST).published(new DateTime(status.getCreatedAt().getTime()))
                    .source(ASObject.makeObject(ASObject.SOURCE).displayName(status.getSource()))
                    .author(PersonObject.makePerson(status.getUser().getScreenName())
                            .id(Long.toString(status.getUser().getId()))
                            .image(MediaLink
                                    .makeMediaLink(status.getUser().getProfileImageURL().toExternalForm()))
                            .get());

            boolean eeAdded = false;
            eeAdded = EmbeddedExperiences.addHashtagEE(uriInfo, status, activityBuilder);

            if (!eeAdded) {
                eeAdded = EmbeddedExperiences.addUrlMatchedEE(uriInfo, status, activityBuilder);
            }

            if (!eeAdded) {
                eeAdded = EmbeddedExperiences.addUrlStyleEE(status, activityBuilder);
            }

            activityBuilder.content(status.getText());
            Activity activity = activityBuilder.get();
            StringWriter swriter = new StringWriter();
            activity.writeTo(swriter);
            JSONObject jobj = new JSONObject(swriter.toString());

            resultArray.put(jobj);
        }
        return resultArray;
    } catch (Exception e) {
        e.printStackTrace();
        return Response.serverError().entity(e).build();
    }
}

From source file:org.smarttechie.servlet.SimpleStream.java

public void getStream(TwitterStream twitterStream, String[] parametros, final Session session)//,PrintStream out)
{

    listener = new StatusListener() {

        @Override/*  w ww .j a v  a  2 s.c o m*/
        public void onException(Exception arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onDeletionNotice(StatusDeletionNotice arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onScrubGeo(long arg0, long arg1) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStatus(Status status) {
            Twitter twitter = new TwitterFactory().getInstance();
            User user = status.getUser();

            // gets Username
            String username = status.getUser().getScreenName();
            System.out.println("");
            String profileLocation = user.getLocation();
            System.out.println(profileLocation);
            long tweetId = status.getId();
            System.out.println(tweetId);
            String content = status.getText();
            System.out.println(content + "\n");

            JSONObject obj = new JSONObject();
            obj.put("User", status.getUser().getScreenName());
            obj.put("ProfileLocation", user.getLocation().replaceAll("'", "''"));
            obj.put("Id", status.getId());
            obj.put("UserId", status.getUser().getId());
            //obj.put("User", status.getUser());
            obj.put("Message", status.getText().replaceAll("'", "''"));
            obj.put("CreatedAt", status.getCreatedAt().toString());
            obj.put("CurrentUserRetweetId", status.getCurrentUserRetweetId());
            //Get user retweeteed
            String otheruser;
            try {
                if (status.getCurrentUserRetweetId() != -1) {
                    User user2 = twitter.showUser(status.getCurrentUserRetweetId());
                    otheruser = user2.getScreenName();
                    System.out.println("Other user: " + otheruser);
                }
            } catch (Exception ex) {
                System.out.println("ERROR: " + ex.getMessage().toString());
            }
            obj.put("IsRetweet", status.isRetweet());
            obj.put("IsRetweeted", status.isRetweeted());
            obj.put("IsFavorited", status.isFavorited());

            obj.put("InReplyToUserId", status.getInReplyToUserId());
            //In reply to
            obj.put("InReplyToScreenName", status.getInReplyToScreenName());

            obj.put("RetweetCount", status.getRetweetCount());
            if (status.getGeoLocation() != null) {
                obj.put("GeoLocationLatitude", status.getGeoLocation().getLatitude());
                obj.put("GeoLocationLongitude", status.getGeoLocation().getLongitude());
            }

            JSONArray listHashtags = new JSONArray();
            String hashtags = "";
            for (HashtagEntity entity : status.getHashtagEntities()) {
                listHashtags.add(entity.getText());
                hashtags += entity.getText() + ",";
            }

            if (!hashtags.isEmpty())
                obj.put("HashtagEntities", hashtags.substring(0, hashtags.length() - 1));

            if (status.getPlace() != null) {
                obj.put("PlaceCountry", status.getPlace().getCountry());
                obj.put("PlaceFullName", status.getPlace().getFullName());
            }

            obj.put("Source", status.getSource());
            obj.put("IsPossiblySensitive", status.isPossiblySensitive());
            obj.put("IsTruncated", status.isTruncated());

            if (status.getScopes() != null) {
                JSONArray listScopes = new JSONArray();
                String scopes = "";
                for (String scope : status.getScopes().getPlaceIds()) {
                    listScopes.add(scope);
                    scopes += scope + ",";
                }

                if (!scopes.isEmpty())
                    obj.put("Scopes", scopes.substring(0, scopes.length() - 1));
            }

            obj.put("QuotedStatusId", status.getQuotedStatusId());

            JSONArray list = new JSONArray();
            String contributors = "";
            for (long id : status.getContributors()) {
                list.add(id);
                contributors += id + ",";
            }

            if (!contributors.isEmpty())
                obj.put("Contributors", contributors.substring(0, contributors.length() - 1));

            System.out.println("" + obj.toJSONString());

            insertNodeNeo4j(obj);

            //out.println(obj.toJSONString());
            String statement = "INSERT INTO TweetsClassification JSON '" + obj.toJSONString() + "';";
            executeQuery(session, statement);
        }

        @Override
        public void onTrackLimitationNotice(int arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStallWarning(StallWarning sw) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }

    };
    FilterQuery fq = new FilterQuery();

    fq.track(parametros);

    twitterStream.addListener(listener);
    twitterStream.filter(fq);
}

From source file:org.talend.spark.utils.twitter.TwitterUtil.java

License:Open Source License

public static Object parse(TwitterParameter parameter, Status status) {
    if (parameter == TwitterParameter.USERNAME) {
        return status.getUser().getName();
    } else if (parameter == TwitterParameter.TEXT) {
        return status.getText();
    } else if (parameter == TwitterParameter.SOURCE) {
        return status.getSource();
    } else if (parameter == TwitterParameter.ACCESSLEVEL) {
        return status.getAccessLevel();
    } else if (parameter == TwitterParameter.DATE) {
        return status.getCreatedAt();
    } else if (parameter == TwitterParameter.ID) {
        return status.getId();
    } else if (parameter == TwitterParameter.GEOLOCATION_LATITUDE) {
        return status.getGeoLocation().getLatitude();
    } else if (parameter == TwitterParameter.GEOLOCATION_LONGITUDE) {
        return status.getGeoLocation().getLongitude();
    } else if (parameter == TwitterParameter.HASHTAG) {
        String hashTags = "";
        HashtagEntity[] hashTagArray = status.getHashtagEntities();
        for (int i = 0; i < hashTagArray.length; i++) {
            if (hashTags.equals("")) {
                hashTags = hashTagArray[i].getText();
            } else {
                hashTags = hashTags + "," + hashTagArray[i].getText();
            }//from   ww  w. jav  a2s .co  m
        }
        return hashTags;
    }
    return null;
}