Non utilizzare Apache come provider predefinito nel descrittore di distribuzione

Questa regola contrassegna qualsiasi riferimento al package org.apache.bval.jsr* (bval 1.1) e org.apache.bval.jsr303* (bval 1.0) nei descrittori di distribuzione di validation.xml. Bean Validation 2.0 utilizza l'implementazione di Hibernate Validator invece di quella Apache BVal precedentemente utilizzata per Bean Validation 1.0 e 1.1. Lo scanner origine fornisce una correzione rapida che sovrascrive la configurazione in modo da utilizzare le classi Validator Hibernate.

Ad esempio, dati i seguenti elementi nel file validation.xml:

<default-provider>org.apache.bval.jsr.ApacheValidationProvider</default-provider>
<message-interpolator>org.apache.bval.jsr.DefaultMessageInterpolator</message-interpolator>
<traversable-resolver>org.apache.bval.jsr.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.apache.bval.jsr.DefaultConstraintValidatorFactory</constraint-validator-factory>
<parameter-name-provider>org.apache.bval.jsr.parameter.DefaultParameterNameProvider</parameter-name-provider>

La correzione rapida sovrascrive i valori utilizzando i valori di Hibernate Validator:

<default-provider>org.hibernate.validator.HibernateValidator</default-provider>
<message-interpolator>org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator</message-interpolator>
<traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>

La classe del package parameter-name-provider รจ quella predefinita di org.hibernate.validator.internal.engine.DefaultParameterNameProvider. La correzione rapida elimina l'impostazione in modo che venga utilizzato il valore predefinito.

Per ulteriori informazioni sulla configurazione della convalida in WebSphere Liberty, consultare la documentazione Bean Validation 2.0.