Changeset 17283 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
r17191 r17283 792 792 Set<Way> result = new HashSet<>(); 793 793 for (Way way : node.getParentWays()) { 794 List<Node> wayNodes = way.getNodes(); 795 if (wayNodes.removeIf(node::equals)) { 794 List<Node> wayNodes; 795 if (!way.isIncomplete()) { 796 wayNodes = way.calculateRemoveNodes(Collections.singleton(node)); 797 } else { 798 wayNodes = way.getNodes(); 799 wayNodes.removeIf(node::equals); 800 } 801 if (wayNodes.size() < way.getNodesCount()) { 796 802 if (wayNodes.size() < 2) { 797 803 deleteWay(way); -
trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java
r17275 r17283 12 12 13 13 import org.junit.Assert; 14 import org.junit.jupiter.api.Test; 14 15 import org.junit.jupiter.api.extension.RegisterExtension; 15 import org.junit.jupiter.api.Test;16 16 import org.openstreetmap.josm.TestUtils; 17 17 import org.openstreetmap.josm.data.Bounds; … … 168 168 Node n2 = new Node(2); 169 169 Node n3 = new Node(3); 170 Node n4 = new Node(4); 170 171 Way w1 = new Way(1); 171 w1.setNodes(Arrays.asList(n1, n2, n3, n1)); 172 w1.setNodes(Arrays.asList(n1, n2, n3, n4, n1)); 173 w1.setIncomplete(false); 174 assertEquals(5, w1.getNodesCount()); 175 assertTrue(w1.isClosed()); 172 176 ds.addPrimitive(n1); 173 177 ds.addPrimitive(n2); 174 178 ds.addPrimitive(n3); 179 ds.addPrimitive(n4); 175 180 ds.addPrimitive(w1); 176 181 ds.unlinkNodeFromWays(n1); 177 assertEquals(2, w1.getRealNodesCount()); 182 assertTrue(w1.isClosed()); 183 assertEquals(4, w1.getNodesCount()); 178 184 } 179 185
Note:
See TracChangeset
for help on using the changeset viewer.