Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x d11b039c5 -> 0e77534ba
  refs/heads/master 7336d59d9 -> 6742fb77f


CAMEL-9479: bean/class component - Should use bean. prefix for bean options


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

Branch: refs/heads/master
Commit: e53d8a7265859f07d1cdc9a4c4ac04eaee8e08ce
Parents: 7336d59
Author: Claus Ibsen <davscl...@apache.org>
Authored: Mon Jan 4 22:10:46 2016 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Mon Jan 4 22:10:46 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/camel/component/bean/BeanComponent.java  | 7 +++++--
 .../java/org/apache/camel/component/bean/BeanEndpoint.java   | 2 +-
 .../org/apache/camel/component/beanclass/ClassComponent.java | 8 +++++++-
 .../org/apache/camel/component/beanclass/ClassEndpoint.java  | 6 +-----
 .../bean/ClassComponentInvalidConfigurationTest.java         | 2 +-
 ...lassComponentWithPropertiesLookupSetFromEndpointTest.java | 2 +-
 .../ClassComponentWithPropertiesSetFromEndpointTest.java     | 2 +-
 7 files changed, 17 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java 
b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
index 6e54402..fb3ecb4 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.util.IntrospectionSupport;
 import org.apache.camel.util.LRUSoftCache;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,8 +49,10 @@ public class BeanComponent extends UriEndpointComponent {
         BeanEndpoint endpoint = new BeanEndpoint(uri, this);
         endpoint.setBeanName(remaining);
         setProperties(endpoint, parameters);
-        // any remaining parameters are parameters for the bean
-        endpoint.setParameters(parameters);
+
+        // the bean.xxx options is for the bean
+        Map<String, Object> options = 
IntrospectionSupport.extractProperties(parameters, "bean.");
+        endpoint.setParameters(options);
         return endpoint;
     }
     

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java 
b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
index 2de7d53..cbad9f4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
@@ -47,7 +47,7 @@ public class BeanEndpoint extends DefaultEndpoint {
             + "true means the message body should be an array of parameters. 
Note: This option is used internally by Camel, and is not intended for end 
users to use.")
     @Deprecated
     private boolean multiParameterArray;
-    @UriParam(label = "advanced", description = "Used for configuring 
additional properties on the bean")
+    @UriParam(prefix = "bean.", label = "advanced", description = "Used for 
configuring additional properties on the bean", multiValue = true)
     private Map<String, Object> parameters;
 
     public BeanEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
 
b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
index 34b36b3..5372c0f 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
@@ -22,6 +22,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.bean.BeanComponent;
 import org.apache.camel.component.bean.BeanHolder;
 import org.apache.camel.component.bean.ConstantBeanHolder;
+import org.apache.camel.util.IntrospectionSupport;
 
 /**
  * The <a href="http://camel.apache.org/class.html";>Class Component</a> is for 
binding JavaBeans to Camel message exchanges based on class name.
@@ -46,8 +47,13 @@ public class ClassComponent extends BeanComponent {
         // create bean
         Object bean = getCamelContext().getInjector().newInstance(clazz);
 
+        // the bean.xxx options is for the bean
+        Map<String, Object> options = 
IntrospectionSupport.extractProperties(parameters, "bean.");
+        endpoint.setParameters(options);
+
         // now set additional properties on it
-        setProperties(bean, parameters);
+        setProperties(bean, options);
+        validateParameters(uri, options, null);
 
         // and register the bean as a holder on the endpoint
         BeanHolder holder = new ConstantBeanHolder(bean, getCamelContext());

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassEndpoint.java
 
b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassEndpoint.java
index aa30a38..23b1807 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassEndpoint.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassEndpoint.java
@@ -23,15 +23,11 @@ import org.apache.camel.spi.UriEndpoint;
 /**
  * The <a href="http://camel.apache.org/class.html";>Class Component</a> is for 
invoking Java Classes (Java beans) from Camel.
  */
-@UriEndpoint(scheme = "class", title = "Class", syntax = "class:beanName", 
label = "core,java", lenientProperties = true)
+@UriEndpoint(scheme = "class", title = "Class", syntax = "class:beanName", 
label = "core,java")
 public class ClassEndpoint extends BeanEndpoint {
 
     public ClassEndpoint(String endpointUri, Component component) {
         super(endpointUri, component);
     }
 
-    @Override
-    public boolean isLenientProperties() {
-        return true;
-    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentInvalidConfigurationTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentInvalidConfigurationTest.java
 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentInvalidConfigurationTest.java
index ae08b89..b3e35c7 100644
--- 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentInvalidConfigurationTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentInvalidConfigurationTest.java
@@ -55,7 +55,7 @@ public class ClassComponentInvalidConfigurationTest extends 
ContextTestSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?foo=bar")
+                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?bean.foo=bar")
                     .to("mock:result");
             }
         });

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
index d713c61..f87c7f4 100644
--- 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesLookupSetFromEndpointTest.java
@@ -46,7 +46,7 @@ public class 
ClassComponentWithPropertiesLookupSetFromEndpointTest extends Conte
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?prefix=#foo")
+                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?bean.prefix=#foo")
                     .to("mock:result");
             }
         };

http://git-wip-us.apache.org/repos/asf/camel/blob/e53d8a72/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesSetFromEndpointTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesSetFromEndpointTest.java
 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesSetFromEndpointTest.java
index a042f24..e3de4dc 100644
--- 
a/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesSetFromEndpointTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/component/bean/ClassComponentWithPropertiesSetFromEndpointTest.java
@@ -38,7 +38,7 @@ public class ClassComponentWithPropertiesSetFromEndpointTest 
extends ContextTest
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?prefix=Bye")
+                    
.to("class:org.apache.camel.component.bean.MyPrefixBean?bean.prefix=Bye")
                     .to("mock:result");
             }
         };

Reply via email to