* Load the cluster spec by parsing the command line option set
*/
protected ClusterSpec getClusterSpec(OptionSet optionSet) throws ConfigurationException {
Configuration optionsConfig = new PropertiesConfiguration();
for (Map.Entry<Property, OptionSpec<?>> entry : optionSpecs.entrySet()) {
Property property = entry.getKey();
OptionSpec<?> option = entry.getValue();
Object value;
if (property.hasMultipleArguments()) {
value = optionSet.valuesOf(option);
} else {
value = optionSet.valueOf(option);
}
if (value == null && property.getType().equals(Boolean.class) && optionSet.has(property.getSimpleName())) {
value = Boolean.TRUE.toString();
}
if (value != null) {
optionsConfig.setProperty(property.getConfigName(), value);
}
}
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(optionsConfig);
if (optionSet.has(configOption)) {