Ignore:
Timestamp:
23.06.2009 22:03:37 (3 years ago)
Author:
Gubaer
Message:

new: MultiFetchServerObjectReader using APIs Multi Fetch method
update: now uses Multi Fetch to check for deleted primitives on the server
update: now uses Multi Fetch to update the selected primitives with the state from the server
fixed: cleaned up merging in MergeVisitor
new: conflict resolution dialog; now resolves conflicts due to different visibilities
new: replacement for realEqual() on OsmPrimitive and derived classes; realEqual now @deprecated
fixed: cleaning up OsmReader
fixed: progress indication in OsmApi

File:
1 edited

Legend:

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

    r1677 r1690  
    3939    public void visitNodes(Visitor v) { 
    4040        if (incomplete) return; 
    41         for (Node n : this.nodes) 
     41        for (Node n : this.nodes) { 
    4242            v.visit(n); 
     43        } 
    4344    } 
    4445 
     
    100101    } 
    101102 
     103    @Deprecated 
    102104    @Override public boolean realEqual(OsmPrimitive osm, boolean semanticOnly) { 
    103105        return osm instanceof Way ? super.realEqual(osm, semanticOnly) && nodes.equals(((Way)osm).nodes) : false; 
     106    } 
     107 
     108    @Override 
     109    public boolean hasEqualSemanticAttributes(OsmPrimitive other) { 
     110        if (other == null || ! (other instanceof Way) ) 
     111            return false; 
     112        if (! super.hasEqualSemanticAttributes(other)) 
     113            return false; 
     114        Way w = (Way)other; 
     115        return nodes.equals(w.nodes); 
    104116    } 
    105117 
     
    110122    } 
    111123 
     124    @Override 
    112125    public String getName() { 
    113126        String name; 
     
    116129        } else { 
    117130            name = get("name"); 
    118             if (name == null) name = get("ref"); 
     131            if (name == null) { 
     132                name = get("ref"); 
     133            } 
    119134            if (name == null) { 
    120135                name = 
    121136                    (get("highway") != null) ? tr("highway") : 
    122                     (get("railway") != null) ? tr("railway") : 
    123                     (get("waterway") != null) ? tr("waterway") : 
    124                     (get("landuse") != null) ? tr("landuse") : ""; 
     137                        (get("railway") != null) ? tr("railway") : 
     138                            (get("waterway") != null) ? tr("waterway") : 
     139                                (get("landuse") != null) ? tr("landuse") : ""; 
    125140            } 
    126141 
     
    128143            String nodes = trn("{0} node", "{0} nodes", nodesNo, nodesNo); 
    129144            name += (name.length() > 0) ? " ("+nodes+")" : nodes; 
    130             if(errors != null) 
     145            if(errors != null) { 
    131146                name = "*"+name; 
     147            } 
    132148        } 
    133149        return name; 
     
    138154        boolean closed = (lastNode() == n && firstNode() == n); 
    139155        int i; 
    140         while ((i = nodes.indexOf(n)) >= 0) 
     156        while ((i = nodes.indexOf(n)) >= 0) { 
    141157            nodes.remove(i); 
     158        } 
    142159        i = nodes.size(); 
    143         if (closed && i > 2) // close again 
     160        if (closed && i > 2) { 
    144161            addNode(firstNode()); 
    145         // prevent closed ways with less than 3 different nodes 
    146         else if (i >= 2 && i <= 3 && nodes.get(0) == nodes.get(i-1)) 
     162        } else if (i >= 2 && i <= 3 && nodes.get(0) == nodes.get(i-1)) { 
    147163            nodes.remove(i-1); 
     164        } 
    148165    } 
    149166 
     
    151168        if (incomplete) return; 
    152169        for(OsmPrimitive p : selection) { 
    153            if (p instanceof Node) { 
    154                removeNode((Node)p); 
    155            } 
    156        } 
     170            if (p instanceof Node) { 
     171                removeNode((Node)p); 
     172            } 
     173        } 
    157174    } 
    158175 
Note: See TracChangeset for help on using the changeset viewer.