From 03a82e0dba2d1cef7bfa87df2a81949e44c64584 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Tue, 22 Oct 2024 15:25:27 -0600 Subject: [PATCH] interface system deserializer --- .../earthquake/nshmp/model/Deserialize.java | 20 ++++++++++++++++--- .../earthquake/nshmp/model/ModelFiles.java | 9 +++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/Deserialize.java b/src/main/java/gov/usgs/earthquake/nshmp/model/Deserialize.java index aedbd4cb..2cd5364c 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/Deserialize.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/Deserialize.java @@ -4,6 +4,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static gov.usgs.earthquake.nshmp.model.ModelFiles.checkRupturesFile; import static gov.usgs.earthquake.nshmp.model.ModelFiles.readSystemFeatures; +import static gov.usgs.earthquake.nshmp.model.SourceType.FAULT_SYSTEM; +import static gov.usgs.earthquake.nshmp.model.SourceType.INTERFACE_SYSTEM; import static java.util.stream.Collectors.toUnmodifiableMap; import java.io.BufferedReader; @@ -389,13 +391,25 @@ class Deserialize { interfaceRuptureSets); } - /* Create a fault system rupture set. */ - static SystemRuptureSet systemRuptureSet(Path json, ModelData data) { + /* Create a crustal fault system rupture set. */ + static SystemRuptureSet crustalSystemRuptureSet(Path json, ModelData data) { + return systemRuptureSet(json, data, FAULT_SYSTEM); + } + + /* Create an interface system rupture set. */ + static SystemRuptureSet interfaceSystemRuptureSet(Path json, ModelData data) { + return systemRuptureSet(json, data, INTERFACE_SYSTEM); + } + + private static SystemRuptureSet systemRuptureSet( + Path json, + ModelData data, + SourceType type) { Path parent = checkNotNull(json.getParent()); JsonObject obj = jsonObject(json); - return SystemRuptureSet.builder() + return SystemRuptureSet.builder(type) .name(obj.get(NAME).getAsString()) .id(obj.get(ID).getAsInt()) .modelData(data) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelFiles.java b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelFiles.java index 2ae61357..3517afcc 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelFiles.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelFiles.java @@ -255,6 +255,11 @@ class ModelFiles { return read(dir, CLUSTER_SET, data, Deserialize::interfaceClusterSet); } + /* Interface system rupture-set. */ + static Optional<SystemRuptureSet> readInterfaceSystemRuptureSet(Path dir, ModelData data) { + return read(dir, RUPTURE_SET, data, Deserialize::interfaceSystemRuptureSet); + } + /* Fault rupture-set. */ static Optional<FaultRuptureSet> readFaultRuptureSet(Path dir, ModelData data) { return read(dir, RUPTURE_SET, data, Deserialize::faultRuptureSet); @@ -266,8 +271,8 @@ class ModelFiles { } /* Fault system rupture-set. */ - static Optional<SystemRuptureSet> readSystemRuptureSet(Path dir, ModelData data) { - return read(dir, RUPTURE_SET, data, Deserialize::systemRuptureSet); + static Optional<SystemRuptureSet> readCrustalSystemRuptureSet(Path dir, ModelData data) { + return read(dir, RUPTURE_SET, data, Deserialize::crustalSystemRuptureSet); } /* Grid rupture-set. */ -- GitLab