Inject the ValidatorFactory instead of Validator.
This prevents the Spring Validator Factory from being injected (it does not support the 1.1 methods)
This commit is contained in:
@@ -30,6 +30,7 @@ import javax.annotation.PostConstruct;
|
|||||||
import javax.validation.ConstraintViolation;
|
import javax.validation.ConstraintViolation;
|
||||||
import javax.validation.Validation;
|
import javax.validation.Validation;
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
|
import javax.validation.ValidatorFactory;
|
||||||
import javax.validation.executable.ExecutableValidator;
|
import javax.validation.executable.ExecutableValidator;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -64,7 +65,6 @@ public class Shell implements CommandRegistry {
|
|||||||
@Autowired
|
@Autowired
|
||||||
protected ApplicationContext applicationContext;
|
protected ApplicationContext applicationContext;
|
||||||
|
|
||||||
@Autowired(required = false)
|
|
||||||
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||||
|
|
||||||
protected Map<String, MethodTarget> methodTargets = new HashMap<>();
|
protected Map<String, MethodTarget> methodTargets = new HashMap<>();
|
||||||
@@ -81,6 +81,11 @@ public class Shell implements CommandRegistry {
|
|||||||
this.resultHandler = resultHandler;
|
this.resultHandler = resultHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
public void setValidatorFactory(ValidatorFactory validatorFactory) {
|
||||||
|
this.validator = validatorFactory.getValidator();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, MethodTarget> listCommands() {
|
public Map<String, MethodTarget> listCommands() {
|
||||||
return methodTargets;
|
return methodTargets;
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import com.beust.jcommander.ParametersDelegate;
|
|||||||
|
|
||||||
import javax.validation.Validation;
|
import javax.validation.Validation;
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
|
import javax.validation.ValidatorFactory;
|
||||||
import javax.validation.metadata.BeanDescriptor;
|
import javax.validation.metadata.BeanDescriptor;
|
||||||
import javax.validation.metadata.MethodDescriptor;
|
import javax.validation.metadata.MethodDescriptor;
|
||||||
import javax.validation.metadata.ParameterDescriptor;
|
import javax.validation.metadata.ParameterDescriptor;
|
||||||
@@ -59,9 +60,13 @@ public class JCommanderParameterResolver implements ParameterResolver {
|
|||||||
private static final Collection<Class<? extends Annotation>> JCOMMANDER_ANNOTATIONS =
|
private static final Collection<Class<? extends Annotation>> JCOMMANDER_ANNOTATIONS =
|
||||||
Arrays.asList(Parameter.class, DynamicParameter.class, ParametersDelegate.class);
|
Arrays.asList(Parameter.class, DynamicParameter.class, ParametersDelegate.class);
|
||||||
|
|
||||||
@Autowired(required = false)
|
|
||||||
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
public void setValidatorFactory(ValidatorFactory validatorFactory) {
|
||||||
|
this.validator = validatorFactory.getValidator();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean supports(MethodParameter parameter) {
|
public boolean supports(MethodParameter parameter) {
|
||||||
AtomicBoolean isSupported = new AtomicBoolean(false);
|
AtomicBoolean isSupported = new AtomicBoolean(false);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.springframework.util.ReflectionUtils;
|
|||||||
|
|
||||||
import javax.validation.Validation;
|
import javax.validation.Validation;
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
|
import javax.validation.ValidatorFactory;
|
||||||
import javax.validation.metadata.MethodDescriptor;
|
import javax.validation.metadata.MethodDescriptor;
|
||||||
import javax.validation.metadata.ParameterDescriptor;
|
import javax.validation.metadata.ParameterDescriptor;
|
||||||
|
|
||||||
@@ -63,9 +64,14 @@ public class LegacyParameterResolver implements ParameterResolver {
|
|||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
private Collection<Converter<?>> converters = new ArrayList<>();
|
private Collection<Converter<?>> converters = new ArrayList<>();
|
||||||
|
|
||||||
@Autowired(required = false)
|
|
||||||
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
public void setValidatorFactory(ValidatorFactory validatorFactory) {
|
||||||
|
this.validator = validatorFactory.getValidator();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean supports(MethodParameter parameter) {
|
public boolean supports(MethodParameter parameter) {
|
||||||
return parameter.hasParameterAnnotation(CliOption.class);
|
return parameter.hasParameterAnnotation(CliOption.class);
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.springframework.shell.standard.ShellOption;
|
|||||||
|
|
||||||
import javax.validation.MessageInterpolator;
|
import javax.validation.MessageInterpolator;
|
||||||
import javax.validation.Validation;
|
import javax.validation.Validation;
|
||||||
|
import javax.validation.ValidatorFactory;
|
||||||
import javax.validation.metadata.ConstraintDescriptor;
|
import javax.validation.metadata.ConstraintDescriptor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -72,7 +73,6 @@ public class Help {
|
|||||||
|
|
||||||
private CommandRegistry commandRegistry;
|
private CommandRegistry commandRegistry;
|
||||||
|
|
||||||
@Autowired(required = false)
|
|
||||||
private MessageInterpolator messageInterpolator = Validation.buildDefaultValidatorFactory()
|
private MessageInterpolator messageInterpolator = Validation.buildDefaultValidatorFactory()
|
||||||
.getMessageInterpolator();
|
.getMessageInterpolator();
|
||||||
|
|
||||||
@@ -86,6 +86,13 @@ public class Help {
|
|||||||
this.commandRegistry = commandRegistry;
|
this.commandRegistry = commandRegistry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
public void setValidatorFactory(ValidatorFactory validatorFactory) {
|
||||||
|
this.messageInterpolator = validatorFactory.getMessageInterpolator();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ShellMethod(value = "Display help about available commands.", prefix = "-")
|
@ShellMethod(value = "Display help about available commands.", prefix = "-")
|
||||||
public CharSequence help(
|
public CharSequence help(
|
||||||
@ShellOption(defaultValue = ShellOption.NULL, valueProvider = CommandValueProvider.class, value = { "-C",
|
@ShellOption(defaultValue = ShellOption.NULL, valueProvider = CommandValueProvider.class, value = { "-C",
|
||||||
|
|||||||
@@ -54,10 +54,7 @@ import org.springframework.util.Assert;
|
|||||||
import org.springframework.util.ConcurrentReferenceHashMap;
|
import org.springframework.util.ConcurrentReferenceHashMap;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
import javax.validation.MessageInterpolator;
|
import javax.validation.*;
|
||||||
import javax.validation.Valid;
|
|
||||||
import javax.validation.Validation;
|
|
||||||
import javax.validation.Validator;
|
|
||||||
import javax.validation.metadata.MethodDescriptor;
|
import javax.validation.metadata.MethodDescriptor;
|
||||||
import javax.validation.metadata.ParameterDescriptor;
|
import javax.validation.metadata.ParameterDescriptor;
|
||||||
|
|
||||||
@@ -115,9 +112,14 @@ public class StandardParameterResolver implements ParameterResolver {
|
|||||||
this.valueProviders = valueProviders;
|
this.valueProviders = valueProviders;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired(required = false)
|
|
||||||
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
public void setValidatorFactory(ValidatorFactory validatorFactory) {
|
||||||
|
this.validator = validatorFactory.getValidator();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean supports(MethodParameter parameter) {
|
public boolean supports(MethodParameter parameter) {
|
||||||
boolean optOut = parameter.hasParameterAnnotation(ShellOption.class)
|
boolean optOut = parameter.hasParameterAnnotation(ShellOption.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user