diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2015-01-02 10:32:55 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2015-01-02 10:38:28 +0100 |
| commit | 65d3de706c2696829aece7e433fdc118422493f7 (patch) | |
| tree | d266db63c8c641be0720add359830abe4d68718f /main/src | |
| parent | 1151670b79b1c1ff5266dc6ec21fa8a38bca8e75 (diff) | |
| download | cgeo-65d3de706c2696829aece7e433fdc118422493f7.zip cgeo-65d3de706c2696829aece7e433fdc118422493f7.tar.gz cgeo-65d3de706c2696829aece7e433fdc118422493f7.tar.bz2 | |
URL for geocache / waypoint / trackable cannot be null
Diffstat (limited to 'main/src')
17 files changed, 22 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/Geocache.java b/main/src/cgeo/geocaching/Geocache.java index 7867a48..7a69713 100644 --- a/main/src/cgeo/geocaching/Geocache.java +++ b/main/src/cgeo/geocaching/Geocache.java @@ -723,6 +723,7 @@ public class Geocache implements IWaypoint { return getConnector().getCacheUrl(this); } + @NonNull public String getLongUrl() { return getConnector().getLongCacheUrl(this); } diff --git a/main/src/cgeo/geocaching/Trackable.java b/main/src/cgeo/geocaching/Trackable.java index 15416bc..658dbd0 100644 --- a/main/src/cgeo/geocaching/Trackable.java +++ b/main/src/cgeo/geocaching/Trackable.java @@ -42,6 +42,7 @@ public class Trackable implements ILogable { private List<LogEntry> logs = new ArrayList<>(); private String trackingcode = null; + @NonNull public String getUrl() { return getConnector().getUrl(this); } diff --git a/main/src/cgeo/geocaching/Waypoint.java b/main/src/cgeo/geocaching/Waypoint.java index b4979e4..5cac4db 100644 --- a/main/src/cgeo/geocaching/Waypoint.java +++ b/main/src/cgeo/geocaching/Waypoint.java @@ -150,6 +150,7 @@ public class Waypoint implements IWaypoint { cachedOrder = ORDER_UNDEFINED; } + @NonNull public String getUrl() { return "http://www.geocaching.com/seek/cache_details.aspx?wp=" + geocode; } diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java index 834167a..03b3ef0 100644 --- a/main/src/cgeo/geocaching/connector/AbstractConnector.java +++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java @@ -142,6 +142,7 @@ public abstract class AbstractConnector implements IConnector { abstract protected String getCacheUrlPrefix(); @Override + @NonNull public String getLongCacheUrl(final @NonNull Geocache cache) { return getCacheUrl(cache); } diff --git a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java index 5535472..f2794aa 100644 --- a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java +++ b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java @@ -13,6 +13,7 @@ class GeocachingAustraliaConnector extends AbstractConnector { } @Override + @NonNull public String getCacheUrl(final @NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java index 0dc7a44..a60ee1e 100644 --- a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java +++ b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java @@ -13,6 +13,7 @@ class GeopeitusConnector extends AbstractConnector { } @Override + @NonNull public String getCacheUrl(final @NonNull Geocache cache) { return getCacheUrlPrefix() + StringUtils.stripStart(cache.getGeocode().substring(2), "0"); } diff --git a/main/src/cgeo/geocaching/connector/IConnector.java b/main/src/cgeo/geocaching/connector/IConnector.java index 9c1e8fc..c1808fb 100644 --- a/main/src/cgeo/geocaching/connector/IConnector.java +++ b/main/src/cgeo/geocaching/connector/IConnector.java @@ -33,6 +33,7 @@ public interface IConnector { * @param cache * @return */ + @NonNull public String getCacheUrl(final @NonNull Geocache cache); /** @@ -41,6 +42,7 @@ public interface IConnector { * @param cache * @return */ + @NonNull public String getLongCacheUrl(final @NonNull Geocache cache); /** diff --git a/main/src/cgeo/geocaching/connector/UnknownConnector.java b/main/src/cgeo/geocaching/connector/UnknownConnector.java index a88f2c5..baeb974 100644 --- a/main/src/cgeo/geocaching/connector/UnknownConnector.java +++ b/main/src/cgeo/geocaching/connector/UnknownConnector.java @@ -13,8 +13,9 @@ class UnknownConnector extends AbstractConnector { } @Override + @NonNull public String getCacheUrl(@NonNull final Geocache cache) { - return null; // we have no url for these caches + throw new IllegalAccessError("getCacheUrl cannot be called on unknown caches"); } @Override diff --git a/main/src/cgeo/geocaching/connector/WaymarkingConnector.java b/main/src/cgeo/geocaching/connector/WaymarkingConnector.java index 2ed54a0..fcd776d 100644 --- a/main/src/cgeo/geocaching/connector/WaymarkingConnector.java +++ b/main/src/cgeo/geocaching/connector/WaymarkingConnector.java @@ -13,6 +13,7 @@ class WaymarkingConnector extends AbstractConnector { } @Override + @NonNull public String getCacheUrl(@NonNull final Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/ec/ECConnector.java b/main/src/cgeo/geocaching/connector/ec/ECConnector.java index e884f85..35f758a 100644 --- a/main/src/cgeo/geocaching/connector/ec/ECConnector.java +++ b/main/src/cgeo/geocaching/connector/ec/ECConnector.java @@ -67,6 +67,7 @@ public class ECConnector extends AbstractConnector implements ISearchByGeocode, } @Override + @NonNull public String getCacheUrl(@NonNull Geocache cache) { return CACHE_URL + cache.getGeocode().replace("EC", ""); } diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java index 099fd79..a4981dd 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java @@ -85,11 +85,13 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, } @Override + @NonNull public String getLongCacheUrl(@NonNull Geocache cache) { return CACHE_URL_LONG + cache.getGeocode(); } @Override + @NonNull public String getCacheUrl(@NonNull Geocache cache) { return CACHE_URL_SHORT + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/oc/OCConnector.java b/main/src/cgeo/geocaching/connector/oc/OCConnector.java index 9c79f71..7cca60b 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCConnector.java +++ b/main/src/cgeo/geocaching/connector/oc/OCConnector.java @@ -38,6 +38,7 @@ public class OCConnector extends AbstractConnector { } @Override + @NonNull public String getCacheUrl(@NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/ox/OXConnector.java b/main/src/cgeo/geocaching/connector/ox/OXConnector.java index dd048f9..d405662 100644 --- a/main/src/cgeo/geocaching/connector/ox/OXConnector.java +++ b/main/src/cgeo/geocaching/connector/ox/OXConnector.java @@ -34,6 +34,7 @@ public class OXConnector extends AbstractConnector implements ISearchByCenter, I } @Override + @NonNull public String getCacheUrl(@NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java b/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java index 03052f9..ea0cc76 100644 --- a/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java @@ -20,6 +20,7 @@ public class GeokretyConnector extends AbstractTrackableConnector { } @Override + @NonNull public String getUrl(Trackable trackable) { return "http://geokrety.org/konkret.php?id=" + getId(trackable.getGeocode()); } diff --git a/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java b/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java index 6071b5f..74c8a91 100644 --- a/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java @@ -16,6 +16,7 @@ public interface TrackableConnector { public boolean canHandleTrackable(final String geocode); + @NonNull public String getUrl(final Trackable trackable); public boolean isLoggable(); diff --git a/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java b/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java index 3307481..b5a4662 100644 --- a/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java @@ -25,6 +25,7 @@ public class TravelBugConnector extends AbstractTrackableConnector { } @Override + @NonNull public String getUrl(final Trackable trackable) { return "http://www.geocaching.com//track/details.aspx?tracker=" + trackable.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java b/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java index 0295927..ce1d1c2 100644 --- a/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java @@ -2,7 +2,7 @@ package cgeo.geocaching.connector.trackable; import cgeo.geocaching.Trackable; -import org.apache.commons.lang3.StringUtils; +import org.eclipse.jdt.annotation.NonNull; public class UnknownTrackableConnector extends AbstractTrackableConnector { @@ -12,8 +12,9 @@ public class UnknownTrackableConnector extends AbstractTrackableConnector { } @Override + @NonNull public String getUrl(Trackable trackable) { - return StringUtils.EMPTY; + throw new IllegalAccessError("getUrl cannot be called on unknown trackables"); } @Override |
