public class DownloadOsmChangeTask extends DownloadOsmTask
Modifier and Type | Class and Description |
---|---|
protected class |
DownloadOsmChangeTask.DownloadTask |
private static class |
DownloadOsmChangeTask.HistoryLoaderAndListener
Loads history and updates incomplete primitives.
|
DownloadOsmTask.AbstractInternalTask
Modifier and Type | Field and Description |
---|---|
private static String |
OSM_WEBSITE_PATTERN |
currentBounds, downloadTask, newLayerName, PATTERN_EXTERNAL_OSM_FILE, PATTERN_OSM_API_URL, PATTERN_OVERPASS_API_URL, PATTERN_OVERPASS_API_XAPI_URL, warnAboutEmptyArea
downloadedData
Constructor and Description |
---|
DownloadOsmChangeTask() |
Modifier and Type | Method and Description |
---|---|
Future<?> |
download(boolean newLayer,
Bounds downloadArea,
ProgressMonitor progressMonitor)
Asynchronously launches the download task for a given bounding box.
|
String[] |
getPatterns()
Returns regular expressions that match the URLs
|
String |
getTitle()
Returns human-readable description of the task
|
Future<?> |
loadUrl(boolean new_layer,
String url,
ProgressMonitor progressMonitor)
Loads a given URL from the OSM Server
|
cancel, download, download, extractOsmFilename, getConfirmationMessage, isSafeForRemotecontrolRequests, modifyUrlBeforeLoad
acceptsDocumentationSummary, acceptsUrl, acceptsUrl, getDownloadedData, getErrorObjects, isCanceled, isFailed, rememberDownloadedData, rememberErrorMessage, rememberException, setCanceled, setFailed, toString
private static final String OSM_WEBSITE_PATTERN
public DownloadOsmChangeTask()
public String[] getPatterns()
DownloadTask
getPatterns
in interface DownloadTask
getPatterns
in class DownloadOsmTask
public String getTitle()
DownloadTask
getTitle
in interface DownloadTask
getTitle
in class DownloadOsmTask
public Future<?> download(boolean newLayer, Bounds downloadArea, ProgressMonitor progressMonitor)
DownloadTask
progressMonitor
to null, if the task should create, open, and close a progress monitor.
Set progressMonitor to NullProgressMonitor.INSTANCE
if progress information is to
be discarded.
You can wait for the asynchronous download task to finish by synchronizing on the returned
Future
, but make sure not to freeze up JOSM. Example:
Future<?> future = task.download(...); // DON'T run this on the Swing EDT or JOSM will freeze future.get(); // waits for the dowload task to completeThe following example uses a pattern which is better suited if a task is launched from the Swing EDT:
final Future<?> future = task.download(...); Runnable runAfterTask = new Runnable() { public void run() { // this is not strictly necessary because of the type of executor service // Main.worker is initialized with, but it doesn't harm either // future.get(); // wait for the download task to complete doSomethingAfterTheTaskCompleted(); } } Main.worker.submit(runAfterTask);
download
in interface DownloadTask
download
in class DownloadOsmTask
newLayer
- true, if the data is to be downloaded into a new layer. If false, the task
selects one of the existing layers as download layer, preferably the active layer.downloadArea
- the area to downloadprogressMonitor
- the progressMonitorpublic Future<?> loadUrl(boolean new_layer, String url, ProgressMonitor progressMonitor)
DownloadOsmTask
loadUrl
in interface DownloadTask
loadUrl
in class DownloadOsmTask
new_layer
- True if the data should be saved to a new layerurl
- The URL as StringprogressMonitor
- the progressMonitorDownloadTask.download(boolean, Bounds, ProgressMonitor)