From 3c5ddf13ddfe305382be038fc95aa6ce1a8d44a9 Mon Sep 17 00:00:00 2001 From: Eric Wittmann Date: Mon, 22 Dec 2014 12:52:22 -0500 Subject: [PATCH] added the ability to configure the API Gateway public endpoint via apiman.properties --- gateway/platforms/vertx/pom.xml | 36 +++++++++++++------ .../platforms/war/WarEngineConfig.java | 10 ++++++ .../gateway/platforms/war/WarGateway.java | 4 +-- .../war/wildfly8/api/Wildfly8Platform.java | 3 +- ...eAccessor.java => TestEngineAccessor.java} | 2 +- ...iman.gateway.api.rest.impl.IEngineAccessor | 2 +- 6 files changed, 42 insertions(+), 15 deletions(-) rename gateway/test/src/main/java/io/apiman/gateway/test/server/{EngineAccessor.java => TestEngineAccessor.java} (94%) diff --git a/gateway/platforms/vertx/pom.xml b/gateway/platforms/vertx/pom.xml index 48cf8b01df..101319b274 100644 --- a/gateway/platforms/vertx/pom.xml +++ b/gateway/platforms/vertx/pom.xml @@ -14,23 +14,19 @@ apiman-gateway-platforms-vertx - + false - + false ${project.groupId}~${project.artifactId}~${project.version} - + target/mods @@ -236,4 +232,24 @@ + + + + + windows + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + + diff --git a/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarEngineConfig.java b/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarEngineConfig.java index 9bccd99693..99eefb2610 100644 --- a/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarEngineConfig.java +++ b/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarEngineConfig.java @@ -75,6 +75,16 @@ public Configuration getConfig() { return config; } + /** + * Returns the given configuration property name or the provided default + * value if not found. + * @param propertyName + * @param defaultValue + */ + public String getConfigProperty(String propertyName, String defaultValue) { + return getConfig().getString(propertyName, defaultValue); + } + /** * @return the class to use as the {@link IRegistry} */ diff --git a/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarGateway.java b/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarGateway.java index aad1682520..8586e284b2 100644 --- a/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarGateway.java +++ b/gateway/platforms/war/src/main/java/io/apiman/gateway/platforms/war/WarGateway.java @@ -16,7 +16,6 @@ package io.apiman.gateway.platforms.war; import io.apiman.gateway.engine.IEngine; -import io.apiman.gateway.engine.IEngineConfig; import io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory; /** @@ -27,13 +26,14 @@ */ public class WarGateway { + public static WarEngineConfig config; public static IEngine engine; /** * Initialize the gateway. */ public static void init() { - IEngineConfig config = new WarEngineConfig(); + config = new WarEngineConfig(); ConfigDrivenEngineFactory factory = new ConfigDrivenEngineFactory(config); engine = factory.createEngine(); } diff --git a/gateway/platforms/war/wildfly8/api/src/main/java/io/apiman/gateway/platforms/war/wildfly8/api/Wildfly8Platform.java b/gateway/platforms/war/wildfly8/api/src/main/java/io/apiman/gateway/platforms/war/wildfly8/api/Wildfly8Platform.java index e33064b4de..bbc6346622 100644 --- a/gateway/platforms/war/wildfly8/api/src/main/java/io/apiman/gateway/platforms/war/wildfly8/api/Wildfly8Platform.java +++ b/gateway/platforms/war/wildfly8/api/src/main/java/io/apiman/gateway/platforms/war/wildfly8/api/Wildfly8Platform.java @@ -17,6 +17,7 @@ import io.apiman.gateway.api.rest.impl.IPlatform; import io.apiman.gateway.engine.beans.ServiceEndpoint; +import io.apiman.gateway.platforms.war.WarGateway; import io.apiman.gateway.platforms.war.filters.HttpRequestThreadLocalFilter; import javax.servlet.http.HttpServletRequest; @@ -41,7 +42,7 @@ public Wildfly8Platform() { */ @Override public ServiceEndpoint getServiceEndpoint(String organizationId, String serviceId, String version) { - String endpoint = System.getProperty(APIMAN_GATEWAY_ENDPOINT, null); + String endpoint = WarGateway.config.getConfigProperty(APIMAN_GATEWAY_ENDPOINT, null); StringBuilder builder = new StringBuilder(); if (endpoint == null) { HttpServletRequest currentRequest = HttpRequestThreadLocalFilter.getCurrentRequest(); diff --git a/gateway/test/src/main/java/io/apiman/gateway/test/server/EngineAccessor.java b/gateway/test/src/main/java/io/apiman/gateway/test/server/TestEngineAccessor.java similarity index 94% rename from gateway/test/src/main/java/io/apiman/gateway/test/server/EngineAccessor.java rename to gateway/test/src/main/java/io/apiman/gateway/test/server/TestEngineAccessor.java index 2c84ab9986..4789da7c4f 100644 --- a/gateway/test/src/main/java/io/apiman/gateway/test/server/EngineAccessor.java +++ b/gateway/test/src/main/java/io/apiman/gateway/test/server/TestEngineAccessor.java @@ -25,7 +25,7 @@ * * @author eric.wittmann@redhat.com */ -public class EngineAccessor implements IEngineAccessor { +public class TestEngineAccessor implements IEngineAccessor { /** * @see io.apiman.gateway.api.rest.impl.IEngineAccessor#getEngine() diff --git a/gateway/test/src/main/resources/META-INF/services/io.apiman.gateway.api.rest.impl.IEngineAccessor b/gateway/test/src/main/resources/META-INF/services/io.apiman.gateway.api.rest.impl.IEngineAccessor index 4594f5416e..268daab197 100644 --- a/gateway/test/src/main/resources/META-INF/services/io.apiman.gateway.api.rest.impl.IEngineAccessor +++ b/gateway/test/src/main/resources/META-INF/services/io.apiman.gateway.api.rest.impl.IEngineAccessor @@ -1 +1 @@ -io.apiman.gateway.test.server.EngineAccessor \ No newline at end of file +io.apiman.gateway.test.server.TestEngineAccessor \ No newline at end of file