| 55 | | for (WaySegment ws : duplicated) prims.add(ws.way); |
| 56 | | errors.add(new TestError(this, Severity.OTHER, |
| 57 | | tr("Overlapping ways"), prims, duplicated)); |
| | 60 | List<Way> current_ways = new ArrayList<Way>(); |
| | 61 | List<WaySegment> highlight; |
| | 62 | |
| | 63 | for (WaySegment ws : duplicated) |
| | 64 | { |
| | 65 | if (ws.way.get("highway") != null) |
| | 66 | highway++; |
| | 67 | else if (ws.way.get("railway") != null) |
| | 68 | railway++; |
| | 69 | |
| | 70 | prims.add(ws.way); |
| | 71 | current_ways.add(ws.way); |
| | 72 | } |
| | 73 | /* These ways not seen before |
| | 74 | * If two or more of the overlapping ways are |
| | 75 | * highways or railways mark a seperate error |
| | 76 | */ |
| | 77 | if ((highlight = ways_seen.get(current_ways)) == null) |
| | 78 | { |
| | 79 | String errortype = "Overlapping ways"; |
| | 80 | |
| | 81 | if (highway >1) |
| | 82 | errortype = "Overlapping highways"; |
| | 83 | else if (railway >1) |
| | 84 | errortype = "Overlapping railways"; |
| | 85 | |
| | 86 | errors.add(new TestError(this, Severity.OTHER, |
| | 87 | tr(errortype), prims, duplicated)); |
| | 88 | ways_seen.put(current_ways, duplicated); |
| | 89 | } |
| | 90 | else /* way seen, mark highlight layer only */ |
| | 91 | { |
| | 92 | for (WaySegment ws : duplicated) |
| | 93 | highlight.add(ws); |
| | 94 | } |