jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/356292 )

Change subject: Hygiene: FullSearchArticlesTask retrofit follow-up
......................................................................


Hygiene: FullSearchArticlesTask retrofit follow-up

* Delete FullSearchArticlesTask[Test]
* Update a comment

Change-Id: I87e10c71278c4a16e7b6262ca7b2e75e5cbd495d
---
D app/src/androidTest/java/org/wikipedia/search/FullSearchArticlesTaskTest.java
D app/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java
M app/src/main/java/org/wikipedia/search/SearchResults.java
3 files changed, 1 insertion(+), 243 deletions(-)

Approvals:
  Dbrant: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/app/src/androidTest/java/org/wikipedia/search/FullSearchArticlesTaskTest.java 
b/app/src/androidTest/java/org/wikipedia/search/FullSearchArticlesTaskTest.java
deleted file mode 100644
index 4712f27..0000000
--- 
a/app/src/androidTest/java/org/wikipedia/search/FullSearchArticlesTaskTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.wikipedia.search;
-
-
-import org.junit.Test;
-import org.wikipedia.WikipediaApp;
-import org.wikipedia.dataclient.WikiSite;
-import org.wikipedia.testlib.TestLatch;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-import static org.wikipedia.test.TestUtil.runOnMainSync;
-
-/**
- * Tests for full text search.
- * TODO: Remove.
- */
-public class FullSearchArticlesTaskTest {
-    private static final int BATCH_SIZE = 12;
-    private static final WikiSite WIKI = WikiSite.forLanguageCode("en");
-
-    /** Have to use enwiki since I don't think there are any Wikidata 
descriptions for testwiki. */
-    @Test public void testFullTextSearchWithResults() throws Throwable {
-        final TestLatch latch = new TestLatch();
-        runOnMainSync(new Runnable() {
-            @Override
-            public void run() {
-                WikipediaApp app = WikipediaApp.getInstance();
-                new FullSearchArticlesTask(app.getAPIForSite(WIKI), WIKI, 
"test", BATCH_SIZE, null, false) {
-                    @Override
-                    public void onFinish(SearchResults results) {
-                        assertThat(results, notNullValue());
-                        assertThat(results.getResults().size(), 
is(BATCH_SIZE));
-                        assertThat(results.getSuggestion(), is(""));
-                        assertThat(results.getContinuation(), notNullValue());
-
-                        for (SearchResult result : results.getResults()) {
-                            if 
(result.getPageTitle().getPrefixedText().equals("Test")) {
-                                
assertThat(result.getPageTitle().getDescription(), is("Wikipedia disambiguation 
page"));
-                            }
-                        }
-                        latch.countDown();
-                    }
-                }.execute();
-            }
-        });
-        latch.await();
-    }
-
-    // TODO: move to TitleSearchTest once we have it
-
-//    @Test public void testFullTextSearchWithSuggestion() throws Throwable {
-//        startActivity(new Intent(), null, null);
-//        final CountDownLatch completionLatch = new CountDownLatch(1);
-//        runTestOnUiThread(new Runnable() {
-//            @Override
-//            public void run() {
-//                WikipediaApp app = WikipediaApp.getInstance();
-//                new FullSearchArticlesTask(app.getAPIForSite(WIKI), WIKI, 
"teest", BATCH_SIZE, null) { // small typo should produce a suggestion
-//                    @Override
-//                    public void onFinish(SearchResults results) {
-//                        assertNotNull(results);
-//                        assertEquals(results.getSuggestion(), "test");
-//                        completionLatch.countDown();
-//                    }
-//                }.execute();
-//            }
-//        });
-//        assertTrue(completionLatch.await(TASK_COMPLETION_TIMEOUT, 
TimeUnit.MILLISECONDS));
-//    }
-
-    @Test public void testEmptyResults() throws Throwable {
-        final TestLatch latch = new TestLatch();
-        runOnMainSync(new Runnable() {
-            @Override
-            public void run() {
-                WikipediaApp app = WikipediaApp.getInstance();
-                new FullSearchArticlesTask(app.getAPIForSite(WIKI), WIKI, 
"jkfsdfpefdsfwoirpoik", BATCH_SIZE, null, false) { // total gibberish, should 
not exist on enwiki
-                    @Override
-                    public void onFinish(SearchResults results) {
-                        assertThat(results, notNullValue());
-                        assertThat(results.getResults().size(), is(0));
-                        assertThat(results.getSuggestion(), is(""));
-                        assertThat(results.getContinuation(), nullValue());
-                        latch.countDown();
-                    }
-                }.execute();
-            }
-        });
-        latch.await();
-    }
-}
-
diff --git a/app/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java 
b/app/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java
deleted file mode 100644
index 27c394d..0000000
--- a/app/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.wikipedia.search;
-
-import com.google.gson.reflect.TypeToken;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.mediawiki.api.json.Api;
-import org.mediawiki.api.json.ApiException;
-import org.mediawiki.api.json.ApiResult;
-import org.mediawiki.api.json.RequestBuilder;
-import org.wikipedia.Constants;
-import org.wikipedia.dataclient.ApiTask;
-import org.wikipedia.dataclient.WikiSite;
-import org.wikipedia.json.GsonUnmarshaller;
-import org.wikipedia.page.PageProperties;
-import org.wikipedia.page.PageTitle;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-// TODO: Delete this and its tests after SuggestionsTask is converted to a 
Retrofit client
-@Deprecated public class FullSearchArticlesTask extends ApiTask<SearchResults> 
{
-    private final WikiSite wiki;
-    private final String searchTerm;
-    private final int maxResults;
-    private final Map<String, String> continuation;
-    private final boolean getMoreLike;
-
-    public FullSearchArticlesTask(Api api, WikiSite wiki, String searchTerm, 
int maxResults,
-                                  Map<String, String> continuation,
-                                  boolean getMoreLike) {
-        super(api);
-        this.wiki = wiki;
-        this.searchTerm = searchTerm;
-        this.maxResults = maxResults;
-        this.continuation = continuation;
-        this.getMoreLike = getMoreLike;
-    }
-
-    @Override
-    public RequestBuilder buildRequest(Api api) {
-        final String maxResultsString = Integer.toString(maxResults);
-        final RequestBuilder req = api.action("query")
-                .param("prop", "pageterms|pageimages|pageprops")
-                .param("ppprop", "mainpage|disambiguation")
-                .param("wbptterms", "description") // only interested in 
Wikidata description
-                .param("generator", "search")
-                .param("gsrsearch", getMoreLike ? ("morelike:" + searchTerm) : 
searchTerm)
-                .param("gsrnamespace", "0")
-                .param("gsrwhat", "text")
-                .param("gsrinfo", "")
-                .param("gsrprop", "redirecttitle")
-                .param("gsrlimit", maxResultsString)
-                .param("piprop", "thumbnail") // for thumbnail URLs
-                .param("pilicense", "any")
-                .param("pithumbsize", 
Integer.toString(Constants.PREFERRED_THUMB_SIZE))
-                .param("pilimit", maxResultsString);
-        if (continuation != null) {
-            req.param("continue", continuation.get("continue"));
-            String gsrOffset = continuation.get("gsroffset");
-            if (Integer.parseInt(gsrOffset) > 0) {
-                req.param("gsroffset", gsrOffset);
-            }
-        }
-        return req;
-    }
-
-    @Override
-    public SearchResults processResult(final ApiResult result) throws 
Throwable {
-        JSONObject data;
-        try {
-            data = result.asObject();
-        } catch (ApiException e) {
-            if (e.getCause() instanceof JSONException) {
-                // the only reason for a JSONException is if the response is 
an empty array.
-                return new SearchResults();
-            } else {
-                throw e;
-            }
-        }
-
-        Map<String, String> nextContinueOffset = null;
-        final JSONObject continueData = data.optJSONObject("continue");
-        if (continueData != null) {
-            nextContinueOffset = GsonUnmarshaller.unmarshal(new 
TypeToken<Map<String, String>>(){},
-                    continueData.toString());
-        }
-
-        JSONObject queryResult = data.optJSONObject("query");
-        if (queryResult == null) {
-            return new SearchResults();
-        }
-
-        JSONObject pages = queryResult.optJSONObject("pages");
-        if (pages == null) {
-            return new SearchResults();
-        }
-
-        // The search results arrive unordered, but they do have an "index" 
property, which we'll
-        // use to sort the results ourselves.
-        // First, put all the page objects into an array
-        JSONObject[] pageArray = new JSONObject[pages.length()];
-        int pageIndex = 0;
-        Iterator<String> pageIter = pages.keys();
-        while (pageIter.hasNext()) {
-            pageArray[pageIndex++] = (JSONObject)pages.get(pageIter.next());
-        }
-        // now sort the array based on the "index" property
-        Arrays.sort(pageArray, new Comparator<JSONObject>() {
-            @Override
-            public int compare(JSONObject lhs, JSONObject rhs) {
-                int ret = 0;
-                try {
-                    ret = ((Integer) 
lhs.getInt("index")).compareTo(rhs.getInt("index"));
-                } catch (JSONException e) {
-                    //doesn't matter
-                }
-                return ret;
-            }
-        });
-        // and create our list of results from the now-sorted array
-        List<SearchResult> resultList = new ArrayList<>();
-        for (JSONObject item : pageArray) {
-            String thumbUrl = null;
-            if (item.has("thumbnail")) {
-                thumbUrl = item.getJSONObject("thumbnail").optString("source", 
null);
-            }
-            String description = null;
-            if (item.has("terms")) {
-                JSONArray arr = 
item.getJSONObject("terms").optJSONArray("description");
-                if (arr != null && arr.length() > 0) {
-                    description = arr.getString(0);
-                }
-            }
-            PageProperties properties = null;
-            if (item.has("pageprops")) {
-                properties = new 
PageProperties(item.getJSONObject("pageprops"));
-            }
-            resultList.add(new SearchResult(new 
PageTitle(item.getString("title"), wiki, thumbUrl, description, properties)));
-        }
-        return new SearchResults(resultList, nextContinueOffset, null);
-    }
-}
diff --git a/app/src/main/java/org/wikipedia/search/SearchResults.java 
b/app/src/main/java/org/wikipedia/search/SearchResults.java
index 8cee887..5c8c8be 100644
--- a/app/src/main/java/org/wikipedia/search/SearchResults.java
+++ b/app/src/main/java/org/wikipedia/search/SearchResults.java
@@ -33,7 +33,7 @@
     }
 
     /**
-     * Constructor for a list of Retrofit results from BecauseYouReadTask.
+     * Constructor for a list of Retrofit results from FullTextSearchClient.
      */
     public SearchResults(@NonNull List<MwQueryPage> pages, @NonNull WikiSite 
wiki,
                          @Nullable Map<String, String> continuation, @Nullable 
String suggestion) {

-- 
To view, visit https://gerrit.wikimedia.org/r/356292
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I87e10c71278c4a16e7b6262ca7b2e75e5cbd495d
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to