diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java b/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java index ab2976d4e2b23d2f3d1e8a54170458c3048a645e..478f8087ad759a3d4acd890ab3f437cdd0ecd4b1 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/DeaggEpsilonController.java @@ -11,7 +11,6 @@ import gov.usgs.earthquake.nshmp.www.services.DeaggEpsilonService; import gov.usgs.earthquake.nshmp.www.services.DeaggEpsilonService.Query; import gov.usgs.earthquake.nshmp.www.services.HazardService; -import io.micronaut.context.event.StartupEvent; import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; import io.micronaut.http.MediaType; @@ -19,7 +18,6 @@ import io.micronaut.http.annotation.Controller; import io.micronaut.http.annotation.Get; import io.micronaut.http.annotation.PathVariable; import io.micronaut.http.annotation.QueryValue; -import io.micronaut.runtime.event.annotation.EventListener; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -32,11 +30,6 @@ public class DeaggEpsilonController { @Inject private NshmpMicronautServlet servlet; - @EventListener - public void init(StartupEvent event) { - DeaggEpsilonService.init(); - } - @Get(uri = "/usage", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetUsage(HttpRequest<?> request) { var urlHelper = servlet.urlHelper(request); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java index 2f744fe8631b0191a04d5db8ca49e9232e589208..02cb1f53bbed3603427b5e0c6576f204b7abfca4 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/services/DeaggEpsilonService.java @@ -1,19 +1,13 @@ package gov.usgs.earthquake.nshmp.www.services; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.IOException; -import java.io.InputStream; import java.net.URL; import java.util.EnumMap; import java.util.List; -import java.util.Properties; import java.util.concurrent.ExecutionException; import java.util.function.Function; import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableList; -import com.google.common.io.Resources; import gov.usgs.earthquake.nshmp.calc.CalcConfig; import gov.usgs.earthquake.nshmp.calc.Deaggregation; @@ -30,6 +24,7 @@ import gov.usgs.earthquake.nshmp.www.meta.Metadata; import gov.usgs.earthquake.nshmp.www.services.ServicesUtil.Key; import gov.usgs.earthquake.nshmp.www.services.SourceServices.SourceModel; +import io.micronaut.context.annotation.Value; import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; @@ -43,26 +38,9 @@ public final class DeaggEpsilonService { /* Developer notes: See HazardService. */ private static final String NAME = "Epsilon Deaggregation"; - private static URL basinUrl; - public static void init() { - try (InputStream config = Resources.getResource("config.properties").openStream()) { - checkNotNull(config, "Missing config.properties"); - - Properties props = new Properties(); - props.load(config); - if (props.containsKey("basin_host")) { - /* - * TODO Site builder tests if service is working, which may be - * inefficient for single call services. - */ - var url = new URL(props.getProperty("basin_host") + "/nshmp/ws/data/basin"); - basinUrl = url; - } - } catch (IOException | NullPointerException e) { - throw new RuntimeException(e); - } - } + @Value("${nshmp-haz.basin-service-url}") + private static URL basinUrl; /** * Handler for {@link DeaggEpsilonController#doGetDeaggEpsilon}. Returns the diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 864c3d0da1b68393edb0a762c7af6db4e4514e73..46d39c2cfa56348ac7317524716e980d6c99e6b2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -15,6 +15,12 @@ micronaut: mapping: /** nshmp-haz: + ## + # The basin service url + # To specify the url to use: + # java -jar build/libs/nshmp-haz-v2.jar --basin-url= + basin-service-url: ${basin-service-url:https://staging-earthquake.usgs.gov/nshmp/ws/data/basin} + ## # The path to the models. # To specify the model to use: