// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.actions.downloadtasks;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.util.concurrent.Future;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
public class DownloadNotesUrlIdTask extends DownloadNotesTask {
private static final String URL_ID_PATTERN = "https?://www\\.(osm|openstreetmap)\\.org/note/(\\p{Digit}+).*";
@Override
public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) {
final Matcher matcher = Pattern.compile(URL_ID_PATTERN).matcher(url);
if (matcher.matches()) {
return download(Long.parseLong(matcher.group(2)), null);
} else {
throw new IllegalStateException("Failed to parse note id from " + url);
}
}
@Override
public String[] getPatterns() {
return new String[]{URL_ID_PATTERN};
}
@Override
public String getTitle() {
return tr("Download OSM Note by ID");
}
}