X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-ssh%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fssh%2Fthreads%2FIOThread.java;h=c53a625ad044b69cf6d5f52328e00d9080ee724c;hb=c31d66206f9f71721599c56043772205d8e3c8b2;hp=33ed88edf839a0d4c6a3f47793acf9baa15f4545;hpb=25ba6b145406b98f8521bcf510bb85bf0167ef72;p=controller.git diff --git a/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/ssh/threads/IOThread.java b/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/ssh/threads/IOThread.java index 33ed88edf8..c53a625ad0 100644 --- a/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/ssh/threads/IOThread.java +++ b/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/ssh/threads/IOThread.java @@ -7,25 +7,28 @@ */ package org.opendaylight.controller.netconf.ssh.threads; -import ch.ethz.ssh2.ServerConnection; -import ch.ethz.ssh2.ServerSession; import java.io.InputStream; import java.io.OutputStream; + import javax.annotation.concurrent.ThreadSafe; + import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import ch.ethz.ssh2.ServerConnection; +import ch.ethz.ssh2.ServerSession; + @ThreadSafe public class IOThread extends Thread { private static final Logger logger = LoggerFactory.getLogger(IOThread.class); - private InputStream inputStream; - private OutputStream outputStream; - private String id; - private ServerSession servSession; - private ServerConnection servconnection; + private final InputStream inputStream; + private final OutputStream outputStream; + private final ServerSession servSession; + private final ServerConnection servconnection; + private String customHeader; public IOThread (InputStream is, OutputStream os, String id,ServerSession ss, ServerConnection conn){ @@ -37,10 +40,24 @@ public class IOThread extends Thread { logger.trace("IOThread {} created", super.getName()); } + public IOThread (InputStream is, OutputStream os, String id,ServerSession ss, ServerConnection conn,String header){ + this.inputStream = is; + this.outputStream = os; + this.servSession = ss; + this.servconnection = conn; + this.customHeader = header; + super.setName(id); + logger.trace("IOThread {} created", super.getName()); + } + @Override public void run() { logger.trace("thread {} started", super.getName()); try { + if (this.customHeader!=null && !this.customHeader.equals("")){ + this.outputStream.write(this.customHeader.getBytes()); + logger.trace("adding {} header", this.customHeader); + } IOUtils.copy(this.inputStream, this.outputStream); } catch (Exception e) { logger.error("inputstream -> outputstream copy error ",e);