diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/BitState.java b/java_tools/configuration_definition/src/main/java/com/rusefi/BitState.java index 160cb38ebc..53b010a764 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/BitState.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/BitState.java @@ -7,7 +7,7 @@ package com.rusefi; public class BitState { private int bitIndex; - public void incrementBitIndex(ConfigFieldImpl cf, ConfigFieldImpl next) { + public void incrementBitIndex(ConfigField cf, ConfigField next) { if (!cf.isBit()) { bitIndex = 0; return; @@ -15,7 +15,7 @@ public class BitState { incrementBitIndex(cf); } - public void incrementBitIndex(ConfigFieldImpl cf) { + public void incrementBitIndex(ConfigField cf) { if (bitIndex == 32) throw new TooManyBitsInARow("Too many bits in a row: " + cf.getName()); bitIndex++; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigField.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigField.java index 39467093e4..ff389827a4 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigField.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigField.java @@ -8,6 +8,8 @@ public interface ConfigField { boolean isArray(); + String getArraySizeVariableName(); + String getTrueName(); String getFalseName(); @@ -53,4 +55,12 @@ public interface ConfigField { double getMax(); int getDigits(); + + String getIterateOriginalName(); + + int getIterateIndex(); + + boolean isFromIterate(); + + String getCommentTemplated(); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java index d503b7453a..5d2049036e 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java @@ -125,6 +125,11 @@ public class ConfigFieldImpl implements ConfigField { return arraySizeVariableName != null || arraySizes.length != 0; } + @Override + public String getArraySizeVariableName() { + return arraySizeVariableName; + } + @Override public String getTrueName() { return trueName; @@ -421,14 +426,17 @@ public class ConfigFieldImpl implements ConfigField { this.isFromIterate = true; } + @Override public String getIterateOriginalName() { return iterateOriginalName; } + @Override public int getIterateIndex() { return iterateIndex; } + @Override public boolean isFromIterate() { return isFromIterate; } @@ -443,6 +451,7 @@ public class ConfigFieldImpl implements ConfigField { return comment; } + @Override public String getCommentTemplated() { return state.getVariableRegistry().applyVariables(getComment()); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java index 1a42724789..9f8802a701 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java @@ -9,7 +9,7 @@ public class BaseCHeaderConsumer implements ConfigurationConsumer { private final StringBuilder content = new StringBuilder(); private static String getHeaderText(FieldIteratorWithOffset iterator) { - ConfigFieldImpl configField = iterator.cf; + ConfigField configField = iterator.cf; if (configField.isBit()) { // unused bits are needed for proper struct memsize String comment = "\t/**" + EOL + packComment(configField.getComment(), "\t") + "\toffset " + iterator.currentOffset + " bit " + iterator.bitState.get() + " */" + EOL; @@ -34,7 +34,7 @@ public class BaseCHeaderConsumer implements ConfigurationConsumer { } cEntry += ";" + EOL; } else { - cEntry += "\t" + typeName + " " + configField.getName() + "[" + configField.arraySizeVariableName + "];" + EOL; + cEntry += "\t" + typeName + " " + configField.getName() + "[" + configField.getArraySizeVariableName() + "];" + EOL; } return cEntry; } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructure.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructure.java index 28a9673568..785ae8927e 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructure.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructure.java @@ -1,6 +1,6 @@ package com.rusefi.output; -import com.rusefi.ConfigFieldImpl; +import com.rusefi.ConfigField; import java.util.List; @@ -9,9 +9,9 @@ public interface ConfigStructure { int getTotalSize(); - List getTsFields(); + List getTsFields(); - List getcFields(); + List getcFields(); boolean isWithPrefix(); diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructureImpl.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructureImpl.java index fdaf1b9c4b..092764fd5d 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructureImpl.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/ConfigStructureImpl.java @@ -23,8 +23,8 @@ public class ConfigStructureImpl implements ConfigStructure { private final String name; private final String comment; private final boolean withPrefix; - private final List cFields = new ArrayList<>(); - private final List tsFields = new ArrayList<>(); + private final List cFields = new ArrayList<>(); + private final List tsFields = new ArrayList<>(); private int totalSize; @@ -126,7 +126,7 @@ public class ConfigStructureImpl implements ConfigStructure { } @Override - public List getTsFields() { + public List getTsFields() { return tsFields; } @@ -135,7 +135,7 @@ public class ConfigStructureImpl implements ConfigStructure { * in C and TS */ @Override - public List getcFields() { + public List getcFields() { return cFields; } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/DataLogConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/DataLogConsumer.java index 93d03f7721..bcd3f143af 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/DataLogConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/DataLogConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; @@ -52,7 +53,7 @@ public class DataLogConsumer implements ConfigurationConsumer { } } - private String handle(ConfigFieldImpl configField, String prefix) { + private String handle(ConfigField configField, String prefix) { if (configField.getName().contains(UNUSED)) return ""; @@ -84,7 +85,7 @@ public class DataLogConsumer implements ConfigurationConsumer { * More detailed technical explanation should be placed in consecutive lines */ @NotNull - public static String getHumanGaugeName(String prefix, ConfigFieldImpl configField) { + public static String getHumanGaugeName(String prefix, ConfigField configField) { String comment = configField.getCommentTemplated(); comment = getFirstLine(comment); diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIterator.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIterator.java index 31f807cc08..6ae22aad71 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIterator.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIterator.java @@ -11,13 +11,13 @@ import java.util.List; * @see PerFieldWithStructuresIterator is there a duplication? */ public class FieldIterator { - private final List fields; + private final List fields; BitState bitState = new BitState(); private ConfigField prev = ConfigFieldImpl.VOID; - ConfigFieldImpl next; - ConfigFieldImpl cf; + ConfigField next; + ConfigField cf; - public FieldIterator(List fields) { + public FieldIterator(List fields) { this.fields = fields; } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java index 7d433b8dec..eb7fe80a05 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import java.util.List; @@ -7,7 +8,7 @@ import java.util.List; public class FieldIteratorWithOffset extends FieldIterator { public int currentOffset; - public FieldIteratorWithOffset(List tsFields) { + public FieldIteratorWithOffset(List tsFields) { super(tsFields); } } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldsStrategy.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldsStrategy.java index 1dfedab618..59e02beec0 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldsStrategy.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldsStrategy.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; @@ -13,7 +14,7 @@ public abstract class FieldsStrategy { return sensorTsPosition; } - protected int writeFields(List tsFields, String prefix, int tsPosition) { + protected int writeFields(List tsFields, String prefix, int tsPosition) { FieldIterator iterator = new FieldIterator(tsFields); for (int i = 0; i < tsFields.size(); i++) { iterator.start(i); diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java index c21fdb4a39..9d0ac487b9 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import org.jetbrains.annotations.NotNull; @@ -36,7 +37,7 @@ public class FragmentDialogConsumer implements ConfigurationConsumer { FieldsStrategy fieldsStrategy = new FieldsStrategy() { @Override int writeOneField(FieldIterator iterator, String prefix, int tsPosition) { - ConfigFieldImpl configField = iterator.cf; + ConfigField configField = iterator.cf; if (configField.getName().startsWith(ConfigStructureImpl.ALIGNMENT_FILL_AT)) return 0; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GaugeConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GaugeConsumer.java index de24ce24cb..8f8df4da4a 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GaugeConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GaugeConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; @@ -34,7 +35,7 @@ public class GaugeConsumer implements ConfigurationConsumer { } } - private String handle(ConfigFieldImpl configField, String prefix) { + private String handle(ConfigField configField, String prefix) { String comment = getHumanGaugeName("", configField); comment = ConfigFieldImpl.unquote(comment); if (!prefix.isEmpty()) { diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java index 280a59fdf5..cd8c0d5ec8 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; @@ -74,7 +75,7 @@ public class GetConfigValueConsumer implements ConfigurationConsumer { writeStringToFile(mdOutputFileName, getMdContent()); } - private String processConfig(ConfigFieldImpl cf, String prefix) { + private String processConfig(ConfigField cf, String prefix) { if (cf.getName().contains(UNUSED) || cf.getName().contains(ALIGNMENT_FILL_AT)) return ""; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java index 12d185800e..c9bd9f99fe 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; @@ -41,7 +42,7 @@ public class GetOutputValueConsumer implements ConfigurationConsumer { } } - private String processOutput(ConfigFieldImpl cf, String prefix) { + private String processOutput(ConfigField cf, String prefix) { if (cf.getName().contains(UNUSED) || cf.getName().contains(ALIGNMENT_FILL_AT)) return ""; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java index 6ef014554d..ae435c3348 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; @@ -22,8 +23,8 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { public void handleEndStruct(ReaderState readerState, ConfigStructure structure) throws IOException { FieldsStrategy fieldsStrategy = new FieldsStrategy() { public int writeOneField(FieldIterator iterator, String prefix, int tsPosition) { - ConfigFieldImpl configField = iterator.cf; - ConfigFieldImpl next = iterator.next; + ConfigField configField = iterator.cf; + ConfigField next = iterator.next; if (!configField.isBit()) { sb.append(configField.getName()).append("("); diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java index e0b41ea683..a8c99d52df 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; @@ -16,7 +17,7 @@ class PerFieldWithStructuresIterator extends FieldIterator { private final String prefixSeparator; private final StringBuilder sb = new StringBuilder(); - public PerFieldWithStructuresIterator(ReaderState state, List fields, String prefix, Strategy strategy, String prefixSeparator) { + public PerFieldWithStructuresIterator(ReaderState state, List fields, String prefix, Strategy strategy, String prefixSeparator) { super(fields); this.state = state; this.prefix = prefix; @@ -24,7 +25,7 @@ class PerFieldWithStructuresIterator extends FieldIterator { this.prefixSeparator = prefixSeparator; } - public PerFieldWithStructuresIterator(ReaderState state, List fields, String prefix, Strategy strategy) { + public PerFieldWithStructuresIterator(ReaderState state, List fields, String prefix, Strategy strategy) { this(state, fields, prefix, strategy, "_"); } @@ -55,6 +56,6 @@ class PerFieldWithStructuresIterator extends FieldIterator { } interface Strategy { - String process(ReaderState state, ConfigFieldImpl configField, String prefix); + String process(ReaderState state, ConfigField configField, String prefix); } } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java index d55eb2f6e2..d564002004 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java @@ -1,5 +1,6 @@ package com.rusefi.output; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; @@ -22,7 +23,7 @@ public class SdCardFieldsContent { } } - private String processOutput(ConfigFieldImpl configField, String prefix) { + private String processOutput(ConfigField configField, String prefix) { if (configField.getName().startsWith(ConfigStructureImpl.ALIGNMENT_FILL_AT)) return ""; if (configField.getName().startsWith(ConfigStructureImpl.UNUSED_ANYTHING_PREFIX)) @@ -38,7 +39,7 @@ public class SdCardFieldsContent { } } - private String getLine(ConfigFieldImpl configField, String prefix, String name) { + private String getLine(ConfigField configField, String prefix, String name) { return "\t{" + home + "." + name + ", " + DataLogConsumer.getHumanGaugeName(prefix, configField) + diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/TsOutput.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/TsOutput.java index f6cb2178e7..811ab601a2 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/TsOutput.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/TsOutput.java @@ -1,6 +1,7 @@ package com.rusefi.output; import com.opensr5.ini.field.IniField; +import com.rusefi.ConfigField; import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; @@ -38,8 +39,8 @@ public class TsOutput { FieldsStrategy strategy = new FieldsStrategy() { @Override public int writeOneField(FieldIterator it, String prefix, int tsPosition) { - ConfigFieldImpl configField = it.cf; - ConfigFieldImpl next = it.next; + ConfigField configField = it.cf; + ConfigField next = it.next; int bitIndex = it.bitState.get(); String nameWithPrefix = prefix + configField.getName(); @@ -144,7 +145,7 @@ public class TsOutput { return sensorTsPosition; } - private String handleTsInfo(ConfigFieldImpl configField, String tsInfo, int multiplierIndex) { + private String handleTsInfo(ConfigField configField, String tsInfo, int multiplierIndex) { if (tsInfo == null || tsInfo.trim().isEmpty()) { // default units and scale if (isConstantsSection) { diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java index 06b6c7709d..0b58165795 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java @@ -1,9 +1,6 @@ package com.rusefi.test; -import com.rusefi.ConfigFieldImpl; -import com.rusefi.ReaderStateImpl; -import com.rusefi.TypesHelper; -import com.rusefi.VariableRegistry; +import com.rusefi.*; import com.rusefi.output.*; import org.junit.Test; @@ -161,7 +158,7 @@ public class ConfigFieldParserTest { assertEquals(16, TypesHelper.getElementSize(state, "pid_s")); ConfigStructure structure = state.getStructures().get("pid_s"); - ConfigFieldImpl firstField = structure.getcFields().get(0); + ConfigField firstField = structure.getcFields().get(0); assertEquals("ms", firstField.getUnits()); }