diff --git a/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java b/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java index 954d39e71f..85d3b878cd 100644 --- a/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java +++ b/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java @@ -120,7 +120,7 @@ public class ConfigDefinition { String line; while ((line = fr.readLine()) != null) { - line = VariableRegistry.INSTANCE.processLine(line); + line = VariableRegistry.INSTANCE.applyVariables(line); fw.write(line + ConfigDefinition.EOL); } fw.close(); @@ -149,7 +149,7 @@ public class ConfigDefinition { prefix.append(line + ConfigDefinition.EOL); if (isAfterEndTag) - postfix.append(VariableRegistry.INSTANCE.processLine(line) + ConfigDefinition.EOL); + postfix.append(VariableRegistry.INSTANCE.applyVariables(line) + ConfigDefinition.EOL); } r.close(); return new TsFileContent(prefix.toString(), postfix.toString()); @@ -206,7 +206,7 @@ public class ConfigDefinition { String customSize = line.substring(0, index); String tunerStudioLine = line.substring(index).trim(); - tunerStudioLine = VariableRegistry.INSTANCE.processLine(tunerStudioLine); + tunerStudioLine = VariableRegistry.INSTANCE.applyVariables(tunerStudioLine); int size; try { size = Integer.parseInt(customSize); diff --git a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java index fd711748a2..3e3f0d7eca 100644 --- a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java +++ b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java @@ -30,7 +30,11 @@ public class VariableRegistry extends TreeMap { super(String.CASE_INSENSITIVE_ORDER); } - public String processLine(String line) { + /** + * This methos replaces variables references like @@var@@ with actual values + * An exception is thrown if we do not have such variable + */ + public String applyVariables(String line) { Matcher m; while ((m = VAR.matcher(line)).find()) { String key = m.group(2); diff --git a/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java b/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java index 294f14631a..ace45193d0 100644 --- a/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java +++ b/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java @@ -15,9 +15,9 @@ public class VariableRegistryTest { VariableRegistry.INSTANCE.register("var", 256); - assertEquals("256", VariableRegistry.INSTANCE.processLine("@@var@@")); - assertEquals("ab256", VariableRegistry.INSTANCE.processLine("ab@@var@@")); - assertEquals("ab256cd", VariableRegistry.INSTANCE.processLine("ab@@var@@cd")); - assertEquals("aa256qwe100fff", VariableRegistry.INSTANCE.processLine("aa@@var@@qwe@@var_hex@@fff")); + assertEquals("256", VariableRegistry.INSTANCE.applyVariables("@@var@@")); + assertEquals("ab256", VariableRegistry.INSTANCE.applyVariables("ab@@var@@")); + assertEquals("ab256cd", VariableRegistry.INSTANCE.applyVariables("ab@@var@@cd")); + assertEquals("aa256qwe100fff", VariableRegistry.INSTANCE.applyVariables("aa@@var@@qwe@@var_hex@@fff")); } }