You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2020/11/13 13:52:16 UTC
[camel] 02/06: CAMEL-15836: Add autowired metadata to
camel-bean-validator validatorFactory option
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9414ce25b58002b14ffc718a8c0b25a7a5a72e0c
Author: James Netherton <ja...@gmail.com>
AuthorDate: Fri Nov 13 10:30:10 2020 +0000
CAMEL-15836: Add autowired metadata to camel-bean-validator validatorFactory option
---
.../camel/catalog/components/bean-validator.json | 2 +-
.../catalog/docs/bean-validator-component.adoc | 2 +-
.../BeanValidatorComponentConfigurer.java | 5 +++
.../component/bean/validator/bean-validator.json | 2 +-
.../src/main/docs/bean-validator-component.adoc | 2 +-
.../bean/validator/BeanValidatorComponent.java | 2 +-
...Test.java => ValidatorFactoryAutowireTest.java} | 23 ++------------
...Test.java => ValidatorFactoryRegistryTest.java} | 30 ++++++------------
.../bean/validator/ValidatorFactoryTest.java | 36 ----------------------
.../ROOT/pages/bean-validator-component.adoc | 2 +-
10 files changed, 23 insertions(+), 83 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean-validator.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean-validator.json
index 73a57b5..b5433b0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean-validator.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/bean-validator.json
@@ -29,7 +29,7 @@
"messageInterpolator": { "kind": "property", "displayName": "Message Interpolator", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.MessageInterpolator", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom MessageInterpolator" },
"traversableResolver": { "kind": "property", "displayName": "Traversable Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.TraversableResolver", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom TraversableResolver" },
"validationProviderResolver": { "kind": "property", "displayName": "Validation Provider Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidationProviderResolver", "deprecated": false, "autowired": false, "secret": false, "description": "To use a a custom ValidationProviderResolver" },
- "validatorFactory": { "kind": "property", "displayName": "Validator Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidatorFactory", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom ValidatorFactory" }
+ "validatorFactory": { "kind": "property", "displayName": "Validator Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidatorFactory", "deprecated": false, "autowired": true, "secret": false, "description": "To use a custom ValidatorFactory" }
},
"properties": {
"label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Where label is an arbitrary text value describing the endpoint" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-validator-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-validator-component.adoc
index 0a9f803..fb708d5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-validator-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/bean-validator-component.adoc
@@ -68,7 +68,7 @@ The Bean Validator component supports 8 options, which are listed below.
| *messageInterpolator* (advanced) | To use a custom MessageInterpolator | | MessageInterpolator
| *traversableResolver* (advanced) | To use a custom TraversableResolver | | TraversableResolver
| *validationProviderResolver* (advanced) | To use a a custom ValidationProviderResolver | | ValidationProviderResolver
-| *validatorFactory* (advanced) | To use a custom ValidatorFactory | | ValidatorFactory
+| *validatorFactory* (advanced) | *Autowired* To use a custom ValidatorFactory | | ValidatorFactory
|===
// component options: END
diff --git a/components/camel-bean-validator/src/generated/java/org/apache/camel/component/bean/validator/BeanValidatorComponentConfigurer.java b/components/camel-bean-validator/src/generated/java/org/apache/camel/component/bean/validator/BeanValidatorComponentConfigurer.java
index 835d161..b794d83 100644
--- a/components/camel-bean-validator/src/generated/java/org/apache/camel/component/bean/validator/BeanValidatorComponentConfigurer.java
+++ b/components/camel-bean-validator/src/generated/java/org/apache/camel/component/bean/validator/BeanValidatorComponentConfigurer.java
@@ -42,6 +42,11 @@ public class BeanValidatorComponentConfigurer extends PropertyConfigurerSupport
}
@Override
+ public String[] getAutowiredNames() {
+ return new String[]{"validatorFactory"};
+ }
+
+ @Override
public Class<?> getOptionType(String name, boolean ignoreCase) {
switch (ignoreCase ? name.toLowerCase() : name) {
case "autowiredenabled":
diff --git a/components/camel-bean-validator/src/generated/resources/org/apache/camel/component/bean/validator/bean-validator.json b/components/camel-bean-validator/src/generated/resources/org/apache/camel/component/bean/validator/bean-validator.json
index 73a57b5..b5433b0 100644
--- a/components/camel-bean-validator/src/generated/resources/org/apache/camel/component/bean/validator/bean-validator.json
+++ b/components/camel-bean-validator/src/generated/resources/org/apache/camel/component/bean/validator/bean-validator.json
@@ -29,7 +29,7 @@
"messageInterpolator": { "kind": "property", "displayName": "Message Interpolator", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.MessageInterpolator", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom MessageInterpolator" },
"traversableResolver": { "kind": "property", "displayName": "Traversable Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.TraversableResolver", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom TraversableResolver" },
"validationProviderResolver": { "kind": "property", "displayName": "Validation Provider Resolver", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidationProviderResolver", "deprecated": false, "autowired": false, "secret": false, "description": "To use a a custom ValidationProviderResolver" },
- "validatorFactory": { "kind": "property", "displayName": "Validator Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidatorFactory", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom ValidatorFactory" }
+ "validatorFactory": { "kind": "property", "displayName": "Validator Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.validation.ValidatorFactory", "deprecated": false, "autowired": true, "secret": false, "description": "To use a custom ValidatorFactory" }
},
"properties": {
"label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Where label is an arbitrary text value describing the endpoint" },
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index 0a9f803..fb708d5 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -68,7 +68,7 @@ The Bean Validator component supports 8 options, which are listed below.
| *messageInterpolator* (advanced) | To use a custom MessageInterpolator | | MessageInterpolator
| *traversableResolver* (advanced) | To use a custom TraversableResolver | | TraversableResolver
| *validationProviderResolver* (advanced) | To use a a custom ValidationProviderResolver | | ValidationProviderResolver
-| *validatorFactory* (advanced) | To use a custom ValidatorFactory | | ValidatorFactory
+| *validatorFactory* (advanced) | *Autowired* To use a custom ValidatorFactory | | ValidatorFactory
|===
// component options: END
diff --git a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
index 3e18c73..5e37cbf 100644
--- a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
+++ b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
@@ -46,7 +46,7 @@ public class BeanValidatorComponent extends DefaultComponent {
private TraversableResolver traversableResolver;
@Metadata(label = "advanced")
private ConstraintValidatorFactory constraintValidatorFactory;
- @Metadata(label = "advanced")
+ @Metadata(label = "advanced", autowired = true)
private ValidatorFactory validatorFactory;
public BeanValidatorComponent() {
diff --git a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryAutowireTest.java
similarity index 67%
copy from components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
copy to components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryAutowireTest.java
index c041c49..de09a08 100644
--- a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
+++ b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryAutowireTest.java
@@ -26,13 +26,10 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.condition.OS.AIX;
-public class ValidatorFactoryTest extends CamelTestSupport {
+public class ValidatorFactoryAutowireTest extends CamelTestSupport {
@BindToRegistry("myValidatorFactory")
private ValidatorFactory validatorFactory;
@@ -50,26 +47,12 @@ public class ValidatorFactoryTest extends CamelTestSupport {
@DisabledOnOs(AIX)
@Test
- void configureValidatorFactoryFromRegistry() throws Exception {
-
+ void configureValidatorFactoryAutowired() throws Exception {
BeanValidatorEndpoint endpoint
- = context.getEndpoint("bean-validator:dummy?validatorFactory=#myValidatorFactory", BeanValidatorEndpoint.class);
+ = context.getEndpoint("bean-validator:dummy", BeanValidatorEndpoint.class);
BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
assertSame(this.validatorFactory, endpoint.getValidatorFactory());
assertSame(this.validatorFactory, producer.getValidatorFactory());
}
-
- @DisabledOnOs(AIX)
- @Test
- void configureValidatorFactory() throws Exception {
-
- BeanValidatorEndpoint endpoint = context.getEndpoint("bean-validator:dummy", BeanValidatorEndpoint.class);
- BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
-
- assertNull(endpoint.getValidatorFactory());
- assertNotSame(this.validatorFactory, endpoint.getValidatorFactory());
- assertNotNull(producer.getValidatorFactory());
- assertNotSame(this.validatorFactory, producer.getValidatorFactory());
- }
}
diff --git a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryRegistryTest.java
similarity index 66%
copy from components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
copy to components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryRegistryTest.java
index c041c49..965de43 100644
--- a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
+++ b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryRegistryTest.java
@@ -26,17 +26,17 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.condition.OS.AIX;
-public class ValidatorFactoryTest extends CamelTestSupport {
+public class ValidatorFactoryRegistryTest extends CamelTestSupport {
@BindToRegistry("myValidatorFactory")
private ValidatorFactory validatorFactory;
+ @BindToRegistry("otherValidatorFactory")
+ private ValidatorFactory otherValidatorFactory;
+
@Override
@BeforeEach
public void setUp() throws Exception {
@@ -44,6 +44,7 @@ public class ValidatorFactoryTest extends CamelTestSupport {
bootstrap.providerResolver(new HibernateValidationProviderResolver());
this.validatorFactory = bootstrap.configure().buildValidatorFactory();
+ this.otherValidatorFactory = bootstrap.configure().buildValidatorFactory();
super.setUp();
}
@@ -51,25 +52,12 @@ public class ValidatorFactoryTest extends CamelTestSupport {
@DisabledOnOs(AIX)
@Test
void configureValidatorFactoryFromRegistry() throws Exception {
-
BeanValidatorEndpoint endpoint
- = context.getEndpoint("bean-validator:dummy?validatorFactory=#myValidatorFactory", BeanValidatorEndpoint.class);
- BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
-
- assertSame(this.validatorFactory, endpoint.getValidatorFactory());
- assertSame(this.validatorFactory, producer.getValidatorFactory());
- }
-
- @DisabledOnOs(AIX)
- @Test
- void configureValidatorFactory() throws Exception {
-
- BeanValidatorEndpoint endpoint = context.getEndpoint("bean-validator:dummy", BeanValidatorEndpoint.class);
+ = context.getEndpoint("bean-validator:dummy?validatorFactory=#otherValidatorFactory",
+ BeanValidatorEndpoint.class);
BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
- assertNull(endpoint.getValidatorFactory());
- assertNotSame(this.validatorFactory, endpoint.getValidatorFactory());
- assertNotNull(producer.getValidatorFactory());
- assertNotSame(this.validatorFactory, producer.getValidatorFactory());
+ assertSame(this.otherValidatorFactory, endpoint.getValidatorFactory());
+ assertSame(this.otherValidatorFactory, producer.getValidatorFactory());
}
}
diff --git a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
index c041c49..4477de3 100644
--- a/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
+++ b/components/camel-bean-validator/src/test/java/org/apache/camel/component/bean/validator/ValidatorFactoryTest.java
@@ -16,50 +16,16 @@
*/
package org.apache.camel.component.bean.validator;
-import javax.validation.Validation;
-import javax.validation.ValidatorFactory;
-import javax.validation.bootstrap.GenericBootstrap;
-
-import org.apache.camel.BindToRegistry;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.condition.OS.AIX;
public class ValidatorFactoryTest extends CamelTestSupport {
- @BindToRegistry("myValidatorFactory")
- private ValidatorFactory validatorFactory;
-
- @Override
- @BeforeEach
- public void setUp() throws Exception {
- GenericBootstrap bootstrap = Validation.byDefaultProvider();
- bootstrap.providerResolver(new HibernateValidationProviderResolver());
-
- this.validatorFactory = bootstrap.configure().buildValidatorFactory();
-
- super.setUp();
- }
-
- @DisabledOnOs(AIX)
- @Test
- void configureValidatorFactoryFromRegistry() throws Exception {
-
- BeanValidatorEndpoint endpoint
- = context.getEndpoint("bean-validator:dummy?validatorFactory=#myValidatorFactory", BeanValidatorEndpoint.class);
- BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
-
- assertSame(this.validatorFactory, endpoint.getValidatorFactory());
- assertSame(this.validatorFactory, producer.getValidatorFactory());
- }
-
@DisabledOnOs(AIX)
@Test
void configureValidatorFactory() throws Exception {
@@ -68,8 +34,6 @@ public class ValidatorFactoryTest extends CamelTestSupport {
BeanValidatorProducer producer = (BeanValidatorProducer) endpoint.createProducer();
assertNull(endpoint.getValidatorFactory());
- assertNotSame(this.validatorFactory, endpoint.getValidatorFactory());
assertNotNull(producer.getValidatorFactory());
- assertNotSame(this.validatorFactory, producer.getValidatorFactory());
}
}
diff --git a/docs/components/modules/ROOT/pages/bean-validator-component.adoc b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
index 09acc6b..f731aac 100644
--- a/docs/components/modules/ROOT/pages/bean-validator-component.adoc
+++ b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
@@ -70,7 +70,7 @@ The Bean Validator component supports 8 options, which are listed below.
| *messageInterpolator* (advanced) | To use a custom MessageInterpolator | | MessageInterpolator
| *traversableResolver* (advanced) | To use a custom TraversableResolver | | TraversableResolver
| *validationProviderResolver* (advanced) | To use a a custom ValidationProviderResolver | | ValidationProviderResolver
-| *validatorFactory* (advanced) | To use a custom ValidatorFactory | | ValidatorFactory
+| *validatorFactory* (advanced) | *Autowired* To use a custom ValidatorFactory | | ValidatorFactory
|===
// component options: END