From d3df83ee07ec64e1a49f7662c3e8a44ca9c0a5ff Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Mon, 25 Jan 2021 12:55:54 -0700
Subject: [PATCH] removed region enum

---
 .../earthquake/nshmp/www/meta/MetaUtil.java   | 13 ----
 .../earthquake/nshmp/www/meta/Region.java     | 63 -------------------
 .../nshmp/www/meta/RegionConstraints.java     | 21 -------
 .../nshmp/www/meta/package-info.java          |  9 ---
 .../nshmp/www/services/ServletUtil.java       |  2 -
 .../nshmp/www/services/SourceServices.java    | 35 -----------
 6 files changed, 143 deletions(-)
 delete mode 100644 src/main/java/gov/usgs/earthquake/nshmp/www/meta/Region.java
 delete mode 100644 src/main/java/gov/usgs/earthquake/nshmp/www/meta/RegionConstraints.java
 delete mode 100644 src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/MetaUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/MetaUtil.java
index d5b961201..64a7c9960 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/MetaUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/MetaUtil.java
@@ -50,19 +50,6 @@ public final class MetaUtil {
       jObj.addProperty("display", src.toString());
       jObj.addProperty("displayorder", displayOrder);
 
-      if (src instanceof Region) {
-        Region region = (Region) src;
-        jObj.addProperty("minlatitude", region.minlatitude);
-        jObj.addProperty("maxlatitude", region.maxlatitude);
-        jObj.addProperty("minlongitude", region.minlongitude);
-        jObj.addProperty("maxlongitude", region.maxlongitude);
-
-        jObj.addProperty("uiminlatitude", region.uiminlatitude);
-        jObj.addProperty("uimaxlatitude", region.uimaxlatitude);
-        jObj.addProperty("uiminlongitude", region.uiminlongitude);
-        jObj.addProperty("uimaxlongitude", region.uimaxlongitude);
-      }
-
       if (src instanceof Constrained) {
         Constrained cSrc = (Constrained) src;
         jObj.add("supports", context.serialize(cSrc.constraints()));
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Region.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Region.java
deleted file mode 100644
index 8dd32654c..000000000
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/Region.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package gov.usgs.earthquake.nshmp.www.meta;
-
-public enum Region {
-
-  AK(
-      "Alaska",
-      new double[] { 48.0, 72.0 },
-      new double[] { -200.0, -125.0 },
-      new double[] { 48.0, 72.0 },
-      new double[] { -200.0, -125.0 }),
-
-  CONUS(
-      "Conterminous US",
-      new double[] { 24.6, 50.0 },
-      new double[] { -125.0, -65.0 },
-      new double[] { 24.6, 50.0 },
-      new double[] { -125.0, -65.0 }),
-
-  HI(
-      "Hawaii",
-      new double[] { 18.0, 23.0 },
-      new double[] { -161.0, -154.0 },
-      new double[] { 18.0, 23.0 },
-      new double[] { -161.0, -154.0 });
-
-  public final String label;
-
-  public final double minlatitude;
-  public final double maxlatitude;
-  public final double minlongitude;
-  public final double maxlongitude;
-
-  public final double uiminlatitude;
-  public final double uimaxlatitude;
-  public final double uiminlongitude;
-  public final double uimaxlongitude;
-
-  private Region(
-      String label,
-      double[] latRange,
-      double[] lonRange,
-      double[] uiLatRange,
-      double[] uiLonRange) {
-
-    this.label = label;
-
-    this.minlatitude = latRange[0];
-    this.maxlatitude = latRange[1];
-    this.minlongitude = lonRange[0];
-    this.maxlongitude = lonRange[1];
-
-    this.uiminlatitude = uiLatRange[0];
-    this.uimaxlatitude = uiLatRange[1];
-    this.uiminlongitude = uiLonRange[0];
-    this.uimaxlongitude = uiLonRange[1];
-  }
-
-  @Override
-  public String toString() {
-    return label;
-  }
-
-}
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/RegionConstraints.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/RegionConstraints.java
deleted file mode 100644
index 8a7d6434a..000000000
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/RegionConstraints.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package gov.usgs.earthquake.nshmp.www.meta;
-
-import java.util.List;
-import java.util.Set;
-
-import gov.usgs.earthquake.nshmp.calc.Vs30;
-import gov.usgs.earthquake.nshmp.gmm.Imt;
-
-@SuppressWarnings("unused")
-class RegionConstraints implements Constraints {
-
-  private final List<String> imt;
-  private final List<String> vs30;
-
-  RegionConstraints(Set<Imt> imts, Set<Vs30> vs30s) {
-    // converting to Strings here, otherwise EnumSerializer will be used
-    // and we want a compact list of (possible modified) enum.name()s
-    this.imt = MetaUtil.enumsToNameList(imts);
-    this.vs30 = MetaUtil.enumsToStringList(vs30s, vs30 -> vs30.name().substring(3));
-  }
-}
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java b/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java
deleted file mode 100644
index ea198d902..000000000
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/meta/package-info.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Web-service metadata support classes.
- *
- * <p>Classes in this package largely provide support for web services used on
- * the public facing USGS website. Services that are not public facing may use a
- * simpler metadata structure defined within the service class itself (e.g.
- * {@link gov.usgs.earthquake.nshmp.www.SpectraService}.
- */
-package gov.usgs.earthquake.nshmp.www.meta;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/ServletUtil.java
index 5eb10bff5..fea0010d3 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/ServletUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/ServletUtil.java
@@ -39,7 +39,6 @@ import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.internal.www.meta.ParamType;
 import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.meta.MetaUtil;
-import gov.usgs.earthquake.nshmp.www.meta.Region;
 
 import io.micronaut.context.annotation.Value;
 import io.micronaut.context.event.ShutdownEvent;
@@ -79,7 +78,6 @@ public class ServletUtil {
     CALC_EXECUTOR = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(THREAD_COUNT));
     TASK_EXECUTOR = Executors.newSingleThreadExecutor();
     GSON = new GsonBuilder()
-        .registerTypeAdapter(Region.class, new MetaUtil.EnumSerializer<Region>())
         .registerTypeAdapter(Imt.class, new MetaUtil.EnumSerializer<Imt>())
         .registerTypeAdapter(Vs30.class, new MetaUtil.EnumSerializer<Vs30>())
         .registerTypeAdapter(ValueFormat.class, new MetaUtil.EnumSerializer<ValueFormat>())
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/SourceServices.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/SourceServices.java
index 1a1d6ff2e..4265b14bc 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/SourceServices.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/SourceServices.java
@@ -1,6 +1,5 @@
 package gov.usgs.earthquake.nshmp.www.services;
 
-import java.lang.reflect.Type;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Set;
@@ -8,10 +7,6 @@ import java.util.stream.Collectors;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
 
 import gov.usgs.earthquake.nshmp.calc.CalcConfig;
 import gov.usgs.earthquake.nshmp.calc.Vs30;
@@ -26,7 +21,6 @@ import gov.usgs.earthquake.nshmp.model.HazardModel;
 import gov.usgs.earthquake.nshmp.www.meta.DoubleParameter;
 import gov.usgs.earthquake.nshmp.www.meta.MetaUtil;
 import gov.usgs.earthquake.nshmp.www.meta.Metadata;
-import gov.usgs.earthquake.nshmp.www.meta.Region;
 
 import io.micronaut.http.HttpResponse;
 
@@ -51,7 +45,6 @@ public class SourceServices {
         .registerTypeAdapter(Imt.class, new MetaUtil.EnumSerializer<Imt>())
         .registerTypeAdapter(ParamType.class, new MetaUtil.ParamTypeSerializer())
         .registerTypeAdapter(Vs30.class, new MetaUtil.EnumSerializer<Vs30>())
-        .registerTypeAdapter(Region.class, new RegionSerializer())
         .disableHtmlEscaping()
         .serializeNulls()
         .setPrettyPrinting()
@@ -87,7 +80,6 @@ public class SourceServices {
 
   static class Parameters {
     List<SourceModel> models;
-    EnumParameter<Region> region;
     DoubleParameter returnPeriod;
     EnumParameter<Vs30> vs30;
 
@@ -96,11 +88,6 @@ public class SourceServices {
           .map(SourceModel::new)
           .collect(Collectors.toList());
 
-      region = new EnumParameter<>(
-          "Region",
-          ParamType.STRING,
-          EnumSet.allOf(Region.class));
-
       returnPeriod = new DoubleParameter(
           "Return period (in years)",
           ParamType.NUMBER,
@@ -162,26 +149,4 @@ public class SourceServices {
       return name().toLowerCase();
     }
   }
-
-  // TODO align with enum serializer if possible; consider service attribute
-  // enum
-  // TODO test removal of ui-min/max-lon/lat
-  static final class RegionSerializer implements JsonSerializer<Region> {
-
-    @Override
-    public JsonElement serialize(Region region, Type typeOfSrc, JsonSerializationContext context) {
-      var json = new JsonObject();
-
-      json.addProperty(Attributes.VALUE.toLowerCase(), region.name());
-      json.addProperty(Attributes.DISPLAY.toLowerCase(), region.toString());
-
-      json.addProperty(Attributes.MINLATITUDE.toLowerCase(), region.minlatitude);
-      json.addProperty(Attributes.MAXLATITUDE.toLowerCase(), region.maxlatitude);
-      json.addProperty(Attributes.MINLONGITUDE.toLowerCase(), region.minlongitude);
-      json.addProperty(Attributes.MAXLONGITUDE.toLowerCase(), region.maxlongitude);
-
-      return json;
-    }
-  }
-
 }
-- 
GitLab