[hibernate-commits] [hibernate/hibernate-validator] 097453: HV-823 Provide contract for customization of prope...

Guillaume Smet noreply at github.com
Tue May 14 09:20:29 EDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-validator
  Commit: 0974534ff1a56e9082106f6912fe0ad046177d1b
      https://github.com/hibernate/hibernate-validator/commit/0974534ff1a56e9082106f6912fe0ad046177d1b
  Author: Damir Alibegovic <damir.alibegovic at olmero.ch>
  Date:   2019-05-14 (Tue, 14 May 2019)

  Changed paths:
    M copyright.txt
    M documentation/pom.xml
    M documentation/src/main/asciidoc/ch12.asciidoc
    A documentation/src/test/java/org/hibernate/validator/referenceguide/chapter12/nodenameprovider/JacksonPropertyNodeNameProvider.java
    A documentation/src/test/java/org/hibernate/validator/referenceguide/chapter12/nodenameprovider/JacksonPropertyNodeNameProviderTest.java
    A documentation/src/test/java/org/hibernate/validator/referenceguide/chapter12/nodenameprovider/Person.java
    A documentation/src/test/java/org/hibernate/validator/referenceguide/chapter12/nodenameprovider/PersonSerializationTest.java
    A documentation/src/test/java/org/hibernate/validator/referenceguide/chapter12/nodenameprovider/clarkKent.json
    M engine/pom.xml
    M engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/AbstractConfigurationImpl.java
    A engine/src/main/java/org/hibernate/validator/internal/engine/DefaultPropertyNodeNameProvider.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/PredefinedScopeValidatorFactoryImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidatorFactoryConfigurationHelper.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidatorFactoryImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/metadata/aggregated/AbstractPropertyCascadable.java
    M engine/src/main/java/org/hibernate/validator/internal/metadata/location/AbstractPropertyConstraintLocation.java
    M engine/src/main/java/org/hibernate/validator/internal/metadata/provider/AnnotationMetaDataProvider.java
    M engine/src/main/java/org/hibernate/validator/internal/properties/Property.java
    M engine/src/main/java/org/hibernate/validator/internal/properties/javabean/JavaBeanField.java
    M engine/src/main/java/org/hibernate/validator/internal/properties/javabean/JavaBeanGetter.java
    M engine/src/main/java/org/hibernate/validator/internal/properties/javabean/JavaBeanHelper.java
    M engine/src/main/java/org/hibernate/validator/internal/util/logging/Log.java
    M engine/src/main/java/org/hibernate/validator/internal/xml/config/ValidationBootstrapParameters.java
    A engine/src/main/java/org/hibernate/validator/spi/nodenameprovider/JavaBeanProperty.java
    A engine/src/main/java/org/hibernate/validator/spi/nodenameprovider/Property.java
    A engine/src/main/java/org/hibernate/validator/spi/nodenameprovider/PropertyNodeNameProvider.java
    M engine/src/test/java/org/hibernate/validator/test/internal/engine/path/PathImplTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/BeanMetaDataManagerTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/aggregated/ExecutableMetaDataTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/aggregated/ParameterMetaDataTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/aggregated/PropertyMetaDataTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/core/MetaConstraintTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/location/ConstraintLocationTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/provider/AnnotationMetaDataProviderTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/provider/AnnotationMetaDataProviderTestBase.java
    M engine/src/test/java/org/hibernate/validator/test/internal/metadata/provider/TypeAnnotationMetaDataRetrievalTest.java
    M engine/src/test/java/org/hibernate/validator/test/internal/xml/MappingXmlParserTest.java
    A engine/src/test/java/org/hibernate/validator/test/spi/nodenameprovider/AnnotationPropertyNodeNameProvider.java
    A engine/src/test/java/org/hibernate/validator/test/spi/nodenameprovider/PropertyNodeNameProviderTest.java
    A engine/src/test/java/org/hibernate/validator/test/spi/nodenameprovider/jackson/JacksonAnnotationPropertyNodeNameProvider.java
    A engine/src/test/java/org/hibernate/validator/test/spi/nodenameprovider/jackson/JacksonAnnotationPropertyNodeNameProviderTest.java
    M pom.xml

  Log Message:
  -----------
  HV-823 Provide contract for customization of property names in constraint violation

Added PropertyNodeNameProvider SPI with Property and JavaBeanProperty as supporting interfaces.

This SPI lives in JavaBeanHelper and is used to get the name when creating JavaBeanField and JavaBeanGetter,
so when a property path is constructed, this resolved name is used.

If not set, the default implementation will be used that returns the actual name from the class.

This new SPI can be configured through HibernateValidatorConfiguration.

Testing:
- Added tests for configuration
- Added a sample implementation by using reflection and custom annotation
- Added tests for reflection implementation
- Added a sample implementation by using Jackson lib
- Added tests for Jackson implementation

Added documentation with examples.


  Commit: 7af945416378502b4e4d17f6ce5bfa12a533c022
      https://github.com/hibernate/hibernate-validator/commit/7af945416378502b4e4d17f6ce5bfa12a533c022
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2019-05-14 (Tue, 14 May 2019)

  Changed paths:
    M documentation/src/main/asciidoc/ch12.asciidoc

  Log Message:
  -----------
  HV-823 Minor adjustments to the documentation


Compare: https://github.com/hibernate/hibernate-validator/compare/c9f7a0b59d49...7af945416378


More information about the hibernate-commits mailing list