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 2017/07/26 18:39:45 UTC
[2/4] camel git commit: CAMEL-11594: rest configuration in spring
boot should use map instead of list
CAMEL-11594: rest configuration in spring boot should use map instead of list
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/42903358
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/42903358
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/42903358
Branch: refs/heads/master
Commit: 42903358b4b7191d0844d522cbc7460e5410bbb5
Parents: 52c5fba
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Jul 26 20:35:30 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Jul 26 20:36:58 2017 +0200
----------------------------------------------------------------------
.../main/java/org/apache/camel/util/CollectionHelper.java | 6 +++---
.../src/main/resources/application.properties | 2 ++
.../RestConfigurationDefinitionAutoConfiguration.java | 7 +++++++
.../apache/camel/model/rest/springboot/CamelRestTest.java | 6 +++++-
.../maven/packaging/SpringBootAutoConfigurationMojo.java | 9 ++++++---
5 files changed, 23 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/42903358/camel-core/src/main/java/org/apache/camel/util/CollectionHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/CollectionHelper.java b/camel-core/src/main/java/org/apache/camel/util/CollectionHelper.java
index f5001e6..68f3820 100644
--- a/camel-core/src/main/java/org/apache/camel/util/CollectionHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/CollectionHelper.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
http://git-wip-us.apache.org/repos/asf/camel/blob/42903358/examples/camel-example-spring-boot-geocoder/src/main/resources/application.properties
----------------------------------------------------------------------
diff --git a/examples/camel-example-spring-boot-geocoder/src/main/resources/application.properties b/examples/camel-example-spring-boot-geocoder/src/main/resources/application.properties
index 221789b..d694863 100644
--- a/examples/camel-example-spring-boot-geocoder/src/main/resources/application.properties
+++ b/examples/camel-example-spring-boot-geocoder/src/main/resources/application.properties
@@ -34,3 +34,5 @@ camel.rest.api-property.api.title=Geocoder API
camel.rest.api-property.api.version=1.0.0
camel.rest.api-property.cors=true
+camel.rest.cors-headers.foo=bar
+
http://git-wip-us.apache.org/repos/asf/camel/blob/42903358/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
index 92d49b8..804946f 100644
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
+++ b/platforms/spring-boot/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/rest/springboot/RestConfigurationDefinitionAutoConfiguration.java
@@ -83,6 +83,13 @@ public class RestConfigurationDefinitionAutoConfiguration {
definition.setEndpointProperties(new HashMap<>(CollectionHelper
.flatternKeysInMap(config.getEndpointProperty(), ".")));
}
+ if (config.getCorsHeaders() != null) {
+ Map<String, Object> map = CollectionHelper.flatternKeysInMap(
+ config.getCorsHeaders(), ".");
+ Map<String, String> target = new HashMap<>();
+ map.forEach((k, v) -> target.put(k, v.toString()));
+ definition.setCorsHeaders(target);
+ }
return definition;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/42903358/platforms/spring-boot/components-starter/camel-core-starter/src/test/java/org/apache/camel/model/rest/springboot/CamelRestTest.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-core-starter/src/test/java/org/apache/camel/model/rest/springboot/CamelRestTest.java b/platforms/spring-boot/components-starter/camel-core-starter/src/test/java/org/apache/camel/model/rest/springboot/CamelRestTest.java
index 70f23e3..374240c 100644
--- a/platforms/spring-boot/components-starter/camel-core-starter/src/test/java/org/apache/camel/model/rest/springboot/CamelRestTest.java
+++ b/platforms/spring-boot/components-starter/camel-core-starter/src/test/java/org/apache/camel/model/rest/springboot/CamelRestTest.java
@@ -58,7 +58,9 @@ import org.springframework.test.context.junit4.SpringRunner;
"camel.rest.data-format-property.prettyPrint=true",
"camel.rest.api-property.api.title=My cool API",
"camel.rest.api-property.api.version=1.0.0",
- "camel.rest.api-property.cors=true"
+ "camel.rest.api-property.cors=true",
+ "camel.rest.cors-headers.foo=123",
+ "camel.rest.cors-headers.bar=456"
}
)
public class CamelRestTest {
@@ -77,6 +79,8 @@ public class CamelRestTest {
Assert.assertEquals("My cool API", context.getRestConfiguration().getApiProperties().get("api.title"));
Assert.assertEquals("1.0.0", context.getRestConfiguration().getApiProperties().get("api.version"));
Assert.assertEquals("true", context.getRestConfiguration().getApiProperties().get("cors"));
+ Assert.assertEquals("123", context.getRestConfiguration().getCorsHeaders().get("foo"));
+ Assert.assertEquals("456", context.getRestConfiguration().getCorsHeaders().get("bar"));
}
// ***********************************
http://git-wip-us.apache.org/repos/asf/camel/blob/42903358/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index c8b9a18..cf01ab9 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -520,15 +520,18 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
+ "if (config.getConsumerProperty() != null) {\n"
+ " definition.setConsumerProperties(new HashMap<>(CollectionHelper.flatternKeysInMap(config.getConsumerProperty(), \".\")));\n"
+ "}\n"
-// + "if (config.getCorsHeaders() != null) {\n"
-// + " definition.setCorsHeaders(new HashMap<>(config.getCorsHeaders()));\n"
-// + "}\n"
+ "if (config.getDataFormatProperty() != null) {\n"
+ " definition.setDataFormatProperties(new HashMap<>(CollectionHelper.flatternKeysInMap(config.getDataFormatProperty(), \".\")));\n"
+ "}\n"
+ "if (config.getEndpointProperty() != null) {\n"
+ " definition.setEndpointProperties(new HashMap<>(CollectionHelper.flatternKeysInMap(config.getEndpointProperty(), \".\")));\n"
+ "}\n"
+ + "if (config.getCorsHeaders() != null) {\n"
+ + " Map<String, Object> map = CollectionHelper.flatternKeysInMap(config.getCorsHeaders(), \".\");\n"
+ + " Map<String, String> target = new HashMap<>();\n"
+ + " map.forEach((k, v) -> target.put(k, v.toString()));\n"
+ + " definition.setCorsHeaders(target);\n"
+ + "}\n"
+ "return definition;"
);