diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-01-15 07:09:08 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-01-15 07:09:08 +0100 |
| commit | a6cc1f214de11d6095a8398c0c215b5209969c7b (patch) | |
| tree | b7511d80d17365c55435b6c4fe1ca0b4f645fa45 /main/src | |
| parent | a74eba6f08bb6dc718c25b6e25177aaafb3fc47d (diff) | |
| download | cgeo-a6cc1f214de11d6095a8398c0c215b5209969c7b.zip cgeo-a6cc1f214de11d6095a8398c0c215b5209969c7b.tar.gz cgeo-a6cc1f214de11d6095a8398c0c215b5209969c7b.tar.bz2 | |
fix #3543: Exception in search by user for non existing user name
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiClient.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 62e9bfc..2175935 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -154,7 +154,11 @@ final class OkapiClient { public static List<Geocache> getCachesByOwner(final String username, final OCApiConnector connector) { final Parameters params = new Parameters("search_method", METHOD_SEARCH_ALL); final Map<String, String> valueMap = new LinkedHashMap<String, String>(); - final String uuid = getUserUUID(connector, username); + final @Nullable + String uuid = getUserUUID(connector, username); + if (StringUtils.isEmpty(uuid)) { + return Collections.emptyList(); + } valueMap.put("owner_uuid", uuid); return requestCaches(connector, params, valueMap); @@ -163,7 +167,11 @@ final class OkapiClient { public static List<Geocache> getCachesByFinder(final String username, final OCApiConnector connector) { final Parameters params = new Parameters("search_method", METHOD_SEARCH_ALL); final Map<String, String> valueMap = new LinkedHashMap<String, String>(); - final String uuid = getUserUUID(connector, username); + final @Nullable + String uuid = getUserUUID(connector, username); + if (StringUtils.isEmpty(uuid)) { + return Collections.emptyList(); + } valueMap.put("found_by", uuid); return requestCaches(connector, params, valueMap); @@ -717,7 +725,8 @@ final class OkapiClient { } } - public static String getUserUUID(final OCApiConnector connector, final String userName) { + public static @Nullable + String getUserUUID(final OCApiConnector connector, final String userName) { final Parameters params = new Parameters("fields", USER_UUID, USER_USERNAME, userName); final JSONResult result = request(connector, OkapiService.SERVICE_USER_BY_USERNAME, params); |
