Ignore:
Timestamp:
2009-08-05T08:19:02+02:00 (16 years ago)
Author:
jttt
Message:

Way refactoring - finish replacing Way.nodes with the new api

Location:
trunk/src/org/openstreetmap/josm/data/osm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r1899 r1910  
    372372
    373373    protected void deleteWay(Way way) {
    374         way.nodes.clear();
     374        way.setNodes(null);
    375375        way.delete(true);
    376376    }
     
    383383    public void unlinkNodeFromWays(Node node) {
    384384        for (Way way: ways) {
    385             if (way.nodes.contains(node)) {
    386                 way.nodes.remove(node);
    387                 if (way.nodes.size() < 2) {
     385            List<Node> nodes = way.getNodes();
     386            if (nodes.remove(node)) {
     387                if (nodes.size() < 2) {
    388388                    deleteWay(way);
     389                } else {
     390                    way.setNodes(nodes);
    389391                }
    390392            }
  • trunk/src/org/openstreetmap/josm/data/osm/Way.java

    r1900 r1910  
    2424    /**
    2525     * All way nodes in this way
    26      * 
     26     *
    2727     * @deprecated This public field will become private or protected in the future.
    2828     *  Use the new public API instead.
     
    4343
    4444    /**
    45      * @param nodes
     45     * @param nodes New way nodes. Can be null, in that case all way nodes are removed
    4646     * @since 1862
    4747     */
    4848    public void setNodes(List<Node> nodes) {
    4949        this.nodes.clear();
    50         this.nodes.addAll(nodes);
     50        if (nodes != null) {
     51            this.nodes.addAll(nodes);
     52        }
     53        clearCached();
    5154    }
    5255
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java

    r1898 r1910  
    136136            return;
    137137        Way clone = new Way(w);
    138         clone.nodes.clear();
     138        clone.setNodes(null);
    139139        clone.incomplete = true;
    140140        mappedPrimitives.put(w, clone);
Note: See TracChangeset for help on using the changeset viewer.