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

commit d9a1c5d5cba5d2eccf33f1180615de87d953fc33
Author: Sebastian Rühl <[email protected]>
AuthorDate: Thu Jun 9 16:53:30 2022 +0200

    fix(plc4go/codegen): fixed argument handling of complex argument types
---
 .../src/main/resources/templates/go/complex-type-template.go.ftlh   | 6 +++---
 plc4go/internal/s7/Connection.go                                    | 2 +-
 plc4go/internal/s7/Writer.go                                        | 2 +-
 plc4go/internal/s7/s7Io_test.go                                     | 4 ++--
 plc4go/protocols/s7/readwrite/model/S7Payload.go                    | 4 ++--
 plc4go/protocols/s7/readwrite/model/S7PayloadReadVarResponse.go     | 4 ++--
 plc4go/protocols/s7/readwrite/model/S7PayloadUserData.go            | 4 ++--
 plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarRequest.go     | 4 ++--
 plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarResponse.go    | 4 ++--
 9 files changed, 17 insertions(+), 17 deletions(-)

diff --git 
a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
 
b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
index 8b8853ad88..5e6c402783 100644
--- 
a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
+++ 
b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
@@ -98,7 +98,7 @@ type ${type.name} struct {
 
        // Arguments.
     <#list filteredParserArguments as parserArgument>
-       ${parserArgument.name?cap_first} 
${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}
+       ${parserArgument.name?cap_first} <#if 
parserArgument.type.isNonSimpleTypeReference() && 
!parserArgument.type.isEnumTypeReference()>*</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}
     </#list>
 </#if>
 <#if type.isDiscriminatedParentTypeDefinition()>
@@ -313,7 +313,7 @@ func New${type.name}(
     <#if filteredParserArguments?has_content>
         <#if type.allPropertyFields?has_content>, </#if>
         <#list filteredParserArguments as parserArgument>
-                       ${parserArgument.name} 
${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}
+                       ${parserArgument.name} <#if 
parserArgument.type.isNonSimpleTypeReference() && 
!parserArgument.type.isEnumTypeReference()>*</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}
             <#sep>, </#sep>
         </#list>
     </#if>
@@ -1482,7 +1482,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if 
hasParserArguments>, ${pa
        return _child, nil
        <#else>
        // Create the instance
-       return New${type.name}(<#list type.propertyFields as 
field>${field.name}<#sep>, </#sep></#list><#if 
filteredParserArguments?has_content><#if type.propertyFields?has_content>, 
</#if><#list filteredParserArguments as arg><#if 
arg.type.isNonSimpleTypeReference() && 
!arg.type.isEnumTypeReference()>*</#if>${arg.name}<#sep>, 
</#sep></#list></#if>), nil
+       return New${type.name}(<#list type.propertyFields as 
field>${field.name}<#sep>, </#sep></#list><#if 
filteredParserArguments?has_content><#if type.propertyFields?has_content>, 
</#if><#list filteredParserArguments as arg>${arg.name}<#sep>, 
</#sep></#list></#if>), nil
        </#if>
 }
 
diff --git a/plc4go/internal/s7/Connection.go b/plc4go/internal/s7/Connection.go
index 45b63e097f..aeb9b51dbe 100644
--- a/plc4go/internal/s7/Connection.go
+++ b/plc4go/internal/s7/Connection.go
@@ -389,7 +389,7 @@ func (m *Connection) createIdentifyRemoteMessage() 
*readWriteModel.TPKTPacket {
                                        
readWriteModel.DataTransportSize_OCTET_STRING,
                                ).GetParent(),
                        },
-                       *readWriteModel.NewS7Parameter(),
+                       nil,
                ).GetParent(),
        ).GetParent()
        cotpPacketData := readWriteModel.NewCOTPPacketData(true, 2, nil, 
identifyRemoteMessage, 0).GetParent()
diff --git a/plc4go/internal/s7/Writer.go b/plc4go/internal/s7/Writer.go
index b804d10a7b..2db57c6b50 100644
--- a/plc4go/internal/s7/Writer.go
+++ b/plc4go/internal/s7/Writer.go
@@ -80,7 +80,7 @@ func (m Writer) Write(writeRequest model.PlcWriteRequest) 
<-chan model.PlcWriteR
                s7MessageRequest := readWriteModel.NewS7MessageRequest(
                        tpduId,
                        
readWriteModel.NewS7ParameterWriteVarRequest(parameterItems).GetParent(),
-                       
readWriteModel.NewS7PayloadWriteVarRequest(payloadItems, 
*readWriteModel.NewS7Parameter()).GetParent(),
+                       
readWriteModel.NewS7PayloadWriteVarRequest(payloadItems, nil).GetParent(),
                ).GetParent()
 
                // Assemble the finished paket
diff --git a/plc4go/internal/s7/s7Io_test.go b/plc4go/internal/s7/s7Io_test.go
index 566f2bcab6..16cc977bd3 100644
--- a/plc4go/internal/s7/s7Io_test.go
+++ b/plc4go/internal/s7/s7Io_test.go
@@ -66,7 +66,7 @@ func TestS7MessageBytes(t *testing.T) {
                                                                                
[]byte{1},
                                                                        ),
                                                                },
-                                                               
*model.NewS7Parameter(),
+                                                               nil,
                                                        ).GetParent(),
                                                ).GetParent(),
                                                0,
@@ -414,7 +414,7 @@ func TestS7MessageBytes(t *testing.T) {
                                                                                
},
                                                                        ),
                                                                },
-                                                               
*model.NewS7Parameter()).GetParent(),
+                                                               
nil).GetParent(),
                                                ).GetParent(),
                                                0,
                                        ).GetParent(),
diff --git a/plc4go/protocols/s7/readwrite/model/S7Payload.go 
b/plc4go/protocols/s7/readwrite/model/S7Payload.go
index bef9c9b30c..0d2d0703de 100644
--- a/plc4go/protocols/s7/readwrite/model/S7Payload.go
+++ b/plc4go/protocols/s7/readwrite/model/S7Payload.go
@@ -30,7 +30,7 @@ import (
 type S7Payload struct {
 
        // Arguments.
-       Parameter S7Parameter
+       Parameter *S7Parameter
        Child     IS7PayloadChild
 }
 
@@ -63,7 +63,7 @@ type IS7PayloadChild interface {
 }
 
 // NewS7Payload factory function for S7Payload
-func NewS7Payload(parameter S7Parameter) *S7Payload {
+func NewS7Payload(parameter *S7Parameter) *S7Payload {
        return &S7Payload{Parameter: parameter}
 }
 
diff --git a/plc4go/protocols/s7/readwrite/model/S7PayloadReadVarResponse.go 
b/plc4go/protocols/s7/readwrite/model/S7PayloadReadVarResponse.go
index 59cc7cf5de..a715715890 100644
--- a/plc4go/protocols/s7/readwrite/model/S7PayloadReadVarResponse.go
+++ b/plc4go/protocols/s7/readwrite/model/S7PayloadReadVarResponse.go
@@ -32,7 +32,7 @@ type S7PayloadReadVarResponse struct {
        Items []*S7VarPayloadDataItem
 
        // Arguments.
-       Parameter S7Parameter
+       Parameter *S7Parameter
 }
 
 // IS7PayloadReadVarResponse is the corresponding interface of 
S7PayloadReadVarResponse
@@ -87,7 +87,7 @@ func (m *S7PayloadReadVarResponse) GetItems() 
[]*S7VarPayloadDataItem {
 ///////////////////////////////////////////////////////////
 
 // NewS7PayloadReadVarResponse factory function for S7PayloadReadVarResponse
-func NewS7PayloadReadVarResponse(items []*S7VarPayloadDataItem, parameter 
S7Parameter) *S7PayloadReadVarResponse {
+func NewS7PayloadReadVarResponse(items []*S7VarPayloadDataItem, parameter 
*S7Parameter) *S7PayloadReadVarResponse {
        _result := &S7PayloadReadVarResponse{
                Items:     items,
                S7Payload: NewS7Payload(parameter),
diff --git a/plc4go/protocols/s7/readwrite/model/S7PayloadUserData.go 
b/plc4go/protocols/s7/readwrite/model/S7PayloadUserData.go
index ff32591f43..538bb8bead 100644
--- a/plc4go/protocols/s7/readwrite/model/S7PayloadUserData.go
+++ b/plc4go/protocols/s7/readwrite/model/S7PayloadUserData.go
@@ -32,7 +32,7 @@ type S7PayloadUserData struct {
        Items []*S7PayloadUserDataItem
 
        // Arguments.
-       Parameter S7Parameter
+       Parameter *S7Parameter
 }
 
 // IS7PayloadUserData is the corresponding interface of S7PayloadUserData
@@ -87,7 +87,7 @@ func (m *S7PayloadUserData) GetItems() 
[]*S7PayloadUserDataItem {
 ///////////////////////////////////////////////////////////
 
 // NewS7PayloadUserData factory function for S7PayloadUserData
-func NewS7PayloadUserData(items []*S7PayloadUserDataItem, parameter 
S7Parameter) *S7PayloadUserData {
+func NewS7PayloadUserData(items []*S7PayloadUserDataItem, parameter 
*S7Parameter) *S7PayloadUserData {
        _result := &S7PayloadUserData{
                Items:     items,
                S7Payload: NewS7Payload(parameter),
diff --git a/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarRequest.go 
b/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarRequest.go
index b0c3dcb8d5..65540c2d40 100644
--- a/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarRequest.go
+++ b/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarRequest.go
@@ -32,7 +32,7 @@ type S7PayloadWriteVarRequest struct {
        Items []*S7VarPayloadDataItem
 
        // Arguments.
-       Parameter S7Parameter
+       Parameter *S7Parameter
 }
 
 // IS7PayloadWriteVarRequest is the corresponding interface of 
S7PayloadWriteVarRequest
@@ -87,7 +87,7 @@ func (m *S7PayloadWriteVarRequest) GetItems() 
[]*S7VarPayloadDataItem {
 ///////////////////////////////////////////////////////////
 
 // NewS7PayloadWriteVarRequest factory function for S7PayloadWriteVarRequest
-func NewS7PayloadWriteVarRequest(items []*S7VarPayloadDataItem, parameter 
S7Parameter) *S7PayloadWriteVarRequest {
+func NewS7PayloadWriteVarRequest(items []*S7VarPayloadDataItem, parameter 
*S7Parameter) *S7PayloadWriteVarRequest {
        _result := &S7PayloadWriteVarRequest{
                Items:     items,
                S7Payload: NewS7Payload(parameter),
diff --git a/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarResponse.go 
b/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarResponse.go
index a2d34e1c3f..4deee2631f 100644
--- a/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarResponse.go
+++ b/plc4go/protocols/s7/readwrite/model/S7PayloadWriteVarResponse.go
@@ -32,7 +32,7 @@ type S7PayloadWriteVarResponse struct {
        Items []*S7VarPayloadStatusItem
 
        // Arguments.
-       Parameter S7Parameter
+       Parameter *S7Parameter
 }
 
 // IS7PayloadWriteVarResponse is the corresponding interface of 
S7PayloadWriteVarResponse
@@ -87,7 +87,7 @@ func (m *S7PayloadWriteVarResponse) GetItems() 
[]*S7VarPayloadStatusItem {
 ///////////////////////////////////////////////////////////
 
 // NewS7PayloadWriteVarResponse factory function for S7PayloadWriteVarResponse
-func NewS7PayloadWriteVarResponse(items []*S7VarPayloadStatusItem, parameter 
S7Parameter) *S7PayloadWriteVarResponse {
+func NewS7PayloadWriteVarResponse(items []*S7VarPayloadStatusItem, parameter 
*S7Parameter) *S7PayloadWriteVarResponse {
        _result := &S7PayloadWriteVarResponse{
                Items:     items,
                S7Payload: NewS7Payload(parameter),

Reply via email to