diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 21:51:16 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 21:51:16 +0100 |
| commit | 90337a9543c5d35007703a566d87337e8c8f28e0 (patch) | |
| tree | bb47e3eee16011c8fba388b021ab42d68710ac5a /main/src/cgeo/geocaching/gcvote | |
| parent | 65298076677a9739c93f2a840949a206e26ad1fc (diff) | |
| download | cgeo-90337a9543c5d35007703a566d87337e8c8f28e0.zip cgeo-90337a9543c5d35007703a566d87337e8c8f28e0.tar.gz cgeo-90337a9543c5d35007703a566d87337e8c8f28e0.tar.bz2 | |
Refactoring: simplify code
Diffstat (limited to 'main/src/cgeo/geocaching/gcvote')
| -rw-r--r-- | main/src/cgeo/geocaching/gcvote/GCVote.java | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/main/src/cgeo/geocaching/gcvote/GCVote.java b/main/src/cgeo/geocaching/gcvote/GCVote.java index fa17775..076b081 100644 --- a/main/src/cgeo/geocaching/gcvote/GCVote.java +++ b/main/src/cgeo/geocaching/gcvote/GCVote.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.ImmutablePair; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -38,31 +39,16 @@ public final class GCVote { * @return */ public static GCVoteRating getRating(String guid, String geocode) { - List<String> guids = null; - List<String> geocodes = null; - - if (StringUtils.isNotBlank(guid)) { - - GCVoteRating rating = ratingsCache.get(guid); - if (rating != null) { - return rating; - } - guids = new ArrayList<String>(); - guids.add(guid); - } else if (StringUtils.isNotBlank(geocode)) { - geocodes = new ArrayList<String>(); - geocodes.add(geocode); - } else { - return null; + if (StringUtils.isNotBlank(guid) && ratingsCache.containsKey(guid)) { + return ratingsCache.get(guid); } - final Map<String, GCVoteRating> ratings = getRating(guids, geocodes); - - if (MapUtils.isEmpty(ratings)) { - return null; - } + final Map<String, GCVoteRating> ratings = getRating(singletonOrNull(guid), singletonOrNull(geocode)); + return MapUtils.isNotEmpty(ratings) ? ratings.values().iterator().next() : null; + } - return ratings.values().iterator().next(); + private static List<String> singletonOrNull(final String item) { + return StringUtils.isNotBlank(item) ? Collections.singletonList(item) : null; } /** |
