Dbrant has uploaded a new change for review. https://gerrit.wikimedia.org/r/293032
Change subject: Hygiene: remove non-functional code. ...................................................................... Hygiene: remove non-functional code. This removes the code for interfacing with the Gather API :..( Change-Id: Ic0cbd19a1e0c58a4d4afc92c68e66434c9affcbb --- D app/src/main/java/org/wikipedia/readinglist/api/ReadingList.java D app/src/main/java/org/wikipedia/readinglist/api/ReadingListDataClient.java D app/src/main/java/org/wikipedia/readinglist/api/ReadingListPageTitle.java D app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingList.java D app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitle.java D app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitlesResponse.java D app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListsResponse.java D app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListPageTitlesTest.java D app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListsTest.java 9 files changed, 0 insertions(+), 469 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/32/293032/1 diff --git a/app/src/main/java/org/wikipedia/readinglist/api/ReadingList.java b/app/src/main/java/org/wikipedia/readinglist/api/ReadingList.java deleted file mode 100644 index ffc6e1e..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/ReadingList.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.wikipedia.readinglist.api; - -/** - * A list of pages that are interesting to read later. - */ -public interface ReadingList { - - /** @return the ID of this collection */ - int getId(); - - /** @return the user visible label of this collection */ - String getLabel(); - - /** @return the timestamp of when this collection was last updated */ - String getLastUpdated(); - - /** @return the number of pages contained in this collection */ - int getCount(); - - /** @return a link to a thumbnail URL for this collection */ - String getImageUrl(); -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/ReadingListDataClient.java b/app/src/main/java/org/wikipedia/readinglist/api/ReadingListDataClient.java deleted file mode 100644 index 71ad553..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/ReadingListDataClient.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.wikipedia.readinglist.api; - -import org.wikipedia.Site; -import org.wikipedia.readinglist.api.legacy.LegacyReadingListPageTitlesResponse; -import org.wikipedia.readinglist.api.legacy.LegacyReadingListsResponse; -import org.wikipedia.dataclient.retrofit.RetrofitFactory; - -import retrofit2.Call; -import retrofit2.http.GET; -import retrofit2.http.Query; - -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; - -import java.io.IOException; - -/** - * Gets and posts collection related data from and to the server. - */ -public class ReadingListDataClient { - private static final Site SITE = new Site("en.wikipedia.org"); - - @NonNull private final Api client; - - public ReadingListDataClient() { - client = RetrofitFactory.newInstance(SITE).create(Api.class); - } - - @VisibleForTesting - public ReadingListDataClient(String baseUrl) { - client = RetrofitFactory.newInstance(SITE, baseUrl).create(Api.class); - } - - /** - * Gets the Collections of the current user. - */ - public LegacyReadingListsResponse getReadingLists() throws IOException { - return client.getReadingLists().execute().body(); - } - - /** - * Gets the list of page titles of a single ReadingList of the current user. - * - * @param listId ID of the reading list to be retrieved - */ - public LegacyReadingListPageTitlesResponse getMemberPages(int listId) throws IOException { - return client.getMemberPages(listId).execute().body(); - } - - private interface Api { - String ACTION_QUERY_LIST = "w/api.php?format=json&formatversion=2&action=query&list="; - - @GET(ACTION_QUERY_LIST + "lists" - + "&lstprop=label%7Cdescription%7Cpublic%7Creview%7Cimage%7Ccount%7Cupdated%7Cowner") - Call<LegacyReadingListsResponse> getReadingLists(); - - @GET(ACTION_QUERY_LIST + "listpages") - Call<LegacyReadingListPageTitlesResponse> getMemberPages(@Query("lspid") int collectionId); - } -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/ReadingListPageTitle.java b/app/src/main/java/org/wikipedia/readinglist/api/ReadingListPageTitle.java deleted file mode 100644 index ec3065b..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/ReadingListPageTitle.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.wikipedia.readinglist.api; - -/** - * An entry in a collection representing a page title in a reading list. - */ -public interface ReadingListPageTitle { - String getPrefixedTitle(); -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingList.java b/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingList.java deleted file mode 100644 index cf4857e..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingList.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.readinglist.api.ReadingList; - -import com.google.gson.annotations.SerializedName; - -import android.support.annotation.VisibleForTesting; - -/** - * Gson POJO for an API specific {@link ReadingList}. - */ -public class LegacyReadingList implements ReadingList { - @VisibleForTesting int id; - @VisibleForTesting String label; - @VisibleForTesting String owner; - @VisibleForTesting String perm; - @VisibleForTesting String description; - @VisibleForTesting String updated; - @VisibleForTesting int count; - @VisibleForTesting @SerializedName("imageurl") String imageUrl; - - @Override - public int getId() { - return id; - } - - @Override - public String getLabel() { - return label; - } - - public String getOwner() { - return owner; - } - - public String getPerm() { - return perm; - } - - public String getDescription() { - return description; - } - - @Override - public String getLastUpdated() { - return updated; - } - - @Override - public int getCount() { - return count; - } - - @Override - public String getImageUrl() { - return imageUrl; - } -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitle.java b/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitle.java deleted file mode 100644 index 9acba37..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitle.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.readinglist.api.ReadingListPageTitle; - -import com.google.gson.annotations.SerializedName; - -/** - * Gson POJO for a member of a reading list. - */ -public class LegacyReadingListPageTitle implements ReadingListPageTitle { - @SerializedName("ns") - private int namespaceId; - @SerializedName("title") - private String prefixedTitle; - - public int getNamespaceId() { - return namespaceId; - } - - @Override - public String getPrefixedTitle() { - return prefixedTitle; - } -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitlesResponse.java b/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitlesResponse.java deleted file mode 100644 index 563c72e..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListPageTitlesResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.dataclient.mwapi.MwQueryResponse; - -import com.google.gson.annotations.SerializedName; - -import java.util.List; - -/** - * Gson POJO for the specific API response we get after requesting the list of page titles - * contained in a given reading list. - */ -public class LegacyReadingListPageTitlesResponse - extends MwQueryResponse<LegacyReadingListPageTitlesResponse.ListPages> { - - public static class ListPages { - @SerializedName("listpages") - private List<LegacyReadingListPageTitle> listPages; - - public List<LegacyReadingListPageTitle> getMemberPages() { - return listPages; - } - } -} diff --git a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListsResponse.java b/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListsResponse.java deleted file mode 100644 index 492034c..0000000 --- a/app/src/main/java/org/wikipedia/readinglist/api/legacy/LegacyReadingListsResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.dataclient.mwapi.MwQueryResponse; - -import com.google.gson.annotations.SerializedName; - -import android.support.annotation.VisibleForTesting; - -import java.util.List; - -/** - * Gson POJO for a list of API specific reading lists. - */ -public class LegacyReadingListsResponse - extends MwQueryResponse<LegacyReadingListsResponse.LegacyLists> { - - public static class LegacyLists { - @VisibleForTesting @SerializedName("lists") List<LegacyReadingList> lists; - - public List<LegacyReadingList> getLists() { - return lists; - } - } -} diff --git a/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListPageTitlesTest.java b/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListPageTitlesTest.java deleted file mode 100644 index a11b847..0000000 --- a/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListPageTitlesTest.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.dataclient.RetrofitClientBaseTest; -import org.wikipedia.test.TestFileUtil; -import org.wikipedia.test.TestRunner; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import android.support.annotation.Nullable; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; - -@RunWith(TestRunner.class) -public class GetLegacyReadingListPageTitlesTest extends RetrofitClientBaseTest { - private static final int WATCHLIST_ID = 0; - - @Test - public void testGetCollectionPagesNotLoggedIn() throws Exception { - getCollectionPages(TestFileUtil.readRawFile("gather_not_logged_in.json"), null); - } - - @Test - public void testCollectionPages() throws Exception { - MockLegacyReadingListPageTitlesResponse expected = new MockLegacyReadingListPageTitlesResponse(); - List<LegacyReadingListPageTitle> list = new ArrayList<>(); - list.add(new MockLegacyReadingListPageTitle(0, "Test")); - list.add(new MockLegacyReadingListPageTitle(1, "Talk:Test")); - expected.setQuery(new MockPageTitlesList(list)); - - getCollectionPages(TestFileUtil.readRawFile("gather_get_collection_pages.json"), - expected); - } - - private void getCollectionPages(String responseBody, - @Nullable LegacyReadingListPageTitlesResponse expected) - throws Exception { - runTest(responseBody, new GetCollectionPagesSubject(expected)); - } - - private class GetCollectionPagesSubject extends BaseTestSubject { - @Nullable - private final LegacyReadingListPageTitlesResponse expected; - - GetCollectionPagesSubject(@Nullable LegacyReadingListPageTitlesResponse expected) { - super(); - this.expected = expected; - } - - @Override - public void execute() throws IOException { - LegacyReadingListPageTitlesResponse actual = getClient().getMemberPages(WATCHLIST_ID); - if (expected != null) { - List<LegacyReadingListPageTitle> act = actual.query().getMemberPages(); - List<LegacyReadingListPageTitle> exp = expected.query().getMemberPages(); - assertThat(act.size(), is(exp.size())); - for (int i = 0; i < act.size(); i++) { - assertPageIsEqual(act.get(i), exp.get(i), i); - } - } else { - assertThat(actual.getError().getTitle(), is("lstnotloggedin")); - } - } - - private void assertPageIsEqual(LegacyReadingListPageTitle act, LegacyReadingListPageTitle exp, - int index) { - assertThat("namespaceId mismatch in index " + index, - act.getNamespaceId(), is(exp.getNamespaceId())); - assertThat("title mismatch in index " + index, - act.getPrefixedTitle(), is(exp.getPrefixedTitle())); - } - } - - /** This class was added to allow accessing #setQuery from this test. */ - private static final class MockLegacyReadingListPageTitlesResponse - extends LegacyReadingListPageTitlesResponse { - @Override - protected void setQuery(@Nullable LegacyReadingListPageTitlesResponse.ListPages query) { - super.setQuery(query); - } - } - - private static final class MockPageTitlesList - extends LegacyReadingListPageTitlesResponse.ListPages { - - private final List<LegacyReadingListPageTitle> mockList; - - private MockPageTitlesList(List<LegacyReadingListPageTitle> list) { - this.mockList = list; - } - - @Override - public List<LegacyReadingListPageTitle> getMemberPages() { - return mockList; - } - } - - private static final class MockLegacyReadingListPageTitle extends LegacyReadingListPageTitle { - private final int mockNamespaceId; - private final String mockTitle; - - MockLegacyReadingListPageTitle(int nameSpaceId, String prefixedTitle) { - mockNamespaceId = nameSpaceId; - mockTitle = prefixedTitle; - } - - @Override - public int getNamespaceId() { - return mockNamespaceId; - } - - @Override - public String getPrefixedTitle() { - return mockTitle; - } - } -} diff --git a/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListsTest.java b/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListsTest.java deleted file mode 100644 index 3e1e4e0..0000000 --- a/app/src/test/java/org/wikipedia/readinglist/api/legacy/GetLegacyReadingListsTest.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.wikipedia.readinglist.api.legacy; - -import org.wikipedia.dataclient.RetrofitClientBaseTest; -import org.wikipedia.test.TestFileUtil; -import org.wikipedia.test.TestRunner; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import android.support.annotation.Nullable; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; - -@RunWith(TestRunner.class) -public class GetLegacyReadingListsTest extends RetrofitClientBaseTest { - - private static final int LIST_ID = 11; - private static final int COUNT = 4; - - @Test - public void testGetCollectionsNotLoggedIn() throws Exception { - getCollections(TestFileUtil.readRawFile("gather_not_logged_in.json"), null); - } - - @Test - public void testGetCollections() throws Exception { - MockLegacyReadingListsResponse expected = new MockLegacyReadingListsResponse(); - List<LegacyReadingList> lists = new ArrayList<>(); - - LegacyReadingList collection1 = new MockLegacyReadingList(0, "Watchlist", - "someUser", "private", "", "2016-02-19T00:05:07Z", 1); - lists.add(collection1); - - MockLegacyReadingList collection2 = new MockLegacyReadingList(LIST_ID, "firstlist", - "someUser", "public", "a simple test list", "2016-01-06T20:19:58Z", COUNT); - collection2.setImageUrl("//upload.wikimedia.org/wikipedia/commons/7/79/sample_picture.jpg"); - lists.add(collection2); - expected.setQuery(new MockResponseList(lists)); - - getCollections(TestFileUtil.readRawFile("gather_get_collections.json"), expected); - } - - private void getCollections(String responseBody, @Nullable LegacyReadingListsResponse expected) - throws Exception { - runTest(responseBody, new GetCollectionsSubject(expected)); - } - - private class GetCollectionsSubject extends BaseTestSubject { - @Nullable - private final LegacyReadingListsResponse expected; - - GetCollectionsSubject(@Nullable LegacyReadingListsResponse expected) { - super(); - this.expected = expected; - } - - @Override - public void execute() throws IOException { - LegacyReadingListsResponse actual = getClient().getReadingLists(); - if (expected != null) { - List<LegacyReadingList> act = actual.query().getLists(); - List<LegacyReadingList> exp = expected.query().getLists(); - assertThat(act.size(), is(exp.size())); - for (int i = 0; i < act.size(); i++) { - assertThatCollectionsAreEqual(act.get(i), exp.get(i), i); - } - } else { - assertThat(actual.getError().getTitle(), is("lstnotloggedin")); - } - } - - private void assertThatCollectionsAreEqual(LegacyReadingList act, LegacyReadingList exp, - int index) { - assertThat("index " + index, act.getId(), is(exp.getId())); - assertThat("index " + index, act.getLabel(), is(exp.getLabel())); - assertThat("index " + index, act.getOwner(), is(exp.getOwner())); - assertThat("index " + index, act.getPerm(), is(exp.getPerm())); - assertThat("index " + index, act.getDescription(), is(exp.getDescription())); - assertThat("index " + index, act.getLastUpdated(), is(exp.getLastUpdated())); - assertThat("index " + index, act.getCount(), is(exp.getCount())); - assertThat("index " + index, act.getImageUrl(), is(exp.getImageUrl())); - } - } - - /** This class was added to allow accessing #setQuery from this test. */ - private static final class MockLegacyReadingListsResponse extends LegacyReadingListsResponse { - @Override - protected void setQuery(@Nullable LegacyLists query) { - super.setQuery(query); - } - } - - private static final class MockResponseList extends LegacyReadingListsResponse.LegacyLists { - private final List<LegacyReadingList> mockList; - - MockResponseList(List<LegacyReadingList> list) { - this.mockList = list; - } - - @Override - public List<LegacyReadingList> getLists() { - return mockList; - } - } - - private static final class MockLegacyReadingList extends LegacyReadingList { - MockLegacyReadingList(int id, String label, String owner, String perm, String description, - String updated, int count) { - this.id = id; - this.label = label; - this.owner = owner; - this.perm = perm; - this.description = description; - this.updated = updated; - this.count = count; - } - - void setImageUrl(String imageUrl) { - this.imageUrl = imageUrl; - } - } -} -- To view, visit https://gerrit.wikimedia.org/r/293032 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic0cbd19a1e0c58a4d4afc92c68e66434c9affcbb Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits