aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java4
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCXMLApiConnector.java8
-rw-r--r--tests/src/cgeo/geocaching/connector/opencaching/OCXMLTest.java14
3 files changed, 25 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java b/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java
index 9739beb..6d2de02 100644
--- a/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java
+++ b/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java
@@ -394,7 +394,7 @@ public class OC11XMLParser {
}
});
- // cache.terrain
+ // cache.datehidden
cacheNode.getChild("datehidden").setEndTextElementListener(new EndTextElementListener() {
@Override
@@ -404,11 +404,13 @@ public class OC11XMLParser {
}
});
+ // cache.userid
cacheNode.getChild("userid").setEndTextElementListener(new EndTextElementListener() {
@Override
public void end(String body) {
cacheHolder.cache.setOwnerDisplayName(body);
+ cacheHolder.cache.setOwnerUserId(body);
}
});
diff --git a/main/src/cgeo/geocaching/connector/oc/OCXMLApiConnector.java b/main/src/cgeo/geocaching/connector/oc/OCXMLApiConnector.java
index 69707b9..d361a7e 100644
--- a/main/src/cgeo/geocaching/connector/oc/OCXMLApiConnector.java
+++ b/main/src/cgeo/geocaching/connector/oc/OCXMLApiConnector.java
@@ -1,6 +1,7 @@
package cgeo.geocaching.connector.oc;
import cgeo.geocaching.Geocache;
+import cgeo.geocaching.ICache;
import cgeo.geocaching.SearchResult;
import cgeo.geocaching.Settings;
import cgeo.geocaching.connector.capability.ISearchByCenter;
@@ -10,6 +11,8 @@ import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.Viewport;
import cgeo.geocaching.utils.CancellableHandler;
+import org.apache.commons.lang3.StringUtils;
+
public class OCXMLApiConnector extends OCConnector implements ISearchByGeocode, ISearchByCenter, ISearchByViewPort {
private final static double SEARCH_DISTANCE_LIMIT = 15.0;
@@ -49,4 +52,9 @@ public class OCXMLApiConnector extends OCConnector implements ISearchByGeocode,
return Settings.isOCConnectorActive();
}
+ @Override
+ public boolean isOwner(ICache cache) {
+ return StringUtils.equalsIgnoreCase(cache.getOwnerUserId(), Settings.getOCConnectorUserName());
+ }
+
}
diff --git a/tests/src/cgeo/geocaching/connector/opencaching/OCXMLTest.java b/tests/src/cgeo/geocaching/connector/opencaching/OCXMLTest.java
index 7cfd261..0957a0d 100644
--- a/tests/src/cgeo/geocaching/connector/opencaching/OCXMLTest.java
+++ b/tests/src/cgeo/geocaching/connector/opencaching/OCXMLTest.java
@@ -34,4 +34,18 @@ public class OCXMLTest extends CGeoTestCase {
Settings.setOCConnectorUserName(oldOCName);
}
}
+
+ public static void testOCOwner() {
+ String oldOCName = Settings.getOCConnectorUserName();
+ try {
+ Settings.setOCConnectorUserName("andi12.2");
+ String geoCode = "OCC9BE";
+ Geocache cache = OCXMLClient.getCache(geoCode);
+ assertNotNull(cache);
+
+ assertTrue(cache.isOwner());
+ } finally {
+ Settings.setOCConnectorUserName(oldOCName);
+ }
+ }
}