Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r9460 r9716 420 420 @Override 421 421 public OsmPrimitiveType getDisplayType() { 422 return isMultipolygon() ? OsmPrimitiveType.MULTIPOLYGON 423 : OsmPrimitiveType.RELATION; 424 } 425 422 return isMultipolygon() && !isBoundary() ? OsmPrimitiveType.MULTIPOLYGON : OsmPrimitiveType.RELATION; 423 } 424 425 /** 426 * Determines if this relation is a boundary. 427 * @return {@code true} if a boundary relation 428 */ 429 public boolean isBoundary() { 430 return "boundary".equals(get("type")); 431 } 432 433 /** 434 * Determines if this relation behaves as a multipolygon. 435 * @return {@code true} if it's a real mutlipolygon or a boundary relation 436 */ 426 437 public boolean isMultipolygon() { 427 return "multipolygon".equals(get("type")) || "boundary".equals(get("type"));438 return "multipolygon".equals(get("type")) || isBoundary(); 428 439 } 429 440 -
trunk/test/unit/org/openstreetmap/josm/data/osm/RelationTest.java
r8510 r9716 2 2 package org.openstreetmap.josm.data.osm; 3 3 4 import static org.junit.Assert.assertEquals; 4 5 import static org.junit.Assert.assertFalse; 6 import static org.junit.Assert.assertTrue; 5 7 6 8 import org.junit.Assert; … … 104 106 Assert.assertEquals(new BBox(w1), r1.getBBox()); 105 107 } 108 109 /** 110 * Non-regression test for <a href="https://josm.openstreetmap.de/ticket/12467">Bug #12467</a>. 111 * @throws Exception if any error occurs 112 */ 113 @Test 114 public void testTicket12467() throws Exception { 115 Relation r = new Relation(); 116 r.put("type", "boundary"); 117 assertTrue(r.isBoundary()); 118 assertTrue(r.isMultipolygon()); 119 assertEquals(OsmPrimitiveType.RELATION, r.getDisplayType()); 120 121 r.put("type", "multipolygon"); 122 assertFalse(r.isBoundary()); 123 assertTrue(r.isMultipolygon()); 124 assertEquals(OsmPrimitiveType.MULTIPOLYGON, r.getDisplayType()); 125 126 r.put("type", "something_else"); 127 assertFalse(r.isBoundary()); 128 assertFalse(r.isMultipolygon()); 129 assertEquals(OsmPrimitiveType.RELATION, r.getDisplayType()); 130 } 106 131 }
Note:
See TracChangeset
for help on using the changeset viewer.