You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by mb...@apache.org on 2016/09/29 16:17:30 UTC
svn commit: r1762808 -
/bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
Author: mbenson
Date: Thu Sep 29 16:17:30 2016
New Revision: 1762808
URL: http://svn.apache.org/viewvc?rev=1762808&view=rev
Log:
cleanup
Modified:
bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
Modified: bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
URL: http://svn.apache.org/viewvc/bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java?rev=1762808&r1=1762807&r2=1762808&view=diff
==============================================================================
--- bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java (original)
+++ bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java Thu Sep 29 16:17:30 2016
@@ -32,7 +32,7 @@ import javax.validation.ValidatorContext
/**
* Description: Represents the context that is used to create
- * <code>ClassValidator</code> instances.<br/>
+ * {@link ClassValidator} instances.
*/
@Privilizing(@CallTo(Reflection.class))
public class ApacheFactoryContext implements ValidatorContext {
@@ -74,7 +74,17 @@ public class ApacheFactoryContext implem
return metaBeanFinder;
}
- private synchronized void resetMeta() { // ensure to ingnore the cache and rebuild constraint with new model
+ /**
+ * Discard cached metadata. Calling this method unnecessarily has the effect of severly
+ * limiting performance, therefore only do so when changes have been made that affect
+ * validation metadata, i.e. particularly NOT in response to:
+ * <ul>
+ * <li>{@link #messageInterpolator(MessageInterpolator)}</li>
+ * <li>{@link #traversableResolver(TraversableResolver)}</li>
+ * <li>{@link #constraintValidatorFactory(ConstraintValidatorFactory)</li>
+ * </ul>
+ */
+ private synchronized void resetMeta() {
metaBeanFinder = factory.buildMetaBeanFinder();
}
@@ -83,7 +93,6 @@ public class ApacheFactoryContext implem
*/
public ValidatorContext messageInterpolator(MessageInterpolator messageInterpolator) {
this.messageInterpolator = messageInterpolator;
- // resetMeta();, see traversableResolver() comment
return this;
}
@@ -92,8 +101,6 @@ public class ApacheFactoryContext implem
*/
public ValidatorContext traversableResolver(TraversableResolver traversableResolver) {
this.traversableResolver = traversableResolver;
- // meta are not affected by this so don't call resetMeta();
- // implementor note: this is what does hibernate and loosing our cache cause of resetMeta() call makes it super slow!
return this;
}
@@ -102,13 +109,12 @@ public class ApacheFactoryContext implem
*/
public ValidatorContext constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory) {
this.constraintValidatorFactory = constraintValidatorFactory;
- // same note as traversableResolver resetMeta();
return this;
}
public ValidatorContext parameterNameProvider(ParameterNameProvider parameterNameProvider) {
this.parameterNameProvider = parameterNameProvider;
- resetMeta(); // needed since param names are capture during processing
+ resetMeta(); // needed since parameter names are a component of validation metadata
return this;
}