protected void validateIntegerFields (String[] fieldNames, boolean areRequiredFields, Integer[] mins, Integer[] maxes, Map<String, Object> conf) throws
ComponentConfigException {
if ((fieldNames == null) || (fieldNames.length != mins.length) ||
(fieldNames.length != maxes.length)) {
return;
}
for (int i = 0; i < fieldNames.length; ++i) {
String fieldName = fieldNames[i];
Object value = conf.get(fieldName);
Integer min = mins[i];
Integer max = maxes[i];
boolean isValid = true;
if (areRequiredFields) {
if (!ConfigFieldValidation.isIntAndInRange(value, min, max)) {
isValid = false;
}
} else {
if ((value != null) && !ConfigFieldValidation.isIntAndInRange(value, min, max)) {
isValid = false;
}
}
if (!isValid) {
throw new ComponentConfigException(String.format(TopologyLayoutConstants.ERR_MSG_MISSING_INVALID_CONFIG, fieldName));
}
}
}