From 325053d051633144180a6d57c9c12447003480da Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 29 Jul 2022 09:52:29 -0600
Subject: [PATCH] add generic

---
 .../earthquake/nshmp/netcdf/www/NetcdfService.java     | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
index ff23fae..9d88e3c 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java
@@ -30,7 +30,7 @@ import io.micronaut.http.HttpResponse;
  *
  * @author U.S. Geological Survey
  */
-public abstract class NetcdfService<T extends Query> {
+public abstract class NetcdfService<S, T extends Query> {
 
   protected static final Logger LOGGER = Logger.getLogger(NetcdfService.class.getName());
 
@@ -45,7 +45,7 @@ public abstract class NetcdfService<T extends Query> {
    *
    * @param httpRequest The HTTP request
    */
-  abstract ResponseBody<String, Metadata<T>> getMetadataResponse(HttpRequest<?> httpRequest);
+  abstract ResponseBody<String, Metadata<S, T>> getMetadataResponse(HttpRequest<?> httpRequest);
 
   /**
    * Returns the service name
@@ -107,11 +107,7 @@ public abstract class NetcdfService<T extends Query> {
   /**
    * Returns the source models.
    */
-  List<SourceModel> getSourceModels() {
-    return netcdfDataFiles().stream()
-        .map(SourceModel::new)
-        .collect(Collectors.toList());
-  }
+  abstract S getSourceModels();
 
   <U extends ServiceResponseMetadata> String toCsvResponse(
       RequestData requestData,
-- 
GitLab