Repository: tomee
Updated Branches:
  refs/heads/fb_tomee8 bf929780a -> 24a0db4c1


finish to integrate bval 2 and finally pass bval tcks :)


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/24a0db4c
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/24a0db4c
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/24a0db4c

Branch: refs/heads/fb_tomee8
Commit: 24a0db4c1dd48e33a2eb0035c12426d2cbb38c9a
Parents: bf92978
Author: Romain Manni-Bucau <rmannibu...@gmail.com>
Authored: Thu Aug 16 09:57:45 2018 +0200
Committer: Romain Manni-Bucau <rmannibu...@gmail.com>
Committed: Thu Aug 16 09:57:45 2018 +0200

----------------------------------------------------------------------
 .../assembler/classic/ValidationInfo.java       |   6 +-
 .../assembler/classic/ValidatorBuilder.java     |  43 +++-
 .../apache/openejb/config/ReadDescriptors.java  |   5 +-
 .../apache/openejb/config/sys/JaxbOpenejb.java  |  51 +++-
 .../openejb/jee/bval/ValidationConfigType.java  | 239 ++++++++++++-------
 tck/bval-embedded/src/test/resources/dev.xml    |   3 +-
 tck/bval-tomee/src/test/resources/dev.xml       |   7 +-
 7 files changed, 242 insertions(+), 112 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java
index f67d1ab..6dfc84a 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java
@@ -30,10 +30,10 @@ public class ValidationInfo extends InfoObject {
     public String parameterNameProviderClass;
     public String version;
     public final Properties propertyTypes = new Properties();
-    public final List<String> constraintMappings = new ArrayList<String>();
+    public final List<String> constraintMappings = new ArrayList<>();
     public boolean executableValidationEnabled;
-    public final List<String> validatedTypes = new ArrayList<String>();
+    public final List<String> validatedTypes = new ArrayList<>();
     public String clockProviderClassName;
-    public Set<String> valueExtractorClassNames;
+    public List<String> valueExtractorClassNames;
 
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
index 4999c05..0b4c40d 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
@@ -52,8 +52,11 @@ import java.io.Serializable;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 public final class ValidatorBuilder {
@@ -78,6 +81,8 @@ public final class ValidatorBuilder {
             info.traversableResolverClass = config.getTraversableResolver();
             info.messageInterpolatorClass = config.getMessageInterpolator();
             info.parameterNameProviderClass = 
config.getParameterNameProvider();
+            info.valueExtractorClassNames = config.getValueExtractor();
+            info.clockProviderClassName = config.getClockProvider();
 
             final ExecutableValidationType executableValidation = 
config.getExecutableValidation();
             if (executableValidation != null) {
@@ -179,8 +184,9 @@ public final class ValidatorBuilder {
 
         final OpenEjbBootstrapConfig bootstrapConfig = new 
OpenEjbBootstrapConfig(
             providerClassName, info.constraintFactoryClass, 
info.messageInterpolatorClass, info.traversableResolverClass,
-            info.parameterNameProviderClass, new 
HashSet<>(info.constraintMappings), info.executableValidationEnabled,
-            types, props, info.clockProviderClassName, 
info.valueExtractorClassNames);
+            info.parameterNameProviderClass, new 
LinkedHashSet<>(info.constraintMappings), info.executableValidationEnabled,
+            types, props, info.clockProviderClassName,
+            info.valueExtractorClassNames == null ? null : new 
LinkedHashSet<>(info.valueExtractorClassNames));
         final OpenEjbConfig config = new OpenEjbConfig(bootstrapConfig, 
target);
 
         target.ignoreXmlConfiguration();
@@ -191,10 +197,10 @@ public final class ValidatorBuilder {
                 @SuppressWarnings("unchecked") final
                 Class<MessageInterpolator> clazz = 
(Class<MessageInterpolator>) classLoader.loadClass(messageInterpolatorClass);
                 target.messageInterpolator(newInstance(config, clazz));
+                logger.info("Using " + messageInterpolatorClass + " as message 
interpolator.");
             } catch (final Exception e) {
                 logger.warning("Unable to set " + messageInterpolatorClass + " 
as message interpolator.", e);
             }
-            logger.info("Using " + messageInterpolatorClass + " as message 
interpolator.");
         }
         final String traversableResolverClass = info.traversableResolverClass;
         if (traversableResolverClass != null) {
@@ -202,10 +208,10 @@ public final class ValidatorBuilder {
                 @SuppressWarnings("unchecked") final
                 Class<TraversableResolver> clazz = 
(Class<TraversableResolver>) classLoader.loadClass(traversableResolverClass);
                 target.traversableResolver(newInstance(config, clazz));
+                logger.info("Using " + traversableResolverClass + " as 
traversable resolver.");
             } catch (final Exception e) {
                 logger.warning("Unable to set " + traversableResolverClass + " 
as traversable resolver.", e);
             }
-            logger.info("Using " + traversableResolverClass + " as traversable 
resolver.");
         }
         final String constraintFactoryClass = info.constraintFactoryClass;
         if (constraintFactoryClass != null) {
@@ -233,10 +239,37 @@ public final class ValidatorBuilder {
             try {
                 final Class<ParameterNameProvider> clazz = 
(Class<ParameterNameProvider>) 
classLoader.loadClass(info.parameterNameProviderClass);
                 target.parameterNameProvider(newInstance(config, clazz));
+                logger.info("Using " + info.parameterNameProviderClass + " as 
parameter name provider.");
             } catch (final Exception e) {
                 logger.warning("Unable to set " + 
info.parameterNameProviderClass + " as parameter name provider.", e);
             }
-            logger.info("Using " + info.parameterNameProviderClass + " as 
parameter name provider.");
+        }
+        if (info.valueExtractorClassNames != null) {
+            try {
+                info.valueExtractorClassNames.stream()
+                     .map(it -> {
+                         try {
+                             return (ValueExtractor<?>) newInstance(config, 
classLoader.loadClass(it));
+                         } catch (final Exception e) {
+                             logger.warning("Unable to load " + it, e);
+                             return null;
+                         }
+                     })
+                     .filter(Objects::nonNull)
+                     .forEach(target::addValueExtractor);
+                logger.info("Using " + info.valueExtractorClassNames + " value 
extractors.");
+            } catch (final Exception e) {
+                logger.warning("Unable to set " + 
info.valueExtractorClassNames + " as parameter name provider.", e);
+            }
+        }
+        if (info.clockProviderClassName != null) {
+            try {
+                final Class<ClockProvider> clazz = (Class<ClockProvider>) 
classLoader.loadClass(info.clockProviderClassName);
+                target.clockProvider(newInstance(config, clazz));
+                logger.info("Using " + info.clockProviderClassName + " as 
clock provider.");
+            } catch (final Exception e) {
+                logger.warning("Unable to set " + info.clockProviderClassName 
+ " as clock provider.", e);
+            }
         }
 
         return config;

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
index e8aad41..814ebf1 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
@@ -309,7 +309,10 @@ public class ReadDescriptors implements DynamicDeployer {
         final Source value = 
getSource(module.getAltDDs().get("validation.xml"));
         if (value != null) {
             try {
-                final ValidationConfigType validationConfigType = 
JaxbOpenejb.unmarshal(ValidationConfigType.class, value.get(), false);
+                final ValidationConfigType validationConfigType = 
JaxbOpenejb.unmarshal(
+                        ValidationConfigType.class, value.get(), false,
+                        "http://xmlns.jcp.org/xml/ns/validation/configuration";,
+                        
"http://jboss.org/xml/ns/javax/validation/configuration";);
                 module.setValidationConfig(validationConfigType);
             } catch (final Exception e) {
                 logger.warning("can't read validation.xml to construct a 
validation factory, it will be ignored");

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/container/openejb-core/src/main/java/org/apache/openejb/config/sys/JaxbOpenejb.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/sys/JaxbOpenejb.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/sys/JaxbOpenejb.java
index 026cbaa..6562b67 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/sys/JaxbOpenejb.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/sys/JaxbOpenejb.java
@@ -17,6 +17,8 @@
 
 package org.apache.openejb.config.sys;
 
+import static java.util.Arrays.asList;
+
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.config.SystemProperty;
 import org.apache.openejb.jee.JAXBContextFactory;
@@ -36,8 +38,6 @@ import javax.xml.bind.JAXBException;
 import javax.xml.bind.MarshalException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
 import javax.xml.bind.ValidationException;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
@@ -54,6 +54,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -310,30 +311,31 @@ public abstract class JaxbOpenejb {
         return jaxbContext;
     }
 
-    public static <T> T unmarshal(final Class<T> type, final InputStream in, 
final boolean filter) throws ParserConfigurationException, SAXException, 
JAXBException {
+    public static <T> T unmarshal(final Class<T> type, final InputStream in, 
final boolean filter,
+                                  final String expectedNamespace, final 
String... aliasNamespaces)
+            throws ParserConfigurationException, SAXException, JAXBException {
         final InputSource inputSource = new InputSource(in);
 
         final SAXParser parser = Saxs.namespaceAwareFactory().newSAXParser();
 
         final JAXBContext ctx = getContext(type);
         final Unmarshaller unmarshaller = ctx.createUnmarshaller();
-        unmarshaller.setEventHandler(new ValidationEventHandler() {
-            public boolean handleEvent(final ValidationEvent validationEvent) {
-                System.out.println(validationEvent);
-                return false;
-            }
-        });
+        unmarshaller.setEventHandler(validationEvent -> false);
 
         final SAXSource source;
         if (filter) {
             final NamespaceFilter xmlFilter = new 
NamespaceFilter(parser.getXMLReader());
             xmlFilter.setContentHandler(unmarshaller.getUnmarshallerHandler());
             source = new SAXSource(xmlFilter, inputSource);
+        } else if (expectedNamespace != null) {
+            final WhitelistFilter xmlFilter = new 
WhitelistFilter(parser.getXMLReader(), expectedNamespace, aliasNamespaces);
+            xmlFilter.setContentHandler(unmarshaller.getUnmarshallerHandler());
+            source = new SAXSource(xmlFilter, inputSource);
         } else {
             source = new SAXSource(inputSource);
         }
 
-        currentPublicId.set(new TreeSet<String>());
+        currentPublicId.set(new TreeSet<>());
         try {
             return unmarshaller.unmarshal(source, type).getValue();
         } finally {
@@ -341,11 +343,40 @@ public abstract class JaxbOpenejb {
         }
     }
 
+    public static <T> T unmarshal(final Class<T> type, final InputStream in, 
final boolean filter) throws ParserConfigurationException, SAXException, 
JAXBException {
+        return unmarshal(type, in, filter, null);
+    }
+
     @SuppressWarnings({"unchecked"})
     public static <T> T unmarshal(final Class<T> type, final InputStream in) 
throws ParserConfigurationException, SAXException, JAXBException {
         return unmarshal(type, in, true);
     }
 
+    public static class WhitelistFilter extends XMLFilterImpl {
+
+        private final Set<String> aliases;
+        private final String forcedNamespace;
+
+        public WhitelistFilter(final XMLReader xmlReader, final String 
forcedNamespace, final String[] aliases) {
+            super(xmlReader);
+            this.forcedNamespace = forcedNamespace;
+            this.aliases = new HashSet<>(asList(aliases));
+        }
+
+        public InputSource resolveEntity(final String publicId, final String 
systemId) throws SAXException, IOException {
+            final Set<String> publicIds = currentPublicId.get();
+            if (publicIds != null) {
+                publicIds.add(publicId);
+            }
+            return super.resolveEntity(publicId, systemId);
+        }
+
+        @Override
+        public void startElement(final String inputUri, final String 
localName, final String qname, final Attributes atts) throws SAXException {
+            super.startElement(aliases.contains(inputUri) ? forcedNamespace : 
inputUri, localName, qname, atts);
+        }
+    }
+
     public static class NamespaceFilter extends XMLFilterImpl {
 
         public NamespaceFilter(final XMLReader xmlReader) {

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java
 
b/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java
index 417db50..8ace720 100644
--- 
a/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java
+++ 
b/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java
@@ -27,42 +27,46 @@ import 
javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 
 /**
- * <p>Java class for validation-configType complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained 
within this class.
- * 
+ * <p>Classe Java pour validation-configType complex type.
+ *
+ * <p>Le fragment de schéma suivant indique le contenu attendu figurant dans 
cette classe.
+ *
  * <pre>
- * &lt;complexType name="validation-configType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType";>
- *       &lt;sequence>
- *         &lt;element name="default-provider" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
- *         &lt;element name="message-interpolator" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
- *         &lt;element name="traversable-resolver" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
- *         &lt;element name="constraint-validator-factory" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
- *         &lt;element name="parameter-name-provider" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/>
- *         &lt;element name="executable-validation" 
type="{http://jboss.org/xml/ns/javax/validation/configuration}executable-validationType";
 minOccurs="0"/>
- *         &lt;element name="constraint-mapping" 
type="{http://www.w3.org/2001/XMLSchema}string"; maxOccurs="unbounded" 
minOccurs="0"/>
- *         &lt;element name="property" 
type="{http://jboss.org/xml/ns/javax/validation/configuration}propertyType"; 
maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *       &lt;attribute name="version" 
type="{http://jboss.org/xml/ns/javax/validation/configuration}versionType"; 
fixed="1.1" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
+ * &lt;complexType name="validation-configType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="default-provider" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="message-interpolator" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="traversable-resolver" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="constraint-validator-factory" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="parameter-name-provider" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="clock-provider" 
type="{http://www.w3.org/2001/XMLSchema}string"; minOccurs="0"/&gt;
+ *         &lt;element name="value-extractor" 
type="{http://www.w3.org/2001/XMLSchema}string"; maxOccurs="unbounded" 
minOccurs="0"/&gt;
+ *         &lt;element name="executable-validation" 
type="{http://xmlns.jcp.org/xml/ns/validation/configuration}executable-validationType";
 minOccurs="0"/&gt;
+ *         &lt;element name="constraint-mapping" 
type="{http://www.w3.org/2001/XMLSchema}string"; maxOccurs="unbounded" 
minOccurs="0"/&gt;
+ *         &lt;element name="property" 
type="{http://xmlns.jcp.org/xml/ns/validation/configuration}propertyType"; 
maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="version" 
type="{http://xmlns.jcp.org/xml/ns/validation/configuration}versionType"; 
fixed="2.0" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "validation-configType", namespace = 
"http://jboss.org/xml/ns/javax/validation/configuration";, propOrder = {
-    "defaultProvider",
-    "messageInterpolator",
-    "traversableResolver",
-    "constraintValidatorFactory",
-    "parameterNameProvider",
-    "executableValidation",
-    "constraintMapping",
-    "property"
+@XmlType(name = "validation-configType", namespace = 
"http://xmlns.jcp.org/xml/ns/validation/configuration";, propOrder = {
+        "defaultProvider",
+        "messageInterpolator",
+        "traversableResolver",
+        "constraintValidatorFactory",
+        "parameterNameProvider",
+        "clockProvider",
+        "valueExtractor",
+        "executableValidation",
+        "constraintMapping",
+        "property"
 })
 public class ValidationConfigType {
 
@@ -81,6 +85,12 @@ public class ValidationConfigType {
     @XmlElement(name = "parameter-name-provider")
     
@XmlJavaTypeAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class)
     protected String parameterNameProvider;
+    @XmlElement(name = "clock-provider")
+    
@XmlJavaTypeAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class)
+    protected String clockProvider;
+    @XmlElement(name = "value-extractor")
+    
@XmlJavaTypeAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class)
+    protected List<String> valueExtractor;
     @XmlElement(name = "executable-validation")
     protected ExecutableValidationType executableValidation;
     @XmlElement(name = "constraint-mapping")
@@ -91,147 +101,198 @@ public class ValidationConfigType {
     
@XmlJavaTypeAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class)
     protected String version;
 
-    //X TODO add new fields from beanvalidation 2.0: clockProviderClassName 
and valueExtractorClassNames
-
     /**
-     * Gets the value of the defaultProvider property.
-     * 
+     * Obtient la valeur de la propriété defaultProvider.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getDefaultProvider() {
         return defaultProvider;
     }
 
     /**
-     * Sets the value of the defaultProvider property.
-     * 
+     * Définit la valeur de la propriété defaultProvider.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setDefaultProvider(String value) {
         this.defaultProvider = value;
     }
 
     /**
-     * Gets the value of the messageInterpolator property.
-     * 
+     * Obtient la valeur de la propriété messageInterpolator.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getMessageInterpolator() {
         return messageInterpolator;
     }
 
     /**
-     * Sets the value of the messageInterpolator property.
-     * 
+     * Définit la valeur de la propriété messageInterpolator.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setMessageInterpolator(String value) {
         this.messageInterpolator = value;
     }
 
     /**
-     * Gets the value of the traversableResolver property.
-     * 
+     * Obtient la valeur de la propriété traversableResolver.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getTraversableResolver() {
         return traversableResolver;
     }
 
     /**
-     * Sets the value of the traversableResolver property.
-     * 
+     * Définit la valeur de la propriété traversableResolver.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setTraversableResolver(String value) {
         this.traversableResolver = value;
     }
 
     /**
-     * Gets the value of the constraintValidatorFactory property.
-     * 
+     * Obtient la valeur de la propriété constraintValidatorFactory.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getConstraintValidatorFactory() {
         return constraintValidatorFactory;
     }
 
     /**
-     * Sets the value of the constraintValidatorFactory property.
-     * 
+     * Définit la valeur de la propriété constraintValidatorFactory.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setConstraintValidatorFactory(String value) {
         this.constraintValidatorFactory = value;
     }
 
     /**
-     * Gets the value of the parameterNameProvider property.
-     * 
+     * Obtient la valeur de la propriété parameterNameProvider.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getParameterNameProvider() {
         return parameterNameProvider;
     }
 
     /**
-     * Sets the value of the parameterNameProvider property.
-     * 
+     * Définit la valeur de la propriété parameterNameProvider.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setParameterNameProvider(String value) {
         this.parameterNameProvider = value;
     }
 
     /**
-     * Gets the value of the executableValidation property.
-     * 
+     * Obtient la valeur de la propriété clockProvider.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getClockProvider() {
+        return clockProvider;
+    }
+
+    /**
+     * Définit la valeur de la propriété clockProvider.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setClockProvider(String value) {
+        this.clockProvider = value;
+    }
+
+    /**
+     * Gets the value of the valueExtractor property.
+     *
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the 
valueExtractor property.
+     *
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getValueExtractor().add(newItem);
+     * </pre>
+     *
+     *
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     *
+     *
+     */
+    public List<String> getValueExtractor() {
+        if (valueExtractor == null) {
+            valueExtractor = new ArrayList<String>();
+        }
+        return this.valueExtractor;
+    }
+
+    /**
+     * Obtient la valeur de la propriété executableValidation.
+     *
      * @return
      *     possible object is
      *     {@link ExecutableValidationType }
-     *     
+     *
      */
     public ExecutableValidationType getExecutableValidation() {
         return executableValidation;
     }
 
     /**
-     * Sets the value of the executableValidation property.
-     * 
+     * Définit la valeur de la propriété executableValidation.
+     *
      * @param value
      *     allowed object is
      *     {@link ExecutableValidationType }
-     *     
+     *
      */
     public void setExecutableValidation(ExecutableValidationType value) {
         this.executableValidation = value;
@@ -239,25 +300,25 @@ public class ValidationConfigType {
 
     /**
      * Gets the value of the constraintMapping property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the 
constraintMapping property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getConstraintMapping().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link String }
-     * 
-     * 
+     *
+     *
      */
     public List<String> getConstraintMapping() {
         if (constraintMapping == null) {
@@ -268,25 +329,25 @@ public class ValidationConfigType {
 
     /**
      * Gets the value of the property property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the property 
property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getProperty().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link PropertyType }
-     * 
-     * 
+     *
+     *
      */
     public List<PropertyType> getProperty() {
         if (property == null) {
@@ -296,28 +357,28 @@ public class ValidationConfigType {
     }
 
     /**
-     * Gets the value of the version property.
-     * 
+     * Obtient la valeur de la propriété version.
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getVersion() {
         if (version == null) {
-            return "1.1";
+            return "2.0";
         } else {
             return version;
         }
     }
 
     /**
-     * Sets the value of the version property.
-     * 
+     * Définit la valeur de la propriété version.
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setVersion(String value) {
         this.version = value;

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/tck/bval-embedded/src/test/resources/dev.xml
----------------------------------------------------------------------
diff --git a/tck/bval-embedded/src/test/resources/dev.xml 
b/tck/bval-embedded/src/test/resources/dev.xml
index 5c3e646..b2ec173 100644
--- a/tck/bval-embedded/src/test/resources/dev.xml
+++ b/tck/bval-embedded/src/test/resources/dev.xml
@@ -19,8 +19,7 @@
 <suite name="BVAL-TCK" verbose="1">
     <test name="BVAL-TCK">
       <classes>
-        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.ee.cdi.ConstraintValidatorInjectionTest"
 />
-        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.cdi.factory.ConstraintValidatorInjectionTest"
 />
+        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.ee.JndiRetrievalTest" 
/>
       </classes>
     </test>
 </suite>

http://git-wip-us.apache.org/repos/asf/tomee/blob/24a0db4c/tck/bval-tomee/src/test/resources/dev.xml
----------------------------------------------------------------------
diff --git a/tck/bval-tomee/src/test/resources/dev.xml 
b/tck/bval-tomee/src/test/resources/dev.xml
index 694abaf..7cdc1e8 100644
--- a/tck/bval-tomee/src/test/resources/dev.xml
+++ b/tck/bval-tomee/src/test/resources/dev.xml
@@ -19,8 +19,11 @@
 <suite name="BVal-TCK" verbose="1">
     <test name="BVal-TCK">
       <classes>
-        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.ee.cdi.ConstraintValidatorInjectionTest"
 />
-        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.cdi.factory.ConstraintValidatorInjectionTest"
 />
+        <class 
name="org.hibernate.beanvalidation.tck.tests.valueextraction.declaration.ValueExtractorsPrecedenceTest"
 />
+        <!--
+        <class 
name="org.hibernate.beanvalidation.tck.tests.integration.cdi.managedobjects.ManagedValueExtractorsTest"
 />
+        <class 
name="org.hibernate.beanvalidation.tck.tests.valueextraction.declaration.MultipleValueExtractorsInValidationXmlForSameTypeAndTypeArgumentTest"
 />
+        -->
       </classes>
     </test>
 </suite>

Reply via email to