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 <[email protected]> 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
