From fe6b148c3eeec2176c1e02fb007ae907f300c9fe Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 29 Jul 2022 09:51:20 -0600
Subject: [PATCH] remove nshm

---
 .../nshmp/netcdf/NetcdfHazardCurves.java      | 10 ----
 .../nshmp/netcdf/www/HazardMetadata.java      |  6 +--
 .../nshmp/netcdf/www/HazardQuery.java         |  4 --
 .../nshmp/netcdf/www/NetcdfController.java    | 51 +++++++++----------
 .../nshmp/netcdf/www/RequestHazardCurves.java | 39 +++-----------
 .../usgs/earthquake/nshmp/netcdf/Nshm.java    | 22 --------
 .../nshmp/netcdf/www/NetcdfWsUtils.java       |  2 -
 7 files changed, 31 insertions(+), 103 deletions(-)
 delete mode 100644 src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java

diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java
index 76e5f58..3f6aa54 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java
@@ -23,18 +23,8 @@ import ucar.nc2.dataset.NetcdfDatasets;
  */
 public class NetcdfHazardCurves extends Netcdf<StaticDataHazardCurves> {
 
-  private final Nshm nshm;
-
   public NetcdfHazardCurves(Path netcdfPath) {
     super(netcdfPath);
-    nshm = Nshm.valueOf(netcdfData().scienceBaseMetadata().catalogId);
-  }
-
-  /**
-   * Returns the NSHM
-   */
-  public Nshm nshm() {
-    return nshm;
   }
 
   @Override
diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java
index 2e83787..fe7c8b3 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java
@@ -2,7 +2,6 @@ package gov.usgs.earthquake.nshmp.netcdf.www;
 
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
-import gov.usgs.earthquake.nshmp.netcdf.Nshm;
 import gov.usgs.earthquake.nshmp.netcdf.www.Metadata.ServiceResponseMetadata;
 import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData;
 import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDataImt;
@@ -15,23 +14,20 @@ import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDat
 public class HazardMetadata {
 
   static class HazardResponseMetadata extends ServiceResponseMetadata {
-    public final Nshm nshm;
     public final Imt imt;
 
     HazardResponseMetadata(
-        Nshm nshm,
         NehrpSiteClass siteClass,
         Imt imt,
         String xLabel,
         String yLabel) {
       super(siteClass, xLabel, yLabel);
-      this.nshm = nshm;
       this.imt = imt;
     }
 
     @Override
     public HazardRequestDataImt toRequestMetadata(RequestData requestData) {
-      return new HazardRequestDataImt(nshm, requestData.site, siteClass, imt, requestData.format);
+      return new HazardRequestDataImt(requestData.site, siteClass, imt, requestData.format);
     }
   }
 }
diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java
index 16057bc..9d474a7 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java
@@ -2,21 +2,17 @@ package gov.usgs.earthquake.nshmp.netcdf.www;
 
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
-import gov.usgs.earthquake.nshmp.netcdf.Nshm;
 
 public class HazardQuery extends Query {
-  public final Nshm nshm;
   public final Imt imt;
 
   public HazardQuery(
-      Nshm nshm,
       Double longitude,
       Double latitude,
       NehrpSiteClass siteClass,
       Imt imt,
       ResponseFormat format) {
     super(longitude, latitude, siteClass, format);
-    this.nshm = nshm;
     this.imt = imt;
   }
 }
diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java
index 32a8b89..4e1a688 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java
@@ -6,7 +6,6 @@ import java.util.List;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
 import gov.usgs.earthquake.nshmp.netcdf.NetcdfDataFilesHazardCurves;
-import gov.usgs.earthquake.nshmp.netcdf.Nshm;
 import gov.usgs.earthquake.nshmp.netcdf.www.HazardMetadata.HazardResponseMetadata;
 import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass;
 import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDataImt;
@@ -33,8 +32,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.inject.Inject;
 
 /**
- * Micronaut controller for getting static hazards or ground motions from a
- * NetCDF file.
+ * Micronaut controller for getting static hazards from a NetCDF file.
  *
  * @see NetcdfService
  *
@@ -47,6 +45,9 @@ public class NetcdfController {
   @Inject
   private NshmpMicronautServlet servlet;
 
+  /**
+   * The path to a hazard NetCDF file
+   */
   @Value("${nshmp-ws-static.netcdf-path}")
   Path netcdfPath;
 
@@ -87,11 +88,11 @@ public class NetcdfController {
 
           "### Service call pattern\n" +
           "This service call is slashed delimited with pattern: " +
-          "`/hazard/{nshm}/{longitude}/{latitude}/{siteClass}/{imt}`\n" +
+          "`/hazard/{longitude}/{latitude}/{siteClass}/{imt}`\n" +
           "<br><br>" +
-          "Example: `/hazard/CONUS_2018/-118/34/BC/PGA`" +
+          "Example: `/hazard/-118/34/BC/PGA`" +
           "<br><br>" +
-          "CSV Example: `/hazard/CONUS_2018/-118/34/BC/PGA?format=CSV`",
+          "CSV Example: `/hazard/-118/34/BC/PGA?format=CSV`",
       operationId = "hazard-by-imt")
   @ApiResponse(
       description = "Spatially interpolated hazard curves",
@@ -110,18 +111,17 @@ public class NetcdfController {
                       "Ground Motion (g),0.00233,0.0035,0.00524,0.00786,0.0118, ...\n" +
                       "Annual Frequency of Exceedence,0.036386,0.026034,0.018125,0.012197, ...\n"))
       })
-  @Get(uri = "/{nshm}/{longitude}/{latitude}/{siteClass}/{imt}{?format}",
+  @Get(uri = "/{longitude}/{latitude}/{siteClass}/{imt}{?format}",
       produces = MediaType.APPLICATION_JSON)
   public HttpResponse<String> doGetSlashByImt(
       HttpRequest<?> request,
-      @Schema(required = true) @PathVariable Nshm nshm,
       @Schema(required = true) @PathVariable Double latitude,
       @Schema(required = true) @PathVariable Double longitude,
       @Schema(required = true) @PathVariable NehrpSiteClass siteClass,
       @Schema(required = true) @PathVariable Imt imt,
       @Schema(required = false, defaultValue = "JSON",
           implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) {
-    return doGet(request, nshm, longitude, latitude, siteClass, imt, format);
+    return doGet(request, longitude, latitude, siteClass, imt, format);
   }
 
   /**
@@ -150,11 +150,11 @@ public class NetcdfController {
 
           "### Service call pattern\n" +
           "This service call is slashed delimited with pattern: " +
-          "`/hazard/{nshm}/{longitude}/{latitude}/{siteClass}`\n" +
+          "`/hazard/{longitude}/{latitude}/{siteClass}`\n" +
           "<br><br>" +
-          "Example: `/hazard/CONUS_2018/-118/34/BC`" +
+          "Example: `/hazard/-118/34/BC`" +
           "<br><br>" +
-          "Example: `/hazard/CONUS_2018/-118/34/BC?format=CSV`",
+          "Example: `/hazard/-118/34/BC?format=CSV`",
       operationId = "hazard-by-siteclass")
   @ApiResponse(
       description = "Spatially interpolated hazard curves",
@@ -176,17 +176,16 @@ public class NetcdfController {
                       "..."))
 
       })
-  @Get(uri = "/{nshm}/{longitude}/{latitude}/{siteClass}{?format}",
+  @Get(uri = "/{longitude}/{latitude}/{siteClass}{?format}",
       produces = MediaType.APPLICATION_JSON)
   public HttpResponse<String> doGetSlashBySite(
       HttpRequest<?> request,
-      @Schema(required = true) @PathVariable Nshm nshm,
       @Schema(required = true) @PathVariable Double latitude,
       @Schema(required = true) @PathVariable Double longitude,
       @Schema(required = true) @PathVariable NehrpSiteClass siteClass,
       @Schema(required = false, defaultValue = "JSON",
           implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) {
-    return doGet(request, nshm, longitude, latitude, siteClass, null, format);
+    return doGet(request, longitude, latitude, siteClass, null, format);
   }
 
   /**
@@ -213,11 +212,11 @@ public class NetcdfController {
 
           "### Service call pattern\n" +
           "This service call is slashed delimited with pattern: " +
-          "`/hazard/{nshm}/{longitude}/{latitude}`\n" +
+          "`/hazard/{longitude}/{latitude}`\n" +
           "<br><br>" +
-          "Example: `/hazard/CONUS_2018/-118/34`" +
+          "Example: `/hazard/-118/34`" +
           "<br><br>" +
-          "Example: `/hazard/conus_2018/-118/34?format=CSV`",
+          "Example: `/hazard/-118/34?format=CSV`",
       operationId = "hazard")
   @ApiResponse(
       description = "Returns static curves from the NSHM NetCDF file",
@@ -239,15 +238,14 @@ public class NetcdfController {
                       "..."))
 
       })
-  @Get(uri = "/{nshm}/{longitude}/{latitude}{?format}", produces = MediaType.APPLICATION_JSON)
+  @Get(uri = "/{longitude}/{latitude}{?format}", produces = MediaType.APPLICATION_JSON)
   public HttpResponse<String> doGetSlash(
       HttpRequest<?> request,
-      @Schema(required = true) @PathVariable Nshm nshm,
       @Schema(required = true) @PathVariable Double longitude,
       @Schema(required = true) @PathVariable Double latitude,
       @Schema(required = false, defaultValue = "JSON",
           implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) {
-    return doGet(request, nshm, longitude, latitude, null, null, format);
+    return doGet(request, longitude, latitude, null, null, format);
   }
 
   /**
@@ -277,12 +275,12 @@ public class NetcdfController {
 
           "### Service call pattern\n" +
           "This service call is query based with pattern: " +
-          "`/hazard?nshm={string}&longitude={number}&latitude={number}" +
+          "`/hazard?longitude={number}&latitude={number}" +
           "&siteClass={string}&imt={string}&format={CSV|JSON}`\n" +
           "<br><br>" +
-          "Example: `/hazard?nshm=CONUS_2018&longitude=-118&latitude=34&siteClass=A&imt=PGA`" +
+          "Example: `/hazard?longitude=-118&latitude=34&siteClass=A&imt=PGA`" +
           "<br><br>" +
-          "CSV Example: `/hazard?nshm=CONUS_2018&longitude=-118&latitude=34&siteClass=A&imt=PGA?format=CSV`",
+          "CSV Example: `/hazard?longitude=-118&latitude=34&siteClass=A&imt=PGA?format=CSV`",
       operationId = "hazard-by-imt")
   @ApiResponse(
       description = "Spatially interpolated hazard curves",
@@ -304,18 +302,17 @@ public class NetcdfController {
                       "..."))
 
       })
-  @Get(uri = "{?nshm,longitude,latitude,siteClass,imt,format}",
+  @Get(uri = "{?longitude,latitude,siteClass,imt,format}",
       produces = MediaType.APPLICATION_JSON)
   public HttpResponse<String> doGet(
       HttpRequest<?> request,
-      @Schema(required = true) @QueryValue @Nullable Nshm nshm,
       @Schema(required = true) @QueryValue @Nullable Double longitude,
       @Schema(required = true) @QueryValue @Nullable Double latitude,
       @QueryValue @Nullable NehrpSiteClass siteClass,
       @QueryValue @Nullable Imt imt,
       @Schema(required = false, defaultValue = "JSON",
           implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) {
-    var query = new HazardQuery(nshm, longitude, latitude, siteClass, imt, format);
+    var query = new HazardQuery(longitude, latitude, siteClass, imt, format);
     return service.handleServiceCall(request, query);
   }
 
diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java
index 58e917a..1332d2c 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java
@@ -7,9 +7,7 @@ import gov.usgs.earthquake.nshmp.Text.Delimiter;
 import gov.usgs.earthquake.nshmp.geo.Location;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
-import gov.usgs.earthquake.nshmp.netcdf.Nshm;
 import gov.usgs.earthquake.nshmp.netcdf.reader.NetcdfUtils.Key;
-import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData;
 import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass;
 
 /**
@@ -19,24 +17,18 @@ import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass;
  */
 public class RequestHazardCurves {
 
-  static class HazardRequestData extends RequestData {
-    public Nshm nshm;
-
-    HazardRequestData(Nshm nshm, Location site, ResponseFormat format) {
-      super(site, format);
-      this.nshm = nshm;
-    }
-  }
-
   /**
    * Request data with site class and imt
    */
-  static class HazardRequestDataImt extends HazardRequestDataSiteClass {
+  static class HazardRequestDataImt extends RequestDataSiteClass {
     public Imt imt;
 
-    HazardRequestDataImt(Nshm nshm, Location site, NehrpSiteClass siteClass, Imt imt,
+    HazardRequestDataImt(
+        Location site,
+        NehrpSiteClass siteClass,
+        Imt imt,
         ResponseFormat format) {
-      super(nshm, site, siteClass, format);
+      super(site, siteClass, format);
       this.imt = imt;
     }
 
@@ -46,23 +38,4 @@ public class RequestHazardCurves {
           super.toCsv(), Text.join(List.of(Key.IMT.toString(), imt.name()), Delimiter.COMMA));
     }
   }
-
-  /**
-   * Request data with site class
-   */
-  static class HazardRequestDataSiteClass extends RequestDataSiteClass {
-    public Nshm nshm;
-
-    HazardRequestDataSiteClass(Nshm nshm, Location site, NehrpSiteClass siteClass,
-        ResponseFormat format) {
-      super(site, siteClass, format);
-      this.nshm = nshm;
-    }
-
-    @Override
-    public String toCsv() {
-      return String.format("%s,%s",
-          super.toCsv(), Text.join(List.of(Key.SITE_CLASS.toString(), siteClass), Delimiter.COMMA));
-    }
-  }
 }
diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java
deleted file mode 100644
index 7369b6c..0000000
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gov.usgs.earthquake.nshmp.netcdf;
-
-/**
- * The NSHMs.
- *
- * @author U.S. Geologcial Survey
- */
-public enum Nshm {
-  CONUS_2018("NSHM Conterminous U.S 2018"),
-  HAWAII_2021("NSHM Hawaii 2021");
-
-  private String label;
-
-  private Nshm(String label) {
-    this.label = label;
-  }
-
-  @Override
-  public String toString() {
-    return label;
-  }
-}
diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java
index 803769e..cc9a932 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java
@@ -11,7 +11,6 @@ import com.google.gson.GsonBuilder;
 
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.netcdf.NetcdfVersion;
-import gov.usgs.earthquake.nshmp.netcdf.Nshm;
 import gov.usgs.earthquake.nshmp.www.ResponseBody;
 import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 import gov.usgs.earthquake.nshmp.www.WsUtils.EnumSerializer;
@@ -28,7 +27,6 @@ public class NetcdfWsUtils {
   static {
     GSON = new GsonBuilder()
         .registerTypeAdapter(Imt.class, new EnumSerializer<Imt>())
-        .registerTypeAdapter(Nshm.class, new EnumSerializer<Nshm>())
         .registerTypeAdapter(Double.class, new NaNSerializer())
         .disableHtmlEscaping()
         .serializeNulls()
-- 
GitLab