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.OsmUrlToBounds;
010
011/**
012 * Task allowing to download an OSM url containing coordinates
013 * @since 4996
014 */
015public class DownloadOsmUrlTask extends DownloadOsmTask {
016
017    @Override
018    public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) {
019        return download(newLayer, OsmUrlToBounds.parse(url), null);
020    }
021
022    @Override
023    public String[] getPatterns() {
024        return new String[]{
025                "https?://www\\.(osm|openstreetmap)\\.org/\\?lat=.*&lon=.*",
026                "https?://www\\.(osm|openstreetmap)\\.org/(.*)?#map=\\p{Digit}+/.*/.*"};
027    }
028
029    @Override
030    public String getTitle() {
031        return tr("Download OSM URL");
032    }
033}