Search in sources :

Example 1 with Public

use of com.sys1yagi.mastodon4j.api.method.Public in project twicalico by moko256.

the class MastodonTwitterImpl method search.

@Override
public QueryResult search(Query query) {
    Pageable<com.sys1yagi.mastodon4j.api.entity.Status> pageable = null;
    try {
        pageable = new Public(client).getFederatedTag(query.getQuery(), MTRangeConverter.convert(query)).execute();
    } catch (Mastodon4jRequestException e) {
        e.printStackTrace();
    }
    long previous;
    long next;
    if (pageable == null)
        return null;
    if (pageable.getLink() != null) {
        next = pageable.getLink().getMaxId();
        previous = pageable.getLink().getSinceId();
    } else {
        next = -1;
        previous = -1;
    }
    List<com.sys1yagi.mastodon4j.api.entity.Status> part = pageable.getPart();
    Pageable<com.sys1yagi.mastodon4j.api.entity.Status> finalPageable = pageable;
    return new QueryResult() {

        @Override
        public long getSinceId() {
            return previous;
        }

        @Override
        public long getMaxId() {
            return next;
        }

        @Override
        public String getRefreshURL() {
            return null;
        }

        @Override
        public int getCount() {
            return part.size();
        }

        @Override
        public double getCompletedIn() {
            return 0;
        }

        @Override
        public String getQuery() {
            return query.getQuery();
        }

        @Override
        public List<Status> getTweets() {
            return MTResponseList.convert(finalPageable);
        }

        @Override
        public Query nextQuery() {
            return new Query(query.getQuery()).sinceId(next);
        }

        @Override
        public boolean hasNext() {
            return next != -1;
        }

        @Override
        public RateLimitStatus getRateLimitStatus() {
            return null;
        }

        @Override
        public int getAccessLevel() {
            return 0;
        }
    };
}
Also used : Status(twitter4j.Status) RateLimitStatus(twitter4j.RateLimitStatus) QueryResult(twitter4j.QueryResult) Mastodon4jRequestException(com.sys1yagi.mastodon4j.api.exception.Mastodon4jRequestException) GeoQuery(twitter4j.GeoQuery) Query(twitter4j.Query) Public(com.sys1yagi.mastodon4j.api.method.Public)

Aggregations

Mastodon4jRequestException (com.sys1yagi.mastodon4j.api.exception.Mastodon4jRequestException)1 Public (com.sys1yagi.mastodon4j.api.method.Public)1 GeoQuery (twitter4j.GeoQuery)1 Query (twitter4j.Query)1 QueryResult (twitter4j.QueryResult)1 RateLimitStatus (twitter4j.RateLimitStatus)1 Status (twitter4j.Status)1