diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/BasinData.java b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/BasinData.java index a0b213547d2b218240f4e7d8965894e0ed4af9d1..98b85caee03acb0de695c993b0f09e4db3a85c55 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/BasinData.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/BasinData.java @@ -112,7 +112,7 @@ public class BasinData { double lat = Maths.round(loc.latitude, BASIN_DATA_SCALE); double lon = Maths.round(loc.longitude, BASIN_DATA_SCALE); - loc = Location.create(lat, lon); + loc = Location.create(lon, lat); BasinValues basinValues = basinRecords.get(loc); checkState(basinValues != null, "Location [%s] not found in basin [%s]", loc, basin.id); @@ -178,7 +178,7 @@ public class BasinData { } } - return new BasinRecord(Location.create(lat, lon), z1p0, z2p5); + return new BasinRecord(Location.create(lon, lat), z1p0, z2p5); } } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basins.java b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basins.java index 6641de53eeb7c8a71ba45a24c9cc4409f31700c9..2c44d9647bf63d85c38d014642988f393f6f16f0 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basins.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basins.java @@ -65,7 +65,7 @@ public class Basins implements Iterable<Basins.BasinRegion> { * @param longitude in degrees. */ public BasinRegion findRegion(double latitude, double longitude) { - Location loc = Location.create(latitude, longitude); + Location loc = Location.create(longitude, latitude); return basinRegions.stream() .filter((basin) -> basin.region.contains(loc)) @@ -115,9 +115,9 @@ public class Basins implements Iterable<Basins.BasinRegion> { private BasinRegion(Feature feature) { Properties properties = feature.properties(); - title = properties.getString("title"); - basin = Basin.fromId(properties.getString("id")); - model = properties.getString("defaultModel"); + title = properties.getString("title").orElseThrow(); + basin = Basin.fromId(properties.getString("id").orElseThrow()); + model = properties.getString("defaultModel").orElseThrow(); region = Regions.create( title, feature.asPolygonBorder(), diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinTermService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinTermService.java index b81b8522ab681ee97ed017112be41ac3d601c2c8..931e7f58f9490632d1f73ad3f02faa6edb354527 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinTermService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinTermService.java @@ -33,7 +33,7 @@ import io.micronaut.http.HttpResponse; /** * Service handler for {@code BasinTermController} - * + * * @author U.S. Geological Survey */ public class BasinTermService { @@ -145,7 +145,7 @@ public class BasinTermService { return processNullResult(requestData, urlHelper); } - var loc = Location.create(requestData.latitude, requestData.longitude); + var loc = Location.create(requestData.longitude, requestData.latitude); var basin = Basin.fromId(requestData.basinRegion.id); var basinValues = BASIN_DATA.getBasinValues(basin, loc); var values = GSON.toJsonTree(basinValues, BasinValues.class); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/site/NshmpSite.java b/src/main/java/gov/usgs/earthquake/nshmp/www/site/NshmpSite.java index 275516027f4487241465770281ae91af6eb6f83e..d388c2c9025a1337cf7e5f3f319bdae60dca3cfd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/site/NshmpSite.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/site/NshmpSite.java @@ -324,7 +324,7 @@ public enum NshmpSite implements NamedLocation { private final String label; private NshmpSite(double lon, double lat) { - this.location = Location.create(lat, lon); + this.location = Location.create(lon, lat); this.state = UsRegion.valueOf(name().substring(name().lastIndexOf('_') + 1)); this.label = createLabel(); } diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java index fee0a634b658ab9ac0c15b3d209c3bf37baa648d..4f687b8deace4ad6c21c27d6345df415da5e9884 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java @@ -7,6 +7,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.lang.reflect.Type; import java.util.Map.Entry; +import java.util.Optional; +import java.util.OptionalDouble; import javax.inject.Inject; @@ -72,7 +74,7 @@ public class BasinTermControllerTests { }) public final void httpBasinValuesTests( Basin basin, double lon, double lat, Double z1p0, Double z2p5) { - var loc = Location.create(lat, lon); + var loc = Location.create(lon, lat); // Slash delimited HTTP GET test var httpSlash = controller.doGetBasinSlash(request, loc.longitude, loc.latitude); @@ -147,20 +149,25 @@ public class BasinTermControllerTests { assertEquals(entry.getKey().latitude, feature.asPoint().latitude, 0); assertEquals(entry.getKey(), feature.asPoint()); - assertTrue(props.containsKey(Key.BASIN.toString())); - assertEquals(basin.name(), props.get(Key.BASIN.toString(), String.class)); + Optional<String> basinName = props.getString(Key.BASIN.toString()); + assertTrue(basinName.isPresent()); + assertEquals(basin.name(), basinName.get()); - assertTrue(props.containsKey(Key.NAME.toString())); - assertEquals(basin.label, props.get(Key.NAME.toString(), String.class)); + Optional<String> name = props.getString(Key.NAME.toString()); + assertTrue(name.isPresent()); + assertEquals(basin.label, name.get()); - assertTrue(props.containsKey(Key.MODEL.toString())); - assertEquals(region.model, props.get(Key.MODEL.toString(), String.class)); + Optional<String> model = props.getString(Key.MODEL.toString()); + assertTrue(model.isPresent()); + assertEquals(region.model, model.get()); - assertTrue(props.containsKey(Key.Z1P0.toString())); - assertEquals(basinValue.z1p0.value, (Double) props.get(Key.Z1P0.toString()), 0); + OptionalDouble z1p0 = props.getDouble(Key.Z1P0.toString()); + assertTrue(z1p0.isPresent()); + assertEquals(basinValue.z1p0.value, z1p0.getAsDouble(), 0); - assertTrue(props.containsKey(Key.Z2P5.toString())); - assertEquals(basinValue.z2p5.value, (Double) props.get(Key.Z2P5.toString()), 0); + OptionalDouble z2p5 = props.getDouble(Key.Z2P5.toString()); + assertTrue(z2p5.isPresent()); + assertEquals(basinValue.z2p5.value, z2p5.getAsDouble(), 0); } } diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinDataTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinDataTests.java index 4738356ed5df9906bbe087f271425f26f53e8d5c..5815c38d47d5a153c46bef1b2cc17100ae609ec0 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinDataTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinDataTests.java @@ -45,7 +45,7 @@ public class BasinDataTests { }) public final void getBasinValuesTests(Basin basin, double lon, double lat, double z1p0, double z2p5) { - Location loc = Location.create(lat, lon); + Location loc = Location.create(lon, lat); BasinValues actual = BASIN_DATA.getBasinValues(basin, loc); assertEquals(z1p0, actual.z1p0.value, 0); diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinsTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinsTests.java index a085ec0c2161894cf2761c56e72b766ec472cf0e..11a83f1e7e4e9466593c15158eb0305bdc6e3ef5 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinsTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/basin/BasinsTests.java @@ -18,10 +18,10 @@ import gov.usgs.earthquake.nshmp.www.basin.Basins.BasinRegion; public class BasinsTests { private static final Basins BASINS = Basins.getBasins(); - private static final Location BAY_AREA = Location.create(38.53, -123.02); - private static final Location LA = Location.create(34.43, -119.96); - private static final Location PUGET = Location.create(48, -123.5); - private static final Location WASATCH = Location.create(41.5, -112.6); + private static final Location BAY_AREA = Location.create(-123.02, 38.53); + private static final Location LA = Location.create(-119.96, 34.43); + private static final Location PUGET = Location.create(-123.5, 48); + private static final Location WASATCH = Location.create(-112.6, 41.5); @Test public final void findRegionTests() {