in src/main/java/org/apache/commons/cli/Parser.java [272:305]
protected void processProperties(final Properties properties) throws ParseException {
if (properties == null) {
return;
}
for (final Enumeration<?> e = properties.propertyNames(); e.hasMoreElements();) {
final String option = e.nextElement().toString();
final Option opt = options.getOption(option);
if (opt == null) {
throw new UnrecognizedOptionException("Default option wasn't defined", option);
}
// if the option is part of a group, check if another option of the group has been selected
final OptionGroup group = options.getOptionGroup(opt);
final boolean selected = group != null && group.isSelected();
if (!cmd.hasOption(option) && !selected) {
// get the value from the properties instance
final String value = properties.getProperty(option);
if (opt.hasArg()) {
if (Util.isEmpty(opt.getValues())) {
try {
opt.processValue(value);
} catch (final RuntimeException exp) { // NOPMD
// if we cannot add the value don't worry about it
}
}
} else if (!("yes".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value))) {
// if the value is not yes, true or 1 then don't add the
// option to the CommandLine
continue;
}
cmd.addOption(opt);
updateRequiredOptions(opt);
}
}
}