public class DownloadGeoJsonTask extends DownloadOsmTask
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
DownloadGeoJsonTask.InternalDownloadTask |
DownloadOsmTask.AbstractInternalTask, DownloadOsmTask.DownloadTaskcurrentBounds, downloadTask, newLayerName, OVERPASS_INTERPRETER_DATA, warnAboutEmptyAreadownloadedData, zoomAfterDownload| Constructor and Description |
|---|
DownloadGeoJsonTask() |
| Modifier and Type | Method and Description |
|---|---|
java.util.concurrent.Future<?> |
download(DownloadParams settings,
Bounds downloadArea,
ProgressMonitor progressMonitor)
Asynchronously launches the download task for a given bounding box.
|
java.lang.String[] |
getPatterns()
Returns regular expressions that match the URLs
|
java.lang.String |
getTitle()
Returns human-readable description of the task
|
java.util.concurrent.Future<?> |
loadUrl(DownloadParams settings,
java.lang.String url,
ProgressMonitor progressMonitor)
Loads a given URL from the OSM Server
|
cancel, download, download, extractOsmFilename, getConfirmationMessage, getDownloadProjectionBounds, getOsmServerReader, isSafeForRemotecontrolRequests, modifyUrlBeforeLoad, searchPotentiallyDeletedPrimitivesacceptsDocumentationSummary, acceptsUrl, acceptsUrl, getDownloadedData, getErrorObjects, isCanceled, isFailed, patterns, rememberDownloadedData, rememberErrorMessage, rememberException, setCanceled, setFailed, setZoomAfterDownload, toStringpublic DownloadGeoJsonTask()
public java.lang.String[] getPatterns()
DownloadTaskgetPatterns in interface DownloadTaskgetPatterns in class DownloadOsmTaskpublic java.lang.String getTitle()
DownloadTaskgetTitle in interface DownloadTaskgetTitle in class DownloadOsmTaskpublic java.util.concurrent.Future<?> download(DownloadParams settings, Bounds downloadArea, ProgressMonitor progressMonitor)
DownloadTaskprogressMonitor 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 complete
The 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();
}
}
MainApplication.worker.submit(runAfterTask);
download in interface DownloadTaskdownload in class DownloadOsmTasksettings - download settingsdownloadArea - the area to downloadprogressMonitor - the progressMonitorpublic java.util.concurrent.Future<?> loadUrl(DownloadParams settings, java.lang.String url, ProgressMonitor progressMonitor)
DownloadOsmTaskloadUrl in interface DownloadTaskloadUrl in class DownloadOsmTasksettings - download settingsurl - The URL as StringprogressMonitor - the progressMonitorDownloadTask.download(DownloadParams, Bounds, ProgressMonitor)