Branch: refs/heads/HV-1480
Home:
https://github.com/hibernate/hibernate-validator
Commit: a85da1b9d432d8c6c8729ce9b8f3e77c9634bc0b
https://github.com/hibernate/hibernate-validator/commit/a85da1b9d432d8c6c...
Author: Guillaume Smet <guillaume.smet(a)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/b8fce4b93cf99de6d...
Author: Guillaume Smet <guillaume.smet(a)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/304c78415e415d0d3...
Author: Guillaume Smet <guillaume.smet(a)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/84bacbd6826afe1e8...
Author: Guillaume Smet <guillaume.smet(a)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/cc2bf54c78905379d...
Author: Guillaume Smet <guillaume.smet(a)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/7161f7d2cb848e7f4...
Author: Guillaume Smet <guillaume.smet(a)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/4252c984b5901e634...
Author: Guillaume Smet <guillaume.smet(a)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/158f57c44de57f72e...
Author: Guillaume Smet <guillaume.smet(a)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/6db42cc44fb396794...
Author: Guillaume Smet <guillaume.smet(a)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/f81fa40b5e46b9211...
Author: Guillaume Smet <guillaume.smet(a)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/412599081a8d8ff51...
Author: Guillaume Smet <guillaume.smet(a)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/375f78976b07e6b73...
Author: Guillaume Smet <guillaume.smet(a)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/f9714f9cb83b1face...
Author: Guillaume Smet <guillaume.smet(a)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/4983013bc43475262...
Author: Guillaume Smet <guillaume.smet(a)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/b695ad78505dc9e7b...
Author: Guillaume Smet <guillaume.smet(a)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/51a0af1a3b25179ac...
Author: Guillaume Smet <guillaume.smet(a)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/94345023d20798855...
Author: Guillaume Smet <guillaume.smet(a)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/491ec2885e77b29ac...
Author: Guillaume Smet <guillaume.smet(a)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/49b6bf5c0be9c0325...
Author: Guillaume Smet <guillaume.smet(a)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/f4157ac9184210f48...
Author: Gunnar Morling <gunnar.morling(a)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/cb4f9b5dfe7a14f5e...
Author: Guillaume Smet <guillaume.smet(a)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^......