James Moger
2014-03-23 1c7917fa526925c672d4e5dd336d5b93aa51e6a5
src/main/java/com/gitblit/transport/ssh/commands/ListCommand.java
@@ -22,6 +22,8 @@
import org.kohsuke.args4j.Option;
import com.gitblit.utils.JsonUtils;
/**
 * Parent class of a list command.
 * 
@@ -34,18 +36,31 @@
   @Option(name = "--verbose", aliases = { "-v" }, usage = "verbose")
   protected boolean verbose;
   @Option(name = "--tabbed", aliases = { "-t" }, usage = "as tabbed output")
   @Option(name = "--tabbed", usage = "generate tabbed-text output")
   protected boolean tabbed;
   @Option(name = "--json", usage = "generate JSON output")
   protected boolean json;
   private DateFormat df;
   protected abstract List<T> getItems() throws UnloggedFailure;
   
   protected void validateOutputFormat() throws UnloggedFailure {
      if (tabbed && json) {
         throw new UnloggedFailure(1, "Please specify --tabbed OR --json, not both!");
      }
   }
   @Override
   public void run() throws UnloggedFailure {
      validateOutputFormat();
      List<T> list = getItems();
      if (tabbed) {
         asTabbed(list);
      } else if (json) {
         asJSON(list);
      } else {
         asTable(list);
      }
@@ -64,6 +79,10 @@
      stdout.println(String.format(pattern.toString(), values));
   }
   
   protected void asJSON(List<T> list) {
      stdout.println(JsonUtils.toJsonString(list));
   }
   protected String formatDate(Date date) {
      if (df == null) {
         df = new SimpleDateFormat("yyyy-MM-dd");