Changeset 1852 in josm


Ignore:
Timestamp:
Jul 26, 2009 11:32:04 AM (4 years ago)
Author:
Gubaer
Message:

fixed #3094: Relation editor tries to download objects with id:0 from the server
Parent relations now also displayed for new relations

Location:
trunk/src/org/openstreetmap/josm/gui/dialogs/relation
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java

    r1850 r1852  
    419419                while(! relationsToDownload.isEmpty() && !cancelled) { 
    420420                    Relation r = relationsToDownload.pop(); 
     421                    if (r.id == 0) { 
     422                        continue; 
     423                    } 
    421424                    rememberChildRelationsToDownload(r); 
    422425                    progressMonitor.setCustomText(tr("Downloading relation {0}", nameFormatter.getName(r))); 
     
    514517        } 
    515518 
     519        protected void mergeDataSet(DataSet dataSet) { 
     520            if (dataSet != null) { 
     521                final MergeVisitor visitor = new MergeVisitor(getLayer().data, dataSet); 
     522                visitor.merge(); 
     523                // FIXME: this is necessary because there are dialogs listening 
     524                // for DataChangeEvents which manipulate Swing components on this 
     525                // thread. 
     526                // 
     527                SwingUtilities.invokeLater(new Runnable() { 
     528                    public void run() { 
     529                        getLayer().fireDataChange(); 
     530                    } 
     531                }); 
     532                if (!visitor.getConflicts().isEmpty()) { 
     533                    getLayer().getConflicts().add(visitor.getConflicts()); 
     534                    conflictsCount +=  visitor.getConflicts().size(); 
     535                } 
     536            } 
     537        } 
     538 
    516539        @Override 
    517540        protected void realRun() throws SAXException, IOException, OsmTransferException { 
     
    521544                while(it.hasNext() && !cancelled) { 
    522545                    Relation r = it.next(); 
     546                    if (r.id == 0) { 
     547                        continue; 
     548                    } 
    523549                    progressMonitor.setCustomText(tr("Downloading relation {0}", nameFormatter.getName(r))); 
    524550                    OsmServerObjectReader reader = new OsmServerObjectReader(r.id, OsmPrimitiveType.RELATION, 
     
    526552                    DataSet dataSet = reader.parseOsm(progressMonitor 
    527553                            .createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); 
    528                     if (dataSet != null) { 
    529                         final MergeVisitor visitor = new MergeVisitor(getLayer().data, dataSet); 
    530                         visitor.merge(); 
    531                         // FIXME: this is necessary because there are dialogs listening 
    532                         // for DataChangeEvents which manipulate Swing components on this 
    533                         // thread. 
    534                         // 
    535                         SwingUtilities.invokeLater(new Runnable() { 
    536                             public void run() { 
    537                                 getLayer().fireDataChange(); 
    538                             } 
    539                         }); 
    540                         if (!visitor.getConflicts().isEmpty()) { 
    541                             getLayer().getConflicts().add(visitor.getConflicts()); 
    542                             conflictsCount +=  visitor.getConflicts().size(); 
    543                         } 
    544                     } 
     554                    mergeDataSet(dataSet); 
    545555                    refreshView(r); 
    546556                } 
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java

    r1851 r1852  
    161161        JTabbedPane tabbedPane = new JTabbedPane(); 
    162162        tabbedPane.add(tr("Tags and Members"), pnl); 
    163         if (relation != null && relation.id > 0) { 
    164             referrerBrowser = new ReferringRelationsBrowser(getLayer(), referrerModel, this); 
    165             tabbedPane.add(tr("Parent Relations"), referrerBrowser); 
    166         } 
     163        referrerBrowser = new ReferringRelationsBrowser(getLayer(), referrerModel, this); 
     164        tabbedPane.add(tr("Parent Relations"), referrerBrowser); 
    167165        tabbedPane.add(tr("Child Relations"), new ChildRelationBrowser(getLayer(), relation)); 
    168166        tabbedPane.addChangeListener( 
Note: See TracChangeset for help on using the changeset viewer.