From 16daff484c8b052d942f4dcd4824c55976ff8224 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 3 Mar 2022 13:43:55 -0700
Subject: [PATCH] Add generix

---
 .../netcdf/www/NetcdfServiceHazardCurves.java     | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfServiceHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfServiceHazardCurves.java
index fb78a99..4fd1f42 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfServiceHazardCurves.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfServiceHazardCurves.java
@@ -23,7 +23,7 @@ import io.micronaut.http.HttpRequest;
  *
  * @author U.S. Geological Survey
  */
-public class NetcdfServiceHazardCurves extends NetcdfService {
+public class NetcdfServiceHazardCurves extends NetcdfService<HazardQuery> {
 
   static final String SERVICE_DESCRIPTION = "Get static hazard curves from a NetCDF file";
   static final String SERVICE_NAME = "Static Hazard Curves";
@@ -46,6 +46,17 @@ public class NetcdfServiceHazardCurves extends NetcdfService {
         .build();
   }
 
+  @Override
+  public Service getService(HazardQuery query) {
+    if (query.imt != null) {
+      return Service.CURVES_BY_IMT;
+    } else if (query.siteClass != null) {
+      return Service.CURVES_BY_SITE_CLASS;
+    } else {
+      return Service.CURVES;
+    }
+  }
+
   @Override
   String getServiceName() {
     return SERVICE_NAME;
@@ -114,7 +125,7 @@ public class NetcdfServiceHazardCurves extends NetcdfService {
   }
 
   @Override
-  ResponseBody<?, ?> processRequest(HttpRequest<?> httpRequest, Query query, Service service) {
+  ResponseBody<?, ?> processRequest(HttpRequest<?> httpRequest, HazardQuery query, Service service) {
     var site = Location.create(query.longitude, query.latitude);
     var url = httpRequest.getUri().toString();
 
-- 
GitLab