package org.ovirt.engine.core.config.entity.helper;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.ovirt.engine.core.config.entity.ConfigKey;
public class CustomPropertiesValueHelper extends StringValueHelper {
@Override
public ValidationResult validate(ConfigKey key, String value) {
String[] keyValuePairs = value.split(";");
for (int counter = 0; counter < keyValuePairs.length; counter++) {
String keyValuePair = keyValuePairs[counter];
String[] parts = keyValuePair.split("=", 2);
if (parts.length != 2) {
return new ValidationResult(false, "The entered value is in imporper format. " + keyValuePair + " cannot be used for custom properties definition.\nA string of key=value pair should be used instead, where the value should be a correct regex expression");
}
try {
Pattern.compile(parts[1]);
} catch (PatternSyntaxException ex) {
return new ValidationResult(false, "The entered value is in imporper format. " + parts[1] + " must be a valid regex expression");
}
}
return new ValidationResult(true);
}
}