Changeset 14357 in josm
- Timestamp:
- 2018-10-23T00:52:11+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
r14350 r14357 5 5 6 6 import java.io.IOException; 7 import java.net.MalformedURLException; 7 8 import java.net.URL; 8 9 import java.util.ArrayList; … … 42 43 import org.openstreetmap.josm.io.OsmTransferCanceledException; 43 44 import org.openstreetmap.josm.io.OsmTransferException; 45 import org.openstreetmap.josm.io.OverpassDownloadReader; 44 46 import org.openstreetmap.josm.tools.Logging; 45 47 import org.openstreetmap.josm.tools.Utils; … … 59 61 /** This allows subclasses to ignore this warning */ 60 62 protected boolean warnAboutEmptyArea = true; 63 64 protected static final String OVERPASS_INTERPRETER_DATA = "interpreter?data="; 61 65 62 66 @Override … … 149 153 public Future<?> loadUrl(DownloadParams settings, String url, ProgressMonitor progressMonitor) { 150 154 String newUrl = modifyUrlBeforeLoad(url); 151 downloadTask = new DownloadTask(settings, 152 new OsmServerLocationReader(newUrl), 153 progressMonitor); 155 downloadTask = new DownloadTask(settings, getOsmServerReader(newUrl), progressMonitor); 154 156 currentBounds = null; 155 157 // Extract .osm filename from URL to set the new layer name 156 158 extractOsmFilename(settings, "https?://.*/(.*\\.osm)", newUrl); 157 159 return MainApplication.worker.submit(downloadTask); 160 } 161 162 protected OsmServerReader getOsmServerReader(String url) { 163 try { 164 String host = new URL(url).getHost(); 165 for (String knownOverpassServer : OverpassDownloadReader.OVERPASS_SERVER_HISTORY.get()) { 166 if (host.equals(new URL(knownOverpassServer).getHost())) { 167 int index = url.indexOf(OVERPASS_INTERPRETER_DATA); 168 if (index > 0) { 169 return new OverpassDownloadReader(new Bounds(LatLon.ZERO), knownOverpassServer, 170 Utils.decodeUrl(url.substring(index + OVERPASS_INTERPRETER_DATA.length()))); 171 } 172 } 173 } 174 } catch (MalformedURLException e) { 175 Logging.error(e); 176 } 177 return new OsmServerLocationReader(url); 158 178 } 159 179
Note:
See TracChangeset
for help on using the changeset viewer.