Skip to content

Commit

Permalink
HV-1463 Add a clear() method to ScriptEvaluatorFactory
Browse files Browse the repository at this point in the history
  • Loading branch information
gsmet committed Oct 18, 2017
1 parent 704770d commit 6403bbb
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 0 deletions.
Expand Up @@ -12,4 +12,9 @@ public class CustomScriptEvaluatorFactory implements ScriptEvaluatorFactory {
public ScriptEvaluator getScriptEvaluatorByLanguageName(String languageName) {
return (script, bindings) -> true;
}

@Override
public void clear() {
// Nothing to do
}
}
Expand Up @@ -382,6 +382,7 @@ public void close() {
for ( BeanMetaDataManager beanMetaDataManager : beanMetaDataManagers.values() ) {
beanMetaDataManager.clear();
}
scriptEvaluatorFactory.clear();
}

Validator createValidator(ConstraintValidatorFactory constraintValidatorFactory,
Expand Down
Expand Up @@ -39,6 +39,11 @@ public ScriptEvaluator getScriptEvaluatorByLanguageName(String languageName) {
return scriptEvaluatorCache.computeIfAbsent( languageName, this::createNewScriptEvaluator );
}

@Override
public void clear() {
scriptEvaluatorCache.clear();
}

/**
* Creates a new script evaluator for the given language.
*
Expand Down
Expand Up @@ -6,6 +6,8 @@
*/
package org.hibernate.validator.scripting;

import javax.validation.ValidatorFactory;

import org.hibernate.validator.constraints.ParameterScriptAssert;
import org.hibernate.validator.constraints.ScriptAssert;

Expand All @@ -29,4 +31,12 @@ public interface ScriptEvaluatorFactory {
* found for a given {@code languageName}.
*/
ScriptEvaluator getScriptEvaluatorByLanguageName(String languageName);


/**
* Clear the state of the factory.
* <p>
* Called when the {@link ValidatorFactory} is closed.
*/
void clear();
}
Expand Up @@ -18,4 +18,9 @@ public class CustomScriptEvaluatorFactory implements ScriptEvaluatorFactory {
public ScriptEvaluator getScriptEvaluatorByLanguageName(String languageName) {
return (script, bindings) -> true;
}

@Override
public void clear() {
// Nothing to do
}
}

0 comments on commit 6403bbb

Please sign in to comment.