You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/23 11:35:46 UTC

[10/16] camel git commit: CAMEL-8545: Use provided rest configuration and only fallback to default if none provided.

CAMEL-8545: Use provided rest configuration and only fallback to default if none provided.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bdbeb4a3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bdbeb4a3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bdbeb4a3

Branch: refs/heads/master
Commit: bdbeb4a39a39984ca867bf8f7f78ec1fd49d4f6b
Parents: 8252a16
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Sep 22 20:44:26 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Sep 23 07:51:05 2015 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/CamelContext.java     |  4 +--
 .../camel/component/rest/RestApiEndpoint.java   |  8 ++---
 .../camel/component/rest/RestEndpoint.java      |  7 ++--
 .../apache/camel/impl/DefaultCamelContext.java  |  2 +-
 .../model/rest/RestConfigurationDefinition.java | 35 ++++++++++++++++++++
 .../camel/spi/RestApiConsumerFactory.java       |  4 +--
 .../camel/spi/RestApiProcessorFactory.java      |  3 +-
 .../org/apache/camel/spi/RestConfiguration.java | 14 ++++++++
 .../apache/camel/spi/RestConsumerFactory.java   |  2 +-
 .../rest/DummyRestConsumerFactory.java          |  8 +++--
 .../rest/DummyRestProcessorFactory.java         |  6 ++--
 .../org/apache/camel/coap/CoAPComponent.java    | 14 +++++---
 .../component/jetty/JettyHttpComponent.java     | 11 +++---
 .../netty/http/NettyHttpComponent.java          | 12 ++++---
 .../netty4/http/NettyHttpComponent.java         | 20 ++++++-----
 .../netty4/http/rest/RestApiNettyTest.java      |  5 ++-
 .../component/restlet/RestletComponent.java     | 11 +++---
 .../component/servlet/ServletComponent.java     |  9 +++--
 .../component/sparkrest/SparkComponent.java     | 10 +++---
 .../swagger/SwaggerRestApiProcessorFactory.java |  6 ++--
 .../camel/swagger/DummyRestConsumerFactory.java |  3 +-
 .../swagger/DummyRestConsumerFactory.java       |  3 +-
 .../rest/DummyRestConsumerFactory.java          | 10 +++---
 .../component/undertow/UndertowComponent.java   | 10 ++++--
 24 files changed, 152 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/CamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/CamelContext.java b/camel-core/src/main/java/org/apache/camel/CamelContext.java
index c820dff..9a1509a 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java
@@ -500,6 +500,7 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
 
     /**
      * Gets the REST configuration for the given component
+     *
      * @param component the component name to get the configuration
      * @param defaultIfNotFound determine if the default configuration is returned if there isn't a 
      *        specific configuration for the given component  
@@ -508,8 +509,7 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
     RestConfiguration getRestConfiguration(String component, boolean defaultIfNotFound);
     
     /**
-     * Gets all the RestConfigurations 
-     * @return
+     * Gets all the RestConfiguration's
      */
     Collection<RestConfiguration> getRestConfigurations();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
index a4ff9f5..56fe965 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
@@ -100,14 +100,15 @@ public class RestApiEndpoint extends DefaultEndpoint {
 
         if (factory != null) {
 
+            RestConfiguration config = getCamelContext().getRestConfiguration(componentName, true);
+
             // calculate the url to the rest API service
             String path = getPath();
             if (path != null && !path.startsWith("/")) {
                 path = "/" + path;
             }
 
-
-            Processor processor = factory.createApiProcessor(getCamelContext(), path, getParameters());
+            Processor processor = factory.createApiProcessor(getCamelContext(), path, config, getParameters());
             return new RestApiProducer(this, processor);
         } else {
             throw new IllegalStateException("Cannot find RestApiProcessorFactory in Registry");
@@ -182,8 +183,7 @@ public class RestApiEndpoint extends DefaultEndpoint {
                 }
             }
 */
-
-            Consumer consumer = factory.createApiConsumer(getCamelContext(), processor, path, getParameters());
+            Consumer consumer = factory.createApiConsumer(getCamelContext(), processor, path, config, getParameters());
             configureConsumer(consumer);
 
             return consumer;

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
index adb5f49..cf22ef0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
@@ -245,9 +245,6 @@ public class RestEndpoint extends DefaultEndpoint {
         }
 
         if (factory != null) {
-            Consumer consumer = factory.createConsumer(getCamelContext(), processor, getMethod(), getPath(), getUriTemplate(), getConsumes(), getProduces(), getParameters());
-            configureConsumer(consumer);
-
             // if no explicit port/host configured, then use port from rest configuration
             String scheme = "http";
             String host = "";
@@ -305,6 +302,10 @@ public class RestEndpoint extends DefaultEndpoint {
                 }
             }
 
+            Consumer consumer = factory.createConsumer(getCamelContext(), processor, getMethod(), getPath(),
+                    getUriTemplate(), getConsumes(), getProduces(), config, getParameters());
+            configureConsumer(consumer);
+
             // add to rest registry so we can keep track of them, we will remove from the registry when the consumer is removed
             // the rest registry will automatic keep track when the consumer is removed,
             // and un-register the REST service from the registry

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 3cfa60e..1c5227f 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -2308,11 +2308,11 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
     public void setRestConfiguration(RestConfiguration restConfiguration) {
         restConfigurations.put("", restConfiguration);
     }
+
     public Collection<RestConfiguration> getRestConfigurations() {
         return restConfigurations.values();
     }
 
-
     public void addRestConfiguration(RestConfiguration restConfiguration) {
         restConfigurations.put(restConfiguration.getComponent(), restConfiguration);        
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
index 1ed3239..2c5906d 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestConfigurationDefinition.java
@@ -87,6 +87,9 @@ public class RestConfigurationDefinition {
     @XmlElement(name = "dataFormatProperty")
     private List<RestPropertyDefinition> dataFormatProperties = new ArrayList<RestPropertyDefinition>();
 
+    @XmlElement(name = "apiProperty")
+    private List<RestPropertyDefinition> apiProperties = new ArrayList<RestPropertyDefinition>();
+
     @XmlElement(name = "corsHeaders")
     private List<RestPropertyDefinition> corsHeaders = new ArrayList<RestPropertyDefinition>();
 
@@ -303,6 +306,18 @@ public class RestConfigurationDefinition {
         this.dataFormatProperties = dataFormatProperties;
     }
 
+    public List<RestPropertyDefinition> getApiProperties() {
+        return apiProperties;
+    }
+
+    /**
+     * Allows to configure as many additional properties for the api documentation (swagger).
+     * For example set property api.title to my cool stuff
+     */
+    public void setApiProperties(List<RestPropertyDefinition> apiProperties) {
+        this.apiProperties = apiProperties;
+    }
+
     public List<RestPropertyDefinition> getCorsHeaders() {
         return corsHeaders;
     }
@@ -480,6 +495,17 @@ public class RestConfigurationDefinition {
     }
 
     /**
+     * For additional configuration options on data format level
+     */
+    public RestConfigurationDefinition apiProperty(String key, String value) {
+        RestPropertyDefinition prop = new RestPropertyDefinition();
+        prop.setKey(key);
+        prop.setValue(value);
+        getApiProperties().add(prop);
+        return this;
+    }
+
+    /**
      * For configuring CORS headers
      */
     public RestConfigurationDefinition corsHeaderProperty(String key, String value) {
@@ -574,6 +600,15 @@ public class RestConfigurationDefinition {
             }
             answer.setDataFormatProperties(props);
         }
+        if (!apiProperties.isEmpty()) {
+            Map<String, Object> props = new HashMap<String, Object>();
+            for (RestPropertyDefinition prop : apiProperties) {
+                String key = prop.getKey();
+                String value = CamelContextHelper.parseText(context, prop.getValue());
+                props.put(key, value);
+            }
+            answer.setApiProperties(props);
+        }
         if (!corsHeaders.isEmpty()) {
             Map<String, String> props = new HashMap<String, String>();
             for (RestPropertyDefinition prop : corsHeaders) {

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/spi/RestApiConsumerFactory.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RestApiConsumerFactory.java b/camel-core/src/main/java/org/apache/camel/spi/RestApiConsumerFactory.java
index acad9a8..c000d93 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RestApiConsumerFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RestApiConsumerFactory.java
@@ -37,7 +37,7 @@ public interface RestApiConsumerFactory {
      * @return a newly created REST API consumer
      * @throws Exception can be thrown
      */
-    Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath, Map<String, Object> parameters) throws Exception;
-
+    Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath,
+                               RestConfiguration configuration, Map<String, Object> parameters) throws Exception;
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/spi/RestApiProcessorFactory.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RestApiProcessorFactory.java b/camel-core/src/main/java/org/apache/camel/spi/RestApiProcessorFactory.java
index 6650213..a721ec5 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RestApiProcessorFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RestApiProcessorFactory.java
@@ -35,6 +35,7 @@ public interface RestApiProcessorFactory {
      * @return a newly created REST API provider
      * @throws Exception can be thrown
      */
-    Processor createApiProcessor(CamelContext camelContext, String contextPath, Map<String, Object> parameters) throws Exception;
+    Processor createApiProcessor(CamelContext camelContext, String contextPath,
+                                 RestConfiguration configuration, Map<String, Object> parameters) throws Exception;
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/spi/RestConfiguration.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RestConfiguration.java b/camel-core/src/main/java/org/apache/camel/spi/RestConfiguration.java
index 7e5e3fe..768ad42 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RestConfiguration.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RestConfiguration.java
@@ -53,6 +53,7 @@ public class RestConfiguration {
     private Map<String, Object> endpointProperties;
     private Map<String, Object> consumerProperties;
     private Map<String, Object> dataFormatProperties;
+    private Map<String, Object> apiProperties;
     private Map<String, String> corsHeaders;
 
     /**
@@ -378,6 +379,19 @@ public class RestConfiguration {
         this.dataFormatProperties = dataFormatProperties;
     }
 
+    public Map<String, Object> getApiProperties() {
+        return apiProperties;
+    }
+
+    /**
+     * Sets additional options on api level
+     *
+     * @param apiProperties the options
+     */
+    public void setApiProperties(Map<String, Object> apiProperties) {
+        this.apiProperties = apiProperties;
+    }
+
     /**
      * Gets the CORS headers to use if CORS has been enabled.
      *

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/main/java/org/apache/camel/spi/RestConsumerFactory.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RestConsumerFactory.java b/camel-core/src/main/java/org/apache/camel/spi/RestConsumerFactory.java
index ac07fb7..26f51a3 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RestConsumerFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RestConsumerFactory.java
@@ -41,5 +41,5 @@ public interface RestConsumerFactory {
      * @throws Exception can be thrown
      */
     Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                            String consumes, String produces, Map<String, Object> parameters) throws Exception;
+                            String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception;
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestConsumerFactory.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestConsumerFactory.java b/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestConsumerFactory.java
index d51d3d3..46572c8 100644
--- a/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestConsumerFactory.java
+++ b/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestConsumerFactory.java
@@ -24,13 +24,14 @@ import org.apache.camel.Processor;
 import org.apache.camel.component.seda.SedaEndpoint;
 import org.apache.camel.impl.ActiveMQUuidGenerator;
 import org.apache.camel.spi.RestApiConsumerFactory;
+import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 
 public class DummyRestConsumerFactory implements RestConsumerFactory, RestApiConsumerFactory {
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // just use a seda endpoint for testing purpose
         String id;
         if (uriTemplate != null) {
@@ -47,7 +48,8 @@ public class DummyRestConsumerFactory implements RestConsumerFactory, RestApiCon
     }
 
     @Override
-    public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath, Map<String, Object> parameters) throws Exception {
+    public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath,
+                                      RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // just use a seda endpoint for testing purpose
         String id = ActiveMQUuidGenerator.generateSanitizedId(contextPath);
         // remove leading dash as we add that ourselves
@@ -57,4 +59,6 @@ public class DummyRestConsumerFactory implements RestConsumerFactory, RestApiCon
         SedaEndpoint seda = camelContext.getEndpoint("seda:api:" + "-" + id, SedaEndpoint.class);
         return seda.createConsumer(processor);
     }
+
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestProcessorFactory.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestProcessorFactory.java b/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestProcessorFactory.java
index ecb8c6c..1fbe87f 100644
--- a/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestProcessorFactory.java
+++ b/camel-core/src/test/java/org/apache/camel/component/rest/DummyRestProcessorFactory.java
@@ -22,17 +22,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.RestApiProcessorFactory;
+import org.apache.camel.spi.RestConfiguration;
 
 public class DummyRestProcessorFactory implements RestApiProcessorFactory {
 
     @Override
-    public Processor createApiProcessor(CamelContext camelContext, String contextPath, Map<String, Object> parameters) throws Exception {
+    public Processor createApiProcessor(CamelContext camelContext, String contextPath, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         return new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                // noop;
+                // noop
             }
         };
     }
-
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index 9ad4d42..32397f8 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -81,8 +81,14 @@ public class CoAPComponent extends UriEndpointComponent implements RestConsumerF
                                    String uriTemplate,
                                    String consumes, 
                                    String produces,
+                                   RestConfiguration configuration,
                                    Map<String, Object> parameters) throws Exception {
-        RestConfiguration config = getCamelContext().getRestConfiguration("coap", true);
+
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("coap", true);
+        }
+
         Map<String, Object> map = new HashMap<String, Object>();
         // setup endpoint options
         if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
@@ -90,8 +96,7 @@ public class CoAPComponent extends UriEndpointComponent implements RestConsumerF
         }
 
         String query = URISupport.createQueryString(map);
-        
-        
+
         String url = (config.getScheme() == null ? "coap" : config.getScheme())
             + "://" + config.getHost();
         if (config.getPort() != -1) {
@@ -110,8 +115,7 @@ public class CoAPComponent extends UriEndpointComponent implements RestConsumerF
         setProperties(endpoint, parameters);
         return endpoint.createConsumer(processor);
     }
-    
-    
+
     @Override
     protected void doStart() throws Exception {
         super.doStart();

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 0a6c454..03b5d17 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -1003,7 +1003,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
 
         String path = basePath;
         if (uriTemplate != null) {
@@ -1021,7 +1021,10 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
         int port = 0;
 
         // if no explicit port/host configured, then use port from rest configuration
-        RestConfiguration config = getCamelContext().getRestConfiguration("jetty", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("jetty", true);
+        }
         if (config.getScheme() != null) {
             scheme = config.getScheme();
         }
@@ -1044,7 +1047,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
 
         Map<String, Object> map = new HashMap<String, Object>();
         // build query string, and append any endpoint configuration properties
-        if (config != null && (config.getComponent() == null || config.getComponent().equals("jetty"))) {
+        if (config.getComponent() == null || config.getComponent().equals("jetty")) {
             // setup endpoint options
             if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                 map.putAll(config.getEndpointProperties());
@@ -1073,7 +1076,7 @@ public abstract class JettyHttpComponent extends HttpCommonComponent implements
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
index 23b1460..0e831f5 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java
@@ -225,7 +225,7 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
 
         String path = basePath;
         if (uriTemplate != null) {
@@ -243,7 +243,10 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
         int port = 0;
 
         // if no explicit port/host configured, then use port from rest configuration
-        RestConfiguration config = getCamelContext().getRestConfiguration("netty-http", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("netty-http", true);
+        }
         if (config.getScheme() != null) {
             scheme = config.getScheme();
         }
@@ -266,7 +269,7 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
 
         Map<String, Object> map = new HashMap<String, Object>();
         // build query string, and append any endpoint configuration properties
-        if (config != null && (config.getComponent() == null || config.getComponent().equals("netty-http"))) {
+        if (config.getComponent() == null || config.getComponent().equals("netty-http")) {
             // setup endpoint options
             if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                 map.putAll(config.getEndpointProperties());
@@ -286,13 +289,12 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
             url = url + "&" + query;
         }
 
-        
         NettyHttpEndpoint endpoint = camelContext.getEndpoint(url, NettyHttpEndpoint.class);
         setProperties(endpoint, parameters);
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpComponent.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpComponent.java
index 71fe02e..ae8e78c 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpComponent.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpComponent.java
@@ -225,18 +225,19 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
-        return doCreateConsumer(camelContext, processor, verb, basePath, uriTemplate, consumes, produces, parameters, false);
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
+        return doCreateConsumer(camelContext, processor, verb, basePath, uriTemplate, consumes, produces, configuration, parameters, false);
     }
 
     @Override
-    public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath, Map<String, Object> parameters) throws Exception {
+    public Consumer createApiConsumer(CamelContext camelContext, Processor processor, String contextPath,
+                                      RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // reuse the createConsumer method we already have. The api need to use GET and match on uri prefix
-        return doCreateConsumer(camelContext, processor, "GET", contextPath, null, null, null, parameters, true);
+        return doCreateConsumer(camelContext, processor, "GET", contextPath, null, null, null, configuration, parameters, true);
     }
 
     Consumer doCreateConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                              String consumes, String produces, Map<String, Object> parameters, boolean api) throws Exception {
+                              String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters, boolean api) throws Exception {
 
         String path = basePath;
         if (uriTemplate != null) {
@@ -254,7 +255,10 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
         int port = 0;
 
         // if no explicit port/host configured, then use port from rest configuration
-        RestConfiguration config = getCamelContext().getRestConfiguration("netty4-http", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("netty4-http", true);
+        }
         if (config.getScheme() != null) {
             scheme = config.getScheme();
         }
@@ -277,7 +281,7 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
 
         Map<String, Object> map = new HashMap<String, Object>();
         // build query string, and append any endpoint configuration properties
-        if (config != null && (config.getComponent() == null || config.getComponent().equals("netty4-http"))) {
+        if (config.getComponent() == null || config.getComponent().equals("netty4-http")) {
             // setup endpoint options
             if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                 map.putAll(config.getEndpointProperties());
@@ -306,7 +310,7 @@ public class NettyHttpComponent extends NettyComponent implements HeaderFilterSt
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/rest/RestApiNettyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/rest/RestApiNettyTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/rest/RestApiNettyTest.java
index 2abf8f1..99d1665 100644
--- a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/rest/RestApiNettyTest.java
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/rest/RestApiNettyTest.java
@@ -50,6 +50,8 @@ public class RestApiNettyTest extends BaseNettyTest {
         assertNotNull(out);
         log.info(out);
 
+        assertTrue(out.contains("\"version\" : \"1.2.3\""));
+        assertTrue(out.contains("\"title\" : \"The hello rest thing\""));
         assertTrue(out.contains("\"/hello/bye/{name}\""));
         assertTrue(out.contains("\"/hello/hi/{name}\""));
         assertTrue(out.contains("\"summary\" : \"To update the greeting message\""));
@@ -60,7 +62,8 @@ public class RestApiNettyTest extends BaseNettyTest {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                restConfiguration().component("netty4-http").host("localhost").port(getPort()).apiContextPath("/api-doc");
+                restConfiguration().component("netty4-http").host("localhost").port(getPort()).apiContextPath("/api-doc")
+                    .apiProperty("cors", "true").apiProperty("api.title", "The hello rest thing").apiProperty("api.version", "1.2.3");
 
                 rest("/hello").consumes("application/json").produces("application/json")
                     .get("/hi/{name}").description("Saying hi")

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
index 345d89d..9b91d90 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
@@ -664,7 +664,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
 
         String path = basePath;
         if (uriTemplate != null) {
@@ -683,7 +683,10 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
         int port = this.getPort();
 
         // if no explicit port/host configured, then use port from rest configuration
-        RestConfiguration config = getCamelContext().getRestConfiguration("restlet", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("restlet", true);
+        }
         if (config.getScheme() != null) {
             scheme = config.getScheme();
         }
@@ -706,7 +709,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
 
         Map<String, Object> map = new HashMap<String, Object>();
         // build query string, and append any endpoint configuration properties
-        if (config != null && (config.getComponent() == null || config.getComponent().equals("restlet"))) {
+        if (config.getComponent() == null || config.getComponent().equals("restlet")) {
             // setup endpoint options
             if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                 map.putAll(config.getEndpointProperties());
@@ -736,7 +739,7 @@ public class RestletComponent extends HeaderFilterStrategyComponent implements R
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
index 1d573a8..c70f81d 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java
@@ -159,7 +159,7 @@ public class ServletComponent extends HttpCommonComponent implements RestConsume
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         String path = basePath;
         if (uriTemplate != null) {
             // make sure to avoid double slashes
@@ -172,7 +172,10 @@ public class ServletComponent extends HttpCommonComponent implements RestConsume
         path = FileUtil.stripLeadingSeparator(path);
 
         // if no explicit port/host configured, then use port from rest configuration
-        RestConfiguration config = getCamelContext().getRestConfiguration("servlet", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("servlet", true);
+        }
 
         Map<String, Object> map = new HashMap<String, Object>();
         // setup endpoint options
@@ -204,7 +207,7 @@ public class ServletComponent extends HttpCommonComponent implements RestConsume
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
index eb5cba8..826db58 100644
--- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
+++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkComponent.java
@@ -31,7 +31,6 @@ import org.apache.camel.spi.RestConsumerFactory;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
-import spark.Spark;
 import spark.SparkBase;
 
 public class SparkComponent extends UriEndpointComponent implements RestConsumerFactory {
@@ -147,7 +146,7 @@ public class SparkComponent extends UriEndpointComponent implements RestConsumer
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
 
         String path = basePath;
         if (uriTemplate != null) {
@@ -174,7 +173,10 @@ public class SparkComponent extends UriEndpointComponent implements RestConsumer
         }
 
         // build query string, and append any endpoint configuration properties
-        RestConfiguration config = getCamelContext().getRestConfiguration("spark-rest", true);
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("spark-rest", true);
+        }
         // setup endpoint options
         if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
             map.putAll(config.getEndpointProperties());
@@ -193,7 +195,7 @@ public class SparkComponent extends UriEndpointComponent implements RestConsumer
 
         // configure consumer properties
         Consumer consumer = endpoint.createConsumer(processor);
-        if (config != null && config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
+        if (config.getConsumerProperties() != null && !config.getConsumerProperties().isEmpty()) {
             setProperties(consumer, config.getConsumerProperties());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
index 19cd1a7..faba694 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerRestApiProcessorFactory.java
@@ -21,11 +21,13 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.RestApiProcessorFactory;
+import org.apache.camel.spi.RestConfiguration;
 
 public class SwaggerRestApiProcessorFactory implements RestApiProcessorFactory {
 
     @Override
-    public Processor createApiProcessor(CamelContext camelContext, String contextPath, Map<String, Object> parameters) throws Exception {
-        return new RestSwaggerProcessor(parameters);
+    public Processor createApiProcessor(CamelContext camelContext, String contextPath,
+                                        RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
+        return new RestSwaggerProcessor(configuration.getApiProperties());
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/DummyRestConsumerFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/DummyRestConsumerFactory.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/DummyRestConsumerFactory.java
index d0d6efe..9946c4d 100644
--- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/DummyRestConsumerFactory.java
+++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/DummyRestConsumerFactory.java
@@ -23,13 +23,14 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.component.seda.SedaEndpoint;
 import org.apache.camel.impl.ActiveMQUuidGenerator;
+import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 
 public class DummyRestConsumerFactory implements RestConsumerFactory {
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // just use a seda endpoint for testing purpose
         String id;
         if (uriTemplate != null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-swagger/src/test/java/org/apache/camel/component/swagger/DummyRestConsumerFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger/src/test/java/org/apache/camel/component/swagger/DummyRestConsumerFactory.java b/components/camel-swagger/src/test/java/org/apache/camel/component/swagger/DummyRestConsumerFactory.java
index eed969e..3392332 100644
--- a/components/camel-swagger/src/test/java/org/apache/camel/component/swagger/DummyRestConsumerFactory.java
+++ b/components/camel-swagger/src/test/java/org/apache/camel/component/swagger/DummyRestConsumerFactory.java
@@ -23,13 +23,14 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.component.seda.SedaEndpoint;
 import org.apache.camel.impl.ActiveMQUuidGenerator;
+import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 
 public class DummyRestConsumerFactory implements RestConsumerFactory {
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // just use a seda endpoint for testing purpose
         String id;
         if (uriTemplate != null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/DummyRestConsumerFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/DummyRestConsumerFactory.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/DummyRestConsumerFactory.java
index c87fae5..2236b10 100644
--- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/DummyRestConsumerFactory.java
+++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/component/rest/DummyRestConsumerFactory.java
@@ -23,19 +23,20 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.component.seda.SedaEndpoint;
 import org.apache.camel.impl.ActiveMQUuidGenerator;
+import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
 
 public class DummyRestConsumerFactory implements RestConsumerFactory {
 
     @Override
-    public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String path, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+    public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         // just use a seda endpoint for testing purpose
         String id;
         if (uriTemplate != null) {
-            id = ActiveMQUuidGenerator.generateSanitizedId(path + uriTemplate);
+            id = ActiveMQUuidGenerator.generateSanitizedId(basePath + uriTemplate);
         } else {
-            id = ActiveMQUuidGenerator.generateSanitizedId(path);
+            id = ActiveMQUuidGenerator.generateSanitizedId(basePath);
         }
         // remove leading dash as we add that ourselves
         if (id.startsWith("-")) {
@@ -44,5 +45,4 @@ public class DummyRestConsumerFactory implements RestConsumerFactory {
         SedaEndpoint seda = camelContext.getEndpoint("seda:" + verb + "-" + id, SedaEndpoint.class);
         return seda.createConsumer(processor);
     }
-
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/bdbeb4a3/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 01b9684..8274b07 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -84,7 +84,7 @@ public class UndertowComponent extends UriEndpointComponent implements RestConsu
 
     @Override
     public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath, String uriTemplate,
-                                   String consumes, String produces, Map<String, Object> parameters) throws Exception {
+                                   String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
         String path = basePath;
         if (uriTemplate != null) {
             // make sure to avoid double slashes
@@ -98,7 +98,11 @@ public class UndertowComponent extends UriEndpointComponent implements RestConsu
         String scheme = "http";
         String host = "";
         int port = 0;
-        RestConfiguration config = getCamelContext().getRestConfiguration("undertow", true);
+
+        RestConfiguration config = configuration;
+        if (config == null) {
+            config = getCamelContext().getRestConfiguration("undertow", true);
+        }
         if (config.getScheme() != null) {
             scheme = config.getScheme();
         }
@@ -112,7 +116,7 @@ public class UndertowComponent extends UriEndpointComponent implements RestConsu
 
         Map<String, Object> map = new HashMap<String, Object>();
         // build query string, and append any endpoint configuration properties
-        if (config != null && (config.getComponent() == null || config.getComponent().equals("undertow"))) {
+        if (config.getComponent() == null || config.getComponent().equals("undertow")) {
             // setup endpoint options
             if (config.getEndpointProperties() != null && !config.getEndpointProperties().isEmpty()) {
                 map.putAll(config.getEndpointProperties());