package org.ovirt.engine.core.config.entity.helper;
import java.util.Arrays;
import java.util.Collection;
import org.apache.commons.collections.CollectionUtils;
import org.ovirt.engine.core.config.EngineConfigCLIParser;
import org.ovirt.engine.core.config.entity.ConfigKey;
/**
* This helper validates multiple values from the allowed
* values list. Given Values should be comma separated.
*
*/
public class StringMultipleValueHelper extends BaseValueHelper {
@Override
public String getValue(String value) {
return value;
}
@Override
public String setValue(String value) {
return value;
}
@Override
public ValidationResult validate(ConfigKey key, String value) {
Collection<String> validValues = key.getValidValues();
boolean isValid = false;
if (validValues.isEmpty() || value.equals("")) {
isValid = true;
} else {
isValid = CollectionUtils.isSubCollection(Arrays.asList(value.split(",")), validValues);
}
return new ValidationResult(isValid);
}
@Override
public void setParser(EngineConfigCLIParser parser) {
// NOP
}
@Override
public String getHelpNote(ConfigKey key) {
return getHelpNoteByType(key, "a comma delimited subset of any of the possible values");
}
}