Skip to content

Commit

Permalink
fix(plc4go/codgen): added missing validation field
Browse files Browse the repository at this point in the history
  • Loading branch information
sruehl committed Jan 24, 2022
1 parent e7dcb11 commit 5aa4e72
Show file tree
Hide file tree
Showing 25 changed files with 176 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,16 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
_${virtualField.name} := ${helper.toParseExpression(virtualField, virtualField.type, virtualField.valueExpression, parserArguments)}
${virtualField.name} := ${helper.getLanguageTypeNameForTypeReference(virtualField.type)}(_${virtualField.name})
<#break>
<#case "validation">
<#assign validationField = field.asValidationField().orElseThrow()>

// Validation
if (!(${helper.toParseExpression(validationField, helper.boolTypeReference, validationField.getValidationExpression(), null)})) {
return nil, utils.ParseAssertError
// TODO: message would be helpful but then we need to change ParserAssertError to be customizable
//return nil, errors.New(${validationField.getDescription().orElse("Validation failed")}) //TODO: add emit import here
}
<#break>
<#case "peek">
<#assign peekField = field.asPeekField().orElseThrow()>

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"fmt"
abethModel "github.com/apache/plc4x/plc4go/internal/plc4go/abeth/readwrite"
adsModel "github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite"
bacnetModel "github.com/apache/plc4x/plc4go/internal/plc4go/bacnetip/readwrite"
df1Model "github.com/apache/plc4x/plc4go/internal/plc4go/df1/readwrite"
eipModel "github.com/apache/plc4x/plc4go/internal/plc4go/eip/readwrite"
firmataModel "github.com/apache/plc4x/plc4go/internal/plc4go/firmata/readwrite"
Expand Down Expand Up @@ -138,6 +139,8 @@ func RunParserSerializerTestsuite(t *testing.T, testPath string, skippedTestCase
helper = new(abethModel.AbethParserHelper)
case "ads":
helper = new(adsModel.AdsParserHelper)
case "bacnetip":
helper = new(bacnetModel.BacnetipParserHelper)
case "df1":
helper = new(df1Model.Df1ParserHelper)
case "eip":
Expand All @@ -151,7 +154,7 @@ func RunParserSerializerTestsuite(t *testing.T, testPath string, skippedTestCase
case "knxnetip":
helper = new(knxModel.KnxnetipParserHelper)
default:
t.Errorf("Testsuite %s has not mapped parser", testsuiteName)
t.Errorf("Testsuite %s has not mapped parser for %s", testsuiteName, protocolName)
return
}
_ = outputFlavor
Expand Down
1 change: 1 addition & 0 deletions plc4go/internal/plc4go/spi/utils/Utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@ func InlineIf(test bool, a func() interface{}, b func() interface{}) interface{}
}
}

// TODO: make a error witch can be checked with errors.With
var ParseAssertError = errors.New("Wrong assertion")

0 comments on commit 5aa4e72

Please sign in to comment.