ProgramOptions.getValidOptions();
StringBuilder sb = new StringBuilder();
sb.append(programOpts.getCommandName());
for (Map.Entry<String,List<String>> p : params.entrySet()) {
// find the corresponding ParamModel
ParamModel opt = null;
for (ParamModel vo : programOptions) {
if (vo.getName().equalsIgnoreCase(p.getKey())) {
opt = vo;
break;
}
}
if (opt == null) {
continue;
}
// format the option appropriately
sb.append(" --").append(p.getKey());
List<String> pl = p.getValue();
// XXX - won't handle multi-values
if (opt.getType() == Boolean.class ||
opt.getType() == boolean.class) {
if (!pl.get(0).equalsIgnoreCase("true")) {
sb.append("=false");
}
} else if (pl != null && pl.size() > 0) {
sb.append(" ").append(pl.get(0));