STRING support for java fields
This commit is contained in:
parent
c40bf03ef4
commit
6ae006b5fb
Binary file not shown.
|
@ -1,5 +1,6 @@
|
||||||
package com.rusefi.output;
|
package com.rusefi.output;
|
||||||
|
|
||||||
|
import com.opensr5.ini.IniFileModel;
|
||||||
import com.rusefi.*;
|
import com.rusefi.*;
|
||||||
|
|
||||||
import java.io.CharArrayWriter;
|
import java.io.CharArrayWriter;
|
||||||
|
@ -75,8 +76,11 @@ public abstract class JavaFieldsConsumer implements ConfigurationConsumer {
|
||||||
javaFieldsWriter.write("\tpublic static final String[] " + configField.getType() + " = {" + enumOptions + "};" + EOL);
|
javaFieldsWriter.write("\tpublic static final String[] " + configField.getType() + " = {" + enumOptions + "};" + EOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
writeJavaFieldName(nameWithPrefix, tsPosition);
|
writeJavaFieldName(nameWithPrefix, tsPosition);
|
||||||
if (configField.getElementSize() == 1) {
|
if (isStringField(configField)) {
|
||||||
|
javaFieldsWriter.write("FieldType.STRING");
|
||||||
|
} else if (configField.getElementSize() == 1) {
|
||||||
javaFieldsWriter.write("FieldType.INT8");
|
javaFieldsWriter.write("FieldType.INT8");
|
||||||
} else if (configField.getElementSize() == 2) {
|
} else if (configField.getElementSize() == 2) {
|
||||||
javaFieldsWriter.write("FieldType.INT16");
|
javaFieldsWriter.write("FieldType.INT16");
|
||||||
|
@ -94,6 +98,11 @@ public abstract class JavaFieldsConsumer implements ConfigurationConsumer {
|
||||||
return tsPosition;
|
return tsPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isStringField(ConfigField configField) {
|
||||||
|
String custom = state.tsCustomLine.get(configField.getType());
|
||||||
|
return custom != null && custom.toLowerCase().startsWith(IniFileModel.FIELD_TYPE_STRING);
|
||||||
|
}
|
||||||
|
|
||||||
public void handleEndStruct(ConfigStructure structure) throws IOException {
|
public void handleEndStruct(ConfigStructure structure) throws IOException {
|
||||||
if (state.stack.isEmpty()) {
|
if (state.stack.isEmpty()) {
|
||||||
writeJavaFields(structure.tsFields, "", 0);
|
writeJavaFields(structure.tsFields, "", 0);
|
||||||
|
|
|
@ -4,13 +4,14 @@ import com.rusefi.ConfigField;
|
||||||
import com.rusefi.ReaderState;
|
import com.rusefi.ReaderState;
|
||||||
import com.rusefi.TypesHelper;
|
import com.rusefi.TypesHelper;
|
||||||
import com.rusefi.VariableRegistry;
|
import com.rusefi.VariableRegistry;
|
||||||
import com.rusefi.output.ConfigurationConsumer;
|
|
||||||
import com.rusefi.output.FsioSettingsConsumer;
|
import com.rusefi.output.FsioSettingsConsumer;
|
||||||
import com.rusefi.output.JavaFieldsConsumer;
|
import com.rusefi.output.JavaFieldsConsumer;
|
||||||
import com.rusefi.output.TSProjectConsumer;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.CharArrayWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.StringReader;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
@ -114,7 +115,7 @@ public class ConfigFieldParserTest {
|
||||||
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
|
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
|
||||||
state.readBufferedReader(reader, Arrays.asList(javaFieldsConsumer));
|
state.readBufferedReader(reader, Arrays.asList(javaFieldsConsumer));
|
||||||
|
|
||||||
assertEquals("\tpublic static final Field VAR = Field.create(\"VAR\", 0, FieldType.INT);\n" +
|
assertEquals("\tpublic static final Field VAR = Field.create(\"VAR\", 0, FieldType.STRING);\n" +
|
||||||
"\tpublic static final Field PERIODMS = Field.create(\"PERIODMS\", 120, FieldType.INT16);\n",
|
"\tpublic static final Field PERIODMS = Field.create(\"PERIODMS\", 120, FieldType.INT16);\n",
|
||||||
javaFieldsConsumer.getJavaFieldsWriter());
|
javaFieldsConsumer.getJavaFieldsWriter());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue