Changeset 15891 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
r15609 r15891 430 430 } 431 431 432 /** 433 * Searches for all primitives in the given bounding box 434 * 435 * @param bbox the bounding box 436 * @return List of primitives in the given bbox. Can be empty but not null 437 * @since 15891 438 */ 439 public List<OsmPrimitive> searchPrimitives(BBox bbox) { 440 List<OsmPrimitive> primitiveList = new ArrayList<>(); 441 primitiveList.addAll(searchNodes(bbox)); 442 primitiveList.addAll(searchWays(bbox)); 443 primitiveList.addAll(searchRelations(bbox)); 444 return primitiveList; 445 } 446 432 447 @Override 433 448 public Collection<Relation> getRelations() { -
trunk/src/org/openstreetmap/josm/data/osm/QuadBuckets.java
r13764 r15891 586 586 public List<T> search(BBox searchBbox) { 587 587 List<T> ret = new ArrayList<>(); 588 if ( !searchBbox.isValid()) {588 if (searchBbox == null || !searchBbox.isValid()) { 589 589 return ret; 590 590 } -
trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java
r15609 r15891 14 14 import org.junit.Rule; 15 15 import org.junit.Test; 16 import org.openstreetmap.josm.TestUtils; 16 17 import org.openstreetmap.josm.data.Bounds; 17 18 import org.openstreetmap.josm.data.DataSource; … … 65 66 Assert.assertEquals("We should have found only one item.", 1, result.size()); 66 67 Assert.assertTrue("The item found is relation r.", result.contains(r)); 68 } 69 70 /** 71 * Unit test for {@link DataSet#searchPrimitives} 72 */ 73 @Test 74 public void testSearchPrimitives() { 75 final DataSet ds = new DataSet(); 76 // null bbox => empty list 77 Assert.assertTrue("Empty data set should produce an empty list.", ds.searchPrimitives(null).isEmpty()); 78 79 // empty data set, any bbox => empty list 80 BBox bbox = new BBox(new LatLon(-180, -90), new LatLon(180, 90)); 81 Assert.assertTrue("Empty data set should produce an empty list.", ds.searchPrimitives(bbox).isEmpty()); 82 // data set with elements in the given bbox => these elements 83 Node node = new Node(LatLon.ZERO); 84 Node node2 = new Node(new LatLon(-0.01, -0.01)); 85 Way way = TestUtils.newWay("", node, node2); 86 Relation r = new Relation(1); 87 RelationMember rm = new RelationMember("role", node); 88 r.addMember(rm); 89 way.getNodes().forEach(ds::addPrimitive); 90 ds.addPrimitive(way); 91 ds.addPrimitive(r); 92 bbox = new BBox(new LatLon(-1.0, -1.0), new LatLon(1.0, 1.0)); 93 List<OsmPrimitive> result = ds.searchPrimitives(bbox); 94 Assert.assertEquals("We should have found four items.", 4, result.size()); 67 95 } 68 96
Note:
See TracChangeset
for help on using the changeset viewer.