Changeset 5171 in josm for trunk


Ignore:
Timestamp:
2012-04-06T15:56:23+02:00 (8 years 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.