diff --git a/gradle.properties b/gradle.properties index c193105e0c649ce5f2788889283d4fbb106b48b5..157f85c84fdcba3ec76925bbe26e5164b3678f5f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ micronautPluginVersion = 3.1.1 nodePluginVersion = 3.0.1 nodeVersion = 16.3.0 nshmFaultSectionsTag = v0.1 -nshmpLibVersion = 1.0.2 +nshmpLibVersion = 1.0.4 nshmpWsUtilsVersion = 0.3.5 shadowVersion = 7.1.2 spotbugsVersion = 4.7.0 diff --git a/gradle/spotbugs-filter.xml b/gradle/spotbugs-filter.xml index 1e23b1ca4ce182d23efeb4a0ea50b5fcabbd97c2..f289f294bdfbc22817df454db0102f38eb8d2598 100644 --- a/gradle/spotbugs-filter.xml +++ b/gradle/spotbugs-filter.xml @@ -24,6 +24,16 @@ name="gov.usgs.earthquake.nshmp.www.fault.$NshmFaultSection$Introspection" /> </Match> + <!-- MultimapBuilders are causing null dereferences but it's not clear where + to place a checkNotNull in the inlined builder method chain. --> + <Match> + <Class + name="gov.usgs.earthquake.nshmp.www.fault.FaultSections$FaultFinder" /> + <Method name="<init>" /> + <Bug code="NP" /> + </Match> + + <!-- https://spotbugs.readthedocs.io/en/stable/filter.html#rank --> <!-- TODO can we change this to higher rank or remove all together? --> <Match> diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gulf/GulfData.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gulf/GulfData.java index 29613e9f7145cd5994f47f9aaefd03ce1bcafe8c..1585bf89012c3dbeed5cbc55a0c5033b3252c3b1 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/gulf/GulfData.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gulf/GulfData.java @@ -1,6 +1,7 @@ package gov.usgs.earthquake.nshmp.www.gulf; import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import java.io.IOException; @@ -109,7 +110,7 @@ public class GulfData { */ public double getGulfData(Location loc) { loc = processLocation(loc); - return gulfData.get(loc); + return checkNotNull(gulfData.get(loc)); } /* @@ -118,7 +119,7 @@ public class GulfData { */ public GulfDataResponse getGulfDataResponse(Location loc) { loc = processLocation(loc); - return new GulfDataResponse(loc, gulfData.get(loc)); + return new GulfDataResponse(loc, checkNotNull(gulfData.get(loc))); } /* diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java index dd4d0c8137bf498aef83f9c24971d823ba4cf9fa..7514c6f0b76d54c85ada6769be9ef2a800414702 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java @@ -33,6 +33,7 @@ import gov.usgs.earthquake.nshmp.www.fault.NshmFaultSection; import gov.usgs.earthquake.nshmp.www.meta.Status; import gov.usgs.earthquake.nshmp.www.services.FaultSectionsService.GroupData; import gov.usgs.earthquake.nshmp.www.services.FaultSectionsService.RequestData; + import io.micronaut.http.HttpRequest; import io.micronaut.test.extensions.junit5.annotation.MicronautTest; import jakarta.inject.Inject; diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java index 354cc5cd1ff3f8f446843cfff0d91a6cb8f57cd2..4ae6ba8e5286d3c1125e66c030acc42129958525 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java @@ -24,6 +24,7 @@ import gov.usgs.earthquake.nshmp.www.meta.Status; import gov.usgs.earthquake.nshmp.www.services.GpsService; import gov.usgs.earthquake.nshmp.www.services.GpsService.GpsFormat; import gov.usgs.earthquake.nshmp.www.services.GpsService.RequestData; + import io.micronaut.http.HttpRequest; import io.micronaut.test.extensions.junit5.annotation.MicronautTest; import jakarta.inject.Inject; diff --git a/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java b/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java index 0ae99b803d8f8cff9e2f1d2a5476fd34f1a68aa5..eff1e7613622601fbd54afc741fb097b0174be37 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java @@ -19,6 +19,7 @@ import gov.usgs.earthquake.nshmp.www.gulf.GulfData.GulfDataResponse; import gov.usgs.earthquake.nshmp.www.gulf.GulfDataTests.GulfParameterizedTests; import gov.usgs.earthquake.nshmp.www.meta.Status; import gov.usgs.earthquake.nshmp.www.services.GulfService.RequestData; + import io.micronaut.http.HttpRequest; import io.micronaut.test.extensions.junit5.annotation.MicronautTest; import jakarta.inject.Inject;