From 3213707c7165f58945b3a74494af46761a40b4ac Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 30 Dec 2023 19:22:37 -0500 Subject: [PATCH] smarter auto-format --- src/main/java/com/rusefi/can/reader/CANLineReader.java | 3 +-- .../{PcanAutoReader.java => AutoFormatReader.java} | 10 ++++++---- .../com/rusefi/can/reader/impl/CanHackerReader.java | 4 ++++ 3 files changed, 11 insertions(+), 6 deletions(-) rename src/main/java/com/rusefi/can/reader/impl/{PcanAutoReader.java => AutoFormatReader.java} (76%) diff --git a/src/main/java/com/rusefi/can/reader/CANLineReader.java b/src/main/java/com/rusefi/can/reader/CANLineReader.java index 21986ed..190458d 100644 --- a/src/main/java/com/rusefi/can/reader/CANLineReader.java +++ b/src/main/java/com/rusefi/can/reader/CANLineReader.java @@ -3,7 +3,6 @@ package com.rusefi.can.reader; import com.rusefi.can.CANPacket; import com.rusefi.can.reader.impl.CANoeReader; import com.rusefi.can.reader.impl.CanHackerReader; -import com.rusefi.can.reader.impl.PcanTrcReader1_1; import com.rusefi.can.reader.impl.*; import java.io.IOException; @@ -33,7 +32,7 @@ public interface CANLineReader { return CanHackerReader.INSTANCE; case PCAN: default: - return PcanAutoReader.INSTANCE; + return AutoFormatReader.INSTANCE; } } diff --git a/src/main/java/com/rusefi/can/reader/impl/PcanAutoReader.java b/src/main/java/com/rusefi/can/reader/impl/AutoFormatReader.java similarity index 76% rename from src/main/java/com/rusefi/can/reader/impl/PcanAutoReader.java rename to src/main/java/com/rusefi/can/reader/impl/AutoFormatReader.java index 9d81fe2..1785dfb 100644 --- a/src/main/java/com/rusefi/can/reader/impl/PcanAutoReader.java +++ b/src/main/java/com/rusefi/can/reader/impl/AutoFormatReader.java @@ -8,8 +8,8 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; -public class PcanAutoReader implements CANLineReader { - public static final CANLineReader INSTANCE = new PcanAutoReader(); +public class AutoFormatReader implements CANLineReader { + public static final CANLineReader INSTANCE = new AutoFormatReader(); private CANLineReader delegate; @@ -26,9 +26,11 @@ public class PcanAutoReader implements CANLineReader { @Override public List readFile(String fileName) throws IOException { String firstLine = Files.lines(Paths.get(fileName)).findFirst().get(); - if (!firstLine.contains(PcanTrcReader2_0.FILEVERSION)) + if (!firstLine.contains(PcanTrcReader2_0.FILEVERSION) && !firstLine.contains(CanHackerReader.HEADER)) throw new IllegalStateException(PcanTrcReader2_0.FILEVERSION + " expected in first line"); - if (firstLine.contains("1.1")) { + if (firstLine.contains(CanHackerReader.HEADER)) { + delegate = CanHackerReader.INSTANCE; + } else if (firstLine.contains("1.1")) { delegate = PcanTrcReader1_1.INSTANCE; } else if (firstLine.contains("2.0")) { delegate = PcanTrcReader2_0.INSTANCE; diff --git a/src/main/java/com/rusefi/can/reader/impl/CanHackerReader.java b/src/main/java/com/rusefi/can/reader/impl/CanHackerReader.java index 069d987..6b6c2ee 100644 --- a/src/main/java/com/rusefi/can/reader/impl/CanHackerReader.java +++ b/src/main/java/com/rusefi/can/reader/impl/CanHackerReader.java @@ -17,11 +17,15 @@ import com.rusefi.can.reader.CANLineReader; public enum CanHackerReader implements CANLineReader { INSTANCE; + public static final String HEADER = "@ TEXT"; + @Override public CANPacket readLine(String line, String fileName, int lineIndex) { line = line.trim(); if (line.startsWith("@")) return null; + if (line.startsWith("# ")) + return null; String[] tokens = line.split("\\s+"); double timeStamp = Double.parseDouble(CANLineReader.attemptToFixLocalization(tokens[0]));