Ticket #22250: 22250.patch

File 22250.patch, 1.4 KB (added by taylor.smock, 3 years ago)

Parse error from OSM API

  • src/org/openstreetmap/josm/io/OsmReader.java

    diff --git a/src/org/openstreetmap/josm/io/OsmReader.java b/src/org/openstreetmap/josm/io/OsmReader.java
    index 43bd83c8b6..632e70c74a 100644
    a b public class OsmReader extends AbstractReader {  
    201201        }
    202202    }
    203203
     204    private void parseError() throws XMLStreamException {
     205        while (parser.hasNext()) {
     206            int event = parser.next();
     207            if (event == XMLStreamConstants.CHARACTERS) {
     208                throwException(parser.getText());
     209            } else if (event == XMLStreamConstants.END_ELEMENT) {
     210                return;
     211            } else {
     212                throwException("Unknown error element type");
     213            }
     214        }
     215    }
     216
    204217    private void parseRemark() throws XMLStreamException {
    205218        while (parser.hasNext()) {
    206219            int event = parser.next();
    public class OsmReader extends AbstractReader {  
    393406        if (printWarning && ("note".equals(element) || "meta".equals(element))) {
    394407            // we know that Overpass API returns those elements
    395408            Logging.debug(tr("Undefined element ''{0}'' found in input stream. Skipping.", element));
     409        } else if ("error".equals(element)) {
     410            parseError();
    396411        } else if (printWarning) {
    397412            Logging.info(tr("Undefined element ''{0}'' found in input stream. Skipping.", element));
    398413        }