use of org.kohsuke.stapler.export.ModelBuilder in project hudson-2.x by hudson.
the class ListChangesCommand method act.
@Override
protected int act(List<AbstractBuild<?, ?>> builds) throws IOException {
// No other permission check needed.
switch(format) {
case XML:
PrintWriter w = new PrintWriter(stdout);
w.println("<changes>");
for (AbstractBuild build : builds) {
w.println("<build number='" + build.getNumber() + "'>");
ChangeLogSet<?> cs = build.getChangeSet();
Model p = new ModelBuilder().get(cs.getClass());
p.writeTo(cs, Flavor.XML.createDataWriter(cs, w));
w.println("</build>");
}
w.println("</changes>");
w.flush();
break;
case CSV:
for (AbstractBuild build : builds) {
ChangeLogSet<?> cs = build.getChangeSet();
for (Entry e : cs) {
stdout.printf("%s,%s\n", QuotedStringTokenizer.quote(e.getAuthor().getId()), QuotedStringTokenizer.quote(e.getMsg()));
}
}
break;
case PLAIN:
for (AbstractBuild build : builds) {
ChangeLogSet<?> cs = build.getChangeSet();
for (Entry e : cs) {
stdout.printf("%s\t%s\n", e.getAuthor(), e.getMsg());
for (String p : e.getAffectedPaths()) stdout.println(" " + p);
}
}
break;
}
return 0;
}
Aggregations