//License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.io; import static org.openstreetmap.josm.tools.I18n.tr; import java.io.InputStream; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.gui.progress.ProgressMonitor; public class OsmServerLocationReader extends OsmServerReader { String url; public OsmServerLocationReader(String url) { this.url = url; } /** * Method to download OSM files from somewhere */ @Override public DataSet parseOsm(ProgressMonitor progressMonitor) throws OsmTransferException { InputStream in = null; progressMonitor.beginTask(tr("Contacting Server...", 10)); try { in = getInputStreamRaw(url, progressMonitor.createSubTaskMonitor(9, false)); if (in == null) return null; progressMonitor.subTask(tr("Downloading OSM data...")); return OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false)); } catch(OsmTransferException e) { throw e; } catch (Exception e) { if (cancel) return null; throw new OsmTransferException(e); } finally { progressMonitor.finishTask(); try { if (in != null) { in.close(); } activeConnection = null; } catch(Exception e) {/* ignore it */} } } }