package com.sequenceiq.it.ssh;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import org.apache.sshd.server.Command;
import org.apache.sshd.server.Environment;
import org.apache.sshd.server.ExitCallback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class EverythingOkCommand implements Command {
private static final Logger LOGGER = LoggerFactory.getLogger(EverythingOkCommand.class);
private ExitCallback callback;
private InputStream in;
private OutputStream err;
private OutputStream out;
@Override
public void setInputStream(InputStream in) {
LOGGER.info("setInputStream");
this.in = in;
}
@Override
public void setOutputStream(OutputStream out) {
LOGGER.info("setErrorStream");
this.out = out;
}
@Override
public void setErrorStream(OutputStream err) {
LOGGER.info("setErrorStream");
this.err = err;
}
@Override
public void setExitCallback(ExitCallback callback) {
this.callback = callback;
LOGGER.info("setExitCallback");
}
@Override
public void start(Environment env) throws IOException {
LOGGER.info("start");
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
IOUtils.closeQuietly(err);
callback.onExit(0);
}
@Override
public void destroy() throws Exception {
LOGGER.info("destroy");
}
}