From 0aab4a93c411193829b1c782c9fbfeade854fff1 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Thu, 24 Mar 2016 11:53:13 -0600
Subject: [PATCH] site toString improvements

---
 src/org/opensha2/calc/Site.java  |  2 +-
 src/org/opensha2/calc/Sites.java | 19 +++++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/org/opensha2/calc/Site.java b/src/org/opensha2/calc/Site.java
index 49cd9ea75..6a49dc975 100644
--- a/src/org/opensha2/calc/Site.java
+++ b/src/org/opensha2/calc/Site.java
@@ -125,7 +125,7 @@ public class Site implements Named {
 
 	@Override
 	public String toString() {
-		return new StringBuilder(Strings.padEnd(name, 16, ' '))
+		return new StringBuilder(Strings.padEnd(name, 24, ' '))
 			.append(String.format("%.3f %.3f Vs30=%s ", location.lon(), location.lat(), vs30))
 			.append(vsInferred ? "inferred " : "measured ")
 			.append(String.format("Z1.0=%s Z2.5=%s", z1p0, z2p5))
diff --git a/src/org/opensha2/calc/Sites.java b/src/org/opensha2/calc/Sites.java
index f8cb483bf..4afb4a40c 100644
--- a/src/org/opensha2/calc/Sites.java
+++ b/src/org/opensha2/calc/Sites.java
@@ -2,13 +2,14 @@ package org.opensha2.calc;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
+import static com.google.common.base.Strings.padStart;
 import static com.google.common.base.Strings.repeat;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.opensha2.geo.BorderType.MERCATOR_LINEAR;
 import static org.opensha2.util.GeoJson.validateProperty;
 import static org.opensha2.util.Parsing.splitToList;
 import static org.opensha2.util.TextUtils.ALIGN_COL;
-import static org.opensha2.util.TextUtils.format;
+import static org.opensha2.util.TextUtils.*;
 
 import java.io.IOException;
 import java.io.Reader;
@@ -33,6 +34,7 @@ import org.opensha2.util.Parsing.Delimiter;
 import org.opensha2.util.TextUtils;
 
 import com.google.common.base.Optional;
+import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.common.reflect.TypeToken;
@@ -191,13 +193,15 @@ public final class Sites {
 		return new ListIterable(ImmutableList.of(b.build()));
 	}
 
+	private static final int TO_STRING_LIMIT = 5;
+	private static final int SITE_INDENT_SIZE = 8;
+	private static final String SITE_INDENT = Strings.repeat(" ", SITE_INDENT_SIZE);
+
 	/*
 	 * Parent class for deserialization of different GeoJSON site file formats
 	 */
 	private abstract static class SiteIterable implements Iterable<Site> {
 
-		static final int TO_STRING_LIMIT = 5;
-
 		@Override
 		public String toString() {
 			boolean region = this instanceof RegionIterable;
@@ -207,12 +211,15 @@ public final class Sites {
 				.append(" [size=").append(size).append("]");
 			if (!region) {
 				for (Site site : Iterables.limit(this, TO_STRING_LIMIT)) {
-					sb.append(format("Site")).append(site);
+					sb.append(NEWLINE)
+						.append(SITE_INDENT)
+						.append("Site: ")
+						.append(site);
 				}
 				if (size > TO_STRING_LIMIT) {
 					int delta = size - TO_STRING_LIMIT;
-					sb.append(TextUtils.NEWLINE)
-						.append(repeat(" ", ALIGN_COL + 2))
+					sb.append(NEWLINE)
+						.append(SITE_INDENT)
 						.append("... and ").append(delta).append(" more ...");
 				}
 			}
-- 
GitLab