]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/GetWikipediaXmlHandler.java
Version 16, February 2014
[GpsPrune.git] / tim / prune / function / GetWikipediaXmlHandler.java
index 3cca682f7b6790a90cf5781339f728975b84f8bd..f70e5f710da6f8cb5e7304af7c3d8edfe3f1f571 100644 (file)
@@ -9,7 +9,7 @@ import org.xml.sax.helpers.DefaultHandler;
 import tim.prune.function.gpsies.GpsiesTrack;
 
 /**
- * XML handler for dealing with XML returned from gpsies.com
+ * XML handler for dealing with XML returned from the geonames api
  */
 public class GetWikipediaXmlHandler extends DefaultHandler
 {
@@ -17,6 +17,7 @@ public class GetWikipediaXmlHandler extends DefaultHandler
        private ArrayList<GpsiesTrack> _trackList = null;
        private GpsiesTrack _track = null;
        private String _lat = null, _lon = null;
+       private String _errorMessage = null;
 
 
        /**
@@ -33,6 +34,9 @@ public class GetWikipediaXmlHandler extends DefaultHandler
                        _lat = null;
                        _lon = null;
                }
+               else if (inTagName.equals("status")) {
+                       _errorMessage = inAttributes.getValue("message");
+               }
                else _value = null;
                super.startElement(inUri, inLocalName, inTagName, inAttributes);
        }
@@ -67,7 +71,7 @@ public class GetWikipediaXmlHandler extends DefaultHandler
                        catch (NumberFormatException nfe) {}
                }
                else if (inTagName.equals("wikipediaUrl")) {
-                       _track.setWebUrl(_value);
+                       _track.setWebUrl(_value.replaceFirst("http://", "https://"));
                }
                super.endElement(inUri, inLocalName, inTagName);
        }
@@ -90,4 +94,11 @@ public class GetWikipediaXmlHandler extends DefaultHandler
        {
                return _trackList;
        }
+
+       /**
+        * @return error message, if any
+        */
+       public String getErrorMessage() {
+               return _errorMessage;
+       }
 }