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/08/19 16:32:48 UTC

[plc4x] branch develop updated: fix(plc4go): fixed NPE when trying to print the SubscriptionResponse

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 84fb3f27b fix(plc4go): fixed NPE when trying to print the SubscriptionResponse
84fb3f27b is described below

commit 84fb3f27b7a68c7494aa5b3a51695dc2f682a1fe
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Aug 19 18:32:41 2022 +0200

    fix(plc4go): fixed NPE when trying to print the SubscriptionResponse
---
 plc4go/internal/cbus/Field.go                      | 13 +++++++++----
 plc4go/spi/model/DefaultPlcSubscriptionResponse.go |  9 ---------
 plc4go/tools/plc4xbrowser/ui/commands.go           |  2 +-
 3 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/plc4go/internal/cbus/Field.go b/plc4go/internal/cbus/Field.go
index eedd7e84e..aec98236f 100644
--- a/plc4go/internal/cbus/Field.go
+++ b/plc4go/internal/cbus/Field.go
@@ -540,9 +540,12 @@ func (s salMonitorField) Serialize(writeBuffer utils.WriteBuffer) error {
 		return err
 	}
 
-	if err := s.unitAddress.Serialize(writeBuffer); err != nil {
-		return err
+	if unitAddress := s.unitAddress; unitAddress != nil {
+		if err := unitAddress.Serialize(writeBuffer); err != nil {
+			return err
+		}
 	}
+
 	if err := s.application.Serialize(writeBuffer); err != nil {
 		return err
 	}
@@ -587,8 +590,10 @@ func (m mmiMonitorField) Serialize(writeBuffer utils.WriteBuffer) error {
 		return err
 	}
 
-	if err := m.unitAddress.Serialize(writeBuffer); err != nil {
-		return err
+	if unitAddress := m.unitAddress; unitAddress != nil {
+		if err := unitAddress.Serialize(writeBuffer); err != nil {
+			return err
+		}
 	}
 	if err := m.application.Serialize(writeBuffer); err != nil {
 		return err
diff --git a/plc4go/spi/model/DefaultPlcSubscriptionResponse.go b/plc4go/spi/model/DefaultPlcSubscriptionResponse.go
index b52b6a89c..c868bcc04 100644
--- a/plc4go/spi/model/DefaultPlcSubscriptionResponse.go
+++ b/plc4go/spi/model/DefaultPlcSubscriptionResponse.go
@@ -21,7 +21,6 @@ package model
 
 import (
 	"github.com/apache/plc4x/plc4go/pkg/api/model"
-	"github.com/apache/plc4x/plc4go/pkg/api/values"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 )
 
@@ -52,10 +51,6 @@ func (m DefaultPlcSubscriptionResponse) GetFieldNames() []string {
 	return fieldNames
 }
 
-func (m DefaultPlcSubscriptionResponse) GetValue(name string) values.PlcValue {
-	panic("not implemented: implement me")
-}
-
 func (m DefaultPlcSubscriptionResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 	if err := writeBuffer.PushContext("PlcSubscriptionResponse"); err != nil {
 		return err
@@ -73,10 +68,6 @@ func (m DefaultPlcSubscriptionResponse) Serialize(writeBuffer utils.WriteBuffer)
 		if err := writeBuffer.PushContext(fieldName); err != nil {
 			return err
 		}
-		valueResponse := m.GetValue(fieldName)
-		if err := valueResponse.(utils.Serializable).Serialize(writeBuffer); err != nil {
-			return err
-		}
 		if err := writeBuffer.PopContext(fieldName); err != nil {
 			return err
 		}
diff --git a/plc4go/tools/plc4xbrowser/ui/commands.go b/plc4go/tools/plc4xbrowser/ui/commands.go
index 95c48e2a4..70c76cf07 100644
--- a/plc4go/tools/plc4xbrowser/ui/commands.go
+++ b/plc4go/tools/plc4xbrowser/ui/commands.go
@@ -382,7 +382,7 @@ var rootCommand = Command{
 					if err := subscriptionRequestResult.GetErr(); err != nil {
 						return errors.Wrapf(err, "%s can't subscribe", connectionsString)
 					}
-					log.Info().Msgf("subscription result %s", subscriptionRequestResult.GetResponse())
+					log.Info().Msgf("subscription result\n%s", subscriptionRequestResult.GetResponse())
 				}
 				return nil
 			},