From e9117fce77f4764e3f01c76efb6171db6b5eaa62 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Thu, 16 Sep 2021 07:22:55 -0600
Subject: [PATCH] pick up optional name from tree-info

---
 .../earthquake/nshmp/model/ModelLoader.java   | 22 +++++++++++--------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java
index 691e2a2a..7a9e4fb9 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java
@@ -488,6 +488,7 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
       System.out.println("    tree: [" + info.id + "] " + root.relativize(dir));
 
@@ -510,7 +511,7 @@ abstract class ModelLoader {
       }
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(faultSystemTree ? FAULT_SYSTEM : FAULT)
@@ -660,13 +661,14 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
       System.out.println("    tree: [" + info.id + "] " + root.relativize(dir));
 
       data.interfaceFeatureMap(readInterfaceFeatures(dir).orElseThrow());
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(DECOLLEMENT)
@@ -760,13 +762,14 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
       System.out.println("    tree: [" + info.id + "] " + root.relativize(dir));
 
       data.interfaceFeatureMap(readInterfaceFeatures(dir).orElseThrow());
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(INTERFACE)
@@ -865,13 +868,12 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
-      String treePath = root.relativize(dir).toString();
-      String treeName = treePath.isEmpty() ? "unnamed" : treePath;
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
-      System.out.println("    tree: [" + info.id + "] " + treeName);
+      System.out.println("    tree: [" + info.id + "] " + name);
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(GRID)
@@ -990,11 +992,12 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
       System.out.println("    tree: [" + info.id + "] " + root.relativize(dir));
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(INTRASLAB)
@@ -1133,11 +1136,12 @@ abstract class ModelLoader {
 
       LogicTree<Path> tree = readSourceTree(dir).orElseThrow();
       SourceTree.Info info = readTreeInfo(dir).orElseThrow(nse(dir, TREE_INFO));
+      String name = info.name.orElse(checkNotNull(dir.getFileName()).toString());
 
       System.out.println("    tree: [" + info.id + "] " + root.relativize(dir));
 
       SourceTree.Builder treeBuilder = SourceTree.builder()
-          .name(checkNotNull(dir.getFileName()).toString())
+          .name(name)
           .id(info.id)
           .setting(data.tectonicSetting())
           .type(ZONE)
-- 
GitLab