Changeset 14219 in josm for trunk/src


Ignore:
Timestamp:
2018-09-02T21:53:46+02:00 (9 months ago)
Author:
Don-vip
Message:

fix #16695 - display remark from Overpass API when a download returns no data

Location:
trunk/src/org/openstreetmap/josm
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java

    r14215 r14219  
    471471                    rememberErrorMessage(tr("No data found in this area."));
    472472                }
     473                String remark = dataSet.getRemark();
     474                if (remark != null && !remark.isEmpty()) {
     475                    rememberErrorMessage(remark);
     476                }
    473477                // need to synthesize a download bounds lest the visual indication of downloaded area doesn't work
    474478                dataSet.addDataSource(new DataSource(currentBounds != null ? currentBounds :
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r14206 r14219  
    169169
    170170    private short mappaintCacheIdx = 1;
     171    private String remark;
    171172
    172173    /**
     
    12311232        }
    12321233    }
     1234
     1235    /**
     1236     * Returns an optional remark about this data set (used by Overpass API).
     1237     * @return a remark about this data set, or {@code null}
     1238     * @since 14219
     1239     */
     1240    public String getRemark() {
     1241        return remark;
     1242    }
     1243
     1244    /**
     1245     * Sets an optional remark about this data set (used by Overpass API).
     1246     * @param remark a remark about this data set, or {@code null}
     1247     * @since 14219
     1248     */
     1249    public void setRemark(String remark) {
     1250        this.remark = remark;
     1251    }
    12331252}
  • trunk/src/org/openstreetmap/josm/io/OsmJsonReader.java

    r14108 r14219  
    6767        parseLocked(object.getString("locked", null));
    6868        parseElements(object.getJsonArray("elements"));
     69        parseRemark(object.getString("remark", null));
     70    }
     71
     72    private void parseRemark(String remark) {
     73        ds.setRemark(remark);
    6974    }
    7075
  • trunk/src/org/openstreetmap/josm/io/OsmReader.java

    r14094 r14219  
    103103            uploadChangesetId = getLong("upload-changeset");
    104104        }
    105         while (true) {
     105        while (parser.hasNext()) {
    106106            int event = parser.next();
    107107
     
    127127                case "changeset":
    128128                    parseChangeset(uploadChangesetId);
     129                    break;
     130                case "remark": // Used by Overpass API
     131                    parseRemark();
    129132                    break;
    130133                default:
     
    143146        } else {
    144147            throwException(e);
     148        }
     149    }
     150
     151    private void parseRemark() throws XMLStreamException {
     152        while (parser.hasNext()) {
     153            int event = parser.next();
     154            if (event == XMLStreamConstants.CHARACTERS) {
     155                ds.setRemark(parser.getText());
     156            } else if (event == XMLStreamConstants.END_ELEMENT) {
     157                return;
     158            }
    145159        }
    146160    }
Note: See TracChangeset for help on using the changeset viewer.