Repository: bval Updated Branches: refs/heads/master 1d54c14c9 -> a52a3aa35
simplify MetadataSource initialization with default interface method Project: http://git-wip-us.apache.org/repos/asf/bval/repo Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/a52a3aa3 Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/a52a3aa3 Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/a52a3aa3 Branch: refs/heads/master Commit: a52a3aa355e6c34edc9f12e5d886b2ecc7723963 Parents: 1d54c14 Author: Matt Benson <[email protected]> Authored: Thu Oct 18 10:14:05 2018 -0500 Committer: Matt Benson <[email protected]> Committed: Thu Oct 18 10:14:05 2018 -0500 ---------------------------------------------------------------------- .../java/org/apache/bval/jsr/ApacheValidatorFactory.java | 4 +--- .../java/org/apache/bval/jsr/metadata/MetadataSource.java | 10 +++++++--- .../org/apache/bval/jsr/xml/ValidationMappingParser.java | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bval/blob/a52a3aa3/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java index 89caf63..283d77e 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java @@ -370,9 +370,7 @@ public class ApacheValidatorFactory implements ValidatorFactory, Cloneable { }; participantFactory.loadServices(MetadataSource.class) .forEach(ms -> { - Optional.of(ms).filter(MetadataSource.FactoryDependent.class::isInstance) - .map(MetadataSource.FactoryDependent.class::cast).ifPresent(fd -> fd.setFactory(this)); - + ms.initialize(this); ms.process(configuration, getConstraintsCache()::add, addBuilder); }); } http://git-wip-us.apache.org/repos/asf/bval/blob/a52a3aa3/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataSource.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataSource.java b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataSource.java index 29cc32b..1a2f4f7 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataSource.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/MetadataSource.java @@ -20,15 +20,19 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import javax.validation.ConstraintValidator; -import javax.validation.ValidatorFactory; import javax.validation.spi.ConfigurationState; +import org.apache.bval.jsr.ApacheValidatorFactory; + /** * Service interface for user metadata customizations. */ public interface MetadataSource { - interface FactoryDependent extends MetadataSource { - void setFactory(ValidatorFactory validatorFactory); + /** + * Initialize the {@link MetadataSource}. + * @param validatorFactory + */ + default void initialize(ApacheValidatorFactory validatorFactory) { } /** http://git-wip-us.apache.org/repos/asf/bval/blob/a52a3aa3/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java ---------------------------------------------------------------------- diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java index af80d00..9a03896 100644 --- a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java +++ b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java @@ -51,7 +51,7 @@ import org.xml.sax.InputSource; * Uses JAXB to parse constraints.xml based on the validation-mapping XML schema. */ @Privilizing(@CallTo(Reflection.class)) -public class ValidationMappingParser implements MetadataSource.FactoryDependent { +public class ValidationMappingParser implements MetadataSource { private static final SchemaManager SCHEMA_MANAGER = new SchemaManager.Builder() .add(XmlBuilder.Version.v10.getId(), "http://jboss.org/xml/ns/javax/validation/mapping", "META-INF/validation-mapping-1.0.xsd") @@ -64,8 +64,8 @@ public class ValidationMappingParser implements MetadataSource.FactoryDependent private ApacheValidatorFactory validatorFactory; @Override - public void setFactory(ValidatorFactory validatorFactory) { - this.validatorFactory = Validate.notNull(validatorFactory).unwrap(ApacheValidatorFactory.class); + public void initialize(ApacheValidatorFactory validatorFactory) { + this.validatorFactory = Validate.notNull(validatorFactory); } @Override
