STRING support for java fields
This commit is contained in:
parent
979bb19ea4
commit
a3393133a6
Binary file not shown.
|
@ -1,5 +1,6 @@
|
|||
package com.rusefi.output;
|
||||
|
||||
import com.opensr5.ini.IniFileModel;
|
||||
import com.rusefi.*;
|
||||
|
||||
import java.io.CharArrayWriter;
|
||||
|
@ -75,8 +76,11 @@ public abstract class JavaFieldsConsumer implements ConfigurationConsumer {
|
|||
javaFieldsWriter.write("\tpublic static final String[] " + configField.getType() + " = {" + enumOptions + "};" + EOL);
|
||||
}
|
||||
|
||||
|
||||
writeJavaFieldName(nameWithPrefix, tsPosition);
|
||||
if (configField.getElementSize() == 1) {
|
||||
if (isStringField(configField)) {
|
||||
javaFieldsWriter.write("FieldType.STRING");
|
||||
} else if (configField.getElementSize() == 1) {
|
||||
javaFieldsWriter.write("FieldType.INT8");
|
||||
} else if (configField.getElementSize() == 2) {
|
||||
javaFieldsWriter.write("FieldType.INT16");
|
||||
|
@ -94,6 +98,11 @@ public abstract class JavaFieldsConsumer implements ConfigurationConsumer {
|
|||
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 {
|
||||
if (state.stack.isEmpty()) {
|
||||
writeJavaFields(structure.tsFields, "", 0);
|
||||
|
|
|
@ -4,13 +4,14 @@ import com.rusefi.ConfigField;
|
|||
import com.rusefi.ReaderState;
|
||||
import com.rusefi.TypesHelper;
|
||||
import com.rusefi.VariableRegistry;
|
||||
import com.rusefi.output.ConfigurationConsumer;
|
||||
import com.rusefi.output.FsioSettingsConsumer;
|
||||
import com.rusefi.output.JavaFieldsConsumer;
|
||||
import com.rusefi.output.TSProjectConsumer;
|
||||
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.Collections;
|
||||
|
||||
|
@ -114,7 +115,7 @@ public class ConfigFieldParserTest {
|
|||
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
|
||||
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",
|
||||
javaFieldsConsumer.getJavaFieldsWriter());
|
||||
|
||||
|
|
Loading…
Reference in New Issue