Got categorySet to work

categorySet now stores a unique copy of each category found in the query
This commit is contained in:
misaochan 2015-12-25 17:53:12 +13:00
parent 3a455418a3
commit f5a42ac00b

View file

@ -20,8 +20,6 @@ import com.google.gson.GsonBuilder;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
public class MwVolleyApi { public class MwVolleyApi {
@ -29,13 +27,13 @@ public class MwVolleyApi {
private static final Gson GSON = new GsonBuilder().create(); private static final Gson GSON = new GsonBuilder().create();
private Context context; private Context context;
protected HashSet<String> categorySet; protected static HashSet<String> categorySet;
public MwVolleyApi(Context context) { public MwVolleyApi(Context context) {
this.context = context; this.context = context;
categorySet = new HashSet<String>();
} }
public void request(String coords) { public void request(String coords) {
String apiUrl = buildUrl(coords); String apiUrl = buildUrl(coords);
@ -75,7 +73,6 @@ public class MwVolleyApi {
return builder.toString(); return builder.toString();
} }
private synchronized RequestQueue getQueue() { private synchronized RequestQueue getQueue() {
return getQueue(context); return getQueue(context);
} }
@ -122,12 +119,10 @@ public class MwVolleyApi {
return Response.success(queryResponse, cacheEntry(response)); return Response.success(queryResponse, cacheEntry(response));
} }
private Cache.Entry cacheEntry(NetworkResponse response) { private Cache.Entry cacheEntry(NetworkResponse response) {
return HttpHeaderParser.parseCacheHeaders(response); return HttpHeaderParser.parseCacheHeaders(response);
} }
private String parseString(NetworkResponse response) { private String parseString(NetworkResponse response) {
try { try {
return new String(response.data, HttpHeaderParser.parseCharset(response.headers)); return new String(response.data, HttpHeaderParser.parseCharset(response.headers));
@ -137,28 +132,27 @@ public class MwVolleyApi {
} }
} }
private class QueryResponse { private static class QueryResponse {
private Query query = new Query(); private Query query = new Query();
private Page page; private Page page;
public QueryResponse() { private String printSet() {
if (categorySet == null || categorySet.isEmpty()) {
return "No collection of categories";
}
else {
return categorySet.toString();
}
} }
@Override @Override
public String toString() { public String toString() {
return "query=" + query.toString() + "\n" //page.printSet() return "query=" + query.toString() + "\n" + printSet();
;
} }
} }
private class Query { private static class Query {
private Page [] pages; private Page [] pages;
public Query() {
}
@Override @Override
public String toString() { public String toString() {
StringBuilder builder = new StringBuilder("pages=" + "\n"); StringBuilder builder = new StringBuilder("pages=" + "\n");
@ -168,7 +162,6 @@ public class MwVolleyApi {
} }
builder.replace(builder.length() - 1, builder.length(), ""); builder.replace(builder.length() - 1, builder.length(), "");
if (categorySet == null || categorySet.isEmpty()) { if (categorySet == null || categorySet.isEmpty()) {
Log.d("Set", "No category set"); Log.d("Set", "No category set");
} }
@ -181,7 +174,7 @@ public class MwVolleyApi {
} }
} }
private class Page { private static class Page {
private int pageid; private int pageid;
private int ns; private int ns;
private String title; private String title;
@ -190,18 +183,9 @@ public class MwVolleyApi {
private String printSet() {
if (categorySet == null || categorySet.isEmpty()) {
return "No collection of categories";
}
else {
return categorySet.toString();
}
}
@Override @Override
public String toString() { public String toString() {
categorySet = new HashSet<String>();
StringBuilder builder = new StringBuilder("PAGEID=" + pageid + " ns=" + ns + " title=" + title + "\n" + " CATEGORIES= "); StringBuilder builder = new StringBuilder("PAGEID=" + pageid + " ns=" + ns + " title=" + title + "\n" + " CATEGORIES= ");
if (categories == null || categories.length == 0) { if (categories == null || categories.length == 0) {
@ -211,8 +195,10 @@ public class MwVolleyApi {
for (Category category : categories) { for (Category category : categories) {
builder.append(category.toString()); builder.append(category.toString());
builder.append("\n"); builder.append("\n");
if (category != null && category.toString() != null && category.toString() != "") { if (category != null) {
categorySet.add(category.toString()); categorySet.add(category.toString());
Log.d("Set", "category added: " + category.toString());
Log.d("Set", categorySet.toString());
} }
} }
} }