James Moger
2014-03-18 23c416f30f4a1e69e76b70d71f6a9a7da4a020f1
src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java
@@ -37,7 +37,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gitblit.transport.ssh.SshCommandContext;
import com.gitblit.utils.IdGenerator;
import com.gitblit.utils.WorkQueue;
import com.gitblit.utils.WorkQueue.CancelableRunnable;
@@ -49,8 +48,13 @@
   private static final Logger log = LoggerFactory.getLogger(BaseCommand.class);
   /** Ssh context */
   protected SshCommandContext ctx;
   private static final int PRIVATE_STATUS = 1 << 30;
   public final static int STATUS_CANCEL = PRIVATE_STATUS | 1;
   public final static int STATUS_NOT_FOUND = PRIVATE_STATUS | 2;
   public final static int STATUS_NOT_ADMIN = PRIVATE_STATUS | 3;
   protected InputStream in;
@@ -61,6 +65,9 @@
   protected ExitCallback exit;
   protected ServerSession session;
   /** Ssh command context */
   private SshCommandContext ctx;
   /** Text of the command line which lead up to invoking this instance. */
   private String commandName = "";
@@ -87,6 +94,9 @@
   @Override
   public void destroy() {
      log.debug("destroying " + getClass().getName());
      session = null;
      ctx = null;
   }
   protected static PrintWriter toPrintWriter(final OutputStream o) {
@@ -96,8 +106,20 @@
   @Override
   public abstract void start(Environment env) throws IOException;
   protected void provideStateTo(final BaseCommand cmd) {
      cmd.setContext(ctx);
      cmd.setInputStream(in);
      cmd.setOutputStream(out);
      cmd.setErrorStream(err);
      cmd.setExitCallback(exit);
   }
   public void setContext(SshCommandContext ctx) {
      this.ctx = ctx;
   }
   public SshCommandContext getContext() {
      return ctx;
   }
   @Override
@@ -118,16 +140,6 @@
   @Override
   public void setExitCallback(final ExitCallback callback) {
      this.exit = callback;
   }
   protected void provideBaseStateTo(final Command cmd) {
      if (cmd instanceof BaseCommand) {
         ((BaseCommand) cmd).setContext(ctx);
      }
      cmd.setInputStream(in);
      cmd.setOutputStream(out);
      cmd.setErrorStream(err);
      cmd.setExitCallback(exit);
   }
   protected String getName() {
@@ -200,7 +212,7 @@
      return new CmdLineParser(options);
   }
   protected String usage() {
   public String usage() {
      return "";
   }