Changeset 4521 in josm for trunk/src/org/openstreetmap/josm/actions/downloadtasks
- Timestamp:
- 2011-10-16T23:59:38+02:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/actions/downloadtasks
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
r4334 r4521 9 9 import org.openstreetmap.josm.Main; 10 10 import org.openstreetmap.josm.data.Bounds; 11 import org.openstreetmap.josm.data.Bounds.ParseMethod; 11 12 import org.openstreetmap.josm.data.gpx.GpxData; 12 13 import org.openstreetmap.josm.gui.PleaseWaitRunnable; … … 15 16 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 16 17 import org.openstreetmap.josm.io.BoundingBoxDownloader; 18 import org.openstreetmap.josm.io.OsmServerLocationReader; 19 import org.openstreetmap.josm.io.OsmServerReader; 17 20 import org.openstreetmap.josm.io.OsmTransferException; 18 21 import org.xml.sax.SAXException; … … 21 24 22 25 private DownloadTask downloadTask; 26 27 private static final String PATTERN_TRACE_ID = "http://.*openstreetmap.org/trace/\\p{Digit}+/data"; 28 29 private static final String PATTERN_TRACKPOINTS_BBOX = "http://.*/api/0.6/trackpoints\\?bbox=.*,.*,.*,.*"; 23 30 24 31 public Future<?> download(boolean newLayer, Bounds downloadArea, ProgressMonitor progressMonitor) { … … 30 37 } 31 38 32 public Future<?> loadUrl(boolean a,java.lang.String b, ProgressMonitor progressMonitor) { 39 public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) { 40 if (url != null && url.matches(PATTERN_TRACE_ID)) { 41 downloadTask = new DownloadTask(newLayer, 42 new OsmServerLocationReader(url), progressMonitor); 43 // We need submit instead of execute so we can wait for it to finish and get the error 44 // message if necessary. If no one calls getErrorMessage() it just behaves like execute. 45 return Main.worker.submit(downloadTask); 46 47 } else if (url != null && url.matches(PATTERN_TRACKPOINTS_BBOX)) { 48 String[] table = url.split("\\?|=|&"); 49 for (int i = 0; i<table.length; i++) { 50 if (table[i].equals("bbox") && i<table.length-1 ) { 51 return download(newLayer, new Bounds(table[i+1], ",", ParseMethod.LEFT_BOTTOM_RIGHT_TOP), progressMonitor); 52 } 53 } 54 } 33 55 return null; 34 // FIXME this is not currently used 56 } 57 58 /* (non-Javadoc) 59 * @see org.openstreetmap.josm.actions.downloadtasks.DownloadTask#acceptsUrl(java.lang.String) 60 */ 61 @Override 62 public boolean acceptsUrl(String url) { 63 return url != null && (url.matches(PATTERN_TRACE_ID) || url.matches(PATTERN_TRACKPOINTS_BBOX)); 35 64 } 36 65 … … 42 71 43 72 class DownloadTask extends PleaseWaitRunnable { 44 private BoundingBoxDownloader reader;73 private OsmServerReader reader; 45 74 private GpxData rawData; 46 75 private final boolean newLayer; 47 76 48 public DownloadTask(boolean newLayer, BoundingBoxDownloader reader, ProgressMonitor progressMonitor) {77 public DownloadTask(boolean newLayer, OsmServerReader reader, ProgressMonitor progressMonitor) { 49 78 super(tr("Downloading GPS data")); 50 79 this.reader = reader; -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
r4310 r4521 64 64 return Main.worker.submit(downloadTask); 65 65 } 66 67 /* (non-Javadoc) 68 * @see org.openstreetmap.josm.actions.downloadtasks.DownloadTask#acceptsUrl(java.lang.String) 69 */ 70 @Override 71 public boolean acceptsUrl(String url) { 72 return url != null && url.matches("http://.*/api/0.6/(map|nodes?|ways?|relations?).*"); 73 } 66 74 67 75 public void cancel() { -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTask.java
r3083 r4521 65 65 */ 66 66 Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor); 67 68 /** 69 * Returns true if the task is able to open the given URL, false otherwise. 70 * @param url the url to download from 71 * @return True if the task is able to open the given URL, false otherwise. 72 */ 73 boolean acceptsUrl(String url); 67 74 68 75 /**
Note:
See TracChangeset
for help on using the changeset viewer.