package org.wikipedia.page; import org.mediawiki.api.json.Api; import org.mediawiki.api.json.ApiResult; import org.wikipedia.Constants; import org.wikipedia.dataclient.WikiSite; import org.wikipedia.search.FullSearchArticlesTask; import org.wikipedia.search.SearchResults; /** * Task for getting suggestions for further reading. * Currently powered by full-text search based on the given page title. */ public class SuggestionsTask extends FullSearchArticlesTask { private final String title; private final boolean requireThumbnail; public SuggestionsTask(Api api, WikiSite wiki, String title, boolean requireThumbnail) { super(api, wiki, title, Constants.MAX_SUGGESTION_RESULTS * 2, null, true); // request double the results wanted since we may filter some out. todo: change the api // request to do some filtering this.title = title; this.requireThumbnail = requireThumbnail; } @Override public SearchResults processResult(final ApiResult result) throws Throwable { return SearchResults.filter(super.processResult(result), title, requireThumbnail); } }