From 15c82f203641c5d3dfd404f507779c72ff94ba81 Mon Sep 17 00:00:00 2001 From: bclayton-usgs <bclayton@usgs.gov> Date: Wed, 26 Feb 2020 08:53:42 -0700 Subject: [PATCH] update to latest Micronaut version --- build.gradle | 22 +++++++++++-------- gradle.properties | 4 ++++ micronaut-cli.yml | 5 +++++ .../nshmp/www/BasinTermController.java | 9 +------- .../nshmp/www/FaultSectionsController.java | 6 +---- .../earthquake/nshmp/www/GmmController.java | 7 +----- .../nshmp/www/UtilitiesController.java | 4 +--- src/resources/logback.xml | 8 +++---- 8 files changed, 30 insertions(+), 35 deletions(-) create mode 100644 gradle.properties create mode 100644 micronaut-cli.yml diff --git a/build.gradle b/build.gradle index e3816df..c986793 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { id "application" id "java" - id "com.github.johnrengelman.shadow" version "5.0.0" + id "com.github.johnrengelman.shadow" version "5.2.0" id "net.ltgt.apt-eclipse" version "0.21" id "eclipse-wtp" id "jacoco" @@ -25,23 +25,23 @@ dependencies { implementation project(":nshmp-lib") // micronaut - annotationProcessor platform("io.micronaut:micronaut-bom:1.3.2") + annotationProcessor platform("io.micronaut:micronaut-bom:${mnVersion}") annotationProcessor "io.micronaut:micronaut-inject-java" annotationProcessor "io.micronaut:micronaut-validation" - implementation platform("io.micronaut:micronaut-bom:1.3.2") + implementation platform("io.micronaut:micronaut-bom:${mnVersion}") implementation "io.micronaut:micronaut-http-client" implementation "io.micronaut:micronaut-inject" implementation "io.micronaut:micronaut-validation" implementation "io.micronaut:micronaut-runtime" implementation "io.micronaut:micronaut-http-server-netty" - implementation "com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.0" + implementation "com.fasterxml.jackson.module:jackson-module-parameter-names:${jacksonVersion}" runtimeOnly "io.micronaut:micronaut-runtime-osx" - runtimeOnly "ch.qos.logback:logback-classic:1.2.3" + runtimeOnly "ch.qos.logback:logback-classic:${logbackVersion}" // junit - testAnnotationProcessor "io.micronaut:micronaut-inject-java:1.3.2" - testImplementation platform("io.micronaut:micronaut-bom:1.3.2") - testImplementation "org.junit.jupiter:junit-jupiter:5.5.2" + testAnnotationProcessor "io.micronaut:micronaut-inject-java:${mnVersion}" + testImplementation platform("io.micronaut:micronaut-bom:${mnVersion}") + testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}" testImplementation "org.junit.jupiter:junit-jupiter-api" testImplementation "io.micronaut.test:micronaut-test-junit5" testImplementation "io.micronaut.test:micronaut-test-spock" @@ -98,11 +98,15 @@ shadowJar { mergeServiceFiles() } -run.jvmArgs("-noverify", "-XX:TieredStopAtLevel=1", "-Dcom.sun.management.jmxremote") tasks.withType(JavaCompile){ + options.encoding = "UTF-8" options.compilerArgs.add("-parameters") } +tasks.withType(JavaExec) { + jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote') +} + /* Add HTML reports to SpotBugs */ tasks.withType(com.github.spotbugs.SpotBugsTask) { ignoreFailures = false // TODO remove when nshmp-lib is updated diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..a8d9a98 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,4 @@ +jacksonVersion = 2.9.0 +junitVersion = 5.5.2 +logbackVersion = 1.2.3 +mnVersion = 1.3.2 diff --git a/micronaut-cli.yml b/micronaut-cli.yml new file mode 100644 index 0000000..19ad91f --- /dev/null +++ b/micronaut-cli.yml @@ -0,0 +1,5 @@ +profile: service +defaultPackage: gov.usgs.earthquake.nshmp.www +--- +testFramework: junit +sourceLanguage: java diff --git a/src/main/gov/usgs/earthquake/nshmp/www/BasinTermController.java b/src/main/gov/usgs/earthquake/nshmp/www/BasinTermController.java index 858f62d..c55d0a6 100644 --- a/src/main/gov/usgs/earthquake/nshmp/www/BasinTermController.java +++ b/src/main/gov/usgs/earthquake/nshmp/www/BasinTermController.java @@ -29,7 +29,6 @@ import gov.usgs.earthquake.nshmp.www.basin.BasinValues; import gov.usgs.earthquake.nshmp.www.basin.BasinValues.BasinValue; import gov.usgs.earthquake.nshmp.www.basin.Basins; import gov.usgs.earthquake.nshmp.www.basin.Basins.BasinRegion; -import gov.usgs.earthquake.nshmp.www.clients.BasinTermClient; import gov.usgs.earthquake.nshmp.www.meta.EnumParameter; import gov.usgs.earthquake.nshmp.www.meta.ParamType; import gov.usgs.earthquake.nshmp.www.meta.Status; @@ -56,7 +55,7 @@ import io.micronaut.http.annotation.QueryValue; * @author U.S. Geological Survey */ @Controller("/basin") -public class BasinTermController implements BasinTermClient { +public class BasinTermController { @Inject private NshmpMicronautServlet servlet; @@ -80,7 +79,6 @@ public class BasinTermController implements BasinTermClient { * @param longitude The longitude of interest * @param latitude The latitude of interest */ - @Override @Get(uri = "{?longitude,latitude}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet( HttpRequest<?> request, @@ -121,7 +119,6 @@ public class BasinTermController implements BasinTermClient { * @param latitude The latitude in degrees * @param model The basin model */ - @Override @Get(uri = "{/longitude}{/latitude}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSlash( HttpRequest<?> request, @@ -141,7 +138,6 @@ public class BasinTermController implements BasinTermClient { * @param longitude The longitude of interest * @param latitude The latitude of interest */ - @Override @Get(uri = "/data{?basin,raw}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet( HttpRequest<?> request, @@ -180,7 +176,6 @@ public class BasinTermController implements BasinTermClient { * @param latitude The latitude in degrees * @param model The basin model */ - @Override @Get(uri = "/data{/basin}{/raw}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSlash( HttpRequest<?> request, @@ -196,7 +191,6 @@ public class BasinTermController implements BasinTermClient { * * @see Basins */ - @Override @Get(uri = "/geojson", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet(HttpRequest<?> request) { UrlHelper urlHelper = servlet.urlHelper(request); @@ -221,7 +215,6 @@ public class BasinTermController implements BasinTermClient { * @param query The query * @return */ - @Override @Post(consumes = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doPost(HttpRequest<?> request, @Body @Nullable Query query) { if (query == null) { diff --git a/src/main/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java b/src/main/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java index 4b92798..4739f0e 100644 --- a/src/main/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java +++ b/src/main/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java @@ -25,7 +25,6 @@ import gov.usgs.earthquake.nshmp.internal.NshmFaultSection; import gov.usgs.earthquake.nshmp.internal.UsRegion; import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet.UrlHelper; import gov.usgs.earthquake.nshmp.www.Utils.Key; -import gov.usgs.earthquake.nshmp.www.clients.FaultSectionsClient; import gov.usgs.earthquake.nshmp.www.fault.FaultGroup; import gov.usgs.earthquake.nshmp.www.fault.FaultSections; import gov.usgs.earthquake.nshmp.www.meta.ParamType; @@ -43,7 +42,7 @@ import io.micronaut.http.annotation.Post; import io.micronaut.http.annotation.QueryValue; @Controller("/fault-sections") -public class FaultSectionsController implements FaultSectionsClient { +public class FaultSectionsController { @Inject private NshmpMicronautServlet servlet; @@ -65,7 +64,6 @@ public class FaultSectionsController implements FaultSectionsClient { private static FaultSections FAULT_SECTIONS = null; - @Override @Get(uri = "{?group,id,name,raw}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet( HttpRequest<?> request, @@ -97,7 +95,6 @@ public class FaultSectionsController implements FaultSectionsClient { } } - @Override @Get(uri = "{/value}{/raw}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet( HttpRequest<?> request, @@ -128,7 +125,6 @@ public class FaultSectionsController implements FaultSectionsClient { return doGet(request, groups, ids, null, raw); } - @Override @Post(consumes = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doPost(HttpRequest<?> request, @Body @Nullable Query query) { if (query == null) { diff --git a/src/main/gov/usgs/earthquake/nshmp/www/GmmController.java b/src/main/gov/usgs/earthquake/nshmp/www/GmmController.java index 474fd72..156075a 100644 --- a/src/main/gov/usgs/earthquake/nshmp/www/GmmController.java +++ b/src/main/gov/usgs/earthquake/nshmp/www/GmmController.java @@ -32,7 +32,6 @@ import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.internal.Csv; import gov.usgs.earthquake.nshmp.www.NshmpMicronautServlet.UrlHelper; import gov.usgs.earthquake.nshmp.www.Utils.Key; -import gov.usgs.earthquake.nshmp.www.clients.GmmClient; import gov.usgs.earthquake.nshmp.www.gmm.GmmUtils; import gov.usgs.earthquake.nshmp.www.gmm.GroundMotions; import gov.usgs.earthquake.nshmp.www.gmm.GroundMotions.DistanceResult; @@ -48,7 +47,7 @@ import io.micronaut.http.annotation.Post; import io.micronaut.http.annotation.QueryValue; @Controller("/gmm") -public class GmmController implements GmmClient { +public class GmmController { private static final Gson GSON; private static final Logger LOGGER = Logger.getLogger(GmmController.class.getName()); @@ -78,7 +77,6 @@ public class GmmController implements GmmClient { * @param request The HTTP request * @param gmm The ground motion models */ - @Override @Get(uri = "/spectra{?gmm", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSpectra( HttpRequest<?> request, @@ -99,7 +97,6 @@ public class GmmController implements GmmClient { * @param rMin The minimum distance to compute * @param rMax The maximum distance to compute */ - @Override @Get(uri = "/distance{?gmm,imt,rMin,rMax}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetDistance( HttpRequest<?> request, @@ -123,7 +120,6 @@ public class GmmController implements GmmClient { * @param rMin The minimum distance to compute * @param rMax The maximum distance to compute */ - @Override @Get(uri = "/hw-fw{?gmm,imt,rMin,rMax}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetHwFw( HttpRequest<?> request, @@ -145,7 +141,6 @@ public class GmmController implements GmmClient { * @param gmm The ground motion models * @param gmmInputs The CSV file */ - @Override @Post( uri = "/spectra{?gmm}", consumes = MediaType.TEXT_PLAIN, diff --git a/src/main/gov/usgs/earthquake/nshmp/www/UtilitiesController.java b/src/main/gov/usgs/earthquake/nshmp/www/UtilitiesController.java index eb28e07..18d3e51 100644 --- a/src/main/gov/usgs/earthquake/nshmp/www/UtilitiesController.java +++ b/src/main/gov/usgs/earthquake/nshmp/www/UtilitiesController.java @@ -20,7 +20,6 @@ import javax.inject.Inject; import gov.usgs.earthquake.nshmp.geo.json.Feature; import gov.usgs.earthquake.nshmp.geo.json.GeoJson; import gov.usgs.earthquake.nshmp.geo.json.Properties; -import gov.usgs.earthquake.nshmp.www.clients.UtilitiesClient; import gov.usgs.earthquake.nshmp.www.site.NshmpSite; import gov.usgs.earthquake.nshmp.www.site.NshmpSiteRegion; import io.micronaut.http.HttpRequest; @@ -29,7 +28,7 @@ import io.micronaut.http.annotation.Controller; import io.micronaut.http.annotation.Get; @Controller("/util") -public class UtilitiesController implements UtilitiesClient { +public class UtilitiesController { @Inject private NshmpMicronautServlet servlet; @@ -38,7 +37,6 @@ public class UtilitiesController implements UtilitiesClient { private static final String SERVICE_NAME = "Test Sites Service"; private static final String TEST_SITES = proccessTestSites(); - @Override @Get(uri = "/testsites") public HttpResponse<String> doGetTestSites(HttpRequest<?> request) { var urlHelper = servlet.urlHelper(request); diff --git a/src/resources/logback.xml b/src/resources/logback.xml index acf844e..f7f49d4 100644 --- a/src/resources/logback.xml +++ b/src/resources/logback.xml @@ -1,17 +1,17 @@ <configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <withJansi>true</withJansi> <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> - <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> + <pattern>%cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) + %highlight(%-5level) %magenta(%logger{36}) - %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="STDOUT" /> </root> - <!--<logger name="io.micronaut.http" level="TRACE"/> --> - <!--<logger name="io.netty.handler.logging" level="TRACE" /> --> - <!--<logger name="io.micronaut.jackson.parser" level="TRACE"/> --> </configuration> -- GitLab