| 185 | // #17422 : avoid to show the conflict dialog when a new way is a simple replacement for an existing one |
| 186 | if (memberPrimitives.size() == 2 && memberPrimitives.stream().allMatch(Way.class::isInstance)) { |
| 187 | Iterator<? extends OsmPrimitive> iter = memberPrimitives.iterator(); |
| 188 | Way w1 = (Way) iter.next(); |
| 189 | Way w2 = (Way) iter.next(); |
| 190 | if ((w1.isNew() || w2.isNew()) && w1.getNodesCount() > 1 && w2.getNodesCount() > 1 |
| 191 | && w1.firstNode() == w2.firstNode() && w1.lastNode() == w2.lastNode()) { |
| 192 | // new way is simple replacement for old way |
| 193 | for (RelationMemberConflictDecision decision : decisions) { |
| 194 | decision.decide(RelationMemberConflictDecisionType.KEEP); |
| 195 | } |
| 196 | } |
| 197 | } |