Skip to content
Snippets Groups Projects
Commit d3df83ee authored by Powers, Peter M.'s avatar Powers, Peter M.
Browse files

removed region enum

parent 29c4a889
No related branches found
No related tags found
1 merge request!504Hazard app dev
......@@ -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()));
......
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;
}
}
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));
}
}
/**
* 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;
......@@ -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>())
......
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;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment