aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2011-10-09 12:15:53 +0200
committerSamuel Tardieu <sam@rfc1149.net>2011-10-09 12:15:55 +0200
commit4fd81318fb41f4e53e5c56aaf84d531d8b385c69 (patch)
tree9a34291febb6c316c8b9df050561dbe48c8d81e5 /main/src
parent30532d0e7e25ce269c176e13a7a081f6991274f1 (diff)
downloadcgeo-4fd81318fb41f4e53e5c56aaf84d531d8b385c69.zip
cgeo-4fd81318fb41f4e53e5c56aaf84d531d8b385c69.tar.gz
cgeo-4fd81318fb41f4e53e5c56aaf84d531d8b385c69.tar.bz2
Simplify filterSearchResults (was processSearchResults)
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/cgBase.java17
-rw-r--r--main/src/cgeo/geocaching/connector/GCConnector.java2
-rw-r--r--main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java2
3 files changed, 11 insertions, 10 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index 86ebfef..f4e50ce 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -2290,7 +2290,7 @@ public class cgBase {
return null;
}
- List<cgCache> cacheList = processSearchResults(search, caches, Settings.isExcludeDisabledCaches(), false, null);
+ List<cgCache> cacheList = filterSearchResults(search, caches, Settings.isExcludeDisabledCaches(), false, null);
app.addSearch(search, cacheList, true, reason);
@@ -2364,7 +2364,7 @@ public class cgBase {
return null;
}
- List<cgCache> cacheList = processSearchResults(search, caches, Settings.isExcludeDisabledCaches(), Settings.isExcludeMyCaches(), Settings.getCacheType());
+ List<cgCache> cacheList = filterSearchResults(search, caches, Settings.isExcludeDisabledCaches(), Settings.isExcludeMyCaches(), Settings.getCacheType());
app.addSearch(search, cacheList, true, reason);
@@ -2447,7 +2447,7 @@ public class cgBase {
return users;
}
- public static List<cgCache> processSearchResults(final cgSearch search, final cgCacheWrap caches, final boolean excludeDisabled, final boolean excludeMine, final String cacheType) {
+ public static List<cgCache> filterSearchResults(final cgSearch search, final cgCacheWrap caches, final boolean excludeDisabled, final boolean excludeMine, final String cacheType) {
List<cgCache> cacheList = new ArrayList<cgCache>();
if (caches != null) {
if (caches.error != null) {
@@ -2460,11 +2460,12 @@ public class cgBase {
search.totalCnt = caches.totalCnt;
if (CollectionUtils.isNotEmpty(caches.cacheList)) {
- for (cgCache cache : caches.cacheList) {
- if ((!excludeDisabled || (excludeDisabled && cache.disabled == false))
- && (!excludeMine || (excludeMine && cache.own == false))
- && (!excludeMine || (excludeMine && cache.found == false))
- && (cacheType == null || (cacheType.equals(cache.type)))) {
+ for (final cgCache cache : caches.cacheList) {
+ // Is there any reason to exclude the cache from the list?
+ final boolean excludeCache = (excludeDisabled && cache.disabled) ||
+ (excludeMine && (cache.own || cache.found)) ||
+ (cacheType != null && !cacheType.equals(cache.type));
+ if (!excludeCache) {
search.addGeocode(cache.geocode);
cacheList.add(cache);
}
diff --git a/main/src/cgeo/geocaching/connector/GCConnector.java b/main/src/cgeo/geocaching/connector/GCConnector.java
index d0e2d61..f65b944 100644
--- a/main/src/cgeo/geocaching/connector/GCConnector.java
+++ b/main/src/cgeo/geocaching/connector/GCConnector.java
@@ -124,7 +124,7 @@ public class GCConnector extends AbstractConnector implements IConnector {
return null;
}
- List<cgCache> cacheList = cgBase.processSearchResults(search, caches, false, false, null);
+ List<cgCache> cacheList = cgBase.filterSearchResults(search, caches, false, false, null);
app.addSearch(search, cacheList, true, reason);
return search.getCurrentId();
diff --git a/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java b/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java
index 013fc18..6334973 100644
--- a/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java
+++ b/main/src/cgeo/geocaching/connector/opencaching/ApiOpenCachingConnector.java
@@ -47,7 +47,7 @@ public class ApiOpenCachingConnector extends OpenCachingConnector implements ICo
final cgCacheWrap caches = new cgCacheWrap();
caches.cacheList.add(cache);
- final List<cgCache> cacheList = cgBase.processSearchResults(search, caches, false, false, null);
+ final List<cgCache> cacheList = cgBase.filterSearchResults(search, caches, false, false, null);
app.addSearch(search, cacheList, true, reason);
return search.getCurrentId();