| 353 | | if (i<clone.members.size()-1) { |
| 354 | | m = clone.members.get(i+1); |
| 355 | | while (m != null) { |
| 356 | | if (m.member instanceof Way) { |
| 357 | | n2 = ((Way) (m.member)).firstNode(); |
| | 354 | if (way1 != null) { |
| | 355 | int next = i+1; |
| | 356 | while (next < clone.members.size()) { |
| | 357 | m = clone.members.get(next++); |
| | 358 | while (m != null) { |
| | 359 | if (m.member instanceof Way) { |
| | 360 | way2 = m; |
| | 361 | break; |
| | 362 | } else if (m.member instanceof Relation) { |
| | 363 | m = ((Relation)(m.member)).firstMember(); |
| | 364 | } else { |
| | 365 | break; |
| | 366 | } |
| | 367 | } |
| | 368 | if (way2 != null) |
| 366 | | linked = (n1 != null) && n1.equals(n2); |
| 367 | | |
| 368 | | // end of section to determine linkedness. |
| 369 | | |
| 370 | | memberData.addRow(new Object[]{em.role, em.member, linked ? tr("yes") : tr("no")}); |
| | 372 | if (way2 != null) { |
| | 373 | Node way1first = ((Way)(way1.member)).firstNode(); |
| | 374 | Node way1last = ((Way)(way1.member)).lastNode(); |
| | 375 | Node way2first = ((Way)(way2.member)).firstNode(); |
| | 376 | Node way2last = ((Way)(way2.member)).lastNode(); |
| | 377 | if (way1.role.equals("forward")) { |
| | 378 | way1first = null; |
| | 379 | } else if (way1.role.equals("backward")) { |
| | 380 | way1last = null; |
| | 381 | } |
| | 382 | if (way2.role.equals("forward")) { |
| | 383 | way2last = null; |
| | 384 | } else if (way2.role.equals("backward")) { |
| | 385 | way2first = null; |
| | 386 | } |
| | 387 | |
| | 388 | if (way1first != null && way2first != null && way1first.equals(way2first)) { |
| | 389 | linked = true; |
| | 390 | } else if (way1first != null && way2last != null && way1first.equals(way2last)) { |
| | 391 | linked = true; |
| | 392 | } else if (way1last != null && way2first != null && way1last.equals(way2first)) { |
| | 393 | linked = true; |
| | 394 | } else if (way1last != null && way2last != null && way1last.equals(way2last)) { |
| | 395 | linked = true; |
| | 396 | } |
| | 397 | |
| | 398 | // end of section to determine linkedness. |
| | 399 | |
| | 400 | memberData.addRow(new Object[]{em.role, em.member, linked ? tr("yes") : tr("no")}); |
| | 401 | } else { |
| | 402 | memberData.addRow(new Object[]{em.role, em.member, ""}); |
| | 403 | } |