Changeset 5171 in josm


Ignore:
Timestamp:
Apr 6, 2012 3:56:23 PM (15 months ago)
Author:
Don-vip
Message:

history/osmChange handling: fix an issue when downloading osmChange that could lead to the creation of empty ways (0 node) + fix spelling of a getter

Location:
trunk/src/org/openstreetmap/josm
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java

    r4874 r5171  
    33import java.util.ArrayList; 
    44import java.util.Date; 
     5import java.util.HashSet; 
    56import java.util.Iterator; 
    67import java.util.List; 
     8import java.util.Set; 
    79import java.util.concurrent.Future; 
    810 
     
    8385            try { 
    8486                // A changeset does not contain all referred primitives, this is the list of incomplete ones 
    85                 List<OsmPrimitive> toLoad = new ArrayList<OsmPrimitive>(); 
     87                Set<OsmPrimitive> toLoad = new HashSet<OsmPrimitive>(); 
    8688                // For each incomplete primitive, we'll have to get its state at date it was referred 
    8789                List<Pair<OsmPrimitive, Date>> toMonitor = new ArrayList<Pair<OsmPrimitive, Date>>(); 
     
    9597                            } 
    9698                        } 
    97                         toLoad.add(p); 
    98                         toMonitor.add(new Pair<OsmPrimitive, Date>(p, timestamp)); 
     99                        if (toLoad.add(p)) { 
     100                            toMonitor.add(new Pair<OsmPrimitive, Date>(p, timestamp)); 
     101                        } 
    99102                    } 
    100103                } 
     
    151154 
    152155                        data.setUser(hp.getUser()); 
    153                         data.setVisible(hp.isVisible()); 
     156                        try { 
     157                            data.setVisible(hp.isVisible()); 
     158                        } catch (IllegalStateException e) { 
     159                            System.err.println("Cannot change visibility for "+pair.a+": "+e.getMessage()); 
     160                        } 
    154161                        data.setTimestamp(hp.getTimestamp()); 
    155162                        data.setKeys(hp.getTags()); 
  • trunk/src/org/openstreetmap/josm/data/osm/history/History.java

    r4724 r5171  
    160160     * @return the primitive id 
    161161     */ 
    162     public PrimitiveId getPrimitmiveId() { 
     162    public PrimitiveId getPrimitiveId() { 
    163163        return new SimplePrimitiveId(id, type); 
    164164    } 
  • trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialog.java

    r4297 r5171  
    123123    /* ---------------------------------------------------------------------------------- */ 
    124124    public void historyUpdated(HistoryDataSet source, PrimitiveId primitiveId) { 
    125         if (primitiveId == null || primitiveId.equals(browser.getHistory().getPrimitmiveId())) { 
    126             browser.populate(source.getHistory(browser.getHistory().getPrimitmiveId())); 
     125        if (primitiveId == null || primitiveId.equals(browser.getHistory().getPrimitiveId())) { 
     126            browser.populate(source.getHistory(browser.getHistory().getPrimitiveId())); 
    127127        } 
    128128    } 
  • trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java

    r4310 r5171  
    120120    public HistoryLoadTask add(History history) { 
    121121        CheckParameterUtil.ensureParameterNotNull(history, "history"); 
    122         toLoad.add(history.getPrimitmiveId()); 
     122        toLoad.add(history.getPrimitiveId()); 
    123123        return this; 
    124124    } 
Note: See TracChangeset for help on using the changeset viewer.