From 86adf801fa64901f55af0a30f76954546a47af6b Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 18:08:57 +0200 Subject: [PATCH 1/9] HV-2034 Remove deprecated hibernate.validator.constraint_mapping_contributor --- .../BaseHibernateValidatorConfiguration.java | 7 ------ .../ValidatorFactoryConfigurationHelper.java | 20 ++-------------- ...tributorConfiguredInValidationXmlTest.java | 23 ------------------- ...straint-mapping-contributor-validation.xml | 16 ------------- 4 files changed, 2 insertions(+), 64 deletions(-) delete mode 100644 engine/src/test/resources/org/hibernate/validator/test/cfg/deprecated-constraint-mapping-contributor-validation.xml diff --git a/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java b/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java index afb19d7b25..a31400cbf0 100644 --- a/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java +++ b/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java @@ -76,13 +76,6 @@ public interface BaseHibernateValidatorConfiguration properties, String * Returns a list with {@link ConstraintMappingContributor}s configured via the * {@link HibernateValidatorConfiguration#CONSTRAINT_MAPPING_CONTRIBUTORS} property. * - * Also takes into account the deprecated {@link HibernateValidatorConfiguration#CONSTRAINT_MAPPING_CONTRIBUTOR} - * property. - * * @param properties the properties used to bootstrap the factory * * @return a list with property-configured {@link ConstraintMappingContributor}s; May be empty but never {@code null} */ static List determinePropertyConfiguredConstraintMappingContributors( Map properties, ClassLoader externalClassLoader) { - @SuppressWarnings("deprecation") - String deprecatedPropertyValue = properties.get( HibernateValidatorConfiguration.CONSTRAINT_MAPPING_CONTRIBUTOR ); String propertyValue = properties.get( HibernateValidatorConfiguration.CONSTRAINT_MAPPING_CONTRIBUTORS ); - if ( StringHelper.isNullOrEmptyString( deprecatedPropertyValue ) && StringHelper.isNullOrEmptyString( propertyValue ) ) { + if ( StringHelper.isNullOrEmptyString( propertyValue ) ) { return Collections.emptyList(); } - StringBuilder assembledPropertyValue = new StringBuilder(); - if ( !StringHelper.isNullOrEmptyString( deprecatedPropertyValue ) ) { - assembledPropertyValue.append( deprecatedPropertyValue ); - } - if ( !StringHelper.isNullOrEmptyString( propertyValue ) ) { - if ( assembledPropertyValue.length() > 0 ) { - assembledPropertyValue.append( "," ); - } - assembledPropertyValue.append( propertyValue ); - } - - String[] contributorNames = assembledPropertyValue.toString().split( "," ); + String[] contributorNames = propertyValue.split( "," ); List contributors = newArrayList( contributorNames.length ); for ( String contributorName : contributorNames ) { diff --git a/engine/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingContributorConfiguredInValidationXmlTest.java b/engine/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingContributorConfiguredInValidationXmlTest.java index 50445293c9..07f08cefc0 100644 --- a/engine/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingContributorConfiguredInValidationXmlTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingContributorConfiguredInValidationXmlTest.java @@ -57,29 +57,6 @@ public void run() { } ); } - @Test - @TestForIssue(jiraKey = "HV-1545") - public void shouldApplyConstraintMappingsFromContributorsConfiguredInValidationXmlWithDeprecatedProperty() { - runWithCustomValidationXml( "deprecated-constraint-mapping-contributor-validation.xml", new Runnable() { - - @Override - public void run() { - Validator validator = ValidatorUtil.getValidator(); - - Set> violations = validator.validate( new Marathon() ); - assertThat( violations ).containsOnlyViolations( - violationOf( NotNull.class ).withProperty( "name" ), - violationOf( Min.class ).withProperty( "numberOfHelpers" ) - ); - - violations = validator.validate( new Runner() ); - assertThat( violations ).containsOnlyViolations( - violationOf( AssertTrue.class ).withProperty( "paidEntryFee" ) - ); - } - } ); - } - private void runWithCustomValidationXml(String validationXmlName, Runnable runnable) { new ValidationXmlTestHelper( ConstraintMappingContributorConfiguredInValidationXmlTest.class ).runWithCustomValidationXml( validationXmlName, runnable ); } diff --git a/engine/src/test/resources/org/hibernate/validator/test/cfg/deprecated-constraint-mapping-contributor-validation.xml b/engine/src/test/resources/org/hibernate/validator/test/cfg/deprecated-constraint-mapping-contributor-validation.xml deleted file mode 100644 index d696b64553..0000000000 --- a/engine/src/test/resources/org/hibernate/validator/test/cfg/deprecated-constraint-mapping-contributor-validation.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - org.hibernate.validator.test.cfg.ConstraintMappingContributorConfiguredInValidationXmlTest$MyConstraintMappingContributor1 - org.hibernate.validator.test.cfg.ConstraintMappingContributorConfiguredInValidationXmlTest$MyConstraintMappingContributor2 - From 03cb2c1bf94b132c028f57559552a508499b002d Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 18:30:46 +0200 Subject: [PATCH 2/9] HV-2035 Remove deprecated org.hibernate.validator.constraints.Email constraint --- .../ap/ConstraintValidationProcessorIT.java | 7 +- ...ateValidatorProvidedCustomConstraints.java | 3 - .../validator/constraints/Email.java | 72 ------------------- .../hv/EmailValidator.java | 20 ------ .../metadata/core/BuiltinConstraint.java | 1 - .../metadata/core/ConstraintHelper.java | 4 -- .../validator/ValidationMessages.properties | 1 - .../ValidationMessages_ar.properties | 1 - .../ValidationMessages_cs.properties | 1 - .../ValidationMessages_da.properties | 1 - .../ValidationMessages_de.properties | 1 - .../ValidationMessages_es.properties | 1 - .../ValidationMessages_fa.properties | 1 - .../ValidationMessages_fr.properties | 1 - .../ValidationMessages_hu.properties | 1 - .../ValidationMessages_it.properties | 1 - .../ValidationMessages_ja.properties | 1 - .../ValidationMessages_ko.properties | 1 - .../ValidationMessages_mn_MN.properties | 1 - .../ValidationMessages_nl.properties | 1 - .../ValidationMessages_pl.properties | 1 - .../ValidationMessages_pt.properties | 1 - .../ValidationMessages_ro.properties | 1 - .../ValidationMessages_ru.properties | 1 - .../ValidationMessages_sk.properties | 1 - .../ValidationMessages_tr.properties | 1 - .../ValidationMessages_uk.properties | 1 - .../ValidationMessages_zh.properties | 1 - .../ValidationMessages_zh_CN.properties | 1 - .../ValidationMessages_zh_TW.properties | 1 - .../annotations/hv/EmailConstrainedTest.java | 53 -------------- .../MessagePropertiesTest.java | 4 -- .../PredefinedScopeAllConstraintsTest.java | 7 -- .../{hv => bv}/EmailValidatorTest.java | 4 +- .../CustomConstraintSerializableTest.java | 19 ----- 35 files changed, 5 insertions(+), 213 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/constraints/Email.java delete mode 100644 engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/EmailValidator.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/constraints/annotations/hv/EmailConstrainedTest.java rename engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/{hv => bv}/EmailValidatorTest.java (99%) diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java index 0062a418ee..f5461c4bc9 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java @@ -159,6 +159,8 @@ public void hibernateValidatorProvidedCustomConstraints() { assertFalse( compilationResult ); assertThatDiagnosticsMatch( diagnostics, + new DiagnosticExpectation( Kind.ERROR, 64 ), + new DiagnosticExpectation( Kind.ERROR, 65 ), new DiagnosticExpectation( Kind.ERROR, 66 ), new DiagnosticExpectation( Kind.ERROR, 67 ), new DiagnosticExpectation( Kind.ERROR, 68 ), @@ -174,10 +176,7 @@ public void hibernateValidatorProvidedCustomConstraints() { new DiagnosticExpectation( Kind.ERROR, 78 ), new DiagnosticExpectation( Kind.ERROR, 79 ), new DiagnosticExpectation( Kind.ERROR, 80 ), - new DiagnosticExpectation( Kind.ERROR, 81 ), - new DiagnosticExpectation( Kind.ERROR, 82 ), - new DiagnosticExpectation( Kind.ERROR, 83 ), - new DiagnosticExpectation( Kind.ERROR, 84 ) + new DiagnosticExpectation( Kind.ERROR, 81 ) ); } diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java index 75d3706624..180d11e924 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java @@ -10,7 +10,6 @@ import java.util.Date; import org.hibernate.validator.constraints.CreditCardNumber; -import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.LuhnCheck; import org.hibernate.validator.constraints.Mod10Check; @@ -38,7 +37,6 @@ public class HibernateValidatorProvidedCustomConstraints { * Allowed. */ @CreditCardNumber - @Email @Length @LuhnCheck @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @@ -64,7 +62,6 @@ public class HibernateValidatorProvidedCustomConstraints { * Not allowed. */ @CreditCardNumber - @Email @Length @LuhnCheck @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) diff --git a/engine/src/main/java/org/hibernate/validator/constraints/Email.java b/engine/src/main/java/org/hibernate/validator/constraints/Email.java deleted file mode 100644 index 4062645c33..0000000000 --- a/engine/src/main/java/org/hibernate/validator/constraints/Email.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.constraints; - -import static java.lang.annotation.ElementType.ANNOTATION_TYPE; -import static java.lang.annotation.ElementType.CONSTRUCTOR; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE_USE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Documented; -import java.lang.annotation.Repeatable; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import jakarta.validation.Constraint; -import jakarta.validation.OverridesAttribute; -import jakarta.validation.Payload; -import jakarta.validation.ReportAsSingleViolation; -import jakarta.validation.constraints.Pattern; - -/** - * The string has to be a well-formed email address. - * - * @author Emmanuel Bernard - * @author Hardy Ferentschik - * - * @deprecated use the standard {@link jakarta.validation.constraints.Email} constraint instead - */ -@Documented -@Constraint(validatedBy = { }) -@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) -@Retention(RUNTIME) -@Repeatable(Email.List.class) -@ReportAsSingleViolation -@Pattern(regexp = "") -@Deprecated -public @interface Email { - String message() default "{org.hibernate.validator.constraints.Email.message}"; - - Class[] groups() default { }; - - Class[] payload() default { }; - - /** - * @return an additional regular expression the annotated string must match. The default is any string ('.*') - */ - @OverridesAttribute(constraint = Pattern.class, name = "regexp") - String regexp() default ".*"; - - /** - * @return used in combination with {@link #regexp()} in order to specify a regular expression option - */ - @OverridesAttribute(constraint = Pattern.class, name = "flags") - Pattern.Flag[] flags() default { }; - - /** - * Defines several {@code @Email} annotations on the same element. - */ - @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) - @Retention(RUNTIME) - @Documented - public @interface List { - Email[] value(); - } -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/EmailValidator.java b/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/EmailValidator.java deleted file mode 100644 index 8b123d570d..0000000000 --- a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/EmailValidator.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.internal.constraintvalidators.hv; - -import org.hibernate.validator.constraints.Email; -import org.hibernate.validator.internal.constraintvalidators.AbstractEmailValidator; - -/** - * Checks that a given character sequence (e.g. string) is a well-formed email address. - * - * @author Guillaume Smet - */ -@SuppressWarnings("deprecation") -public class EmailValidator extends AbstractEmailValidator { - -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java index c7b420a0bd..c3f94e4747 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java @@ -55,7 +55,6 @@ enum BuiltinConstraint { // Hibernate Validator specific constraints ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_CODE_POINT_LENGTH( "org.hibernate.validator.constraints.CodePointLength" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_CURRENCY( "org.hibernate.validator.constraints.Currency" ), - ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EMAIL( "org.hibernate.validator.constraints.Email", Arrays.asList( JAKARTA_VALIDATION_CONSTRAINTS_PATTERN ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_ISBN( "org.hibernate.validator.constraints.ISBN" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_LENGTH( "org.hibernate.validator.constraints.Length" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_LUHN_CHECK( "org.hibernate.validator.constraints.LuhnCheck" ), diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java index 107534c68d..5ec3e9ade3 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java @@ -36,7 +36,6 @@ import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_CREDIT_CARD_NUMBER; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_CURRENCY; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EAN; -import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EMAIL; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_ISBN; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_KOR_KORRRN; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_LENGTH; @@ -762,9 +761,6 @@ protected Map, List. - */ -package org.hibernate.validator.test.constraints.annotations.hv; - -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNoViolations; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf; - -import java.util.Set; - -import jakarta.validation.ConstraintViolation; - -import org.hibernate.validator.constraints.Email; -import org.hibernate.validator.test.constraints.annotations.AbstractConstrainedTest; - -import org.testng.annotations.Test; - -/** - * @author Marko Bekhta - */ -@SuppressWarnings("deprecation") -public class EmailConstrainedTest extends AbstractConstrainedTest { - - @Test - public void testEmail() { - Foo foo = new Foo( "foo@example.com" ); - Set> violations = validator.validate( foo ); - assertNoViolations( violations ); - } - - @Test - public void testEmailInvalid() { - Foo foo = new Foo( "foo@e@" ); - Set> violations = validator.validate( foo ); - assertThat( violations ).containsOnlyViolations( - violationOf( Email.class ) - ); - } - - private static class Foo { - - @Email - private final String email; - - public Foo(String email) { - this.email = email; - } - } -} diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java index 2ff315042c..b3a9b3c8e6 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java @@ -153,7 +153,6 @@ public void testMessageProperties() throws NoSuchMethodException, SecurityExcept violationOf( CreditCardNumber.class ), violationOf( Currency.class ), violationOf( EAN.class ), - violationOf( org.hibernate.validator.constraints.Email.class ), violationOf( ISBN.class ), violationOf( Length.class ), violationOf( CodePointLength.class ), @@ -290,9 +289,6 @@ private static class Bean { @EAN private String ean = "invalid"; - @org.hibernate.validator.constraints.Email - private String hvEmail = "invalid"; - @ISBN private String isbn = "invalid"; diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java index 174fda4a9d..6aa58a8d40 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java @@ -112,7 +112,6 @@ public void testConstraints() throws NoSuchMethodException, SecurityException { testConstraint( CreditCardNumber.class, new CreditCardNumberBean() ); testConstraint( Currency.class, new CurrencyBean() ); testConstraint( EAN.class, new EANBean() ); - testConstraint( org.hibernate.validator.constraints.Email.class, new HvEmailBean() ); testConstraint( ISBN.class, new ISBNBean() ); testConstraint( Length.class, new LengthBean() ); testConstraint( CodePointLength.class, new CodePointLengthBean() ); @@ -314,12 +313,6 @@ private static class EANBean { private String ean = "invalid"; } - private static class HvEmailBean { - - @org.hibernate.validator.constraints.Email - private String hvEmail = "invalid"; - } - private static class ISBNBean { @ISBN diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/EmailValidatorTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/EmailValidatorTest.java similarity index 99% rename from engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/EmailValidatorTest.java rename to engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/EmailValidatorTest.java index f4ab1d566b..429604d476 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/EmailValidatorTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/EmailValidatorTest.java @@ -4,7 +4,7 @@ * License: Apache License, Version 2.0 * See the license.txt file in the root directory or . */ -package org.hibernate.validator.test.internal.constraintvalidators.hv; +package org.hibernate.validator.test.internal.constraintvalidators.bv; import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf; @@ -23,7 +23,7 @@ import org.hibernate.validator.HibernateValidatorConfiguration; import org.hibernate.validator.cfg.ConstraintMapping; import org.hibernate.validator.cfg.defs.EmailDef; -import org.hibernate.validator.internal.constraintvalidators.hv.EmailValidator; +import org.hibernate.validator.internal.constraintvalidators.bv.EmailValidator; import org.hibernate.validator.internal.util.DomainNameUtil; import org.hibernate.validator.internal.util.StringHelper; import org.hibernate.validator.testutil.MyCustomStringImpl; diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/engine/serialization/CustomConstraintSerializableTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/engine/serialization/CustomConstraintSerializableTest.java index d6d287787b..be0ee2e20e 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/engine/serialization/CustomConstraintSerializableTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/engine/serialization/CustomConstraintSerializableTest.java @@ -35,17 +35,6 @@ */ public class CustomConstraintSerializableTest { - @Test - public void testSerializeHibernateEmail() throws Exception { - Validator validator = ValidatorUtil.getValidator(); - - HibernateEmail invalidHibernateEmail = new HibernateEmail(); - invalidHibernateEmail.email = "test@"; - - Set> constraintViolations = validator.validate( invalidHibernateEmail ); - doSerialize( constraintViolations.iterator().next() ); - } - /** * HV-291 * @@ -76,13 +65,5 @@ static class CustomEmail implements Serializable { String email; } - - @SuppressWarnings("deprecation") - static class HibernateEmail implements Serializable { - private static final long serialVersionUID = 7206154160792549270L; - - @org.hibernate.validator.constraints.Email - String email; - } } From 88f4061fab3d1686732dc0e4ea34d790ede99cbd Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 18:42:35 +0200 Subject: [PATCH 3/9] HV-2036 Remove deprecated org.hibernate.validator.constraints.NotBlank constraint --- .../ap/ConstraintValidationProcessorIT.java | 7 +-- ...ateValidatorProvidedCustomConstraints.java | 3 - .../validator/constraints/NotBlank.java | 59 ------------------- .../hv/NotBlankValidator.java | 38 ------------ .../metadata/core/BuiltinConstraint.java | 2 - .../metadata/core/ConstraintHelper.java | 4 -- .../validator/ValidationMessages.properties | 1 - .../ValidationMessages_ar.properties | 1 - .../ValidationMessages_cs.properties | 1 - .../ValidationMessages_da.properties | 1 - .../ValidationMessages_de.properties | 1 - .../ValidationMessages_es.properties | 1 - .../ValidationMessages_fa.properties | 1 - .../ValidationMessages_fr.properties | 1 - .../ValidationMessages_hu.properties | 1 - .../ValidationMessages_it.properties | 1 - .../ValidationMessages_ja.properties | 1 - .../ValidationMessages_ko.properties | 1 - .../ValidationMessages_mn_MN.properties | 1 - .../ValidationMessages_nl.properties | 1 - .../ValidationMessages_pl.properties | 1 - .../ValidationMessages_pt.properties | 1 - .../ValidationMessages_ro.properties | 1 - .../ValidationMessages_ru.properties | 1 - .../ValidationMessages_sk.properties | 1 - .../ValidationMessages_tr.properties | 1 - .../ValidationMessages_uk.properties | 1 - .../ValidationMessages_zh.properties | 1 - .../ValidationMessages_zh_CN.properties | 1 - .../ValidationMessages_zh_TW.properties | 1 - .../hv/NotBlankConstrainedTest.java | 53 ----------------- .../MessagePropertiesTest.java | 4 -- .../PredefinedScopeAllConstraintsTest.java | 7 --- .../{hv => bv}/BlankValidatorTest.java | 9 ++- 34 files changed, 7 insertions(+), 203 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/constraints/NotBlank.java delete mode 100644 engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/NotBlankValidator.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/constraints/annotations/hv/NotBlankConstrainedTest.java rename engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/{hv => bv}/BlankValidatorTest.java (92%) diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java index f5461c4bc9..f425ee0112 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java @@ -159,6 +159,8 @@ public void hibernateValidatorProvidedCustomConstraints() { assertFalse( compilationResult ); assertThatDiagnosticsMatch( diagnostics, + new DiagnosticExpectation( Kind.ERROR, 62 ), + new DiagnosticExpectation( Kind.ERROR, 63 ), new DiagnosticExpectation( Kind.ERROR, 64 ), new DiagnosticExpectation( Kind.ERROR, 65 ), new DiagnosticExpectation( Kind.ERROR, 66 ), @@ -173,10 +175,7 @@ public void hibernateValidatorProvidedCustomConstraints() { new DiagnosticExpectation( Kind.ERROR, 75 ), new DiagnosticExpectation( Kind.ERROR, 76 ), new DiagnosticExpectation( Kind.ERROR, 77 ), - new DiagnosticExpectation( Kind.ERROR, 78 ), - new DiagnosticExpectation( Kind.ERROR, 79 ), - new DiagnosticExpectation( Kind.ERROR, 80 ), - new DiagnosticExpectation( Kind.ERROR, 81 ) + new DiagnosticExpectation( Kind.ERROR, 78 ) ); } diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java index 180d11e924..81fb6680ac 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java @@ -15,7 +15,6 @@ import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; import org.hibernate.validator.constraints.ModCheck; -import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.ScriptAssert; @@ -42,7 +41,6 @@ public class HibernateValidatorProvidedCustomConstraints { @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check - @NotBlank @NotEmpty @Range @URL @@ -67,7 +65,6 @@ public class HibernateValidatorProvidedCustomConstraints { @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check - @NotBlank @NotEmpty @Range @URL diff --git a/engine/src/main/java/org/hibernate/validator/constraints/NotBlank.java b/engine/src/main/java/org/hibernate/validator/constraints/NotBlank.java deleted file mode 100644 index 251625244a..0000000000 --- a/engine/src/main/java/org/hibernate/validator/constraints/NotBlank.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.constraints; - -import static java.lang.annotation.ElementType.ANNOTATION_TYPE; -import static java.lang.annotation.ElementType.CONSTRUCTOR; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE_USE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Documented; -import java.lang.annotation.Repeatable; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import jakarta.validation.Constraint; -import jakarta.validation.Payload; -import jakarta.validation.ReportAsSingleViolation; -import jakarta.validation.constraints.NotNull; - -/** - * Validate that the annotated string is not {@code null} or empty. - * The difference to {@code NotEmpty} is that trailing whitespaces are getting ignored. - * - * @author Hardy Ferentschik - * - * @deprecated use the standard {@link jakarta.validation.constraints.NotBlank} constraint instead - */ -@Documented -@Constraint(validatedBy = { }) -@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) -@Retention(RUNTIME) -@ReportAsSingleViolation -@NotNull -@Repeatable(NotBlank.List.class) -@Deprecated -public @interface NotBlank { - String message() default "{org.hibernate.validator.constraints.NotBlank.message}"; - - Class[] groups() default { }; - - Class[] payload() default { }; - - /** - * Defines several {@code @NotBlank} annotations on the same element. - */ - @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) - @Retention(RUNTIME) - @Documented - public @interface List { - NotBlank[] value(); - } -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/NotBlankValidator.java b/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/NotBlankValidator.java deleted file mode 100644 index e90d6561f6..0000000000 --- a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/NotBlankValidator.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.internal.constraintvalidators.hv; - -import jakarta.validation.ConstraintValidator; -import jakarta.validation.ConstraintValidatorContext; - -import org.hibernate.validator.constraints.NotBlank; - -/** - * Check that a character sequence's (e.g. string) trimmed length is not empty. - * - * @author Hardy Ferentschik - */ -@SuppressWarnings("deprecation") -public class NotBlankValidator implements ConstraintValidator { - - /** - * Checks that the trimmed string is not empty. - * - * @param charSequence the character sequence to validate - * @param constraintValidatorContext context in which the constraint is evaluated - * @return returns {@code true} if the string is {@code null} or the length of the trimmed - * {@code charSequence} is strictly superior to 0, {@code false} otherwise - */ - @Override - public boolean isValid(CharSequence charSequence, ConstraintValidatorContext constraintValidatorContext) { - if ( charSequence == null ) { - return true; - } - - return charSequence.toString().trim().length() > 0; - } -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java index c3f94e4747..b349d2f76b 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java @@ -65,8 +65,6 @@ enum BuiltinConstraint { ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK( "org.hibernate.validator.constraints.ModCheck" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED( "org.hibernate.validator.constraints.Normalized" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EAN( "org.hibernate.validator.constraints.EAN", Arrays.asList( ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD10_CHECK ) ), - ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_BLANK( "org.hibernate.validator.constraints.NotBlank", - Arrays.asList( JAKARTA_VALIDATION_CONSTRAINTS_NOT_NULL ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_EMPTY( "org.hibernate.validator.constraints.NotEmpty", Arrays.asList( JAKARTA_VALIDATION_CONSTRAINTS_NOT_NULL, JAKARTA_VALIDATION_CONSTRAINTS_SIZE ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT( "org.hibernate.validator.constraints.ParameterScriptAssert" ), diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java index 5ec3e9ade3..cca04d0ddf 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java @@ -44,7 +44,6 @@ import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD11_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED; -import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_BLANK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_EMPTY; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PL_NIP; @@ -788,9 +787,6 @@ protected Map, List. - */ -package org.hibernate.validator.test.constraints.annotations.hv; - -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNoViolations; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf; - -import java.util.Set; - -import jakarta.validation.ConstraintViolation; - -import org.hibernate.validator.constraints.NotBlank; -import org.hibernate.validator.test.constraints.annotations.AbstractConstrainedTest; - -import org.testng.annotations.Test; - -/** - * @author Marko Bekhta - */ -@SuppressWarnings("deprecation") -public class NotBlankConstrainedTest extends AbstractConstrainedTest { - - @Test - public void testNotBlank() { - Foo foo = new Foo( "foo" ); - Set> violations = validator.validate( foo ); - assertNoViolations( violations ); - } - - @Test - public void testNotBlankInvalid() { - Foo foo = new Foo( "" ); - Set> violations = validator.validate( foo ); - assertThat( violations ).containsOnlyViolations( - violationOf( NotBlank.class ) - ); - } - - private static class Foo { - - @NotBlank - private final String string; - - public Foo(String string) { - this.string = string; - } - } -} diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java index b3a9b3c8e6..872f752fbc 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java @@ -161,7 +161,6 @@ public void testMessageProperties() throws NoSuchMethodException, SecurityExcept violationOf( Mod11Check.class ), violationOf( ModCheck.class ), violationOf( Normalized.class ), - violationOf( org.hibernate.validator.constraints.NotBlank.class ), violationOf( org.hibernate.validator.constraints.NotEmpty.class ), violationOf( Range.class ), violationOf( UniqueElements.class ), @@ -313,9 +312,6 @@ private static class Bean { @Normalized(form = java.text.Normalizer.Form.NFKC) private String normalized = "\uFE64script\uFE65"; - @org.hibernate.validator.constraints.NotBlank - private String hvNotBlank = ""; - @org.hibernate.validator.constraints.NotEmpty private List hvNotEmpty = Collections.emptyList(); diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java index 6aa58a8d40..dc61c2667e 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java @@ -120,7 +120,6 @@ public void testConstraints() throws NoSuchMethodException, SecurityException { testConstraint( Mod11Check.class, new Mod11CheckBean() ); testConstraint( ModCheck.class, new ModCheckBean() ); testConstraint( Normalized.class, new NormalizedBean() ); - testConstraint( org.hibernate.validator.constraints.NotBlank.class, new HvNotBlankBean() ); testConstraint( org.hibernate.validator.constraints.NotEmpty.class, new HvNotEmptyBean() ); testConstraint( Range.class, new RangeBean() ); testConstraint( UniqueElements.class, new UniqueElementsBean() ); @@ -362,12 +361,6 @@ private static class NormalizedBean { } - private static class HvNotBlankBean { - - @org.hibernate.validator.constraints.NotBlank - private String hvNotBlank = ""; - } - private static class HvNotEmptyBean { @org.hibernate.validator.constraints.NotEmpty diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/BlankValidatorTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/BlankValidatorTest.java similarity index 92% rename from engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/BlankValidatorTest.java rename to engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/BlankValidatorTest.java index 10622e0bc8..ec62bc9341 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/BlankValidatorTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/bv/BlankValidatorTest.java @@ -4,7 +4,7 @@ * License: Apache License, Version 2.0 * See the license.txt file in the root directory or . */ -package org.hibernate.validator.test.internal.constraintvalidators.hv; +package org.hibernate.validator.test.internal.constraintvalidators.bv; import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNoViolations; import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; @@ -17,23 +17,22 @@ import jakarta.validation.ConstraintViolation; import jakarta.validation.Validator; +import jakarta.validation.constraints.NotBlank; -import org.hibernate.validator.constraints.NotBlank; -import org.hibernate.validator.internal.constraintvalidators.hv.NotBlankValidator; +import org.hibernate.validator.internal.constraintvalidators.bv.NotBlankValidator; import org.testng.annotations.Test; /** * @author Hardy Ferentschik */ -@SuppressWarnings("deprecation") public class BlankValidatorTest { @Test public void testConstraintValidator() { NotBlankValidator constraintValidator = new NotBlankValidator(); assertTrue( constraintValidator.isValid( "a", null ) ); - assertTrue( constraintValidator.isValid( null, null ) ); + assertFalse( constraintValidator.isValid( null, null ) ); assertFalse( constraintValidator.isValid( "", null ) ); assertFalse( constraintValidator.isValid( " ", null ) ); assertFalse( constraintValidator.isValid( "\t", null ) ); From 3889fad901a3e37ee73672c0db2c62e673c136be Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 18:53:34 +0200 Subject: [PATCH 4/9] HV-2037 Remove deprecated org.hibernate.validator.constraints.NotEmpty constraint --- .../ap/ConstraintValidationProcessorIT.java | 7 +- ...ateValidatorProvidedCustomConstraints.java | 3 - .../validator/constraints/NotEmpty.java | 64 --------- .../metadata/core/BuiltinConstraint.java | 2 - .../metadata/core/ConstraintHelper.java | 4 - .../validator/ValidationMessages.properties | 1 - .../ValidationMessages_ar.properties | 1 - .../ValidationMessages_cs.properties | 1 - .../ValidationMessages_da.properties | 1 - .../ValidationMessages_de.properties | 1 - .../ValidationMessages_es.properties | 1 - .../ValidationMessages_fa.properties | 1 - .../ValidationMessages_fr.properties | 1 - .../ValidationMessages_hu.properties | 1 - .../ValidationMessages_it.properties | 1 - .../ValidationMessages_ja.properties | 1 - .../ValidationMessages_ko.properties | 1 - .../ValidationMessages_mn_MN.properties | 1 - .../ValidationMessages_nl.properties | 1 - .../ValidationMessages_pl.properties | 1 - .../ValidationMessages_pt.properties | 1 - .../ValidationMessages_ro.properties | 1 - .../ValidationMessages_ru.properties | 1 - .../ValidationMessages_sk.properties | 1 - .../ValidationMessages_tr.properties | 1 - .../ValidationMessages_uk.properties | 1 - .../ValidationMessages_zh.properties | 1 - .../ValidationMessages_zh_CN.properties | 1 - .../ValidationMessages_zh_TW.properties | 1 - .../hv/NotEmptyConstrainedTest.java | 124 ------------------ .../MessagePropertiesTest.java | 4 - .../PredefinedScopeAllConstraintsTest.java | 7 - .../xml/method-validation-mapping.xml | 4 +- 33 files changed, 5 insertions(+), 238 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/constraints/NotEmpty.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/constraints/annotations/hv/NotEmptyConstrainedTest.java diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java index f425ee0112..751acc3ba4 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java @@ -159,6 +159,8 @@ public void hibernateValidatorProvidedCustomConstraints() { assertFalse( compilationResult ); assertThatDiagnosticsMatch( diagnostics, + new DiagnosticExpectation( Kind.ERROR, 60 ), + new DiagnosticExpectation( Kind.ERROR, 61 ), new DiagnosticExpectation( Kind.ERROR, 62 ), new DiagnosticExpectation( Kind.ERROR, 63 ), new DiagnosticExpectation( Kind.ERROR, 64 ), @@ -172,10 +174,7 @@ public void hibernateValidatorProvidedCustomConstraints() { new DiagnosticExpectation( Kind.ERROR, 72 ), new DiagnosticExpectation( Kind.ERROR, 73 ), new DiagnosticExpectation( Kind.ERROR, 74 ), - new DiagnosticExpectation( Kind.ERROR, 75 ), - new DiagnosticExpectation( Kind.ERROR, 76 ), - new DiagnosticExpectation( Kind.ERROR, 77 ), - new DiagnosticExpectation( Kind.ERROR, 78 ) + new DiagnosticExpectation( Kind.ERROR, 75 ) ); } diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java index 81fb6680ac..1c66e2c759 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java @@ -15,7 +15,6 @@ import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; import org.hibernate.validator.constraints.ModCheck; -import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.ScriptAssert; import org.hibernate.validator.constraints.URL; @@ -41,7 +40,6 @@ public class HibernateValidatorProvidedCustomConstraints { @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check - @NotEmpty @Range @URL @CNPJ @@ -65,7 +63,6 @@ public class HibernateValidatorProvidedCustomConstraints { @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check - @NotEmpty @Range @URL @CNPJ diff --git a/engine/src/main/java/org/hibernate/validator/constraints/NotEmpty.java b/engine/src/main/java/org/hibernate/validator/constraints/NotEmpty.java deleted file mode 100644 index a8984a7910..0000000000 --- a/engine/src/main/java/org/hibernate/validator/constraints/NotEmpty.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.constraints; - -import static java.lang.annotation.ElementType.ANNOTATION_TYPE; -import static java.lang.annotation.ElementType.CONSTRUCTOR; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE_USE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Documented; -import java.lang.annotation.Repeatable; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import jakarta.validation.Constraint; -import jakarta.validation.Payload; -import jakarta.validation.ReportAsSingleViolation; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import jakarta.validation.constraintvalidation.SupportedValidationTarget; -import jakarta.validation.constraintvalidation.ValidationTarget; - -/** - * Asserts that the annotated string, collection, map or array is not {@code null} or empty. - * - * @author Emmanuel Bernard - * @author Hardy Ferentschik - * - * @deprecated use the standard {@link jakarta.validation.constraints.NotEmpty} constraint instead - */ -@Documented -@Constraint(validatedBy = { }) -@SupportedValidationTarget(ValidationTarget.ANNOTATED_ELEMENT) -@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) -@Retention(RUNTIME) -@Repeatable(NotEmpty.List.class) -@ReportAsSingleViolation -@NotNull -@Size(min = 1) -@Deprecated -public @interface NotEmpty { - String message() default "{org.hibernate.validator.constraints.NotEmpty.message}"; - - Class[] groups() default { }; - - Class[] payload() default { }; - - /** - * Defines several {@code @NotEmpty} annotations on the same element. - */ - @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) - @Retention(RUNTIME) - @Documented - public @interface List { - NotEmpty[] value(); - } -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java index b349d2f76b..b36c3c3689 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java @@ -65,8 +65,6 @@ enum BuiltinConstraint { ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK( "org.hibernate.validator.constraints.ModCheck" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED( "org.hibernate.validator.constraints.Normalized" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EAN( "org.hibernate.validator.constraints.EAN", Arrays.asList( ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD10_CHECK ) ), - ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_EMPTY( "org.hibernate.validator.constraints.NotEmpty", - Arrays.asList( JAKARTA_VALIDATION_CONSTRAINTS_NOT_NULL, JAKARTA_VALIDATION_CONSTRAINTS_SIZE ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT( "org.hibernate.validator.constraints.ParameterScriptAssert" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_RANGE( "org.hibernate.validator.constraints.Range", Arrays.asList( JAKARTA_VALIDATION_CONSTRAINTS_MIN, JAKARTA_VALIDATION_CONSTRAINTS_MAX ) ), diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java index cca04d0ddf..8067363fb1 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java @@ -44,7 +44,6 @@ import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD11_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED; -import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NOT_EMPTY; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PL_NIP; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PL_PESEL; @@ -787,9 +786,6 @@ protected Map, List. - */ -package org.hibernate.validator.test.constraints.annotations.hv; - -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNoViolations; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf; - -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import jakarta.validation.ConstraintViolation; - -import org.hibernate.validator.constraints.NotEmpty; -import org.hibernate.validator.test.constraints.annotations.AbstractConstrainedTest; - -import org.testng.annotations.Test; - -/** - * @author Marko Bekhta - */ -@SuppressWarnings("deprecation") -public class NotEmptyConstrainedTest extends AbstractConstrainedTest { - - @Test - public void testNotEmpty() { - Map map = new HashMap<>(); - map.put( "", "" ); - Foo foo = new Foo( "foo", new Object[] { "" }, new boolean[] { true }, new byte[] { 1 }, - new char[] { 'c' }, new double[] { 1.0 }, new float[] { 1.0f }, new int[] { 1 }, - new long[] { 1L }, new short[] { 1 }, Arrays.asList( "" ), map - ); - Set> violations = validator.validate( foo ); - assertNoViolations( violations ); - } - - @Test - public void testNotEmptyInvalid() { - Foo foo = new Foo( "", new Object[] { }, new boolean[] { }, new byte[] { }, - new char[] { }, new double[] { }, new float[] { }, new int[] { }, - new long[] { }, new short[] { }, Collections.emptyList(), Collections.emptyMap() - ); - Set> violations = validator.validate( foo ); - assertThat( violations ).containsOnlyViolations( - violationOf( NotEmpty.class ).withProperty( "string" ), - violationOf( NotEmpty.class ).withProperty( "objects" ), - violationOf( NotEmpty.class ).withProperty( "booleans" ), - violationOf( NotEmpty.class ).withProperty( "bytes" ), - violationOf( NotEmpty.class ).withProperty( "chars" ), - violationOf( NotEmpty.class ).withProperty( "doubles" ), - violationOf( NotEmpty.class ).withProperty( "floats" ), - violationOf( NotEmpty.class ).withProperty( "ints" ), - violationOf( NotEmpty.class ).withProperty( "longs" ), - violationOf( NotEmpty.class ).withProperty( "shorts" ), - violationOf( NotEmpty.class ).withProperty( "collection" ), - violationOf( NotEmpty.class ).withProperty( "map" ) - ); - } - - private static class Foo { - - @NotEmpty - private final String string; - - @NotEmpty - private final Object[] objects; - - @NotEmpty - private final boolean[] booleans; - - @NotEmpty - private final byte[] bytes; - - @NotEmpty - private final char[] chars; - - @NotEmpty - private final double[] doubles; - - @NotEmpty - private final float[] floats; - - @NotEmpty - private final int[] ints; - - @NotEmpty - private final long[] longs; - - @NotEmpty - private final short[] shorts; - - @NotEmpty - private final Collection collection; - - @NotEmpty - private final Map map; - - public Foo(String string, Object[] objects, boolean[] booleans, byte[] bytes, - char[] chars, double[] doubles, float[] floats, int[] ints, - long[] longs, short[] shorts, Collection collection, - Map map) { - this.string = string; - this.objects = objects; - this.booleans = booleans; - this.bytes = bytes; - this.chars = chars; - this.doubles = doubles; - this.floats = floats; - this.ints = ints; - this.longs = longs; - this.shorts = shorts; - this.collection = collection; - this.map = map; - } - } -} diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java index 872f752fbc..af6c30911f 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java @@ -161,7 +161,6 @@ public void testMessageProperties() throws NoSuchMethodException, SecurityExcept violationOf( Mod11Check.class ), violationOf( ModCheck.class ), violationOf( Normalized.class ), - violationOf( org.hibernate.validator.constraints.NotEmpty.class ), violationOf( Range.class ), violationOf( UniqueElements.class ), violationOf( URL.class ), @@ -312,9 +311,6 @@ private static class Bean { @Normalized(form = java.text.Normalizer.Form.NFKC) private String normalized = "\uFE64script\uFE65"; - @org.hibernate.validator.constraints.NotEmpty - private List hvNotEmpty = Collections.emptyList(); - @Range(min = 2, max = 4) private int range = 6; diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java index dc61c2667e..179e4b5232 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java @@ -120,7 +120,6 @@ public void testConstraints() throws NoSuchMethodException, SecurityException { testConstraint( Mod11Check.class, new Mod11CheckBean() ); testConstraint( ModCheck.class, new ModCheckBean() ); testConstraint( Normalized.class, new NormalizedBean() ); - testConstraint( org.hibernate.validator.constraints.NotEmpty.class, new HvNotEmptyBean() ); testConstraint( Range.class, new RangeBean() ); testConstraint( UniqueElements.class, new UniqueElementsBean() ); testConstraint( URL.class, new URLBean() ); @@ -361,12 +360,6 @@ private static class NormalizedBean { } - private static class HvNotEmptyBean { - - @org.hibernate.validator.constraints.NotEmpty - private List hvNotEmpty = Collections.emptyList(); - } - private static class RangeBean { @Range(min = 2, max = 4) diff --git a/engine/src/test/resources/org/hibernate/validator/test/internal/engine/methodvalidation/xml/method-validation-mapping.xml b/engine/src/test/resources/org/hibernate/validator/test/internal/engine/methodvalidation/xml/method-validation-mapping.xml index f2557887c4..1280e94c53 100644 --- a/engine/src/test/resources/org/hibernate/validator/test/internal/engine/methodvalidation/xml/method-validation-mapping.xml +++ b/engine/src/test/resources/org/hibernate/validator/test/internal/engine/methodvalidation/xml/method-validation-mapping.xml @@ -132,7 +132,7 @@ - + [XML] - must not be null @@ -211,7 +211,7 @@ - + From b9612f5ffcd4eb3fa0289eb936df9f9b085475ee Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 19:04:46 +0200 Subject: [PATCH 5/9] HV-2042 Remove deprecated org.hibernate.validator.constraints.ModCheck constraint --- .../ap/ConstraintValidationProcessorIT.java | 9 +- ...ateValidatorProvidedCustomConstraints.java | 4 - .../validator/constraints/ModCheck.java | 105 -------------- .../hv/ModCheckValidator.java | 77 ----------- .../metadata/core/BuiltinConstraint.java | 1 - .../metadata/core/ConstraintHelper.java | 6 - .../validator/ValidationMessages.properties | 1 - .../ValidationMessages_cs.properties | 1 - .../ValidationMessages_da.properties | 1 - .../ValidationMessages_de.properties | 1 - .../ValidationMessages_es.properties | 1 - .../ValidationMessages_fa.properties | 1 - .../ValidationMessages_fr.properties | 1 - .../ValidationMessages_hu.properties | 1 - .../ValidationMessages_it.properties | 1 - .../ValidationMessages_ja.properties | 1 - .../ValidationMessages_ko.properties | 1 - .../ValidationMessages_nl.properties | 1 - .../ValidationMessages_pl.properties | 1 - .../ValidationMessages_pt.properties | 1 - .../ValidationMessages_ro.properties | 1 - .../ValidationMessages_ru.properties | 1 - .../ValidationMessages_sk.properties | 1 - .../ValidationMessages_uk.properties | 1 - .../ValidationMessages_zh.properties | 1 - .../ValidationMessages_zh_CN.properties | 1 - .../ValidationMessages_zh_TW.properties | 1 - .../hv/ModCheckConstrainedTest.java | 53 ------- .../MessagePropertiesTest.java | 6 - .../PredefinedScopeAllConstraintsTest.java | 9 -- .../hv/ModCheckValidatorTest.java | 129 ------------------ 31 files changed, 4 insertions(+), 416 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/constraints/ModCheck.java delete mode 100644 engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/ModCheckValidator.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/constraints/annotations/hv/ModCheckConstrainedTest.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/ModCheckValidatorTest.java diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java index 751acc3ba4..195558cd9b 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/ConstraintValidationProcessorIT.java @@ -159,6 +159,9 @@ public void hibernateValidatorProvidedCustomConstraints() { assertFalse( compilationResult ); assertThatDiagnosticsMatch( diagnostics, + new DiagnosticExpectation( Kind.ERROR, 57 ), + new DiagnosticExpectation( Kind.ERROR, 58 ), + new DiagnosticExpectation( Kind.ERROR, 59 ), new DiagnosticExpectation( Kind.ERROR, 60 ), new DiagnosticExpectation( Kind.ERROR, 61 ), new DiagnosticExpectation( Kind.ERROR, 62 ), @@ -170,11 +173,7 @@ public void hibernateValidatorProvidedCustomConstraints() { new DiagnosticExpectation( Kind.ERROR, 68 ), new DiagnosticExpectation( Kind.ERROR, 69 ), new DiagnosticExpectation( Kind.ERROR, 70 ), - new DiagnosticExpectation( Kind.ERROR, 71 ), - new DiagnosticExpectation( Kind.ERROR, 72 ), - new DiagnosticExpectation( Kind.ERROR, 73 ), - new DiagnosticExpectation( Kind.ERROR, 74 ), - new DiagnosticExpectation( Kind.ERROR, 75 ) + new DiagnosticExpectation( Kind.ERROR, 71 ) ); } diff --git a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java index 1c66e2c759..fe07c595ac 100644 --- a/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java +++ b/annotation-processor/src/test/java/org/hibernate/validator/ap/testmodel/customconstraints/HibernateValidatorProvidedCustomConstraints.java @@ -14,7 +14,6 @@ import org.hibernate.validator.constraints.LuhnCheck; import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; -import org.hibernate.validator.constraints.ModCheck; import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.ScriptAssert; import org.hibernate.validator.constraints.URL; @@ -28,7 +27,6 @@ import org.hibernate.validator.constraints.time.DurationMin; @ScriptAssert(script = "some script", lang = "javascript") -@SuppressWarnings("deprecation") public class HibernateValidatorProvidedCustomConstraints { /** @@ -37,7 +35,6 @@ public class HibernateValidatorProvidedCustomConstraints { @CreditCardNumber @Length @LuhnCheck - @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check @Range @@ -60,7 +57,6 @@ public class HibernateValidatorProvidedCustomConstraints { @CreditCardNumber @Length @LuhnCheck - @ModCheck(modType = ModCheck.ModType.MOD10, multiplier = 2) @Mod10Check @Mod11Check @Range diff --git a/engine/src/main/java/org/hibernate/validator/constraints/ModCheck.java b/engine/src/main/java/org/hibernate/validator/constraints/ModCheck.java deleted file mode 100644 index 530bab1546..0000000000 --- a/engine/src/main/java/org/hibernate/validator/constraints/ModCheck.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.constraints; - -import static java.lang.annotation.ElementType.ANNOTATION_TYPE; -import static java.lang.annotation.ElementType.CONSTRUCTOR; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE_USE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Documented; -import java.lang.annotation.Repeatable; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import jakarta.validation.Constraint; -import jakarta.validation.Payload; - -/** - * Modulo check constraint. - *

- * Allows to validate that a series of digits pass the mod 10 or mod 11 checksum algorithm. - *

- *

- * The supported type is {@code CharSequence}. {@code null} is considered valid. - *

- * - * @author George Gastaldi - * @author Hardy Ferentschik - * @deprecated As of release 5.1.0, replaced by {@link Mod10Check} and {@link Mod11Check} - */ -@Documented -@Deprecated -@Constraint(validatedBy = { }) -@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) -@Retention(RUNTIME) -@Repeatable(ModCheck.List.class) -public @interface ModCheck { - String message() default "{org.hibernate.validator.constraints.ModCheck.message}"; - - Class[] groups() default { }; - - Class[] payload() default { }; - - /** - * @return The modulus algorithm to be used - */ - ModType modType(); - - /** - * @return The multiplier to be used by the chosen mod algorithm - */ - int multiplier(); - - /** - * @return the start index (inclusive) for calculating the checksum. If not specified 0 is assumed. - */ - int startIndex() default 0; - - /** - * @return the end index (exclusive) for calculating the checksum. If not specified the whole value is considered - */ - int endIndex() default Integer.MAX_VALUE; - - /** - * @return The position of the check digit in input. Per default it is assumes that the check digit is part of the - * specified range. If set, the digit at the specified position is used as check digit. If set it the following holds - * true: {@code checkDigitPosition > 0 && (checkDigitPosition < startIndex || checkDigitPosition >= endIndex}. - */ - int checkDigitPosition() default -1; - - /** - * @return Returns {@code true} if non digit characters should be ignored, {@code false} if a non digit character - * results in a validation error. {@code startIndex} and {@code endIndex} are always only referring to digit - * characters. - */ - boolean ignoreNonDigitCharacters() default true; - - /** - * Defines several {@code @ModCheck} annotations on the same element. - */ - @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE }) - @Retention(RUNTIME) - @Documented - public @interface List { - ModCheck[] value(); - } - - enum ModType { - /** - * Represents a MOD10 algorithm (Also known as Luhn algorithm) - */ - MOD10, - /** - * Represents a MOD11 algorithm. A remainder of 10 or 11 in the algorithm is mapped to the check digit 0. - */ - MOD11 - } -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/ModCheckValidator.java b/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/ModCheckValidator.java deleted file mode 100644 index d8477aa6ce..0000000000 --- a/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/ModCheckValidator.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.internal.constraintvalidators.hv; - -import java.util.List; - -import jakarta.validation.ConstraintValidator; - -import org.hibernate.validator.internal.util.ModUtil; - -/** - * Mod check validator for MOD10 and MOD11 algorithms - * - * http://en.wikipedia.org/wiki/Luhn_algorithm - * http://en.wikipedia.org/wiki/Check_digit - * - * @author George Gastaldi - * @author Hardy Ferentschik - * @deprecated As of release 5.1.0, replaced by {@link Mod10CheckValidator} and {@link Mod11CheckValidator} - */ -@Deprecated -public class ModCheckValidator extends ModCheckBase implements ConstraintValidator { - /** - * Multiplier used by the mod algorithms - */ - private int multiplier; - - /** - * The type of checksum algorithm - */ - private org.hibernate.validator.constraints.ModCheck.ModType modType; - - @Override - public void initialize(org.hibernate.validator.constraints.ModCheck constraintAnnotation) { - super.initialize( - constraintAnnotation.startIndex(), - constraintAnnotation.endIndex(), - constraintAnnotation.checkDigitPosition(), - constraintAnnotation.ignoreNonDigitCharacters() - ); - - this.modType = constraintAnnotation.modType(); - this.multiplier = constraintAnnotation.multiplier(); - } - - /** - * Check if the input passes the Mod10 (Luhn algorithm implementation only) or Mod11 test - * - * @param digits the digits over which to calculate the Mod10 or Mod11 checksum - * @param checkDigit the check digit - * - * @return {@code true} if the mod 10/11 result matches the check digit, {@code false} otherwise - */ - @Override - public boolean isCheckDigitValid(List digits, char checkDigit) { - int modResult = -1; - int checkValue = extractDigit( checkDigit ); - - if ( modType.equals( org.hibernate.validator.constraints.ModCheck.ModType.MOD11 ) ) { - modResult = ModUtil.calculateMod11Check( digits, multiplier ); - - if ( modResult == 10 || modResult == 11 ) { - modResult = 0; - } - } - else { - modResult = ModUtil.calculateLuhnMod10Check( digits ); - } - - return checkValue == modResult; - } - -} diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java index b36c3c3689..123807f8b5 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/BuiltinConstraint.java @@ -62,7 +62,6 @@ enum BuiltinConstraint { Arrays.asList( ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_LUHN_CHECK ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD10_CHECK( "org.hibernate.validator.constraints.Mod10Check" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD11_CHECK( "org.hibernate.validator.constraints.Mod11Check" ), - ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK( "org.hibernate.validator.constraints.ModCheck" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED( "org.hibernate.validator.constraints.Normalized" ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_EAN( "org.hibernate.validator.constraints.EAN", Arrays.asList( ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD10_CHECK ) ), ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT( "org.hibernate.validator.constraints.ParameterScriptAssert" ), diff --git a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java index 8067363fb1..822a1b8b36 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java +++ b/engine/src/main/java/org/hibernate/validator/internal/metadata/core/ConstraintHelper.java @@ -42,7 +42,6 @@ import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_LUHN_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD10_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD11_CHECK; -import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_MOD_CHECK; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_NORMALIZED; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PARAMETER_SCRIPT_ASSERT; import static org.hibernate.validator.internal.metadata.core.BuiltinConstraint.ORG_HIBERNATE_VALIDATOR_CONSTRAINTS_PL_NIP; @@ -114,7 +113,6 @@ import org.hibernate.validator.constraints.LuhnCheck; import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; -import org.hibernate.validator.constraints.ModCheck; import org.hibernate.validator.constraints.Normalized; import org.hibernate.validator.constraints.ParameterScriptAssert; import org.hibernate.validator.constraints.Range; @@ -335,7 +333,6 @@ import org.hibernate.validator.internal.constraintvalidators.hv.LuhnCheckValidator; import org.hibernate.validator.internal.constraintvalidators.hv.Mod10CheckValidator; import org.hibernate.validator.internal.constraintvalidators.hv.Mod11CheckValidator; -import org.hibernate.validator.internal.constraintvalidators.hv.ModCheckValidator; import org.hibernate.validator.internal.constraintvalidators.hv.NormalizedValidator; import org.hibernate.validator.internal.constraintvalidators.hv.ParameterScriptAssertValidator; import org.hibernate.validator.internal.constraintvalidators.hv.ScriptAssertValidator; @@ -771,9 +768,6 @@ protected Map, List. - */ -package org.hibernate.validator.test.constraints.annotations.hv; - -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertNoViolations; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.assertThat; -import static org.hibernate.validator.testutil.ConstraintViolationAssert.violationOf; - -import java.util.Set; - -import jakarta.validation.ConstraintViolation; - -import org.hibernate.validator.constraints.ModCheck; -import org.hibernate.validator.test.constraints.annotations.AbstractConstrainedTest; - -import org.testng.annotations.Test; - -/** - * @author Marko Bekhta - */ -@SuppressWarnings("deprecation") -public class ModCheckConstrainedTest extends AbstractConstrainedTest { - - @Test - public void testModCheck() { - Foo foo = new Foo( "A79927398713" ); - Set> violations = validator.validate( foo ); - assertNoViolations( violations ); - } - - @Test - public void testModCheckInvalid() { - Foo foo = new Foo( "A79927398714" ); - Set> violations = validator.validate( foo ); - assertThat( violations ).containsOnlyViolations( - violationOf( ModCheck.class ) - ); - } - - private static class Foo { - - @ModCheck(multiplier = 2, modType = ModCheck.ModType.MOD10) - private final String string; - - public Foo(String string) { - this.string = string; - } - } -} diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java index af6c30911f..892d1910d3 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/MessagePropertiesTest.java @@ -56,7 +56,6 @@ import org.hibernate.validator.constraints.LuhnCheck; import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; -import org.hibernate.validator.constraints.ModCheck; import org.hibernate.validator.constraints.Normalized; import org.hibernate.validator.constraints.ParameterScriptAssert; import org.hibernate.validator.constraints.Range; @@ -83,7 +82,6 @@ * * @author Guillaume Smet */ -@SuppressWarnings("deprecation") public class MessagePropertiesTest { private static final List ALL_SUPPORTED_LOCALES = Arrays.asList( @@ -159,7 +157,6 @@ public void testMessageProperties() throws NoSuchMethodException, SecurityExcept violationOf( LuhnCheck.class ), violationOf( Mod10Check.class ), violationOf( Mod11Check.class ), - violationOf( ModCheck.class ), violationOf( Normalized.class ), violationOf( Range.class ), violationOf( UniqueElements.class ), @@ -305,9 +302,6 @@ private static class Bean { @Mod11Check private String mod11Check = "4"; - @ModCheck(multiplier = 2, modType = ModCheck.ModType.MOD10) - private String modCheck = "4"; - @Normalized(form = java.text.Normalizer.Form.NFKC) private String normalized = "\uFE64script\uFE65"; diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java index 179e4b5232..e648d2f96f 100644 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java +++ b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/PredefinedScopeAllConstraintsTest.java @@ -55,7 +55,6 @@ import org.hibernate.validator.constraints.LuhnCheck; import org.hibernate.validator.constraints.Mod10Check; import org.hibernate.validator.constraints.Mod11Check; -import org.hibernate.validator.constraints.ModCheck; import org.hibernate.validator.constraints.Normalized; import org.hibernate.validator.constraints.ParameterScriptAssert; import org.hibernate.validator.constraints.Range; @@ -82,7 +81,6 @@ * * @author Guillaume Smet */ -@SuppressWarnings("deprecation") public class PredefinedScopeAllConstraintsTest { @Test @@ -118,7 +116,6 @@ public void testConstraints() throws NoSuchMethodException, SecurityException { testConstraint( LuhnCheck.class, new LuhnCheckBean() ); testConstraint( Mod10Check.class, new Mod10CheckBean() ); testConstraint( Mod11Check.class, new Mod11CheckBean() ); - testConstraint( ModCheck.class, new ModCheckBean() ); testConstraint( Normalized.class, new NormalizedBean() ); testConstraint( Range.class, new RangeBean() ); testConstraint( UniqueElements.class, new UniqueElementsBean() ); @@ -347,12 +344,6 @@ private static class Mod11CheckBean { private String mod11Check = "4"; } - private static class ModCheckBean { - - @ModCheck(multiplier = 2, modType = ModCheck.ModType.MOD10) - private String modCheck = "4"; - } - private static class NormalizedBean { @Normalized(form = java.text.Normalizer.Form.NFKC) diff --git a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/ModCheckValidatorTest.java b/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/ModCheckValidatorTest.java deleted file mode 100644 index 5512ec6612..0000000000 --- a/engine/src/test/java/org/hibernate/validator/test/internal/constraintvalidators/hv/ModCheckValidatorTest.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.test.internal.constraintvalidators.hv; - -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; - -import org.hibernate.validator.constraints.ModCheck; -import org.hibernate.validator.internal.constraintvalidators.hv.ModCheckValidator; -import org.hibernate.validator.internal.util.annotation.ConstraintAnnotationDescriptor; -import org.hibernate.validator.testutil.MyCustomStringImpl; - -import org.testng.annotations.Test; - -/** - * Tests for the {@code ModCheckValidator}. - * - * @author Hardy Ferentschik - */ -@SuppressWarnings("deprecation") -public class ModCheckValidatorTest { - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testInvalidStartIndex() { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, -1, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - } - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testInvalidEndIndex() { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, -1, -1, false ); - validator.initialize( modCheck ); - } - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testEndIndexLessThanStartIndex() { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 5, 0, -1, false ); - validator.initialize( modCheck ); - } - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testInvalidCheckDigitPosition() { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, 10, 5, false ); - validator.initialize( modCheck ); - } - - @Test - public void testFailOnNonNumeric() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - - assertFalse( validator.isValid( new MyCustomStringImpl( "A79927398713" ), null ) ); - } - - @Test - public void testIgnoreNonNumeric() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, Integer.MAX_VALUE, -1, true ); - validator.initialize( modCheck ); - - assertTrue( validator.isValid( new MyCustomStringImpl( "A79927398713" ), null ) ); - } - - @Test - public void testValidMod10() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - - assertTrue( validator.isValid( "79927398713", null ) ); - } - - @Test - public void testInvalidMod10() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD10, 2, 0, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - - assertFalse( validator.isValid( new MyCustomStringImpl( "79927398714" ), null ) ); - } - - @Test - public void testValidMod11() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD11, 11, 0, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - - assertTrue( validator.isValid( "23322023583", null ) ); - - assertTrue( validator.isValid( "37879695001", null ) ); - - assertTrue( validator.isValid( "33181429643", null ) ); - } - - @Test - public void testInvalidMod11() throws Exception { - ModCheckValidator validator = new ModCheckValidator(); - ModCheck modCheck = createModCheckAnnotation( ModCheck.ModType.MOD11, 11, 0, Integer.MAX_VALUE, -1, false ); - validator.initialize( modCheck ); - - assertFalse( validator.isValid( "23322023584", null ) ); - - assertFalse( validator.isValid( "37879695002", null ) ); - - assertFalse( validator.isValid( "33181429652", null ) ); - - } - - private ModCheck createModCheckAnnotation(ModCheck.ModType modType, int multiplier, int start, int end, int checkDigitIndex, boolean ignoreNonDigits) { - ConstraintAnnotationDescriptor.Builder descriptorBuilder = new ConstraintAnnotationDescriptor.Builder<>( ModCheck.class ); - descriptorBuilder.setAttribute( "modType", modType ); - descriptorBuilder.setAttribute( "multiplier", multiplier ); - descriptorBuilder.setAttribute( "startIndex", start ); - descriptorBuilder.setAttribute( "endIndex", end ); - descriptorBuilder.setAttribute( "checkDigitPosition", checkDigitIndex ); - descriptorBuilder.setAttribute( "ignoreNonDigitCharacters", ignoreNonDigits ); - - return descriptorBuilder.build().getAnnotation(); - } -} From 08bb0b998ee1ea0dd996460aaa59eaa60a2fa4f8 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 19:06:00 +0200 Subject: [PATCH 6/9] HV-2038 Remove deprecated ReflectionParameterNameProvider --- .../ReflectionParameterNameProvider.java | 46 -------- .../ReflectionParameterNameProviderTest.java | 111 ------------------ 2 files changed, 157 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/parameternameprovider/ReflectionParameterNameProvider.java delete mode 100644 engine/src/test/java/org/hibernate/validator/test/parameternameprovider/ReflectionParameterNameProviderTest.java diff --git a/engine/src/main/java/org/hibernate/validator/parameternameprovider/ReflectionParameterNameProvider.java b/engine/src/main/java/org/hibernate/validator/parameternameprovider/ReflectionParameterNameProvider.java deleted file mode 100644 index ed12b718d0..0000000000 --- a/engine/src/main/java/org/hibernate/validator/parameternameprovider/ReflectionParameterNameProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.parameternameprovider; - -import static org.hibernate.validator.internal.util.CollectionHelper.newArrayList; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.lang.reflect.Parameter; -import java.util.List; - -import jakarta.validation.ParameterNameProvider; - -/** - * @author Khalid Alqinyah - * @since 5.2 - * @deprecated since 6.0 - getting the parameter names via reflection is now enabled by default. Planned for removal. - */ -@Deprecated -public class ReflectionParameterNameProvider implements ParameterNameProvider { - - @Override - public List getParameterNames(Constructor constructor) { - return getParameterNames( constructor.getParameters() ); - } - - @Override - public List getParameterNames(Method method) { - return getParameterNames( method.getParameters() ); - } - - private List getParameterNames(Parameter[] parameters) { - List parameterNames = newArrayList(); - - for ( Parameter parameter : parameters ) { - // If '-parameters' is used at compile time, actual names will be returned. Otherwise, it will be arg0, arg1... - parameterNames.add( parameter.getName() ); - } - - return parameterNames; - } -} diff --git a/engine/src/test/java/org/hibernate/validator/test/parameternameprovider/ReflectionParameterNameProviderTest.java b/engine/src/test/java/org/hibernate/validator/test/parameternameprovider/ReflectionParameterNameProviderTest.java deleted file mode 100644 index 0371fe4ec1..0000000000 --- a/engine/src/test/java/org/hibernate/validator/test/parameternameprovider/ReflectionParameterNameProviderTest.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.test.parameternameprovider; - -import static org.testng.Assert.assertEquals; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import jakarta.validation.ParameterNameProvider; - -import org.hibernate.validator.parameternameprovider.ReflectionParameterNameProvider; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -/** - * Tests for {@link org.hibernate.validator.parameternameprovider.ReflectionParameterNameProvider}. - * - * @author Khalid Alqinyah - */ -public class ReflectionParameterNameProviderTest { - - private ParameterNameProvider parameterNameProvider; - - @BeforeClass - @SuppressWarnings("deprecation") - public void setup() { - parameterNameProvider = new ReflectionParameterNameProvider(); - } - - @Test - public void testConstructorParametersZeroParameters() throws Exception { - List expected = Collections.emptyList(); - List actual = parameterNameProvider.getParameterNames( Foo.class.getConstructor() ); - assertEquals( actual, expected, "Constructor with zero parameters does not match expected" ); - } - - @Test - public void testConstructorParametersOneParameter() throws Exception { - List expected = Arrays.asList( "bar" ); - List actual = parameterNameProvider.getParameterNames( Foo.class.getConstructor( String.class ) ); - assertEquals( actual, expected, "Constructor with one parameter does not match expected" ); - } - - @Test - public void testConstructorParametersTwoParameters() throws Exception { - List expected = Arrays.asList( "bar", "baz" ); - List actual = parameterNameProvider.getParameterNames( - Foo.class.getConstructor( - String.class, - String.class - ) - ); - assertEquals( actual, expected, "Constructor with two parameters does not match expected" ); - } - - @Test - public void testMethodParametersZeroParameters() throws Exception { - List expected = Collections.emptyList(); - List actual = parameterNameProvider.getParameterNames( Foo.class.getMethod( "foo" ) ); - assertEquals( actual, expected, "Method with zero parameters does not match expected" ); - } - - @Test - public void testMethodParametersOneParameter() throws Exception { - List expected = Arrays.asList( "bar" ); - List actual = parameterNameProvider.getParameterNames( Foo.class.getMethod( "foo", String.class ) ); - assertEquals( actual, expected, "Method with one parameter does not match expected" ); - } - - @Test - public void testMethodParametersTwoParameters() throws Exception { - List expected = Arrays.asList( "bar", "baz" ); - List actual = parameterNameProvider.getParameterNames( - Foo.class.getMethod( - "foo", - String.class, - String.class - ) - ); - assertEquals( actual, expected, "Method with two parameters does not match expected" ); - } - - @SuppressWarnings("unused") - private static class Foo { - public Foo() { - } - - public Foo(String bar) { - } - - public Foo(String bar, String baz) { - } - - public void foo() { - } - - public void foo(String bar) { - } - - public void foo(String bar, String baz) { - } - } -} - From 2dc9d6758bf23b443ec9ef676343f436e98062d0 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 19:06:42 +0200 Subject: [PATCH 7/9] HV-2039 Remove deprecated PredefinedScopeHibernateValidatorConfiguration#initializeLocales --- ...edefinedScopeHibernateValidatorConfiguration.java | 8 -------- .../engine/PredefinedScopeConfigurationImpl.java | 12 ------------ 2 files changed, 20 deletions(-) diff --git a/engine/src/main/java/org/hibernate/validator/PredefinedScopeHibernateValidatorConfiguration.java b/engine/src/main/java/org/hibernate/validator/PredefinedScopeHibernateValidatorConfiguration.java index 5426f6c2e0..b574edb2ee 100644 --- a/engine/src/main/java/org/hibernate/validator/PredefinedScopeHibernateValidatorConfiguration.java +++ b/engine/src/main/java/org/hibernate/validator/PredefinedScopeHibernateValidatorConfiguration.java @@ -6,7 +6,6 @@ */ package org.hibernate.validator; -import java.util.Locale; import java.util.Set; /** @@ -26,13 +25,6 @@ public interface PredefinedScopeHibernateValidatorConfiguration extends BaseHibe @Incubating PredefinedScopeHibernateValidatorConfiguration initializeBeanMetaData(Set> beanClassesToInitialize); - /** - * @deprecated Planned for removal, use {@link BaseHibernateValidatorConfiguration#locales(Set)} instead. - */ - @Incubating - @Deprecated - PredefinedScopeHibernateValidatorConfiguration initializeLocales(Set locales); - /** * Specify whether to append the {@link #builtinConstraints(Set) built-in constraints} and {@link #initializeBeanMetaData(Set) beans to initialize} * with constraints and beans provided only through XML mapping. diff --git a/engine/src/main/java/org/hibernate/validator/internal/engine/PredefinedScopeConfigurationImpl.java b/engine/src/main/java/org/hibernate/validator/internal/engine/PredefinedScopeConfigurationImpl.java index bfeae2c8a2..3f3c185bb2 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/engine/PredefinedScopeConfigurationImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/engine/PredefinedScopeConfigurationImpl.java @@ -6,10 +6,7 @@ */ package org.hibernate.validator.internal.engine; -import static org.hibernate.validator.internal.util.logging.Messages.MESSAGES; - import java.util.Collections; -import java.util.Locale; import java.util.Set; import jakarta.validation.spi.BootstrapState; @@ -18,7 +15,6 @@ import org.hibernate.validator.PredefinedScopeHibernateValidatorConfiguration; import org.hibernate.validator.internal.util.CollectionHelper; -import org.hibernate.validator.internal.util.Contracts; /** * @author Guillaume Smet @@ -64,14 +60,6 @@ public boolean isIncludeBeansAndConstraintsDefinedOnlyInXml() { return includeBeansAndConstraintsDefinedOnlyInXml; } - @Override - @Deprecated - public PredefinedScopeHibernateValidatorConfiguration initializeLocales(Set localesToInitialize) { - Contracts.assertNotNull( localesToInitialize, MESSAGES.parameterMustNotBeNull( "localesToInitialize" ) ); - locales( localesToInitialize ); - return thisAsT(); - } - @Override public PredefinedScopeHibernateValidatorConfiguration includeBeansAndConstraintsDefinedOnlyInXml(boolean include) { this.includeBeansAndConstraintsDefinedOnlyInXml = include; From 2e7c63c1be9c62bb50e7b8578b3c1fc8e86b1550 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 19:12:23 +0200 Subject: [PATCH 8/9] HV-2040 Remove deprecated AnnotationProcessingOptions --- .../context/AnnotationProcessingOptions.java | 21 ------------------- .../PropertyConstraintMappingContext.java | 2 -- .../context/TypeConstraintMappingContext.java | 2 -- ...tPropertyConstraintMappingContextImpl.java | 6 ------ .../TypeConstraintMappingContextImpl.java | 6 ------ 5 files changed, 37 deletions(-) delete mode 100644 engine/src/main/java/org/hibernate/validator/cfg/context/AnnotationProcessingOptions.java diff --git a/engine/src/main/java/org/hibernate/validator/cfg/context/AnnotationProcessingOptions.java b/engine/src/main/java/org/hibernate/validator/cfg/context/AnnotationProcessingOptions.java deleted file mode 100644 index 8e7b64173c..0000000000 --- a/engine/src/main/java/org/hibernate/validator/cfg/context/AnnotationProcessingOptions.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Hibernate Validator, declare and validate application constraints - * - * License: Apache License, Version 2.0 - * See the license.txt file in the root directory or . - */ -package org.hibernate.validator.cfg.context; - -/** - * @author Hardy Ferentschik - * @deprecated Since 6.0. Planned for removal. Use {@link AnnotationIgnoreOptions#ignoreAnnotations(boolean)} instead. - */ -@Deprecated -public interface AnnotationProcessingOptions> { - - /** - * @deprecated Since 5.2. Planned for removal. Use {@link AnnotationIgnoreOptions#ignoreAnnotations(boolean)} instead. - */ - @Deprecated - C ignoreAnnotations(); -} diff --git a/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyConstraintMappingContext.java b/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyConstraintMappingContext.java index 3def41940d..72cead508d 100644 --- a/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyConstraintMappingContext.java +++ b/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyConstraintMappingContext.java @@ -14,7 +14,6 @@ * @author Gunnar Morling * @author Kevin Pollet <kevin.pollet@serli.com> (C) 2011 SERLI */ -@SuppressWarnings("deprecation") public interface PropertyConstraintMappingContext extends Constrainable, ConstraintMappingTarget, @@ -23,6 +22,5 @@ public interface PropertyConstraintMappingContext MethodTarget, ContainerElementTarget, Cascadable, - AnnotationProcessingOptions, AnnotationIgnoreOptions { } diff --git a/engine/src/main/java/org/hibernate/validator/cfg/context/TypeConstraintMappingContext.java b/engine/src/main/java/org/hibernate/validator/cfg/context/TypeConstraintMappingContext.java index 15f84da4c2..bb0ce4e02e 100644 --- a/engine/src/main/java/org/hibernate/validator/cfg/context/TypeConstraintMappingContext.java +++ b/engine/src/main/java/org/hibernate/validator/cfg/context/TypeConstraintMappingContext.java @@ -18,14 +18,12 @@ * @author Kevin Pollet <kevin.pollet@serli.com> (C) 2011 SERLI * @author Gunnar Morling */ -@SuppressWarnings("deprecation") public interface TypeConstraintMappingContext extends Constrainable>, ConstraintMappingTarget, PropertyTarget, MethodTarget, ConstructorTarget, - AnnotationProcessingOptions>, AnnotationIgnoreOptions> { /** diff --git a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java index 056470024c..3898c9c53c 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java @@ -48,12 +48,6 @@ protected AbstractPropertyConstraintMappingContextImpl getThis() { return this; } - @Override - @SuppressWarnings("deprecation") - public PropertyConstraintMappingContext ignoreAnnotations() { - return ignoreAnnotations( true ); - } - @Override public PropertyConstraintMappingContext ignoreAnnotations(boolean ignoreAnnotations) { mapping.getAnnotationProcessingOptions().ignoreConstraintAnnotationsOnMember( property, ignoreAnnotations ); diff --git a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java index db83a7240b..e7976d024d 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java @@ -79,12 +79,6 @@ public TypeConstraintMappingContext constraint(ConstraintDef definition return this; } - @Override - @Deprecated - public TypeConstraintMappingContext ignoreAnnotations() { - return ignoreAnnotations( true ); - } - @Override public TypeConstraintMappingContext ignoreAnnotations(boolean ignoreAnnotations) { mapping.getAnnotationProcessingOptions().ignoreClassLevelConstraintAnnotations( beanClass, ignoreAnnotations ); From 5052fb33f99b66bc13a38686663fa20cdff1915e Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Tue, 3 Sep 2024 19:25:19 +0200 Subject: [PATCH 9/9] HV-2043 Remove deprecated PropertyTarget#property --- .../validator/cfg/context/PropertyTarget.java | 20 ------------------- ...tPropertyConstraintMappingContextImpl.java | 8 -------- ...erElementConstraintMappingContextImpl.java | 7 ------- .../TypeConstraintMappingContextImpl.java | 17 ---------------- .../validator/internal/util/logging/Log.java | 3 --- .../test/cfg/ConstraintMappingTest.java | 6 ++---- 6 files changed, 2 insertions(+), 59 deletions(-) diff --git a/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyTarget.java b/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyTarget.java index 3546ce6dd0..c031dec171 100644 --- a/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyTarget.java +++ b/engine/src/main/java/org/hibernate/validator/cfg/context/PropertyTarget.java @@ -6,8 +6,6 @@ */ package org.hibernate.validator.cfg.context; -import java.lang.annotation.ElementType; - /** * Facet of a constraint mapping creational context which allows to select the bean * property to which the next operations shall apply. @@ -16,24 +14,6 @@ * @author Gunnar Morling */ public interface PropertyTarget { - /** - * Selects a property to which the next operations shall apply. - *

- * Until this method is called constraints apply on class level. After calling this method constraints - * apply on the specified property with the given access type. - *

- * A given property may only be configured once. - * - * @param property The property on which to apply the following constraints (Java Bean notation). - * @param type The access type (field/property). - * - * @return A creational context representing the selected property. - * - * @deprecated Since 6.1. Planned for removal. Use either {@link PropertyTarget#field(String)} or - * {@link PropertyTarget#getter(String)} instead. - */ - @Deprecated - PropertyConstraintMappingContext property(String property, ElementType type); /** * Selects a field to which the next operations shall apply. diff --git a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java index 3898c9c53c..1b4e5cc006 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/AbstractPropertyConstraintMappingContextImpl.java @@ -6,8 +6,6 @@ */ package org.hibernate.validator.internal.cfg.context; -import java.lang.annotation.ElementType; - import org.hibernate.validator.cfg.context.ConstructorConstraintMappingContext; import org.hibernate.validator.cfg.context.ContainerElementConstraintMappingContext; import org.hibernate.validator.cfg.context.MethodConstraintMappingContext; @@ -54,12 +52,6 @@ public PropertyConstraintMappingContext ignoreAnnotations(boolean ignoreAnnotati return this; } - @Override - @SuppressWarnings("deprecation") - public PropertyConstraintMappingContext property(String property, ElementType elementType) { - return typeContext.property( property, elementType ); - } - @Override public PropertyConstraintMappingContext field(String property) { return typeContext.field( property ); diff --git a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/ContainerElementConstraintMappingContextImpl.java b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/ContainerElementConstraintMappingContextImpl.java index 435ca701b0..e0d9c9e6a4 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/ContainerElementConstraintMappingContextImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/ContainerElementConstraintMappingContextImpl.java @@ -7,7 +7,6 @@ package org.hibernate.validator.internal.cfg.context; import java.lang.annotation.Annotation; -import java.lang.annotation.ElementType; import java.lang.invoke.MethodHandles; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -117,12 +116,6 @@ protected ContainerElementConstraintMappingContext getThis() { return this; } - @Override - @Deprecated - public PropertyConstraintMappingContext property(String property, ElementType elementType) { - return typeContext.property( property, elementType ); - } - @Override public PropertyConstraintMappingContext field(String property) { return typeContext.field( property ); diff --git a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java index e7976d024d..9f00c514b5 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java +++ b/engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java @@ -103,23 +103,6 @@ public TypeConstraintMappingContext defaultGroupSequenceProviderClass(Class