Changeset 1690 in josm for trunk/src/org/openstreetmap/josm/data/osm/Way.java
- Timestamp:
- 23.06.2009 22:03:37 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/Way.java
r1677 r1690 39 39 public void visitNodes(Visitor v) { 40 40 if (incomplete) return; 41 for (Node n : this.nodes) 41 for (Node n : this.nodes) { 42 42 v.visit(n); 43 } 43 44 } 44 45 … … 100 101 } 101 102 103 @Deprecated 102 104 @Override public boolean realEqual(OsmPrimitive osm, boolean semanticOnly) { 103 105 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); 104 116 } 105 117 … … 110 122 } 111 123 124 @Override 112 125 public String getName() { 113 126 String name; … … 116 129 } else { 117 130 name = get("name"); 118 if (name == null) name = get("ref"); 131 if (name == null) { 132 name = get("ref"); 133 } 119 134 if (name == null) { 120 135 name = 121 136 (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") : ""; 125 140 } 126 141 … … 128 143 String nodes = trn("{0} node", "{0} nodes", nodesNo, nodesNo); 129 144 name += (name.length() > 0) ? " ("+nodes+")" : nodes; 130 if(errors != null) 145 if(errors != null) { 131 146 name = "*"+name; 147 } 132 148 } 133 149 return name; … … 138 154 boolean closed = (lastNode() == n && firstNode() == n); 139 155 int i; 140 while ((i = nodes.indexOf(n)) >= 0) 156 while ((i = nodes.indexOf(n)) >= 0) { 141 157 nodes.remove(i); 158 } 142 159 i = nodes.size(); 143 if (closed && i > 2) // close again160 if (closed && i > 2) { 144 161 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)) { 147 163 nodes.remove(i-1); 164 } 148 165 } 149 166 … … 151 168 if (incomplete) return; 152 169 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 } 157 174 } 158 175
Note: See TracChangeset
for help on using the changeset viewer.
