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 2016/01/05 09:32:55 UTC
[1/5] camel git commit: CAMEL-9479: bean/class component - Should use
bean. prefix for bean options
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 <da...@apache.org>
Authored: Mon Jan 4 22:10:46 2016 +0100
Committer: Claus Ibsen <da...@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");
}
};
[5/5] camel git commit: Camel component docs - Should include
information if an endpoint is lenient properties
Posted by da...@apache.org.
Camel component docs - Should include information if an endpoint is lenient properties
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0e77534b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0e77534b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0e77534b
Branch: refs/heads/camel-2.16.x
Commit: 0e77534ba70a4f4c09c3f6664488003f0df8ea2e
Parents: f1aaabd
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Jan 5 09:31:57 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jan 5 09:32:44 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/camel/component/stub/StubEndpoint.java | 6 +-----
.../java/org/apache/camel/catalog/DefaultCamelCatalog.java | 7 ++++---
.../test/java/org/apache/camel/catalog/CamelCatalogTest.java | 6 +++++-
3 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0e77534b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
index 9a96e9d..cd24eba 100644
--- a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.spi.UriEndpoint;
* query arguments will usually fail. Stub won't though, as it basically ignores all query parameters
* to let you quickly stub out one or more endpoints in your route temporarily.
*/
-@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing", lenientProperties = true)
+@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing")
public class StubEndpoint extends VmEndpoint {
public StubEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
@@ -56,8 +56,4 @@ public class StubEndpoint extends VmEndpoint {
return new StubConsumer(this, processor);
}
- @Override
- public boolean isLenientProperties() {
- return true;
- }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/0e77534b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 83b9c58..5a023c9 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -738,11 +738,12 @@ public class DefaultCamelCatalog implements CamelCatalog {
Map<String, String> properties;
List<Map<String, String>> rows;
boolean lenientProperties;
+ String scheme;
try {
// parse the uri
URI u = normalizeUri(uri);
- String scheme = u.getScheme();
+ scheme = u.getScheme();
String json = componentJSonSchema(scheme);
if (json == null) {
result.addUnknownComponent(scheme);
@@ -785,9 +786,9 @@ public class DefaultCamelCatalog implements CamelCatalog {
if (row == null) {
// unknown option
- // only add as error if the component is not lenient properties
+ // only add as error if the component is not lenient properties, or not stub component
// as if we are lenient then the option is a dynamic extra option which we cannot validate
- if (!lenientProperties) {
+ if (!lenientProperties && !"stub".equals(scheme)) {
result.addUnknown(name);
if (suggestionStrategy != null) {
String[] suggestions = suggestionStrategy.suggestEndpointOptions(getNames(rows), name);
http://git-wip-us.apache.org/repos/asf/camel/blob/0e77534b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index fc804aa..f32597a 100644
--- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -485,9 +485,13 @@ public class CamelCatalogTest {
result = catalog.validateEndpointProperties("file:inbox?delay=5000&scheduler.foo=123&scheduler.bar=456");
assertTrue(result.isSuccess());
- // lenient
+ // stub
result = catalog.validateEndpointProperties("stub:foo?me=123&you=456");
assertTrue(result.isSuccess());
+
+ // lenient
+ result = catalog.validateEndpointProperties("dataformat:string:marshal?foo=bar");
+ assertTrue(result.isSuccess());
}
@Test
[2/5] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e1782180
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e1782180
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e1782180
Branch: refs/heads/master
Commit: e1782180b410785c956e8ac296ae08f26c2ee420
Parents: e53d8a7
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Jan 4 22:11:23 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Jan 4 22:11:23 2016 +0100
----------------------------------------------------------------------
.../mock/MockComponentConfigurationAndDocumentationTest.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e1782180/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
index e321ed8..e257dba 100644
--- a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
@@ -40,7 +40,6 @@ public class MockComponentConfigurationAndDocumentationTest extends ContextTestS
ComponentConfiguration compConf = comp.createComponentConfiguration();
String json = compConf.createParameterJsonSchema();
assertNotNull(json);
- System.out.println(json);
assertTrue(json.contains("\"name\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\""));
assertTrue(json.contains("\"expectedCount\": { \"kind\": \"parameter\", \"group\": \"producer\", \"label\": \"producer\""));
[4/5] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f1aaabd0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f1aaabd0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f1aaabd0
Branch: refs/heads/camel-2.16.x
Commit: f1aaabd0084d045d20c2e4413aecd11ef16e659c
Parents: d11b039
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Jan 4 22:11:23 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jan 5 09:32:36 2016 +0100
----------------------------------------------------------------------
.../mock/MockComponentConfigurationAndDocumentationTest.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/f1aaabd0/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
index e321ed8..e257dba 100644
--- a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
@@ -40,7 +40,6 @@ public class MockComponentConfigurationAndDocumentationTest extends ContextTestS
ComponentConfiguration compConf = comp.createComponentConfiguration();
String json = compConf.createParameterJsonSchema();
assertNotNull(json);
- System.out.println(json);
assertTrue(json.contains("\"name\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\""));
assertTrue(json.contains("\"expectedCount\": { \"kind\": \"parameter\", \"group\": \"producer\", \"label\": \"producer\""));
[3/5] camel git commit: Camel component docs - Should include
information if an endpoint is lenient properties
Posted by da...@apache.org.
Camel component docs - Should include information if an endpoint is lenient properties
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6742fb77
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6742fb77
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6742fb77
Branch: refs/heads/master
Commit: 6742fb77f3e91811dad3bd6893692e2079ef15a8
Parents: e178218
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Jan 5 09:31:57 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jan 5 09:31:57 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/camel/component/stub/StubEndpoint.java | 6 +-----
.../java/org/apache/camel/catalog/DefaultCamelCatalog.java | 7 ++++---
.../test/java/org/apache/camel/catalog/CamelCatalogTest.java | 6 +++++-
3 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/6742fb77/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
index 9a96e9d..cd24eba 100644
--- a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.spi.UriEndpoint;
* query arguments will usually fail. Stub won't though, as it basically ignores all query parameters
* to let you quickly stub out one or more endpoints in your route temporarily.
*/
-@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing", lenientProperties = true)
+@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing")
public class StubEndpoint extends VmEndpoint {
public StubEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
@@ -56,8 +56,4 @@ public class StubEndpoint extends VmEndpoint {
return new StubConsumer(this, processor);
}
- @Override
- public boolean isLenientProperties() {
- return true;
- }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/6742fb77/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 83b9c58..5a023c9 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -738,11 +738,12 @@ public class DefaultCamelCatalog implements CamelCatalog {
Map<String, String> properties;
List<Map<String, String>> rows;
boolean lenientProperties;
+ String scheme;
try {
// parse the uri
URI u = normalizeUri(uri);
- String scheme = u.getScheme();
+ scheme = u.getScheme();
String json = componentJSonSchema(scheme);
if (json == null) {
result.addUnknownComponent(scheme);
@@ -785,9 +786,9 @@ public class DefaultCamelCatalog implements CamelCatalog {
if (row == null) {
// unknown option
- // only add as error if the component is not lenient properties
+ // only add as error if the component is not lenient properties, or not stub component
// as if we are lenient then the option is a dynamic extra option which we cannot validate
- if (!lenientProperties) {
+ if (!lenientProperties && !"stub".equals(scheme)) {
result.addUnknown(name);
if (suggestionStrategy != null) {
String[] suggestions = suggestionStrategy.suggestEndpointOptions(getNames(rows), name);
http://git-wip-us.apache.org/repos/asf/camel/blob/6742fb77/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index fc804aa..f32597a 100644
--- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -485,9 +485,13 @@ public class CamelCatalogTest {
result = catalog.validateEndpointProperties("file:inbox?delay=5000&scheduler.foo=123&scheduler.bar=456");
assertTrue(result.isSuccess());
- // lenient
+ // stub
result = catalog.validateEndpointProperties("stub:foo?me=123&you=456");
assertTrue(result.isSuccess());
+
+ // lenient
+ result = catalog.validateEndpointProperties("dataformat:string:marshal?foo=bar");
+ assertTrue(result.isSuccess());
}
@Test