From 2c73d92b7db4f11e954336b475fc22d95674d9bd Mon Sep 17 00:00:00 2001 From: rsudev Date: Wed, 11 Jun 2014 08:24:20 +0200 Subject: Fixes #3939, Will attend not counted in log summary on OC-logbooks --- main/src/cgeo/geocaching/connector/oc/OkapiClient.java | 5 ++++- tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 7d64b31..477830c 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -80,6 +80,7 @@ final class OkapiClient { private static final String CACHE_VOTES = "rating_votes"; private static final String CACHE_NOTFOUNDS = "notfounds"; private static final String CACHE_FOUNDS = "founds"; + private static final String CACHE_WILLATTENDS = "willattends"; private static final String CACHE_HIDDEN = "date_hidden"; private static final String CACHE_LATEST_LOGS = "latest_logs"; private static final String CACHE_IMAGE_URL = "url"; @@ -121,7 +122,7 @@ final class OkapiClient { private static final String SERVICE_CACHE_CORE_FIELDS = "code|name|location|type|status|difficulty|terrain|size|size2|date_hidden|trackables_count"; private static final String SERVICE_CACHE_CORE_L3_FIELDS = "is_found"; private static final String SERVICE_CACHE_ADDITIONAL_FIELDS = "owner|founds|notfounds|rating|rating_votes|recommendations|description|hint|images|latest_logs|alt_wpts|attrnames|req_passwd|trackables"; - private static final String SERVICE_CACHE_ADDITIONAL_CURRENT_FIELDS = "gc_code|attribution_note|attr_acodes"; + private static final String SERVICE_CACHE_ADDITIONAL_CURRENT_FIELDS = "gc_code|attribution_note|attr_acodes|willattends"; private static final String SERVICE_CACHE_ADDITIONAL_L3_FIELDS = "is_watched|my_notes"; private static final String METHOD_SEARCH_ALL = "services/caches/search/all"; @@ -342,6 +343,8 @@ final class OkapiClient { cache.getLogCounts().put(LogType.FOUND_IT, response.getInt(CACHE_FOUNDS)); cache.getLogCounts().put(LogType.DIDNT_FIND_IT, response.getInt(CACHE_NOTFOUNDS)); + // only current Api + cache.getLogCounts().put(LogType.WILL_ATTEND, response.optInt(CACHE_WILLATTENDS)); if (!response.isNull(CACHE_RATING)) { cache.setRating((float) response.getDouble(CACHE_RATING)); diff --git a/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java b/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java index 0c65d87..04bb5ac 100644 --- a/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java +++ b/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java @@ -6,6 +6,7 @@ import cgeo.CGeoTestCase; import cgeo.geocaching.DataStore; import cgeo.geocaching.Geocache; import cgeo.geocaching.enumerations.LoadFlags; +import cgeo.geocaching.enumerations.LogType; public class OkapiClientTest extends CGeoTestCase { @@ -48,4 +49,13 @@ public class OkapiClientTest extends CGeoTestCase { assertThat(cache.getWaypoints()).hasSize(3); } + public static void testOCWillAttendLogs() { + final String geoCode = "OC10CB8"; + + removeCacheCompletely(geoCode); + Geocache cache = OkapiClient.getCache(geoCode); + assertThat(cache).as("Cache from OKAPI").isNotNull(); + assertThat(cache.getLogCounts().get(LogType.WILL_ATTEND)).isGreaterThan(0); + } + } -- cgit v1.1