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 2022/03/07 12:04:05 UTC
[plc4x] branch develop updated: fix(plc4go/codegen): work on time support
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 e91f634 fix(plc4go/codegen): work on time support
e91f634 is described below
commit e91f634277bde92364aa0fca1e6212d9df446844
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon Mar 7 13:02:26 2022 +0100
fix(plc4go/codegen): work on time support
---
.../language/go/GoLanguageTemplateHelper.java | 29 ++++++++++++++++------
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index 8d7b9e9..6a2e77a 100644
--- a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -156,13 +156,13 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
case VSTRING:
return "string";
case TIME:
- return "Time";
case DATE:
- return "Date";
case DATETIME:
- return "Date";
+ emitRequiredImport("time");
+ return "time.Time";
+ default:
+ throw new RuntimeException("Unsupported simple type");
}
- throw new RuntimeException("Unsupported simple type");
}
public String getPlcValueTypeForTypeReference(TypeReference typeReference) {
@@ -229,8 +229,9 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
return "values.NewPlcDATE";
case DATETIME:
return "values.NewPlcDATE_AND_TIME";
+ default:
+ throw new FreemarkerException("Unsupported simple type" + simpleTypeReference.getBaseType());
}
- throw new FreemarkerException("Unsupported simple type" + simpleTypeReference.getBaseType());
}
@Override
@@ -358,8 +359,15 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
String lengthExpression = toExpression(field, field.getType(), vstringTypeReference.getLengthExpression(), null, null, false, false);
return "readBuffer.ReadString(\"" + logicalName + "\", uint32(" + lengthExpression + "))";
}
+ case TIME:
+ return "readBuffer.ReadTime(\"" + logicalName + "\")";
+ case DATE:
+ return "readBuffer.ReadDate(\"" + logicalName + "\")";
+ case DATETIME:
+ return "readBuffer.ReadDateTime(\"" + logicalName + "\")";
+ default:
+ throw new FreemarkerException("Unsupported base type" + simpleTypeReference.getBaseType());
}
- throw new FreemarkerException("Unsupported base type" + simpleTypeReference.getBaseType());
}
@Override
@@ -458,8 +466,15 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
return "writeBuffer.WriteString(\"" + logicalName + "\", uint32(" + lengthExpression + "), \"" +
encoding + "\", " + fieldName + writerArgsString + ")";
}
+ case DATE:
+ return "writeBuffer.WriteDate(\"" + logicalName + "\"" + fieldName + writerArgsString + ")";
+ case TIME:
+ return "writeBuffer.WriteTime(\"" + logicalName + "\"" + fieldName + writerArgsString + ")";
+ case DATETIME:
+ return "writeBuffer.WriteDateTime(\"" + logicalName + "\"" + fieldName + writerArgsString + ")";
+ default:
+ throw new FreemarkerException("Unsupported base type" + simpleTypeReference.getBaseType());
}
- throw new FreemarkerException("Unsupported base type" + simpleTypeReference.getBaseType());
}
public String getReservedValue(ReservedField reservedField) {