From 8c347ac370645b66e98840f018bc63b155403702 Mon Sep 17 00:00:00 2001 From: misaochan Date: Wed, 20 Jan 2016 15:36:21 +1300 Subject: [PATCH] Testing new XPath expression --- .../category/CategorizationFragment.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/commons/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java b/commons/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java index 3a6d1d329..edab6444e 100644 --- a/commons/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java +++ b/commons/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java @@ -173,6 +173,9 @@ public class CategorizationFragment extends SherlockFragment{ if(categoriesCache.containsKey(filter)) { return categoriesCache.get(filter); } + + //TODO: Try just replacing the call first to see if XPath is correct + /** MWApi api = CommonsApplication.createMWApi(); ApiResult result; ArrayList categories = new ArrayList(); @@ -187,6 +190,32 @@ public class CategorizationFragment extends SherlockFragment{ } ArrayList categoryNodes = result.getNodes("/api/query/allcategories/c"); + for(ApiResult categoryNode: categoryNodes) { + categories.add(categoryNode.getDocument().getTextContent()); + } + */ + + MWApi api = CommonsApplication.createMWApi(); + ApiResult result; + ArrayList categories = new ArrayList(); + + //URL https://commons.wikimedia.org/w/api.php?action=query&format=xml&list=search&srwhat=text&srenablerewrites=1&srnamespace=14&srlimit=10&srsearch= + try { + result = api.action("query") + .param("format", "xml") + .param("list", "search") + .param("srwhat", "text") + .param("srnamespace", "14") + .param("srlimit", SEARCH_CATS_LIMIT) + .param("srsearch", filter) + .get(); + Log.d(TAG, "URL filter" + result.toString()); + } catch (IOException e) { + throw new RuntimeException(e); + } + + + ArrayList categoryNodes = result.getNodes("/api/query/search/p/@title"); for(ApiResult categoryNode: categoryNodes) { categories.add(categoryNode.getDocument().getTextContent()); }