001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.actions.downloadtasks; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import java.util.concurrent.Future; 007 008import org.openstreetmap.josm.gui.progress.ProgressMonitor; 009import org.openstreetmap.josm.tools.GeoUrlToBounds; 010import org.openstreetmap.josm.tools.OsmUrlToBounds; 011 012/** 013 * Task allowing to download an OSM url containing coordinates 014 * @since 4996 015 */ 016public class DownloadOsmUrlTask extends DownloadOsmTask { 017 018 @Override 019 public Future<?> loadUrl(DownloadParams settings, String url, ProgressMonitor progressMonitor) { 020 return download(settings, OsmUrlToBounds.parse(url), null); 021 } 022 023 @Override 024 public String[] getPatterns() { 025 return new String[]{ 026 "https?://www\\.(osm|openstreetmap)\\.org/\\?lat=.*&lon=.*", 027 "https?://www\\.(osm|openstreetmap)\\.org/(.*)?#map=\\p{Digit}+/.*/.*", 028 GeoUrlToBounds.PATTERN.toString(), 029 }; 030 } 031 032 @Override 033 public String getTitle() { 034 return tr("Download OSM URL"); 035 } 036}