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 * Specialized task for downloading OSM notes within bounds. 013 * <p> 014 * It handles one URL pattern: openstreetmap website URL with {@code #map?} argument. 015 * @since 8195 016 */ 017public class DownloadNotesUrlBoundsTask extends DownloadNotesTask { 018 019 @Override 020 public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) { 021 return download(newLayer, OsmUrlToBounds.parse(url), null); 022 } 023 024 @Override 025 public String[] getPatterns() { 026 return new String[]{ 027 "https?://www\\.(osm|openstreetmap)\\.org/(.*)?#map=\\p{Digit}+/.*/.*&layers=[A-MO-Z]*N[A-MO-Z]*"}; 028 } 029 030 @Override 031 public String getTitle() { 032 return tr("Download OSM Notes within Bounds"); 033 } 034}