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> - * <complexType name="validation-configType"> - * <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> - * <element name="default-provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="message-interpolator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="traversable-resolver" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="constraint-validator-factory" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="parameter-name-provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="executable-validation" type="{http://jboss.org/xml/ns/javax/validation/configuration}executable-validationType" minOccurs="0"/> - * <element name="constraint-mapping" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> - * <element name="property" type="{http://jboss.org/xml/ns/javax/validation/configuration}propertyType" maxOccurs="unbounded" minOccurs="0"/> - * </sequence> - * <attribute name="version" type="{http://jboss.org/xml/ns/javax/validation/configuration}versionType" fixed="1.1" /> - * </restriction> - * </complexContent> - * </complexType> + * <complexType name="validation-configType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="default-provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="message-interpolator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="traversable-resolver" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="constraint-validator-factory" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="parameter-name-provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="clock-provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="value-extractor" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> + * <element name="executable-validation" type="{http://xmlns.jcp.org/xml/ns/validation/configuration}executable-validationType" minOccurs="0"/> + * <element name="constraint-mapping" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> + * <element name="property" type="{http://xmlns.jcp.org/xml/ns/validation/configuration}propertyType" maxOccurs="unbounded" minOccurs="0"/> + * </sequence> + * <attribute name="version" type="{http://xmlns.jcp.org/xml/ns/validation/configuration}versionType" fixed="2.0" /> + * </restriction> + * </complexContent> + * </complexType> * </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>