This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 7ec5b56 plc4j: finalized xml generation which is now fully compatible
to golang.
7ec5b56 is described below
commit 7ec5b56fe1cf408ff96545f01ab9be06b1a8b1ed
Author: Sebastian Rühl <[email protected]>
AuthorDate: Tue Apr 20 19:56:05 2021 +0200
plc4j: finalized xml generation which is now fully compatible to golang.
+ As next step the custom marshaling/ jackson can be removed after a fast
conversion of the test suite.
---
.../resources/templates/java/io-template.java.ftlh | 21 +++-
plc4j/drivers/s7/src/test/java/S7IoTest.java | 124 +++++++++++----------
.../java/spi/generation/ReadBufferXmlBased.java | 28 ++---
.../java/spi/generation/WriteBufferXmlBased.java | 26 ++---
4 files changed, 107 insertions(+), 92 deletions(-)
diff --git
a/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
b/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
index bf7c604..2eff639 100644
---
a/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
+++
b/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
@@ -262,12 +262,14 @@ public class ${type.name}IO implements <#if outputFlavor
!= "passive">MessageIO<
<#case "enum">
<#assign enumField = field>
+ io.pullContext("${enumField.name}");
// Enum field (${enumField.name})
<#if enumField.fieldName?has_content>
- ${helper.getLanguageTypeNameForField(field)} ${enumField.name} =
${helper.getLanguageTypeNameForField(field)}.firstEnumForField${enumField.fieldName?cap_first}(${helper.getReadBufferReadMethodCall(enumField.name,
helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
+ ${helper.getLanguageTypeNameForField(field)} ${enumField.name} =
${helper.getLanguageTypeNameForField(field)}.firstEnumForField${enumField.fieldName?cap_first}(${helper.getReadBufferReadMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name,
helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
<#else>
- ${helper.getLanguageTypeNameForField(field)} ${enumField.name} =
${helper.getLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(enumField.name,
helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
+ ${helper.getLanguageTypeNameForField(field)} ${enumField.name} =
${helper.getLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name,
helper.getEnumBaseTypeReference(enumField.type), "", enumField)});
</#if>
+ io.closeContext("${enumField.name}");
<#break>
<#case "implicit">
<#assign implicitField = field>
@@ -389,12 +391,19 @@ public class ${type.name}IO implements <#if outputFlavor
!= "passive">MessageIO<
<#case "simple">
<#assign simpleField = field>
+ <#if !helper.isSimpleTypeReference(simpleField.type)>
+ io.pullContext("${simpleField.name}");
+ </#if>
+
// Simple Field (${simpleField.name})
<#if helper.isEnumField(field)>
${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name}
=
${helper.getLanguageTypeNameForField(simpleField)}.enumForValue(${helper.getReadBufferReadMethodCall(simpleField.name,
helper.getEnumBaseTypeReference(simpleField.type), "", simpleField)});
<#else>
${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name}
= <#if helper.isSimpleTypeReference(simpleField.type)><#assign
simpleTypeReference =
simpleField.type>${helper.getReadBufferReadMethodCall(simpleField.name,
simpleTypeReference, "", simpleField)}<#else><#assign complexTypeReference =
simpleField.type>${complexTypeReference.name}IO.staticParse(io<#if
field.params?has_content>, <#list field.params as
parserArgument>(${helper.getLanguageTypeNameForTypeReference(h [...]
</#if>
+ <#if !helper.isSimpleTypeReference(simpleField.type)>
+ io.closeContext("${simpleField.name}");
+ </#if>
<#break>
<#case "switch">
<#assign switchField = field>
@@ -508,13 +517,15 @@ public class ${type.name}IO implements <#if outputFlavor
!= "passive">MessageIO<
<#case "enum">
<#assign enumField = field>
+ io.pushContext("${enumField.name}");
// Enum field (${enumField.name})
${helper.getLanguageTypeNameForField(field)} ${enumField.name} =
(${helper.getLanguageTypeNameForField(field)})
_value.get${enumField.name?cap_first}();
<#if enumField.fieldName?has_content>
- ${helper.getWriteBufferWriteMethodCall(enumField.name,
helper.getEnumFieldSimpleTypeReference(enumField.type, enumField.fieldName),
"(" + enumField.name + ".get" + enumField.fieldName?cap_first + "())", field)};
+
${helper.getWriteBufferWriteMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name,
helper.getEnumFieldSimpleTypeReference(enumField.type, enumField.fieldName),
"(" + enumField.name + ".get" + enumField.fieldName?cap_first + "())", field)};
<#else>
- ${helper.getWriteBufferWriteMethodCall(enumField.name,
helper.getEnumBaseTypeReference(enumField.type), "(" + enumField.name +
".getValue())", field)};
+
${helper.getWriteBufferWriteMethodCall(helper.getTypeDefinitionForTypeReference(enumField.type).name,
helper.getEnumBaseTypeReference(enumField.type), "(" + enumField.name +
".getValue())", field)};
</#if>
+ io.popContext("${enumField.name}");
<#break>
<#case "implicit">
<#assign implicitField = field>
@@ -593,12 +604,14 @@ public class ${type.name}IO implements <#if outputFlavor
!= "passive">MessageIO<
<#assign simpleTypeReference = simpleField.type>
${helper.getWriteBufferWriteMethodCall(simpleField.name,
simpleTypeReference, "(" + simpleField.name + ")", simpleField)};
<#else>
+ io.pushContext("${simpleField.name}");
<#assign complexTypeReference = simpleField.type>
<#if helper.isEnumField(field)>
${helper.getWriteBufferWriteMethodCall(simpleField.name,
helper.getEnumBaseTypeReference(simpleField.type), "(" + simpleField.name +
".getValue())", simpleField)};
<#else>
${complexTypeReference.name}IO.staticSerialize(io,
${simpleField.name});
</#if>
+ io.popContext("${simpleField.name}");
</#if>
<#break>
<#case "switch">
diff --git a/plc4j/drivers/s7/src/test/java/S7IoTest.java
b/plc4j/drivers/s7/src/test/java/S7IoTest.java
index ee2a43c..3b0ca98 100644
--- a/plc4j/drivers/s7/src/test/java/S7IoTest.java
+++ b/plc4j/drivers/s7/src/test/java/S7IoTest.java
@@ -24,7 +24,6 @@ import
org.apache.plc4x.java.s7.readwrite.types.DataTransportErrorCode;
import org.apache.plc4x.java.s7.readwrite.types.DataTransportSize;
import org.apache.plc4x.java.spi.generation.ReadBufferXmlBased;
import org.apache.plc4x.java.spi.generation.WriteBufferXmlBased;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
@@ -34,67 +33,72 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class S7IoTest {
- // TODO: delete when xml is good
- boolean doneDesigningJavaXml = false;
-
- @Disabled("Till the output is aligned to the one of golang")
@Test
void TestS7MessageBytes() throws Exception {
String wantXml =
"<TPKTPacket>\n" +
- " <protocolId dataType=\"uint8\"
bitLength=\"8\">3</protocolId>\n" +
- " <reserved dataType=\"uint8\"
bitLength=\"8\">0</reserved>\n" +
- " <len dataType=\"uint16\" bitLength=\"16\">29</len>\n" +
- " <COTPPacket>\n" +
- " <headerLength dataType=\"uint8\"
bitLength=\"8\">5</headerLength>\n" +
- " <tpduCode dataType=\"uint8\"
bitLength=\"8\">240</tpduCode>\n" +
- " <COTPPacketData>\n" +
- " <eot dataType=\"bit\" bitLength=\"1\">false</eot>\n" +
- " <tpduRef dataType=\"uint8\"
bitLength=\"7\">13</tpduRef>\n" +
- " </COTPPacketData>\n" +
- " <parameters>\n" +
- " <COTPParameter>\n" +
- " <parameterType dataType=\"uint8\"
bitLength=\"8\">192</parameterType>\n" +
- " <parameterLength dataType=\"uint8\"
bitLength=\"8\">1</parameterLength>\n" +
- " <COTPParameterTpduSize>\n" +
- " <COTPTpduSize dataType=\"int8\" bitLength=\"8\"
stringRepresentation=\"SIZE_4096\">12</COTPTpduSize>\n" +
- " </COTPParameterTpduSize>\n" +
- " </COTPParameter>\n" +
- " </parameters>\n" +
- " <S7Message>\n" +
- " <protocolId dataType=\"uint8\"
bitLength=\"8\">50</protocolId>\n" +
- " <messageType dataType=\"uint8\"
bitLength=\"8\">3</messageType>\n" +
- " <reserved dataType=\"uint16\"
bitLength=\"16\">0</reserved>\n" +
- " <tpduReference dataType=\"uint16\"
bitLength=\"16\">11</tpduReference>\n" +
- " <parameterLength dataType=\"uint16\"
bitLength=\"16\">2</parameterLength>\n" +
- " <payloadLength dataType=\"uint16\"
bitLength=\"16\">5</payloadLength>\n" +
- " <S7MessageResponseData>\n" +
- " <errorClass dataType=\"uint8\"
bitLength=\"8\">0</errorClass>\n" +
- " <errorCode dataType=\"uint8\"
bitLength=\"8\">0</errorCode>\n" +
- " </S7MessageResponseData>\n" +
- " <S7Parameter>\n" +
- " <parameterType dataType=\"uint8\"
bitLength=\"8\">4</parameterType>\n" +
- " <S7ParameterReadVarResponse>\n" +
- " <numItems dataType=\"uint8\"
bitLength=\"8\">1</numItems>\n" +
- " </S7ParameterReadVarResponse>\n" +
- " </S7Parameter>\n" +
- " <S7Payload>\n" +
- " <S7PayloadReadVarResponse>\n" +
- " <items>\n" +
- " <S7VarPayloadDataItem>\n" +
- " <DataTransportErrorCode dataType=\"uint8\"
bitLength=\"8\" stringRepresentation=\"OK\">255</DataTransportErrorCode>\n" +
- " <DataTransportSize dataType=\"uint8\"
bitLength=\"8\" stringRepresentation=\"BIT\">3</DataTransportSize>\n" +
- " <dataLength dataType=\"uint16\"
bitLength=\"16\">1</dataLength>\n" +
- " <data>\n" +
- " <value dataType=\"int8\"
bitLength=\"8\">1</value>\n" +
- " </data>\n" +
- " <padding></padding>\n" +
- " </S7VarPayloadDataItem>\n" +
- " </items>\n" +
- " </S7PayloadReadVarResponse>\n" +
- " </S7Payload>\n" +
- " </S7Message>\n" +
- " </COTPPacket>\n" +
+ " <protocolId dataType=\"uint\"
bitLength=\"8\">3</protocolId>\n" +
+ " <reserved dataType=\"uint\" bitLength=\"8\">0</reserved>\n"
+
+ " <len dataType=\"uint\" bitLength=\"16\">29</len>\n" +
+ " <payload>\n" +
+ " <COTPPacket>\n" +
+ " <headerLength dataType=\"uint\"
bitLength=\"8\">5</headerLength>\n" +
+ " <tpduCode dataType=\"uint\"
bitLength=\"8\">240</tpduCode>\n" +
+ " <COTPPacketData>\n" +
+ " <eot dataType=\"bit\" bitLength=\"1\">false</eot>\n" +
+ " <tpduRef dataType=\"uint\"
bitLength=\"7\">13</tpduRef>\n" +
+ " </COTPPacketData>\n" +
+ " <parameters>\n" +
+ " <COTPParameter>\n" +
+ " <parameterType dataType=\"uint\"
bitLength=\"8\">192</parameterType>\n" +
+ " <parameterLength dataType=\"uint\"
bitLength=\"8\">1</parameterLength>\n" +
+ " <COTPParameterTpduSize>\n" +
+ " <tpduSize>\n" +
+ " <COTPTpduSize dataType=\"int\"
bitLength=\"8\">12</COTPTpduSize>\n" +
+ " </tpduSize>\n" +
+ " </COTPParameterTpduSize>\n" +
+ " </COTPParameter>\n" +
+ " </parameters>\n" +
+ " <S7Message>\n" +
+ " <protocolId dataType=\"uint\"
bitLength=\"8\">50</protocolId>\n" +
+ " <messageType dataType=\"uint\"
bitLength=\"8\">3</messageType>\n" +
+ " <reserved dataType=\"uint\"
bitLength=\"16\">0</reserved>\n" +
+ " <tpduReference dataType=\"uint\"
bitLength=\"16\">11</tpduReference>\n" +
+ " <parameterLength dataType=\"uint\"
bitLength=\"16\">2</parameterLength>\n" +
+ " <payloadLength dataType=\"uint\"
bitLength=\"16\">5</payloadLength>\n" +
+ " <S7MessageResponseData>\n" +
+ " <errorClass dataType=\"uint\"
bitLength=\"8\">0</errorClass>\n" +
+ " <errorCode dataType=\"uint\"
bitLength=\"8\">0</errorCode>\n" +
+ " </S7MessageResponseData>\n" +
+ " <S7Parameter>\n" +
+ " <parameterType dataType=\"uint\"
bitLength=\"8\">4</parameterType>\n" +
+ " <S7ParameterReadVarResponse>\n" +
+ " <numItems dataType=\"uint\"
bitLength=\"8\">1</numItems>\n" +
+ " </S7ParameterReadVarResponse>\n" +
+ " </S7Parameter>\n" +
+ " <S7Payload>\n" +
+ " <S7PayloadReadVarResponse>\n" +
+ " <items>\n" +
+ " <S7VarPayloadDataItem>\n" +
+ " <returnCode>\n" +
+ " <DataTransportErrorCode dataType=\"uint\"
bitLength=\"8\">255</DataTransportErrorCode>\n" +
+ " </returnCode>\n" +
+ " <transportSize>\n" +
+ " <DataTransportSize dataType=\"uint\"
bitLength=\"8\">3</DataTransportSize>\n" +
+ " </transportSize>\n" +
+ " <dataLength dataType=\"uint\"
bitLength=\"16\">1</dataLength>\n" +
+ " <data>\n" +
+ " <value dataType=\"int\"
bitLength=\"8\">1</value>\n" +
+ " </data>\n" +
+ " <padding>\n" +
+ " </padding>\n" +
+ " </S7VarPayloadDataItem>\n" +
+ " </items>\n" +
+ " </S7PayloadReadVarResponse>\n" +
+ " </S7Payload>\n" +
+ " </S7Message>\n" +
+ " </COTPPacket>\n" +
+ " </payload>\n" +
"</TPKTPacket>\n";
@@ -123,9 +127,7 @@ public class S7IoTest {
WriteBufferXmlBased writeBufferXmlBased = new WriteBufferXmlBased();
TPKTPacketIO.staticSerialize(writeBufferXmlBased, tpktPacket);
String gotXml = writeBufferXmlBased.getXmlString();
- if (doneDesigningJavaXml) {
- assertEquals(wantXml, gotXml);
- }
+ assertEquals(wantXml, gotXml);
System.out.println(gotXml);
ReadBufferXmlBased readBufferXmlBased = new ReadBufferXmlBased(new
ByteArrayInputStream(gotXml.getBytes()));
TPKTPacket reReadTpktPacket =
TPKTPacketIO.staticParse(readBufferXmlBased);
diff --git
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferXmlBased.java
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferXmlBased.java
index ec777b0..2f2f90d 100644
---
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferXmlBased.java
+++
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferXmlBased.java
@@ -74,25 +74,25 @@ public class ReadBufferXmlBased implements ReadBuffer {
@Override
public byte readUnsignedByte(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Byte.parseByte(decode(logicalName, "uint8", bitLength));
+ return Byte.parseByte(decode(logicalName, "uint", bitLength));
}
@Override
public short readUnsignedShort(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Short.parseShort(decode(logicalName, "uint16", bitLength));
+ return Short.parseShort(decode(logicalName, "uint", bitLength));
}
@Override
public int readUnsignedInt(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Integer.parseInt(decode(logicalName, "uint32", bitLength));
+ return Integer.parseInt(decode(logicalName, "uint", bitLength));
}
@Override
public long readUnsignedLong(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Long.parseLong(decode(logicalName, "uint32", bitLength));
+ return Long.parseLong(decode(logicalName, "uint", bitLength));
}
@Override
@@ -104,49 +104,49 @@ public class ReadBufferXmlBased implements ReadBuffer {
@Override
public byte readByte(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Byte.parseByte(decode(logicalName, "int8", bitLength));
+ return Byte.parseByte(decode(logicalName, "int", bitLength));
}
@Override
public short readShort(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Short.parseShort(decode(logicalName, "int16", bitLength));
+ return Short.parseShort(decode(logicalName, "int", bitLength));
}
@Override
public int readInt(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Integer.parseInt(decode(logicalName, "int32", bitLength));
+ return Integer.parseInt(decode(logicalName, "int", bitLength));
}
@Override
public long readLong(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Long.parseLong(decode(logicalName, "int64", bitLength));
+ return Long.parseLong(decode(logicalName, "int", bitLength));
}
@Override
public BigInteger readBigInteger(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- throw new PlcRuntimeException("not implemented yet");
+ return new BigInteger(decode(logicalName,"int",bitLength));
}
@Override
public float readFloat(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Float.parseFloat(decode(logicalName, "float32", bitLength));
+ return Float.parseFloat(decode(logicalName, "float", bitLength));
}
@Override
public double readDouble(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- return Double.parseDouble(decode(logicalName, "float64", bitLength));
+ return Double.parseDouble(decode(logicalName, "float", bitLength));
}
@Override
public BigDecimal readBigDecimal(String logicalName, int bitLength) throws
ParseException {
move(bitLength);
- throw new PlcRuntimeException("not implemented yet");
+ return new BigDecimal(decode(logicalName, "float", bitLength));
}
@Override
@@ -204,7 +204,7 @@ public class ReadBufferXmlBased implements ReadBuffer {
private String decode(String logicalName, String dataType, int bitLength) {
StartElement startElement = travelToNextStartElement();
validateStartElement(startElement, logicalName, dataType, bitLength);
- Characters characters = null;
+ Characters characters;
try {
characters = reader.nextEvent().asCharacters();
} catch (XMLStreamException e) {
@@ -212,7 +212,7 @@ public class ReadBufferXmlBased implements ReadBuffer {
}
String data = characters.getData();
try {
- XMLEvent endEvent = reader.nextEvent().asEndElement();
+ reader.nextEvent().asEndElement();
} catch (XMLStreamException e) {
throw new PlcRuntimeException(e);
}
diff --git
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferXmlBased.java
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferXmlBased.java
index f052054..0d2a583 100644
---
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferXmlBased.java
+++
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferXmlBased.java
@@ -90,81 +90,81 @@ public class WriteBufferXmlBased implements WriteBuffer {
@Override
public void writeUnsignedByte(String logicalName, int bitLength, byte
value) throws ParseException {
- createAndAppend(logicalName, "uint8", bitLength,
Byte.valueOf(value).toString());
+ createAndAppend(logicalName, "uint", bitLength,
Byte.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeUnsignedShort(String logicalName, int bitLength, short
value) throws ParseException {
- createAndAppend(logicalName, "uint16", bitLength,
Short.valueOf(value).toString());
+ createAndAppend(logicalName, "uint", bitLength,
Short.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeUnsignedInt(String logicalName, int bitLength, int value)
throws ParseException {
- createAndAppend(logicalName, "uint32", bitLength,
Integer.valueOf(value).toString());
+ createAndAppend(logicalName, "uint", bitLength,
Integer.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeUnsignedLong(String logicalName, int bitLength, long
value) throws ParseException {
- createAndAppend(logicalName, "uint64", bitLength,
Long.valueOf(value).toString());
+ createAndAppend(logicalName, "uint", bitLength,
Long.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeUnsignedBigInteger(String logicalName, int bitLength,
BigInteger value) throws ParseException {
- createAndAppend(logicalName, "bigInt", bitLength, value.toString());
+ createAndAppend(logicalName, "uint", bitLength, value.toString());
move(bitLength);
}
@Override
public void writeByte(String logicalName, int bitLength, byte value)
throws ParseException {
- createAndAppend(logicalName, "int8", bitLength,
Byte.valueOf(value).toString());
+ createAndAppend(logicalName, "int", bitLength,
Byte.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeShort(String logicalName, int bitLength, short value)
throws ParseException {
- createAndAppend(logicalName, "int16", bitLength,
Short.valueOf(value).toString());
+ createAndAppend(logicalName, "int", bitLength,
Short.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeInt(String logicalName, int bitLength, int value) throws
ParseException {
- createAndAppend(logicalName, "int32", bitLength,
Integer.valueOf(value).toString());
+ createAndAppend(logicalName, "int", bitLength,
Integer.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeLong(String logicalName, int bitLength, long value)
throws ParseException {
- createAndAppend(logicalName, "int64", bitLength,
Long.valueOf(value).toString());
+ createAndAppend(logicalName, "int", bitLength,
Long.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeBigInteger(String logicalName, int bitLength, BigInteger
value) throws ParseException {
- createAndAppend(logicalName, "bigInt", bitLength, value.toString());
+ createAndAppend(logicalName, "int", bitLength, value.toString());
move(bitLength);
}
@Override
public void writeFloat(String logicalName, float value, int bitsExponent,
int bitsMantissa) throws ParseException {
int bitLength = (value < 0 ? 1 : 0) + bitsExponent + bitsMantissa;
- createAndAppend(logicalName, "float32", bitLength,
Float.valueOf(value).toString());
+ createAndAppend(logicalName, "float", bitLength,
Float.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeDouble(String logicalName, double value, int
bitsExponent, int bitsMantissa) throws ParseException {
int bitLength = (value < 0 ? 1 : 0) + bitsExponent + bitsMantissa;
- createAndAppend(logicalName, "float64", bitLength,
Double.valueOf(value).toString());
+ createAndAppend(logicalName, "float", bitLength,
Double.valueOf(value).toString());
move(bitLength);
}
@Override
public void writeBigDecimal(String logicalName, int bitLength, BigDecimal
value) throws ParseException {
- createAndAppend(logicalName, "bigFloat", bitLength, value.toString());
+ createAndAppend(logicalName, "float", bitLength, value.toString());
move(bitLength);
}