// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.pbf.action;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.util.concurrent.Future;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
import org.openstreetmap.josm.data.Bounds;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
import org.openstreetmap.josm.plugins.pbf.PbfConstants;
import org.openstreetmap.josm.plugins.pbf.io.PbfServerReader;
/**
* Task allowing to download remote PBF files.
*/
public class DownloadPbfTask extends DownloadOsmTask implements PbfConstants {
@Override
public Future<?> download(boolean newLayer, Bounds downloadArea, ProgressMonitor progressMonitor) {
return null;
}
@Override
public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) {
downloadTask = new DownloadTask(newLayer, new PbfServerReader(url), progressMonitor);
// We need submit instead of execute so we can wait for it to finish and get the error
// message if necessary. If no one calls getErrorMessage() it just behaves like execute.
return Main.worker.submit(downloadTask);
}
@Override
public String[] getPatterns() {
return new String[]{".*\\."+EXTENSION};
}
@Override
public String getTitle() {
return tr("Download PBF");
}
}