From ff59dca8d39483038bc96679a6a012e777b6cba8 Mon Sep 17 00:00:00 2001 From: kifir23917 Date: Sat, 13 Jul 2024 16:06:14 +0300 Subject: [PATCH] Add sendToLogger parameter (#6699) --- .../java/com/rusefi/io/UpdateOperationCallbacks.java | 12 ++++++------ .../main/java/com/rusefi/io/can/PCanIoStream.java | 12 +++++++----- .../java/com/rusefi/io/tcp/BinaryProtocolProxy.java | 2 +- .../java/com/rusefi/io/tcp/BinaryProtocolServer.java | 2 +- .../src/main/java/com/rusefi/ui/StatusConsumer.java | 10 ++++++---- .../com/rusefi/maintenance/UpdateStatusWindow.java | 4 ++-- .../java/com/rusefi/tools/CANConnectorStartup.java | 4 ++-- .../src/main/java/com/rusefi/tools/ConsoleTools.java | 6 ++++-- .../src/main/java/com/rusefi/ui/PcanConnectorUI.java | 8 +++++--- .../ui/src/main/java/com/rusefi/ui/StatusWindow.java | 10 ++++++---- .../binaryprotocol/test/PCanIoProxySandbox.java | 2 +- 11 files changed, 41 insertions(+), 31 deletions(-) diff --git a/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java b/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java index 08b75fb43f..ce3ed7752f 100644 --- a/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java +++ b/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java @@ -1,18 +1,18 @@ package com.rusefi.io; public interface UpdateOperationCallbacks { - void log(String message, boolean breakLineOnTextArea); + void log(String message, boolean breakLineOnTextArea, boolean sendToLogger); default void logLine(final String message) { - log(message, true); + log(message, true, true); } - default void append(final String message, final boolean breakLineOnTextArea) { - log(message, breakLineOnTextArea); + default void append(final String message, final boolean breakLineOnTextArea, final boolean sendToLogger) { + log(message, breakLineOnTextArea, sendToLogger); } default void appendLine(final String message) { - append(message, true); + append(message, true, true); } void done(); @@ -20,7 +20,7 @@ public interface UpdateOperationCallbacks { class UpdateOperationDummy implements UpdateOperationCallbacks { @Override - public void log(final String message, final boolean breakLineOnTextArea) { + public void log(final String message, final boolean breakLineOnTextArea, boolean sendToLogger) { } @Override diff --git a/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java b/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java index 2a0fdfe56e..b58c8fa3f5 100644 --- a/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java @@ -48,8 +48,10 @@ public class PCanIoStream extends AbstractIoStream { @Nullable public static PCanIoStream createStream() { - return createStream((message, breakLineOnTextArea) -> { - log.info(message); + return createStream((message, breakLineOnTextArea, sendToLogger) -> { + if (sendToLogger) { + log.info(message); + } }); } @@ -57,10 +59,10 @@ public class PCanIoStream extends AbstractIoStream { PCANBasic can = PCanHelper.create(); TPCANStatus status = PCanHelper.init(can); if (status != TPCANStatus.PCAN_ERROR_OK) { - statusListener.append("Error initializing PCAN: " + status, true); + statusListener.append("Error initializing PCAN: " + status, true, true); return null; } - statusListener.append("Creating PCAN stream...", true); + statusListener.append("Creating PCAN stream...", true, true); return new PCanIoStream(can, statusListener); } @@ -73,7 +75,7 @@ public class PCanIoStream extends AbstractIoStream { TPCANStatus status = PCanHelper.send(can, isoTpConnector.canId(), payLoad); if (status != TPCANStatus.PCAN_ERROR_OK) { - statusListener.append("Unable to write the CAN message: " + status, true); + statusListener.append("Unable to write the CAN message: " + status, true, true); System.exit(0); } // log.info("Send OK! length=" + payLoad.length); diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolProxy.java b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolProxy.java index 7dd858f3a2..9697bff19f 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolProxy.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolProxy.java @@ -44,7 +44,7 @@ public class BinaryProtocolProxy { clientStream = new TcpIoStream("[[proxy]] ", clientSocket); runProxy(targetEcuSocket, clientStream, clientApplicationActivityListener, USER_IO_TIMEOUT); } catch (IOException e) { - statusConsumer.append("ERROR BinaryProtocolProxy::run " + e, true); + statusConsumer.append("ERROR BinaryProtocolProxy::run " + e, true, true); close(clientStream); } }; diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java index 7e9071652c..8772e80d16 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java @@ -96,7 +96,7 @@ public class BinaryProtocolServer { public static ServerSocketReference tcpServerSocket(int port, String threadName, CompatibleFunction socketRunnableFactory, Listener serverSocketCreationCallback, StatusConsumer statusConsumer) throws IOException { return tcpServerSocket(socketRunnableFactory, port, threadName, serverSocketCreationCallback, p -> { ServerSocket serverSocket = new ServerSocket(p); - statusConsumer.append("ServerSocket " + p + " created. Feel free to point TS at IP Address 'localhost' port " + p, true); + statusConsumer.append("ServerSocket " + p + " created. Feel free to point TS at IP Address 'localhost' port " + p, true, true); return serverSocket; }); } diff --git a/java_console/io/src/main/java/com/rusefi/ui/StatusConsumer.java b/java_console/io/src/main/java/com/rusefi/ui/StatusConsumer.java index 827684ae98..c4859e2ac6 100644 --- a/java_console/io/src/main/java/com/rusefi/ui/StatusConsumer.java +++ b/java_console/io/src/main/java/com/rusefi/ui/StatusConsumer.java @@ -10,11 +10,13 @@ import static com.devexperts.logging.Logging.getLogging; public interface StatusConsumer { Logging log = getLogging(StatusConsumer.class); - StatusConsumer ANONYMOUS = (status, breakLineOnTextArea) -> { - log.info(status); + StatusConsumer ANONYMOUS = (status, breakLineOnTextArea, sendToLogger) -> { + if (sendToLogger) { + log.info(status); + } }; - StatusConsumer VOID = (status, breakLineOnTextArea) -> { + StatusConsumer VOID = (status, breakLineOnTextArea, sendToLogger) -> { }; - void append(String status, boolean breakLineOnTextArea); + void append(String status, boolean breakLineOnTextArea, boolean sendToLogger); } diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java b/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java index 7480d53879..022e37bb31 100644 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java @@ -9,8 +9,8 @@ public class UpdateStatusWindow extends StatusWindow implements UpdateOperationC } @Override - public void log(final String message, final boolean breakLineOnTextArea) { - append(message, breakLineOnTextArea); + public void log(final String message, final boolean breakLineOnTextArea, boolean sendToLogger) { + append(message, breakLineOnTextArea, sendToLogger); } @Override diff --git a/java_console/ui/src/main/java/com/rusefi/tools/CANConnectorStartup.java b/java_console/ui/src/main/java/com/rusefi/tools/CANConnectorStartup.java index 840f68630b..6b98a230f7 100644 --- a/java_console/ui/src/main/java/com/rusefi/tools/CANConnectorStartup.java +++ b/java_console/ui/src/main/java/com/rusefi/tools/CANConnectorStartup.java @@ -15,9 +15,9 @@ public class CANConnectorStartup { String signature = BinaryProtocol.getSignature(tsStream); if (signature == null) { - statusListener.append("Error: no ECU signature from " + tsStream, true); + statusListener.append("Error: no ECU signature from " + tsStream, true, true); } else { - statusListener.append("Got [" + signature + "] ECU signature via " + tsStream, true); + statusListener.append("Got [" + signature + "] ECU signature via " + tsStream, true, true); } BinaryProtocolProxy.createProxy(tsStream, TcpConnector.DEFAULT_PORT, BinaryProtocolProxy.ClientApplicationActivityListener.VOID, statusListener); diff --git a/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java b/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java index 6db28ebb89..cdcdf90889 100644 --- a/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java +++ b/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java @@ -56,8 +56,10 @@ public class ConsoleTools { private static final StatusConsumer statusListener = new StatusConsumer() { final Logging log = getLogging(CANConnectorStartup.class); @Override - public void append(final String message, final boolean breakLineOnTextArea) { - log.info(message); + public void append(final String message, final boolean breakLineOnTextArea, final boolean sendToLogger) { + if (sendToLogger) { + log.info(message); + } } }; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/PcanConnectorUI.java b/java_console/ui/src/main/java/com/rusefi/ui/PcanConnectorUI.java index 343660bcd4..fc349312da 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/PcanConnectorUI.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/PcanConnectorUI.java @@ -24,8 +24,10 @@ public class PcanConnectorUI { JTextArea logTextArea = new JTextArea(); panel.add(logTextArea, BorderLayout.CENTER); - StatusConsumer statusConsumer = (string, breakLineOnTextArea) -> SwingUtilities.invokeLater(() -> { - log.info(string); + StatusConsumer statusConsumer = (string, breakLineOnTextArea, sendToLogger) -> SwingUtilities.invokeLater(() -> { + if (sendToLogger) { + log.info(string); + } String stringForTextArea = string; if (breakLineOnTextArea) { stringForTextArea += "\r\n"; @@ -40,7 +42,7 @@ public class PcanConnectorUI { if (stream != null) CANConnectorStartup.start(stream, statusConsumer); } catch (IOException e) { - statusConsumer.append("Error " + e, true); + statusConsumer.append("Error " + e, true, true); } }).start(); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/StatusWindow.java b/java_console/ui/src/main/java/com/rusefi/ui/StatusWindow.java index b493f6f1c4..6b57e2eaeb 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/StatusWindow.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/StatusWindow.java @@ -62,8 +62,8 @@ public class StatusWindow implements StatusConsumer, UpdateOperationCallbacks { } @Override - public void log(final String message, final boolean breakLineOnTextArea) { - append(message, breakLineOnTextArea); + public void log(final String message, final boolean breakLineOnTextArea, final boolean sendToLogger) { + append(message, breakLineOnTextArea, sendToLogger); } @Override @@ -93,11 +93,13 @@ public class StatusWindow implements StatusConsumer, UpdateOperationCallbacks { } @Override - public void append(final String string, final boolean breakLineOnTextArea) { + public void append(final String string, final boolean breakLineOnTextArea, final boolean sendToLogger) { // todo: check if AWT thread and do not invokeLater if already on AWT thread SwingUtilities.invokeLater(() -> { String s = string.replaceAll(Character.toString((char) 219), ""); - log.info(s); + if (sendToLogger) { + log.info(s); + } String stringForTestArea = s; if (breakLineOnTextArea) { stringForTestArea += "\r\n"; diff --git a/java_console/ui/src/test/java/com/rusefi/binaryprotocol/test/PCanIoProxySandbox.java b/java_console/ui/src/test/java/com/rusefi/binaryprotocol/test/PCanIoProxySandbox.java index 0f6bb04827..7b542cab22 100644 --- a/java_console/ui/src/test/java/com/rusefi/binaryprotocol/test/PCanIoProxySandbox.java +++ b/java_console/ui/src/test/java/com/rusefi/binaryprotocol/test/PCanIoProxySandbox.java @@ -8,6 +8,6 @@ import java.io.IOException; public class PCanIoProxySandbox { public static void main(String[] args) throws IOException { PCanIoStream stream = PCanIoStream.createStream(); - CANConnectorStartup.start(stream, status -> System.out.println("Status: " + status)); + CANConnectorStartup.start(stream, (status, breakLineOnTextArea, sendToLogger) -> System.out.println("Status: " + status)); } }