Changeset 2494 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
- Timestamp:
- 2009-11-21T20:13:15+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
r2484 r2494 76 76 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionCache; 77 77 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 78 import org.openstreetmap.josm.io.Osm Api;78 import org.openstreetmap.josm.io.OsmServerBackreferenceReader; 79 79 import org.openstreetmap.josm.io.OsmServerObjectReader; 80 80 import org.openstreetmap.josm.io.OsmTransferException; … … 87 87 * 88 88 */ 89 public class GenericRelationEditor extends RelationEditor {89 public class GenericRelationEditor extends RelationEditor { 90 90 91 91 static private final Logger logger = Logger.getLogger(GenericRelationEditor.class.getName()); … … 1381 1381 private OsmDataLayer curLayer; 1382 1382 private MemberTableModel memberTableModel; 1383 private OsmServerObjectReader objectReader; 1384 private OsmServerBackreferenceReader parentReader; 1383 1385 1384 1386 public DownloadTask(List<Relation> relations, OsmDataLayer curLayer, MemberTableModel memberTableModel, Dialog parent) { … … 1399 1401 protected void cancel() { 1400 1402 cancelled = true; 1401 OsmApi.getOsmApi().cancel(); 1403 synchronized(this) { 1404 if (objectReader != null) { 1405 objectReader.cancel(); 1406 } else if (parentReader != null) { 1407 parentReader.cancel(); 1408 } 1409 } 1402 1410 } 1403 1411 … … 1419 1427 try { 1420 1428 for (Relation relation : relations) { 1421 progressMonitor.indeterminateSubTask(""); 1422 OsmServerObjectReader reader = new OsmServerObjectReader(relation.getId(), OsmPrimitiveType.RELATION, 1423 true); 1424 final DataSet dataSet = reader.parseOsm(progressMonitor 1429 // download the relation 1430 // 1431 progressMonitor.indeterminateSubTask(tr("Downloading relation ''{0}''", relation.getDisplayName(DefaultNameFormatter.getInstance()))); 1432 synchronized(this) { 1433 if (cancelled) return; 1434 objectReader = new OsmServerObjectReader(relation.getId(), OsmPrimitiveType.RELATION, true /* full download */); 1435 } 1436 final DataSet dataSet = objectReader.parseOsm(progressMonitor 1425 1437 .createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); 1426 1438 if (dataSet == null) 1427 1439 return; 1440 synchronized (this) { 1441 if (cancelled) return; 1442 objectReader = null; 1443 } 1444 1445 // download referring objects of the downloaded member objects 1446 // 1447 // asked for in #3999, but uncommented for the time being. Could be used 1448 // later, perhaps if user explicity requests so (for instance by checking 1449 // a checkbox) 1450 // for (OsmPrimitive p: relation.getMemberPrimitives()) { 1451 // synchronized(this) { 1452 // if (cancelled) return; 1453 // parentReader = new OsmServerBackreferenceReader(p); 1454 // } 1455 // DataSet parents = parentReader.parseOsm(progressMonitor.createSubTaskMonitor(1, false)); 1456 // synchronized(this) { 1457 // if (cancelled) return; 1458 // parentReader = null; 1459 // } 1460 // DataSetMerger merger = new DataSetMerger(dataSet, parents); 1461 // merger.merge(); 1462 // } 1463 // if (cancelled) return; 1464 1428 1465 // has to run on the EDT because mergeFrom may trigger events 1429 1466 // which update the UI … … 1438 1475 } 1439 1476 ); 1440 1441 1477 } 1442 1478 } catch (Exception e) {
Note:
See TracChangeset
for help on using the changeset viewer.