From a668a69fcba68a0607884327ee5f050294327398 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 15 Jan 2025 16:39:04 -0700
Subject: [PATCH] add bounds to description

---
 .../nshmp/www/SwaggerController.java          | 40 ++-----------------
 1 file changed, 3 insertions(+), 37 deletions(-)

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 e5887f0f..0bca51b7 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/SwaggerController.java
@@ -1,12 +1,9 @@
 package gov.usgs.earthquake.nshmp.www;
 
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.logging.Logger;
 
 import org.slf4j.LoggerFactory;
 
-import gov.usgs.earthquake.nshmp.geo.Location;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.source.FeaturesService;
 
@@ -19,7 +16,6 @@ import io.swagger.v3.core.util.Yaml;
 import io.swagger.v3.oas.annotations.Hidden;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.parameters.Parameter;
 import io.swagger.v3.parser.OpenAPIV3Parser;
 import jakarta.inject.Inject;
 
@@ -54,7 +50,6 @@ public class SwaggerController {
   private OpenAPI getOpenAPI(
       HttpRequest<?> request,
       HazardModel model) {
-    Logger log = Logger.getAnonymousLogger();
     var openApi = new OpenAPIV3Parser().read("META-INF/swagger/nshmp-haz.yml");
     var bounds = model.bounds();
     var components = openApi.getComponents();
@@ -67,39 +62,10 @@ public class SwaggerController {
     openApi.getInfo().setTitle(model.name() + " Web Services");
     openApi.getInfo().setDescription(
         "National Seismic Hazard Model (NSHM) hazard calculations and queries for the " +
-            model.name() + " hazard model.");
+            model.name() + " hazard model.\n\n" +
+            String.format("Latitude bounds: [%s, %s]<br>", bounds.min.latitude, bounds.max.latitude) +
+            String.format("Longitude bounds: [%s, %s]", bounds.min.longitude, bounds.max.longitude));
 
     return openApi;
   }
-
-  public static OpenAPI addLocationBounds(OpenAPI openApi, Location min, Location max) {
-    openApi.getPaths().values().stream()
-        .flatMap(path -> path.readOperations().stream())
-        .forEach(operation -> addLocationBounds(operation.getParameters(), min, max));
-
-    return openApi;
-  }
-
-  public static List<Parameter> addLocationBounds(
-      List<Parameter> parameters,
-      Location min,
-      Location max) {
-    var latitudeDescription = String.format(" [%s, %s]", min.latitude, max.latitude);
-    var longtudeDescription = String.format(" [%s, %s]", min.longitude, max.longitude);
-
-    parameters.forEach(parameter -> {
-      if (parameter.getName().equals("latitude")) {
-        parameter.setDescription(parameter.getDescription() + latitudeDescription);
-        parameter.getSchema().setMinimum(BigDecimal.valueOf(min.latitude));
-        parameter.getSchema().setMaximum(BigDecimal.valueOf(max.latitude));
-      } else if (parameter.getName().equals("longitude")) {
-        parameter.setDescription(parameter.getDescription() + longtudeDescription);
-        parameter.getSchema().setMinimum(BigDecimal.valueOf(min.longitude));
-        parameter.getSchema().setMaximum(BigDecimal.valueOf(max.longitude));
-      }
-    });
-
-    return parameters;
-  }
-
 }
-- 
GitLab