kopia lustrzana https://github.com/JOSM/MapWithAI
Fix #23186: NPE when validating relation with no complete members
Signed-off-by: Taylor Smock <tsmock@meta.com>pull/40/head v814
rodzic
409662a664
commit
bac594e719
|
@ -156,10 +156,12 @@ public class StreetAddressTest extends Test {
|
|||
} else {
|
||||
en = primitive.getBBox().getCenter().getEastNorth(ProjectionRegistry.getProjection());
|
||||
}
|
||||
long x = (long) Math.floor(en.getX() * gridDetail);
|
||||
long y = (long) Math.floor(en.getY() * gridDetail);
|
||||
final var point = new Point2D.Double(x, y);
|
||||
primitiveCellMap.computeIfAbsent(point, p -> new ArrayList<>()).add(primitive);
|
||||
if (en != null) {
|
||||
long x = (long) Math.floor(en.getX() * gridDetail);
|
||||
long y = (long) Math.floor(en.getY() * gridDetail);
|
||||
final var point = new Point2D.Double(x, y);
|
||||
primitiveCellMap.computeIfAbsent(point, p -> new ArrayList<>()).add(primitive);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,8 +17,11 @@ import org.openstreetmap.josm.data.osm.AbstractPrimitive;
|
|||
import org.openstreetmap.josm.data.osm.BBox;
|
||||
import org.openstreetmap.josm.data.osm.DataSet;
|
||||
import org.openstreetmap.josm.data.osm.Node;
|
||||
import org.openstreetmap.josm.data.osm.Relation;
|
||||
import org.openstreetmap.josm.data.osm.RelationMember;
|
||||
import org.openstreetmap.josm.data.osm.Way;
|
||||
import org.openstreetmap.josm.data.validation.OsmValidator;
|
||||
import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
|
||||
import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
|
||||
import org.openstreetmap.josm.testutils.annotations.Projection;
|
||||
import org.openstreetmap.josm.tools.Pair;
|
||||
|
@ -138,4 +141,18 @@ class StreetAddressTestTest {
|
|||
assertDoesNotThrow(() -> test.visit(node));
|
||||
assertTrue(test.getErrors().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testNonRegression23186() {
|
||||
final StreetAddressTest test = new StreetAddressTest();
|
||||
final Relation relation = TestUtils.newRelation(
|
||||
"addr:city=Alpine " + "addr:housenumber=501 " + "addr:postcode=83128 " + "addr:state=WY "
|
||||
+ "addr:street=Palisades Reservoir County Road 101 " + "landuse=quarry "
|
||||
+ "name=Alota Sand & Gravel Inc " + "phone=+1-307-654-7558 " + "resource=gravel "
|
||||
+ "type=multipolygon",
|
||||
new RelationMember("outer", new Way(968962006L)), new RelationMember("outer", new Way(968961999L)));
|
||||
test.startTest(NullProgressMonitor.INSTANCE);
|
||||
assertDoesNotThrow(() -> test.visit(relation));
|
||||
test.endTest();
|
||||
}
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue