package org.ovirt.engine.core.common.validation; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.validation.annotation.SizeFromConfigValue; public class SizeFromConfigValueValidator implements ConstraintValidator<SizeFromConfigValue, Integer> { private Integer min = Integer.MIN_VALUE; private Integer max = Integer.MAX_VALUE; @Override public void initialize(SizeFromConfigValue constraintAnnotation) { if (constraintAnnotation.minConfig() != ConfigValues.Invalid) { min = Config.<Integer>getValue(constraintAnnotation.minConfig()); } if (constraintAnnotation.maxConfig() != ConfigValues.Invalid) { max = Config.<Integer>getValue(constraintAnnotation.maxConfig()); } if (constraintAnnotation.min() != -1) { min = constraintAnnotation.min(); } if (constraintAnnotation.max() != -1) { max = constraintAnnotation.max(); } } @Override public boolean isValid(Integer value, ConstraintValidatorContext context) { if (value > max || value < min) { return false; } return true; } }