You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/10/25 08:31:34 UTC
[plc4x] branch feature/mspec-ng updated: refactor(plc4j/codgen):
small cleanups
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/mspec-ng by this push:
new ad6fe78 refactor(plc4j/codgen): small cleanups
ad6fe78 is described below
commit ad6fe789fdf270c18b446d8806f289f10a7ad484
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon Oct 25 10:31:24 2021 +0200
refactor(plc4j/codgen): small cleanups
---
.../resources/templates/java/io-template.java.ftlh | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh b/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
index c39716d..72e65fd 100644
--- a/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
+++ b/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
@@ -172,17 +172,17 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#-- If this is a count array, we can directly initialize an array with the given size -->
<#if field.isCountArrayField()>
// Count array
- List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${arrayField.name} = readCountArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, ${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)});
+ List<${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}> ${arrayField.name} = readCountArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, ${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)});
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
<#else>
<#-- For a length array, we read data till the read position of the buffer reaches a given position -->
<#if field.isLengthArrayField()>
// Length array
- List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${arrayField.name} = readLengthArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, ${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)});
+ List<${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}> ${arrayField.name} = readLengthArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, ${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)});
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
<#elseif field.isTerminatedArrayField()>
// Terminated array
- List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${arrayField.name} = readTerminatedArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, () -> ((boolean) (${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)})));
+ List<${helper.getNonPrimitiveLanguageTypeNameForField(arrayField)}> ${arrayField.name} = readTerminatedArrayField("${arrayField.name}", ${helper.getDataReaderCall(arrayField.type)}, () -> ((boolean) (${helper.toParseExpression(arrayField, arrayField.loopExpression, parserArguments)})));
</#if>
</#if>
</#if>
@@ -313,7 +313,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
type we have to iterate over it's elements and explicitly cast them.
Otherwise a simple toArray call is fine.
-->
- <#if helper.isSimpleTypeReference(field.type)>
+ <#if helper.isSimpleTypeReference(manualArrayField.type)>
${helper.getLanguageTypeNameForField(field)}[] ${manualArrayField.name} = new ${helper.getLanguageTypeNameForField(field)}[_${manualArrayField.name}List.size()];
for(int i = 0; i < _${manualArrayField.name}List.size(); i++) {
${manualArrayField.name}[i] = (${helper.getLanguageTypeNameForField(field)}) _${manualArrayField.name}List.get(i);
@@ -513,7 +513,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#assign simpleTypeReference = discriminatorField.type.asSimpleTypeReference().orElseThrow()>
${helper.getWriteBufferWriteMethodCall(discriminatorField.name, simpleTypeReference, "(" + discriminatorField.name + ")", discriminatorField)};
<#else>
- <#assign complexTypeReference = discriminatorField.type>
+ <#assign complexTypeReference = discriminatorField.type.asComplexTypeReference().orElseThrow()>
<#if helper.isEnumField(field)>
${helper.getWriteBufferWriteMethodCall(discriminatorField.name, helper.getEnumBaseTypeReference(discriminatorField.type), "(" + discriminatorField.name + ".getValue())", discriminatorField)};
<#else>
@@ -550,7 +550,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
}
<#break>
<#case "manual">
- <#assign manualField = field.asTypedField().orElseThrow()>
+ <#assign manualField = field.asManualField().orElseThrow()>
// Manual Field (${manualField.name})
${helper.toSerializationExpression(manualField, manualField.serializeExpression, parserArguments)};
@@ -562,11 +562,11 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
${helper.getLanguageTypeNameForField(field)} ${optionalField.name} = null;
if(_value.get${optionalField.name?cap_first}() != null) {
${optionalField.name} = (${helper.getLanguageTypeNameForField(field)}) _value.get${optionalField.name?cap_first}();
- <#if helper.isSimpleTypeReference(optionalField.type)>
+ <#if optionalField.type.isSimpleTypeReference()>
<#assign simpleTypeReference = optionalField.type.asSimpleTypeReference().orElseThrow()>
${helper.getWriteBufferWriteMethodCall(optionalField.name, simpleTypeReference, "(" + optionalField.name + ")", optionalField)};
<#else>
- <#assign complexTypeReference = optionalField.type>
+ <#assign complexTypeReference = optionalField.type.asComplexTypeReference().orElseThrow()>
<#if helper.isEnumField(field)>
${helper.getWriteBufferWriteMethodCall(optionalField.name, helper.getEnumBaseTypeReference(optionalField.type), "(" + optionalField.name + ".getValue())", optionalField)};
<#else>
@@ -602,7 +602,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
// Simple Field (${simpleField.name})
${helper.getLanguageTypeNameForField(field)} ${simpleField.name} = (${helper.getLanguageTypeNameForField(field)}) _value.get${simpleField.name?cap_first}();
- <#if helper.isSimpleTypeReference(simpleField.type)>
+ <#if simpleField.type.isSimpleTypeReference()>
<#assign simpleTypeReference = simpleField.type.asSimpleTypeReference().orElseThrow()>
<#if helper.isEnumField(field)>
// enum based simple field with type ${simpleField.type.asComplexTypeReference().orElseThrow().name}
@@ -612,7 +612,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
</#if>
<#else>
writeBuffer.pushContext("${simpleField.name}");
- <#assign complexTypeReference = simpleField.type>
+ <#assign complexTypeReference = simpleField.type.asComplexTypeReference().orElseThrow()>
<#if helper.isEnumField(field)>
// enum field with type ${complexTypeReference.name}
${helper.getWriteBufferWriteMethodCall(complexTypeReference.name, helper.getEnumBaseTypeReference(simpleField.type), "(" + simpleField.name + ".getValue())", simpleField, "WithReaderWriterArgs.WithAdditionalStringRepresentation(${simpleField.name}.name())")};