aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2015-01-02 10:32:55 +0100
committerSamuel Tardieu <sam@rfc1149.net>2015-01-02 10:38:28 +0100
commit65d3de706c2696829aece7e433fdc118422493f7 (patch)
treed266db63c8c641be0720add359830abe4d68718f
parent1151670b79b1c1ff5266dc6ec21fa8a38bca8e75 (diff)
downloadcgeo-65d3de706c2696829aece7e433fdc118422493f7.zip
cgeo-65d3de706c2696829aece7e433fdc118422493f7.tar.gz
cgeo-65d3de706c2696829aece7e433fdc118422493f7.tar.bz2
URL for geocache / waypoint / trackable cannot be null
-rw-r--r--main/src/cgeo/geocaching/Geocache.java1
-rw-r--r--main/src/cgeo/geocaching/Trackable.java1
-rw-r--r--main/src/cgeo/geocaching/Waypoint.java1
-rw-r--r--main/src/cgeo/geocaching/connector/AbstractConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/GeopeitusConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/IConnector.java2
-rw-r--r--main/src/cgeo/geocaching/connector/UnknownConnector.java3
-rw-r--r--main/src/cgeo/geocaching/connector/WaymarkingConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/ec/ECConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCConnector.java2
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/ox/OXConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java1
-rw-r--r--main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java5
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