From c015330cf0e902395b53df798e5b8887970c90f9 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Wed, 20 Apr 2022 08:07:18 -0600 Subject: [PATCH] add static helper method --- .../earthquake/nshmp/internal/AppVersion.java | 16 ++++++++++++++++ .../earthquake/nshmp/internal/LibVersion.java | 15 +++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java b/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java index d25662ad..0df51c57 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java @@ -1,9 +1,25 @@ package gov.usgs.earthquake.nshmp.internal; +import java.net.URL; + +import com.google.common.base.Charsets; +import com.google.common.io.Resources; +import com.google.gson.Gson; + public interface AppVersion { public VersionInfo getVersionInfo(); + static VersionInfo versionInfo(URL resource) { + try { + return new Gson().fromJson( + Resources.toString(resource, Charsets.UTF_8), + VersionInfo.class); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + public static class VersionInfo { public String branchName; public int commitDistance; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java b/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java index 6fcd6f8d..901e4d1f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java @@ -1,19 +1,14 @@ package gov.usgs.earthquake.nshmp.internal; -import com.google.common.base.Charsets; import com.google.common.io.Resources; -import com.google.gson.Gson; +/** + * + */ public class LibVersion implements AppVersion { public VersionInfo getVersionInfo() { - try { - var resource = Resources.getResource("version.json"); - return new Gson().fromJson( - Resources.toString(resource, Charsets.UTF_8), - VersionInfo.class); - } catch (Exception e) { - throw new RuntimeException(e.getMessage()); - } + var resource = Resources.getResource(LibVersion.class, "version.json"); + return AppVersion.versionInfo(resource); } } -- GitLab