[hibernate-commits] [hibernate/hibernate-validator] a85da1: HV-1480 Add a hv-6.0 entry to be able to compare t...

GitHub noreply at github.com
Wed Oct 4 09:47:18 EDT 2017


  Branch: refs/heads/HV-1480
  Home:   https://github.com/hibernate/hibernate-validator
  Commit: a85da1b9d432d8c6c8729ce9b8f3e77c9634bc0b
      https://github.com/hibernate/hibernate-validator/commit/a85da1b9d432d8c6c8729ce9b8f3e77c9634bc0b
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M performance/pom.xml

  Log Message:
  -----------
  HV-1480 Add a hv-6.0 entry to be able to compare the latest stable with
our current snapshot


  Commit: b8fce4b93cf99de6db29e6195f21da3b5d8f9d14
      https://github.com/hibernate/hibernate-validator/commit/b8fce4b93cf99de6db29e6195f21da3b5d8f9d14
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M performance/README.md
    A performance/src/main/java/org/hibernate/validator/performance/cascaded/CascadedWithLotsOfItemsValidation.java

  Log Message:
  -----------
  HV-1480 Add a benchmark validating a bean containing a lot of beans to
cascade to


  Commit: 304c78415e415d0d308193e42863c778fd111bfc
      https://github.com/hibernate/hibernate-validator/commit/304c78415e415d0d308193e42863c778fd111bfc
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Avoid removing and adding element to the node list

We can directly set the element in the list. It avoids some list
resizing.


  Commit: 84bacbd6826afe1e82f21bb53bfc7288acef8121
      https://github.com/hibernate/hibernate-validator/commit/84bacbd6826afe1e82f21bb53bfc7288acef8121
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Copy the hashCode in the copy constructor


  Commit: cc2bf54c78905379d9ce38d5fb9468e8b7e25140
      https://github.com/hibernate/hibernate-validator/commit/cc2bf54c78905379d9ce38d5fb9468e8b7e25140
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/groups/DefaultValidationOrder.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/groups/ValidationOrder.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/groups/ValidationOrderGenerator.java

  Log Message:
  -----------
  HV-1480 Avoid initializing lists and maps in the common case where we
only have the default group

Also optimize a bit the advanced case with groups.


  Commit: 7161f7d2cb848e7f415cee930f4f535ca129a43a
      https://github.com/hibernate/hibernate-validator/commit/7161f7d2cb848e7f415cee930f4f535ca129a43a
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/constraintvalidation/ConstraintValidatorContextImpl.java

  Log Message:
  -----------
  HV-1480 Avoid creating a list in the common case when we only have the
default violation

Also optimize a bit the concatenation of the default violation and the
custom ones to avoid creating a list too small and resize it each time.


  Commit: 4252c984b5901e6349f2d5acc9323ae8a06e887a
      https://github.com/hibernate/hibernate-validator/commit/4252c984b5901e6349f2d5acc9323ae8a06e887a
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/NodeImpl.java

  Log Message:
  -----------
  HV-1480 Avoid computing the hashCode if not necessary

A lot of NodeImpls are created during the build of the path and some of
them are simply discarded as they are "modified" (NodeImpl are immutable
so we create a new) further away. Thus we better avoid building the
hashCode each time.


  Commit: 158f57c44de57f72eccbeaaf97cc4c106b31777f
      https://github.com/hibernate/hibernate-validator/commit/158f57c44de57f72eccbeaaf97cc4c106b31777f
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/NodeImpl.java

  Log Message:
  -----------
  HV-1480 Don't take into account the parent in hashCode and equals

Otherwise, we "compare" the whole path several times while comparing a
path.


  Commit: 6db42cc44fb396794b9a5ce045472741ef0b8584
      https://github.com/hibernate/hibernate-validator/commit/6db42cc44fb396794b9a5ce045472741ef0b8584
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Implement a copy on write strategy for the node list

It avoids copying the list when not strictly necessary


  Commit: f81fa40b5e46b92110d05157ac279bc0e1795120
      https://github.com/hibernate/hibernate-validator/commit/f81fa40b5e46b92110d05157ac279bc0e1795120
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidationContext.java

  Log Message:
  -----------
  HV-1480 Centralize the processed works in one single set

It avoids a lot of initialization/resizing and in the end it's more
efficient.


  Commit: 412599081a8d8ff5142898ebb21c6f263662ab85
      https://github.com/hibernate/hibernate-validator/commit/412599081a8d8ff5142898ebb21c6f263662ab85
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidatorImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValueContext.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/constraintvalidation/ConstraintValidatorContextImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/NodeImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/metadata/core/MetaConstraint.java

  Log Message:
  -----------
  HV-1480 Setting the key or the index already makes the node iterable

So we don't need to do it twice. Note that this change uncovers the fact
that in ConstraintValidatorContext, calling atKey() or atIndex() makes
the node iterable.

It was already the case before and I think it's acceptable.

It brings its own performance improvements as it avoids initializing 1
NodeImpl and creating 1 copy of the Path.


  Commit: 375f78976b07e6b7382a9357d48f1d24a6bfa3fe
      https://github.com/hibernate/hibernate-validator/commit/375f78976b07e6b7382a9357d48f1d24a6bfa3fe
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 We expect at least one node in the path so let's initialize the
list with one element

It doesn't seem necessary to consider more elements as the list will be
copied when new nodes will be added.


  Commit: f9714f9cb83b1face3410ffdbb2e61474f3928fd
      https://github.com/hibernate/hibernate-validator/commit/f9714f9cb83b1face3410ffdbb2e61474f3928fd
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Even if not strictly necessary, the leaf node should be
correctly set in all constructors


  Commit: 4983013bc434752628ffba9d0c65bf63eb2410f3
      https://github.com/hibernate/hibernate-validator/commit/4983013bc434752628ffba9d0c65bf63eb2410f3
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M performance/src/main/java/org/hibernate/validator/performance/cascaded/CascadedValidation.java
    M performance/src/main/java/org/hibernate/validator/performance/simple/SimpleValidation.java

  Log Message:
  -----------
  HV-1480 Reduce the number of iterations in the other benchmarks


  Commit: b695ad78505dc9e7b5bca64f04a3db047639b157
      https://github.com/hibernate/hibernate-validator/commit/b695ad78505dc9e7b5bca64f04a3db047639b157
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M performance/src/main/java/org/hibernate/validator/performance/BenchmarkRunner.java

  Log Message:
  -----------
  HV-1480 Add the new benchmark to the default benchmarks


  Commit: 51a0af1a3b25179ac2c051ecb6dde7a12d8751d6
      https://github.com/hibernate/hibernate-validator/commit/51a0af1a3b25179ac2c051ecb6dde7a12d8751d6
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidationContext.java

  Log Message:
  -----------
  HV-1480 Some more optimizations suggested by Sanne


  Commit: 94345023d20798855bdab0778733a248febeef41
      https://github.com/hibernate/hibernate-validator/commit/94345023d20798855bdab0778733a248febeef41
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M performance/README.md
    A performance/src/main/java/org/hibernate/validator/performance/cascaded/CascadedWithLotsOfItemsAndMoreConstraintsValidation.java

  Log Message:
  -----------
  HV-1480 Add another benchmark


  Commit: 491ec2885e77b29acd26e95ce05eb9b7fedc7039
      https://github.com/hibernate/hibernate-validator/commit/491ec2885e77b29acd26e95ce05eb9b7fedc7039
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/test/java/org/hibernate/validator/test/internal/engine/groups/validation/GroupValidationTest.java

  Log Message:
  -----------
  Mark a test as candidate for the TCK


  Commit: 49b6bf5c0be9c0325f65dc27fc653cc13755f9a8
      https://github.com/hibernate/hibernate-validator/commit/49b6bf5c0be9c0325f65dc27fc653cc13755f9a8
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-09-11 (Mon, 11 Sep 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValueContext.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Only set the property value if required

Only property and container node exposes it to users.


  Commit: f4157ac9184210f4886fc851bf1c00c072e42fd5
      https://github.com/hibernate/hibernate-validator/commit/f4157ac9184210f4886fc851bf1c00c072e42fd5
  Author: Gunnar Morling <gunnar.morling at googlemail.com>
  Date:   2017-10-04 (Wed, 04 Oct 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/path/PathImpl.java

  Log Message:
  -----------
  HV-1480 Getting reference to parent node in a simpler way


  Commit: cb4f9b5dfe7a14f5ecd31f8979c7836d7b1f3c03
      https://github.com/hibernate/hibernate-validator/commit/cb4f9b5dfe7a14f5ecd31f8979c7836d7b1f3c03
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2017-10-04 (Wed, 04 Oct 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/validator/internal/engine/ConfigurationImpl.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/ValidatorImpl.java
    R engine/src/main/java/org/hibernate/validator/internal/engine/resolver/DefaultTraversableResolver.java
    M engine/src/main/java/org/hibernate/validator/internal/engine/resolver/JPATraversableResolver.java
    A engine/src/main/java/org/hibernate/validator/internal/engine/resolver/TraversableResolvers.java
    A engine/src/main/java/org/hibernate/validator/internal/engine/resolver/TraverseAllTraversableResolver.java
    M engine/src/test/java/org/hibernate/validator/test/internal/engine/traversableresolver/JpaTraversableResolverTest.java

  Log Message:
  -----------
  HV-1480 If we are using a traverse all TraversableResolver, don't wrap
it into a caching one

It avoids quite a lot of useless map lookups.

Originally suggested by Chris Narburgh.


Compare: https://github.com/hibernate/hibernate-validator/compare/a85da1b9d432^...cb4f9b5dfe7a


More information about the hibernate-commits mailing list