diff --git a/build.gradle b/build.gradle index 7fe810d4017838c078b1d64d07204fe3499147bd..987a41acb9d9bcd3fa486b2338ec81b1b346d1f3 100644 --- a/build.gradle +++ b/build.gradle @@ -29,13 +29,13 @@ plugins { id "application" - id "com.diffplug.gradle.spotless" version "3.27.1" - id "com.github.spotbugs" version "3.0.0" - id "com.github.johnrengelman.shadow" version "5.2.0" - id "com.star-zero.gradle.githook" version "1.2.0" + id "com.diffplug.gradle.spotless" version "${spotlessVersion}" + id "com.github.spotbugs" version "${spotbugsVersion}" + id "com.github.johnrengelman.shadow" version "${shadowVersion}" + id "com.star-zero.gradle.githook" version "${githooksVersion}" id "eclipse-wtp" id "jacoco" - id "net.ltgt.apt-eclipse" version "0.21" + id "net.ltgt.apt-eclipse" version "${aptEclipseVersion}" } apply from: "${projectDir}/gradle/ext.gradle" @@ -59,7 +59,7 @@ repositories { git { implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", { name "nshmp-haz-dep--nshmp-lib" - tag "v0.0.5" + tag "v0.1.1" }) } @@ -138,10 +138,11 @@ tasks.withType(JavaExec) { } /* Add HTML reports to SpotBugs */ -tasks.withType(com.github.spotbugs.SpotBugsTask) { - ignoreFailures = false // TODO remove when nshmp-lib is updated +tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { reports { - xml.enabled = false - html.enabled = true + html { + enabled true + stylesheet = 'fancy-hist.xsl' + } } } diff --git a/gradle.properties b/gradle.properties index 1cb947167a901745f496957700c5543597a7ca4f..a084e5af40dc5c00f5a6d68ac875b15a3f19c641 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,15 @@ +aptEclipseVersion = 0.21 awsEc2Version = 1.11.619 awsLambdaCoreVersion = 1.1.0 awsLambdaVersion = 1.11.461 awsS3Version = 1.11.579 +githooksVersion = 1.2.0 jacksonVersion = 2.9.0 junitVersion = 5.5.2 logbackVersion = 1.2.3 mnOpenAPIVersion = 1.4.0 mnVersion = 1.3.2 +shadowVersion = 5.2.0 +spotbugsVersion = 4.2.4 +spotlessVersion = 4.1.0 swaggerVersion = 2.1.1 diff --git a/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultSliceLambda.java b/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultSliceLambda.java index 813b121651f06815913be42513002691d97ad99d..5ba9a19fc1bec57f5bd3f45801f2ab846c3b19a5 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultSliceLambda.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultSliceLambda.java @@ -43,7 +43,7 @@ import gov.usgs.earthquake.nshmp.www.services.ServletUtil; /** * AWS Lambda function to read in a curves file from AWS S3 and create slices at * return periods interest. <br> - * + * * The results are written to S3 as map.csv bucket. */ @SuppressWarnings("unused") @@ -174,7 +174,7 @@ public class HazardResultSliceLambda implements RequestStreamHandler { } return Site.builder() - .location(lat, lon) + .location(lon, lat) .name(name) .build(); } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultsSlicerLambda.java b/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultsSlicerLambda.java index 8178a79c432ec8ee8f684175bfd2c2e572d60e2b..f48d7babebb87882844c5f7dcfe8d41c24163153 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultsSlicerLambda.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/aws/HazardResultsSlicerLambda.java @@ -36,7 +36,7 @@ import gov.usgs.earthquake.nshmp.www.services.ServletUtil; /** * AWS Lambda function to read in hazard results from S3 and to create slices of * return periods of interest. - * + * * @see HazardResultSliceLambda */ @SuppressWarnings("unused") diff --git a/src/main/java/gov/usgs/earthquake/nshmp/etc/HazMat.java b/src/main/java/gov/usgs/earthquake/nshmp/etc/HazMat.java index 05bdc38fc3b894ba379bf3f85fdf1ea4e4af9170..48ad5d38fee8ace623c512d869a69997a4a64824 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/etc/HazMat.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/etc/HazMat.java @@ -12,7 +12,7 @@ public class HazMat { /* * Developer notes: - * + * * Mathworks has gone out of its way to make it more and more difficult to use * Java in Matlab as time goes on, despite it being a first-class citizen. * Specifically, the Matlab classpath includes a dizzying number of 3rd party @@ -26,14 +26,14 @@ public class HazMat { * it's dependency on Guava, but putting nshmp-haz early on the Matlab * classpath causes Matlab to crash as it can't find (now missing) methods in * Guava. - * + * * The unsatisfactory but functional workaround is to use a custom class * loader that, once we want to use nshmp-haz classes, scans nshmp-haz.jar * before looking in the matlab classpath. This approach is messy in that the * sole point of entry is this class, which delegates to HazMatHelper (loaded * with the custom class loader) and the methods of which must be accessed via * reflection. - * + * * Note that if nshmp-haz moves to Java 8, which will probably occur sooner * rather than later, the custom class loader will also have to have Java 8 on * it's classpath. Sigh. diff --git a/src/main/java/gov/usgs/earthquake/nshmp/site/CybershakeSite.java b/src/main/java/gov/usgs/earthquake/nshmp/site/CybershakeSite.java index da0d03e04f32ac77c2e05b19eca80a8d77fb2f45..1cd89db28610eb0b868e9673ebd956cc73128b15 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/CybershakeSite.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/site/CybershakeSite.java @@ -118,7 +118,7 @@ public enum CybershakeSite implements NamedLocation { double z1p0, double z2p5) { - this.loc = Location.create(lat, lon); + this.loc = Location.create(lon, lat); this.run = run; this.willsVs30 = willsVs30; this.cvmVs30 = cvmVs30; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpPolygon.java b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpPolygon.java index 4c15b89fcba7ce7d275a63f43dce6b1dd23c79ea..ccc634578b6bd8931a7601b53ac4893499e59af8 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpPolygon.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpPolygon.java @@ -55,7 +55,7 @@ public enum NshmpPolygon { private static LocationList createPolygon(double[][] coords) { LocationList.Builder locs = LocationList.builder(); for (double[] coord : coords) { - locs.add(coord[1], coord[0]); + locs.add(coord[0], coord[1]); } return locs.build(); } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java index 7221fa82a600dac33c9ff03df60ee70e40421d14..27041e5f272a34d451acd5d21b77f56963163bc4 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/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/main/java/gov/usgs/earthquake/nshmp/site/NshmpSiteFiles.java b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSiteFiles.java index 2947000aca6d0ff823c3cae5a7d3886eabcc304d..796c767d17d0887354eda31f58f33d5a9c28d19a 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSiteFiles.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSiteFiles.java @@ -439,8 +439,8 @@ final class NshmpSiteFiles { @Override public Location location() { return Location.create( - Maths.round(input.location().latitude, 1), - Maths.round(input.location().longitude, 1)); + Maths.round(input.location().longitude, 1), + Maths.round(input.location().latitude, 1)); } @Override diff --git a/src/main/java/gov/usgs/earthquake/nshmp/site/NuregSite.java b/src/main/java/gov/usgs/earthquake/nshmp/site/NuregSite.java index b645547a9e4126c046a544769e833eff6ed29cfc..0aba72dce5ca47cc2b92fc9d00c5d4854f82ceea 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/NuregSite.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/site/NuregSite.java @@ -26,7 +26,7 @@ public enum NuregSite implements NamedLocation { private final UsRegion state; private NuregSite(double lon, double lat) { - this.loc = Location.create(lat, lon); + this.loc = Location.create(lon, lat); this.state = UsRegion.valueOf(name().substring(name().lastIndexOf('_') + 1)); } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java index df7472f331b7c56e392bd60ce07b0a22d8774c21..ab2976d4e2b23d2f3d1e8a54170458c3048a645e 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java @@ -45,7 +45,7 @@ public class DeaggEpsilonController { /** * GET method to return usage or hazard curves, query based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) @@ -82,7 +82,7 @@ public class DeaggEpsilonController { /** * GET method to return usage or hazard curves, slash based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/HazardController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/HazardController.java index 7a5b670104729bfdcc7626eaaeece15ed6696559..73942632e385a63c037ed4738c8d3f850bd5587d 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/HazardController.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/HazardController.java @@ -21,9 +21,9 @@ import io.swagger.v3.oas.annotations.tags.Tag; /** * Micronaut controller for probabilistic seismic hazard calculations. - * + * * @see HazardService - * + * * @author U.S. Geological Survey */ @Tag( @@ -37,7 +37,7 @@ public class HazardController { /** * GET method to return the hazard usage. - * + * * @param request The HTTP request */ @Operation( @@ -56,7 +56,7 @@ public class HazardController { /** * GET method to return usage or hazard curves, query based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) @@ -88,7 +88,7 @@ public class HazardController { /** * GET method to return usage or hazard curves, slash based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/RateController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/RateController.java index e8830a4881cac3a2a599027e05dd18e8862d9b8e..caaa0379f2e9f611845f213a61ea538c6fcc4c20 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/RateController.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/RateController.java @@ -23,9 +23,9 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; /** * Micronaut controller for rate and probability services. - * + * * @see RateService - * + * * @author U.S. Geological Survey */ @Controller("/") @@ -36,7 +36,7 @@ public class RateController { /** * GET method to return the usage information on the rate service. - * + * * @param request The HTTP request */ @Operation( @@ -55,7 +55,7 @@ public class RateController { /** * GET method to compute annual-rate, query based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) @@ -94,7 +94,7 @@ public class RateController { /** * GET method to compute annual-rate, slash based - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) @@ -133,7 +133,7 @@ public class RateController { /** * GET method to return the usage information on the probability service. - * + * * @param request The HTTP request */ @Operation( @@ -153,7 +153,7 @@ public class RateController { /** * GET method to compute probability, query based. - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) @@ -197,7 +197,7 @@ public class RateController { /** * GET method to compute probability, slash based - * + * * @param request The HTTP request * @param longitude Longitude (in decimal degrees) ([-360, 360]) * @param latitude Latitude (in decimal degrees) ([-90, 90]) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/SourceController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/SourceController.java index 8a2f74c6f8c3d1a95bce8acac59055ffacc88549..618b77b55d791b36f9fe0e27ebafa5c2b91f135f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/SourceController.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/SourceController.java @@ -16,14 +16,14 @@ import io.swagger.v3.oas.annotations.tags.Tag; /** * Source model service to return the current installed model. - * + * * <p> See src/main/resources/applicaiton.yml nshmp-haz.installed-model for * default model used - * + * * <p> To run the Micronaut jar file with a model: java -jar * path/to/nshmp-haz-v2-all.jar -model=<{@code Model}> - * - * + * + * * @author U.S. Geological Survey */ @Tag(name = "Source Model") @@ -35,7 +35,7 @@ public class SourceController { /** * GET method to return the source model usage - * + * * @param request The HTTP request */ @Operation( diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java index 891b3a5f7fed4a71f1519c7d70d0dcb84939efc5..ea198d9021ea597574e4079cd33275773279ff4c 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java @@ -1,6 +1,6 @@ /** * Web-service metadata support classes. - * + * * <p>Classes in this package largely provide support for web services used on * the public facing USGS website. Services that are not public facing may use a * simpler metadata structure defined within the service class itself (e.g. diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java index 9722ce1189313ce4e591df33987cad63f296f2f0..7ac915038fa8bb1bd7d9ecd106b53ced5e15dc92 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java @@ -68,7 +68,7 @@ public final class DeaggEpsilonService { /** * Handler for {@link DeaggEpsilonController#doGetDeaggEpsilon}. Returns the * usage or the deagg result. - * + * * @param query The query * @param urlHelper The URL helper */ @@ -180,7 +180,7 @@ public final class DeaggEpsilonService { @Override public Site apply(CalcConfig config) { return Site.builder() - .location(Location.create(data.latitude, data.longitude)) + .location(Location.create(data.longitude, data.latitude)) .basinDataProvider(data.basin ? basinUrl : null) .vs30(data.vs30.value()) .build(); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/HazardService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/HazardService.java index 8b36bc0bd977c3d5e13f53c7b57257cab14d07a3..9df7324c967e73faa84595ddfe6adf0cc7e58932 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/HazardService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/HazardService.java @@ -54,7 +54,7 @@ public final class HazardService { /** * Handler for {@link HazardController#doGetUsage}. Returns the usage for the * hazard service. - * + * * @param urlHelper The URL helper */ public static HttpResponse<String> handleDoGetUsage(UrlHelper urlHelper) { @@ -71,7 +71,7 @@ public final class HazardService { /** * Handler for {@link HazardController#doGetHazard}. Returns the usage or the * hazard result. - * + * * @param query The query * @param urlHelper The URL helper */ @@ -128,7 +128,7 @@ public final class HazardService { public Site apply(CalcConfig config) { return Site.builder() .basinDataProvider(config.siteData.basinDataProvider) - .location(Location.create(data.latitude, data.longitude)) + .location(Location.create(data.longitude, data.latitude)) .vs30(data.vs30.value()) .build(); } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/RateService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/RateService.java index ada84547e6c40a6e5be1d0173e54f341d7a3e8aa..272f69bdb8f789c7493cef79711bfe884ffd5ecd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/RateService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/RateService.java @@ -52,7 +52,7 @@ public final class RateService { /** * Handler for {@link RateController#doGetUsageRate} and * {@link RateController#doGetUsageProbability}. - * + * * @param service The service * @param urlHelper The url helper */ @@ -70,7 +70,7 @@ public final class RateService { * Handler for {@link RateController#doGetProbability}, * {@link RateController#doGetProbabilitySlash}, * {@link RateController#doGetRate}, and {@link RateController#doGetRateSlash} - * + * * @param service The service * @param query The query * @param urlHelper The url helper @@ -114,7 +114,7 @@ public final class RateService { private static EqRate calc(Service service, RequestData data) throws InterruptedException, ExecutionException { - var location = Location.create(data.latitude, data.longitude); + var location = Location.create(data.longitude, data.latitude); var site = Site.builder().location(location).build(); var futureRates = new ArrayList<ListenableFuture<EqRate>>(); diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index f7f49d44d2952daea8299b55ab83db65c8952f46..f74e41693090ae1b24cabe0642f4ec814564c4a1 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -3,7 +3,7 @@ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <withJansi>true</withJansi> - <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder + <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) diff --git a/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java b/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java index f6c09d26608cd99399adb8aa611889ef4bb204cc..6d64067a381d7b156649f03330642888ae0b9d93 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java @@ -68,7 +68,7 @@ public class NshmpSiteTests { public final void methodsTest() { NshmpSite s = WASHINGTON_DC; assertEquals(s.state(), UsRegion.DC); - assertEquals(s.location(), Location.create(38.90, -77.05)); + assertEquals(s.location(), Location.create(-77.05, 38.90)); assertEquals(s.toString(), "Washington DC"); s = MCGRATH_AK;