This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch properties
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c1067b705a26960362ede672fb3d06a633fae533
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jul 3 20:45:22 2019 +0200

    CAMEL-13708: Properties component should have API to make it easier to 
lookup a property on-demand or from all pre-loaded properties.
---
 .../properties/DefaultPropertiesParser.java        |  2 +-
 .../component/properties/PropertiesComponent.java  | 16 +++++++
 .../src/main/docs/eips/setHeader-eip.adoc          |  2 +-
 .../OptionalPropertiesDslInvalidSyntaxTest.java    |  4 +-
 .../properties/OptionalPropertiesDslTest.java      |  4 +-
 ...onentAdviceWithInterceptSendToEndpointTest.java |  4 +-
 ...opertiesComponentConcatenatePropertiesTest.java |  4 +-
 .../PropertiesComponentEncodingTest.java           |  3 +-
 ... PropertiesComponentEndpointMandatoryTest.java} | 50 +---------------------
 .../PropertiesComponentEndpointTest.java           | 21 ---------
 .../PropertiesComponentGetOrElseTest.java          |  4 +-
 ...ertiesComponentInterceptSendToEndpointTest.java |  4 +-
 .../PropertiesComponentLoadPropertiesTest.java     |  4 +-
 .../PropertiesComponentNestPropertiesTest.java     |  4 +-
 .../properties/PropertiesComponentTest.java        |  4 +-
 .../properties/PropertiesRouteFromTest.java        |  4 +-
 .../properties/PropertiesRouteIdTest.java          |  4 +-
 17 files changed, 54 insertions(+), 84 deletions(-)

diff --git 
a/components/camel-properties/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java
 
b/components/camel-properties/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java
index 01aba6b..66b5392 100644
--- 
a/components/camel-properties/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java
+++ 
b/components/camel-properties/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java
@@ -238,7 +238,7 @@ public class DefaultPropertiesParser implements 
PropertiesParser {
 
             if (value == null) {
                 StringBuilder esb = new StringBuilder();
-                if (propertiesComponent == null || 
propertiesComponent.getCamelContext().getGlobalOption(PropertiesComponent.DEFAULT_CREATED)
 == null) {
+                if (propertiesComponent == null || 
"true".equals(propertiesComponent.getCamelContext().getGlobalOption(PropertiesComponent.DEFAULT_CREATED)))
 {
                     // if the component was auto created then include more 
information that the end user should define it
                     esb.append("PropertiesComponent with name properties must 
be defined in CamelContext to support property placeholders. ");
                 }
diff --git 
a/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
 
b/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
index b629d88..95ed85f 100644
--- 
a/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
+++ 
b/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
@@ -145,6 +145,22 @@ public class PropertiesComponent extends DefaultComponent 
implements org.apache.
         addFunction(new ServicePortPropertiesFunction());
     }
 
+    /**
+     * A list of locations to load properties. You can use comma to separate 
multiple locations.
+     */
+    public PropertiesComponent(String location) {
+        this();
+        setLocation(location);
+    }
+
+    /**
+     * A list of locations to load properties.
+     */
+    public PropertiesComponent(String... locations) {
+        this();
+        setLocations(locations);
+    }
+
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         String endpointUri = parseUri(remaining);
diff --git a/core/camel-core/src/main/docs/eips/setHeader-eip.adoc 
b/core/camel-core/src/main/docs/eips/setHeader-eip.adoc
index f8d3d85..20a00c1 100644
--- a/core/camel-core/src/main/docs/eips/setHeader-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/setHeader-eip.adoc
@@ -11,7 +11,7 @@ The Set Header EIP supports 1 options which are listed below:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *headerName* | *Required* Name of message header to set a new value The 
simple language can be used to define a dynamic evaluated header name to be 
used. Otherwise a constant name will be used. |  | String
+| *name* | *Required* Name of message header to set a new value The simple 
language can be used to define a dynamic evaluated header name to be used. 
Otherwise a constant name will be used. |  | String
 |===
 // eip options: END
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
index 127c323..e22b671 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslInvalidSyntaxTest.java
@@ -72,7 +72,9 @@ public class OptionalPropertiesDslInvalidSyntaxTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslTest.java
index e371e37..9069b23 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslTest.java
@@ -60,7 +60,9 @@ public class OptionalPropertiesDslTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentAdviceWithInterceptSendToEndpointTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentAdviceWithInterceptSendToEndpointTest.java
index 027f96f..556465a 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentAdviceWithInterceptSendToEndpointTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentAdviceWithInterceptSendToEndpointTest.java
@@ -56,7 +56,9 @@ public class 
PropertiesComponentAdviceWithInterceptSendToEndpointTest extends Co
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentConcatenatePropertiesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentConcatenatePropertiesTest.java
index 821e892..0fb0998 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentConcatenatePropertiesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentConcatenatePropertiesTest.java
@@ -26,7 +26,9 @@ public class PropertiesComponentConcatenatePropertiesTest 
extends ContextTestSup
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/concatenation.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/concatenation.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEncodingTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEncodingTest.java
index 7f998b1..2b84b5b6 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEncodingTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEncodingTest.java
@@ -49,7 +49,8 @@ public class PropertiesComponentEncodingTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        PropertiesComponent prop = new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myutf8.properties");
+        PropertiesComponent prop = new PropertiesComponent();
+        
prop.setLocation("classpath:org/apache/camel/component/properties/myutf8.properties");
         prop.setEncoding("UTF-8");
         context.addComponent("properties", prop);
         return context;
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointMandatoryTest.java
similarity index 56%
copy from 
core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
copy to 
core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointMandatoryTest.java
index 5c29aad..f16e4cd 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointMandatoryTest.java
@@ -16,13 +16,12 @@
  */
 package org.apache.camel.component.properties;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
-public class PropertiesComponentEndpointTest extends ContextTestSupport {
+public class PropertiesComponentEndpointMandatoryTest extends 
ContextTestSupport {
 
     @Override
     public boolean isUseRouteBuilder() {
@@ -30,42 +29,6 @@ public class PropertiesComponentEndpointTest extends 
ContextTestSupport {
     }
 
     @Test
-    public void testPropertiesComponentEndpoint() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start").to("mock:{{cool.result}}");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:result").expectedMessageCount(1);
-
-        template.sendBody("direct:start", "Hello World");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void testPropertiesComponentEndpoints() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("{{cool.start}}")
-                    
.to("log:{{cool.start}}?showBodyType=false&showExchangeId={{cool.showid}}")
-                    .to("mock:{{cool.result}}");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:{{cool.result}}").expectedMessageCount(1);
-
-        template.sendBody("{{cool.start}}", "Hello World");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
     public void testPropertiesComponentMandatory() throws Exception {
         context.removeComponent("properties");
         try {
@@ -86,15 +49,4 @@ public class PropertiesComponentEndpointTest extends 
ContextTestSupport {
         }
     }
 
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext context = super.createCamelContext();
-
-        PropertiesComponent pc = new PropertiesComponent();
-        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
-        context.addComponent("properties", pc);
-
-        return context;
-    }
-
 }
\ No newline at end of file
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
index 5c29aad..b66a00b 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentEndpointTest.java
@@ -65,27 +65,6 @@ public class PropertiesComponentEndpointTest extends 
ContextTestSupport {
         assertMockEndpointsSatisfied();
     }
 
-    @Test
-    public void testPropertiesComponentMandatory() throws Exception {
-        context.removeComponent("properties");
-        try {
-            context.addRoutes(new RouteBuilder() {
-                @Override
-                public void configure() throws Exception {
-                    from("{{cool.start}}")
-                        
.to("log:{{cool.start}}?showBodyType=false&showExchangeId={{cool.showid}}")
-                        .to("mock:{{cool.result}}");
-                }
-            });
-            context.start();
-            fail("Should throw exception");
-        } catch (RuntimeCamelException e) {
-            IllegalArgumentException cause = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
-            String msg = "PropertiesComponent with name properties must be 
defined in CamelContext to support property placeholders.";
-            assertTrue(cause.getMessage().startsWith(msg));
-        }
-    }
-
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentGetOrElseTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentGetOrElseTest.java
index 351a9b0..de2ae64 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentGetOrElseTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentGetOrElseTest.java
@@ -96,7 +96,9 @@ public class PropertiesComponentGetOrElseTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentInterceptSendToEndpointTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentInterceptSendToEndpointTest.java
index 1c2bbf1..f47e42d 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentInterceptSendToEndpointTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentInterceptSendToEndpointTest.java
@@ -48,7 +48,9 @@ public class PropertiesComponentInterceptSendToEndpointTest 
extends ContextTestS
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesTest.java
index eb9f163..06917be 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesTest.java
@@ -46,7 +46,9 @@ public class PropertiesComponentLoadPropertiesTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentNestPropertiesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentNestPropertiesTest.java
index 4cf4660..3c2c948 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentNestPropertiesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentNestPropertiesTest.java
@@ -27,7 +27,9 @@ public class PropertiesComponentNestPropertiesTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/adapter.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/adapter.properties");
+        context.addComponent("properties", pc);
         return context;
     }
     
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentTest.java
index 54d293f..3d50c08 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentTest.java
@@ -491,7 +491,9 @@ public class PropertiesComponentTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteFromTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteFromTest.java
index af9fa88..04a1abf 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteFromTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteFromTest.java
@@ -57,7 +57,9 @@ public class PropertiesRouteFromTest extends 
ContextTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteIdTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteIdTest.java
index 9621250..43f437f 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteIdTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesRouteIdTest.java
@@ -49,7 +49,9 @@ public class PropertiesRouteIdTest extends ContextTestSupport 
{
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.addComponent("properties", new 
PropertiesComponent("classpath:org/apache/camel/component/properties/myproperties.properties"));
+        PropertiesComponent pc = new PropertiesComponent();
+        
pc.setLocation("classpath:org/apache/camel/component/properties/myproperties.properties");
+        context.addComponent("properties", pc);
         return context;
     }
 

Reply via email to