diff options
| author | SammysHP <sven@sammyshp.de> | 2012-05-08 23:46:32 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2012-05-09 09:45:48 +0200 |
| commit | 5faaca070124f3868e7b59f115c2b5a1863d17ed (patch) | |
| tree | 6026cf6df990e17e2c8343468c9ab8bf2f96573b /main | |
| parent | 6e52aa6e4518838f6708ed181824ee04ffd26e47 (diff) | |
| download | cgeo-5faaca070124f3868e7b59f115c2b5a1863d17ed.zip cgeo-5faaca070124f3868e7b59f115c2b5a1863d17ed.tar.gz cgeo-5faaca070124f3868e7b59f115c2b5a1863d17ed.tar.bz2 | |
Refactoring: Move some strings into GCConstants
Fix: issue with gc.com update
Tests are not green because mocked data was not updated.
Conflicts (cherry-picking from master branch):
main/src/cgeo/geocaching/cgBase.java
main/src/cgeo/geocaching/cgCache.java
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 25 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 11 |
2 files changed, 21 insertions, 15 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index 09e13b9..26d724a 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -400,31 +400,26 @@ public class cgBase { final SearchResult searchResult = new SearchResult(); - if (page.contains("Cache is Unpublished") || page.contains("you cannot view this cache listing until it has been published")) { - searchResult.error = StatusCode.UNPUBLISHED_CACHE; + if (page.contains(GCConstants.STRING_UNPUBLISHED_OTHER) || page.contains(GCConstants.STRING_UNPUBLISHED_OWNER)) { + searchResult.setError(StatusCode.UNPUBLISHED_CACHE); return searchResult; } - if (page.contains("Sorry, the owner of this listing has made it viewable to Premium Members only.")) { - searchResult.error = StatusCode.PREMIUM_ONLY; - return searchResult; - } - - if (page.contains("has chosen to make this cache listing visible to Premium Members only.")) { - searchResult.error = StatusCode.PREMIUM_ONLY; + if (page.contains(GCConstants.STRING_PREMIUMONLY_1) || page.contains(GCConstants.STRING_PREMIUMONLY_2)) { + searchResult.setError(StatusCode.PREMIUM_ONLY); return searchResult; } final String cacheName = Html.fromHtml(BaseUtils.getMatch(page, GCConstants.PATTERN_NAME, true, "")).toString(); - if ("An Error Has Occurred".equalsIgnoreCase(cacheName)) { - searchResult.error = StatusCode.UNKNOWN_ERROR; + if (GCConstants.STRING_UNKNOWN_ERROR.equalsIgnoreCase(cacheName)) { + searchResult.setError(StatusCode.UNKNOWN_ERROR); return searchResult; } final cgCache cache = new cgCache(); - cache.setDisabled(page.contains("<li>This cache is temporarily unavailable.")); + cache.setDisabled(page.contains(GCConstants.STRING_DISABLED)); - cache.setArchived(page.contains("<li>This cache has been archived,")); + cache.setArchived(page.contains(GCConstants.STRING_ARCHIVED)); cache.setPremiumMembersOnly(BaseUtils.matches(page, GCConstants.PATTERN_PREMIUMMEMBERS)); @@ -452,7 +447,7 @@ public class cgBase { String tableInside = page; - int pos = tableInside.indexOf("id=\"cacheDetails\""); + int pos = tableInside.indexOf(GCConstants.STRING_CACHEDETAILS); if (pos == -1) { Log.e(Settings.tag, "cgeoBase.parseCache: ID \"cacheDetails\" not found on page"); return null; @@ -460,7 +455,7 @@ public class cgBase { tableInside = tableInside.substring(pos); - pos = tableInside.indexOf("<div id=\"ctl00_ContentBody_CacheInformationTable\" class=\"CacheInformationTable\">"); + pos = tableInside.indexOf(GCConstants.STRING_CACHEINFORMATIONTABLE); if (pos == -1) { Log.e(Settings.tag, "cgeoBase.parseCache: class \"CacheInformationTable\" not found on page"); return null; diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java index 563cf4b..0edb0ef 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java @@ -151,6 +151,17 @@ public final class GCConstants { /** Live Map since 14.02.2012 */ public final static Pattern PATTERN_USERSESSION = Pattern.compile("UserSession\\('([^']+)'"); public final static Pattern PATTERN_SESSIONTOKEN = Pattern.compile("sessionToken:'([^']+)'"); + + public final static String STRING_PREMIUMONLY_2 = "Sorry, the owner of this listing has made it viewable to Premium Members only."; + public final static String STRING_PREMIUMONLY_1 = "has chosen to make this cache listing visible to Premium Members only."; + public final static String STRING_UNPUBLISHED_OWNER = "Cache is Unpublished"; + public final static String STRING_UNPUBLISHED_OTHER = "you cannot view this cache listing until it has been published"; + public final static String STRING_UNKNOWN_ERROR = "An Error Has Occurred"; + public final static String STRING_CACHEINFORMATIONTABLE = "<div id=\"ctl00_ContentBody_CacheInformationTable\" class=\"CacheInformationTable\">"; + public final static String STRING_DISABLED = "<li>This cache is temporarily unavailable."; + public final static String STRING_ARCHIVED = "<li>This cache has been archived,"; + public final static String STRING_CACHEDETAILS = "id=\"cacheDetails\""; + /** Number of logs to retrieve from GC.com */ public final static int NUMBER_OF_LOGS = 35; |
