reducing code duplication

This commit is contained in:
rusefi 2020-07-22 14:22:08 -04:00
parent 76334822b3
commit 439ec69481
3 changed files with 21 additions and 21 deletions

View File

@ -0,0 +1,17 @@
package com.rusefi.io.serial;
import com.rusefi.io.IoStream;
public abstract class AbstractIoStream implements IoStream {
private boolean isClosed;
@Override
public void close() {
isClosed = true;
}
@Override
public boolean isClosed() {
return isClosed;
}
}

View File

@ -14,8 +14,7 @@ import com.rusefi.io.IoStream;
* Andrey Belomutskiy, (c) 2013-2020 * Andrey Belomutskiy, (c) 2013-2020
* 06/03/2019 * 06/03/2019
*/ */
public class SerialIoStreamJSerialComm implements IoStream { public class SerialIoStreamJSerialComm extends AbstractIoStream {
private boolean isClosed;
private SerialPort sp; private SerialPort sp;
private final String port; private final String port;
private final Logger logger; private final Logger logger;
@ -62,11 +61,6 @@ public class SerialIoStreamJSerialComm implements IoStream {
} }
@Override
public boolean isClosed() {
return isClosed;
}
@Override @Override
public IncomingDataBuffer getDataBuffer() { public IncomingDataBuffer getDataBuffer() {
return dataBuffer; return dataBuffer;
@ -75,7 +69,7 @@ public class SerialIoStreamJSerialComm implements IoStream {
@Override @Override
public void close() { public void close() {
logger.info(port + ": Closing port..."); logger.info(port + ": Closing port...");
isClosed = true; super.close();
sp.closePort(); sp.closePort();
logger.info(port + ": Closed port."); logger.info(port + ": Closed port.");
} }

View File

@ -4,7 +4,7 @@ import com.opensr5.Logger;
import com.opensr5.io.DataListener; import com.opensr5.io.DataListener;
import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.binaryprotocol.IncomingDataBuffer;
import com.rusefi.io.ByteReader; import com.rusefi.io.ByteReader;
import com.rusefi.io.IoStream; import com.rusefi.io.serial.AbstractIoStream;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;
@ -16,12 +16,11 @@ import java.net.Socket;
* Andrey Belomutskiy, (c) 2013-2020 * Andrey Belomutskiy, (c) 2013-2020
* 5/11/2015. * 5/11/2015.
*/ */
public class TcpIoStream implements IoStream { public class TcpIoStream extends AbstractIoStream {
private final InputStream input; private final InputStream input;
private final OutputStream output; private final OutputStream output;
private final Logger logger; private final Logger logger;
private final String loggingPrefix; private final String loggingPrefix;
private boolean isClosed;
private final IncomingDataBuffer dataBuffer; private final IncomingDataBuffer dataBuffer;
public TcpIoStream(Logger logger, Socket socket) throws IOException { public TcpIoStream(Logger logger, Socket socket) throws IOException {
@ -52,11 +51,6 @@ public class TcpIoStream implements IoStream {
return dataBuffer; return dataBuffer;
} }
@Override
public void close() {
isClosed = true;
}
@Override @Override
public void write(byte[] bytes) throws IOException { public void write(byte[] bytes) throws IOException {
output.write(bytes); output.write(bytes);
@ -68,9 +62,4 @@ public class TcpIoStream implements IoStream {
ByteReader.runReaderLoop(loggingPrefix, listener, input::read, logger); ByteReader.runReaderLoop(loggingPrefix, listener, input::read, logger);
} }
@Override
public boolean isClosed() {
return isClosed;
}
} }