From 8e24c9f2a9675c92ad74be3c8d019d106b608e0c Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Wed, 29 Dec 2021 20:45:02 -0700
Subject: [PATCH] update to micronaut 3

---
 build.gradle                                               | 2 +-
 gradle.properties                                          | 7 ++++---
 gradle/dependencies.gradle                                 | 4 +++-
 .../gov/usgs/earthquake/nshmp/www/BasinController.java     | 2 +-
 .../usgs/earthquake/nshmp/www/FaultSectionsController.java | 2 +-
 .../java/gov/usgs/earthquake/nshmp/www/GmmController.java  | 2 +-
 .../java/gov/usgs/earthquake/nshmp/www/GpsController.java  | 2 +-
 .../java/gov/usgs/earthquake/nshmp/www/GulfController.java | 2 +-
 .../gov/usgs/earthquake/nshmp/www/SwaggerController.java   | 2 +-
 .../gov/usgs/earthquake/nshmp/www/UtilitiesController.java | 2 +-
 .../java/gov/usgs/earthquake/nshmp/www/basin/Basin.java    | 3 +++
 .../usgs/earthquake/nshmp/www/fault/NshmFaultSection.java  | 3 +++
 .../java/gov/usgs/earthquake/nshmp/www/gps/GpsDataSet.java | 3 +++
 .../usgs/earthquake/nshmp/www/services/BasinService.java   | 2 +-
 .../nshmp/www/services/FaultSectionsService.java           | 2 +-
 .../earthquake/nshmp/www/services/GmmDistanceService.java  | 2 +-
 .../earthquake/nshmp/www/services/GmmMagnitudeService.java | 2 +-
 .../gov/usgs/earthquake/nshmp/www/services/GmmService.java | 2 +-
 .../earthquake/nshmp/www/services/GmmSpectraService.java   | 2 +-
 .../gov/usgs/earthquake/nshmp/www/services/GpsService.java | 2 +-
 .../usgs/earthquake/nshmp/www/services/GulfService.java    | 2 +-
 .../earthquake/nshmp/www/services/UtilitiesService.java    | 2 +-
 .../earthquake/nshmp/www/BasinTermControllerTests.java     | 4 ++--
 .../earthquake/nshmp/www/FaultSectionsControllerTests.java | 4 ++--
 .../gov/usgs/earthquake/nshmp/www/GpsControllerTests.java  | 4 ++--
 .../gov/usgs/earthquake/nshmp/www/GulfControllerTests.java | 4 ++--
 26 files changed, 41 insertions(+), 29 deletions(-)

diff --git a/build.gradle b/build.gradle
index e009577..2fe8d69 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ plugins {
   id "com.github.spotbugs" version "${spotbugsVersion}"
   id "com.star-zero.gradle.githook" version "${githooksVersion}"
   id "eclipse-wtp"
-  id "io.micronaut.application" version "${mnPluginVersion}"
+  id "io.micronaut.application" version "${micronautPluginVersion}"
   id "jacoco"
   id "java-library"
   id "maven-publish"
diff --git a/gradle.properties b/gradle.properties
index c5446ed..3c69fd6 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,14 +2,15 @@ githooksVersion = 1.2.0
 jacksonVersion = 2.9.0
 junitVersion = 5.8.2
 logbackVersion = 1.2.3
-micronautVersion = 2.4.1
-mnPluginVersion = 1.4.2
+micronautVersion = 3.2.3
+micronautRxVersion = 2.1.1
+micronautPluginVersion = 3.1.1
 nodePluginVersion = 3.0.1
 nodeVersion = 16.3.0
 nshmFaultSectionsTag = v0.1
 nshmpLibVersion = 0.8.2
 nshmpWsUtilsVersion = 0.1.3
-shadowVersion = 7.1.1
+shadowVersion = 7.1.2
 spotbugsVersion = 4.7.0
 spotlessVersion = 6.0.4
 swaggerVersion = 2.1.7
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 229e84a..9a0dcbe 100644
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -15,11 +15,13 @@ dependencies {
   implementation "io.micronaut:micronaut-runtime"
   implementation "io.micronaut:micronaut-http-server-netty"
   implementation "io.micronaut:micronaut-runtime-osx"
+  implementation "io.projectreactor:reactor-core"
+  implementation "io.micronaut.rxjava3:micronaut-rxjava3:${micronautRxVersion}"
   implementation "com.fasterxml.jackson.module:jackson-module-parameter-names:${jacksonVersion}"
   runtimeOnly "ch.qos.logback:logback-classic"
 
   // Swagger
-  annotationProcessor("io.micronaut.configuration:micronaut-openapi")
+  annotationProcessor("io.micronaut.openapi:micronaut-openapi")
   implementation("io.swagger.core.v3:swagger-annotations")
 
   // junit
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/BasinController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/BasinController.java
index 9ad2e48..a49e08b 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/BasinController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/BasinController.java
@@ -1,6 +1,6 @@
 package gov.usgs.earthquake.nshmp.www;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.www.basin.Basin;
 import gov.usgs.earthquake.nshmp.www.basin.Basins;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java
index aaf7c50..fe78389 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/FaultSectionsController.java
@@ -3,7 +3,7 @@ package gov.usgs.earthquake.nshmp.www;
 import java.nio.file.Path;
 import java.util.List;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.www.fault.NshmFaultSection;
 import gov.usgs.earthquake.nshmp.www.services.FaultSectionsService;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/GmmController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/GmmController.java
index 68dcda7..b662f6f 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/GmmController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/GmmController.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.www;
 
 import java.util.Set;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/GpsController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/GpsController.java
index d2141e8..2aa5b04 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/GpsController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/GpsController.java
@@ -1,6 +1,6 @@
 package gov.usgs.earthquake.nshmp.www;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.www.gps.GpsDataSet;
 import gov.usgs.earthquake.nshmp.www.services.GpsService;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/GulfController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/GulfController.java
index a321179..8d1bd93 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/GulfController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/GulfController.java
@@ -1,6 +1,6 @@
 package gov.usgs.earthquake.nshmp.www;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.www.services.GulfService;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
index 894e2f0..5df610d 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
@@ -3,7 +3,7 @@ package gov.usgs.earthquake.nshmp.www;
 import java.nio.charset.StandardCharsets;
 import java.util.stream.Collectors;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import com.google.common.io.Resources;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/UtilitiesController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/UtilitiesController.java
index 5347de4..f372023 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/UtilitiesController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/UtilitiesController.java
@@ -1,6 +1,6 @@
 package gov.usgs.earthquake.nshmp.www;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import gov.usgs.earthquake.nshmp.www.services.UtilitiesService;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basin.java b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basin.java
index 422e3a9..7147e57 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basin.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/basin/Basin.java
@@ -5,11 +5,14 @@ import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE;
 
 import java.util.Arrays;
 
+import io.micronaut.core.annotation.Introspected;
+
 /**
  * Basin ids corresponding to file name in data directory.
  *
  * @author U.S. Geological Survey
  */
+@Introspected
 public enum Basin {
 
   BAY_AREA("Bay Area"),
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/fault/NshmFaultSection.java b/src/main/java/gov/usgs/earthquake/nshmp/www/fault/NshmFaultSection.java
index 90cf2f1..8c09da8 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/fault/NshmFaultSection.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/fault/NshmFaultSection.java
@@ -1,5 +1,8 @@
 package gov.usgs.earthquake.nshmp.www.fault;
 
+import io.micronaut.core.annotation.Introspected;
+
+@Introspected
 public enum NshmFaultSection {
 
   // CONUS_2008(
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gps/GpsDataSet.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gps/GpsDataSet.java
index 45d583e..43971a3 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gps/GpsDataSet.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gps/GpsDataSet.java
@@ -5,10 +5,13 @@ import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE;
 
 import java.util.Arrays;
 
+import io.micronaut.core.annotation.Introspected;
+
 /**
  *
  * @author U.S. Geological Survey
  */
+@Introspected
 public enum GpsDataSet {
 
   AK_2020(
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinService.java
index 84ed203..8e12214 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/BasinService.java
@@ -5,7 +5,7 @@ import static gov.usgs.earthquake.nshmp.www.WsUtils.checkValue;
 
 import java.util.EnumSet;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.gson.JsonElement;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/FaultSectionsService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/FaultSectionsService.java
index 28ef77c..6deec7d 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/FaultSectionsService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/FaultSectionsService.java
@@ -12,7 +12,7 @@ import java.util.TreeSet;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.common.base.Enums;
 import com.google.common.collect.Lists;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmDistanceService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmDistanceService.java
index 1dafae0..eeceb91 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmDistanceService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmDistanceService.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.www.services;
 
 import java.util.Set;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.common.collect.Range;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmMagnitudeService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmMagnitudeService.java
index 5aff397..783ba46 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmMagnitudeService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmMagnitudeService.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.www.services;
 
 import java.util.Set;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.common.collect.Range;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmService.java
index 072cdf6..a8818d4 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmService.java
@@ -8,7 +8,7 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmSpectraService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmSpectraService.java
index d2eab7d..0d024d2 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmSpectraService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GmmSpectraService.java
@@ -6,7 +6,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import gov.usgs.earthquake.nshmp.data.DelimitedData;
 import gov.usgs.earthquake.nshmp.gmm.Gmm;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GpsService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GpsService.java
index 7378576..59378d7 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GpsService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GpsService.java
@@ -5,7 +5,7 @@ import static gov.usgs.earthquake.nshmp.www.WsUtils.checkValue;
 
 import java.util.EnumSet;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import gov.usgs.earthquake.nshmp.www.Response;
 import gov.usgs.earthquake.nshmp.www.Utils;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GulfService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GulfService.java
index bf4044f..8d3482a 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/GulfService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/GulfService.java
@@ -3,7 +3,7 @@ package gov.usgs.earthquake.nshmp.www.services;
 import static gov.usgs.earthquake.nshmp.www.Utils.GSON;
 import static gov.usgs.earthquake.nshmp.www.WsUtils.checkValue;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import com.google.gson.JsonElement;
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/UtilitiesService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/UtilitiesService.java
index 5dba314..7384c97 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/UtilitiesService.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/UtilitiesService.java
@@ -13,7 +13,7 @@ import java.util.EnumSet;
 import java.util.Map;
 import java.util.TreeMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import gov.usgs.earthquake.nshmp.geo.json.Feature;
 import gov.usgs.earthquake.nshmp.geo.json.GeoJson;
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 87f64e9..f28b583 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/www/BasinTermControllerTests.java
@@ -10,7 +10,7 @@ import java.util.Map.Entry;
 import java.util.Optional;
 import java.util.OptionalDouble;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -39,7 +39,7 @@ import gov.usgs.earthquake.nshmp.www.services.BasinService.RequestData;
 import gov.usgs.earthquake.nshmp.www.services.BasinService.RequestDataBasin;
 
 import io.micronaut.http.HttpRequest;
-import io.micronaut.test.annotation.MicronautTest;
+import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
 
 @MicronautTest
 @SuppressWarnings("serial")
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 9ab65af..f9ef32e 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/www/FaultSectionsControllerTests.java
@@ -12,7 +12,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -37,7 +37,7 @@ 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.annotation.MicronautTest;
+import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
 
 @MicronautTest
 @SuppressWarnings("serial")
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 81d3ccf..f7797b9 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/www/GpsControllerTests.java
@@ -8,7 +8,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.EnumSource;
@@ -28,7 +28,7 @@ import gov.usgs.earthquake.nshmp.www.services.GpsService;
 import gov.usgs.earthquake.nshmp.www.services.GpsService.GpsFormat;
 
 import io.micronaut.http.HttpRequest;
-import io.micronaut.test.annotation.MicronautTest;
+import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
 
 @MicronautTest
 class GpsControllerTests {
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 5eff45d..d4ede94 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/www/GulfControllerTests.java
@@ -7,7 +7,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.params.ParameterizedTest;
@@ -24,7 +24,7 @@ import gov.usgs.earthquake.nshmp.www.meta.Status;
 import gov.usgs.earthquake.nshmp.www.services.BasinService.RequestData;
 
 import io.micronaut.http.HttpRequest;
-import io.micronaut.test.annotation.MicronautTest;
+import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
 
 @MicronautTest
 class GulfControllerTests {
-- 
GitLab