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

Reply via email to