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/09/14 12:10:18 UTC

[plc4x] branch develop updated: plc4go: move some spi only methods from driverManager.go to TransportAware.go

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 e41e48c  plc4go: move some spi only methods from driverManager.go to TransportAware.go
e41e48c is described below

commit e41e48c0439a4dbb370b79f5c92b1b45b8e72f10
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Tue Sep 14 14:09:17 2021 +0200

    plc4go: move some spi only methods from driverManager.go to TransportAware.go
---
 .../main/drivers/tests/manual_ads_driver_test.go    |  4 ++--
 .../cmd/main/drivers/tests/manual_s7_driver_test.go |  4 ++--
 .../plc4go/spi/TransportAware.go}                   | 21 +++++++++------------
 .../plc4go/spi/testutils/DriverTestRunner.go        |  2 +-
 plc4go/pkg/plc4go/driverManager.go                  |  7 -------
 plc4go/pkg/plc4go/transports/transports.go          |  5 +++--
 6 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/plc4go/cmd/main/drivers/tests/manual_ads_driver_test.go b/plc4go/cmd/main/drivers/tests/manual_ads_driver_test.go
index da2ef57..64ad3ae 100644
--- a/plc4go/cmd/main/drivers/tests/manual_ads_driver_test.go
+++ b/plc4go/cmd/main/drivers/tests/manual_ads_driver_test.go
@@ -24,8 +24,8 @@ import (
 	_ "github.com/apache/plc4x/plc4go/cmd/main/initializetest"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/ads"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
-	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/tcp"
 	"github.com/apache/plc4x/plc4go/pkg/plc4go"
+	"github.com/apache/plc4x/plc4go/pkg/plc4go/transports"
 	"testing"
 )
 
@@ -84,7 +84,7 @@ func TestManualAds(t *testing.T) {
 	connectionString := fmt.Sprintf("ads:tcp://%s?sourceAmsNetId=%s&sourceAmsPort=%d&targetAmsNetId=%s&targetAmsPort=%d", spsIp, sourceAmsNetId, sourceAmsPort, targetAmsNetId, targetAmsPort)
 	driverManager := plc4go.NewPlcDriverManager()
 	driverManager.RegisterDriver(ads.NewDriver())
-	driverManager.RegisterTransport(tcp.NewTransport())
+	transports.RegisterTcpTransport(driverManager)
 	test := testutils.NewManualTestSuite(connectionString, driverManager, t)
 	test.AddTestCase("main.hurz_BOOL:BOOL", true)
 	test.AddTestCase("main.hurz_BYTE:BYTE", []bool{false, false, true, false, true, false, true, false})
diff --git a/plc4go/cmd/main/drivers/tests/manual_s7_driver_test.go b/plc4go/cmd/main/drivers/tests/manual_s7_driver_test.go
index e32d9a6..22b48f6 100644
--- a/plc4go/cmd/main/drivers/tests/manual_s7_driver_test.go
+++ b/plc4go/cmd/main/drivers/tests/manual_s7_driver_test.go
@@ -23,8 +23,8 @@ import (
 	_ "github.com/apache/plc4x/plc4go/cmd/main/initializetest"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/s7"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
-	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/tcp"
 	"github.com/apache/plc4x/plc4go/pkg/plc4go"
+	"github.com/apache/plc4x/plc4go/pkg/plc4go/transports"
 	"testing"
 )
 
@@ -69,7 +69,7 @@ func TestManualS7(t *testing.T) {
 	connectionString := "s7://192.168.23.30"
 	driverManager := plc4go.NewPlcDriverManager()
 	driverManager.RegisterDriver(s7.NewDriver())
-	driverManager.RegisterTransport(tcp.NewTransport())
+	transports.RegisterTcpTransport(driverManager)
 	test := testutils.NewManualTestSuite(connectionString, driverManager, t)
 
 	test.AddTestCase("%DB4:0.0:BOOL", true)
diff --git a/plc4go/pkg/plc4go/transports/transports.go b/plc4go/internal/plc4go/spi/TransportAware.go
similarity index 60%
copy from plc4go/pkg/plc4go/transports/transports.go
copy to plc4go/internal/plc4go/spi/TransportAware.go
index 2141f9c..85cf98e 100644
--- a/plc4go/pkg/plc4go/transports/transports.go
+++ b/plc4go/internal/plc4go/spi/TransportAware.go
@@ -17,18 +17,15 @@
  * under the License.
  */
 
-package transports
+package spi
 
-import (
-	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/tcp"
-	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/udp"
-	"github.com/apache/plc4x/plc4go/pkg/plc4go"
-)
+import "github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports"
 
-func RegisterTcpTransport(driverManager plc4go.PlcDriverManager) {
-	driverManager.RegisterTransport(tcp.NewTransport())
-}
-
-func RegisterUdpTransport(driverManager plc4go.PlcDriverManager) {
-	driverManager.RegisterTransport(udp.NewTransport())
+type TransportAware interface {
+	// RegisterTransport Manually register a new driver
+	RegisterTransport(transport transports.Transport)
+	// ListTransportNames List the names of all drivers registered in the system
+	ListTransportNames() []string
+	// GetTransport Get access to a driver instance for a given driver-name
+	GetTransport(transportName string, connectionString string, options map[string][]string) (transports.Transport, error)
 }
diff --git a/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go b/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
index 1328b29..6c4a9e3 100644
--- a/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
+++ b/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
@@ -503,7 +503,7 @@ func RunDriverTestsuiteWithOptions(t *testing.T, driver plc4go.PlcDriver, testPa
 
 	// Initialize the driver manager
 	driverManager := plc4go.NewPlcDriverManager()
-	driverManager.RegisterTransport(test.NewTransport())
+	driverManager.(spi.TransportAware).RegisterTransport(test.NewTransport())
 	driverManager.RegisterDriver(driver)
 
 	for _, testcase := range testsuite.testcases {
diff --git a/plc4go/pkg/plc4go/driverManager.go b/plc4go/pkg/plc4go/driverManager.go
index efc9e9e..2b02e09 100644
--- a/plc4go/pkg/plc4go/driverManager.go
+++ b/plc4go/pkg/plc4go/driverManager.go
@@ -36,13 +36,6 @@ type PlcDriverManager interface {
 	// GetDriver Get access to a driver instance for a given driver-name
 	GetDriver(driverName string) (PlcDriver, error)
 
-	// RegisterTransport Manually register a new driver
-	RegisterTransport(transport transports.Transport)
-	// ListTransportNames List the names of all drivers registered in the system
-	ListTransportNames() []string
-	// GetTransport Get access to a driver instance for a given driver-name
-	GetTransport(transportName string, connectionString string, options map[string][]string) (transports.Transport, error)
-
 	// GetConnection Get a connection to a remote PLC for a given plc4x connection-string
 	GetConnection(connectionString string) <-chan PlcConnectionConnectResult
 
diff --git a/plc4go/pkg/plc4go/transports/transports.go b/plc4go/pkg/plc4go/transports/transports.go
index 2141f9c..34c2895 100644
--- a/plc4go/pkg/plc4go/transports/transports.go
+++ b/plc4go/pkg/plc4go/transports/transports.go
@@ -20,15 +20,16 @@
 package transports
 
 import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/tcp"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/transports/udp"
 	"github.com/apache/plc4x/plc4go/pkg/plc4go"
 )
 
 func RegisterTcpTransport(driverManager plc4go.PlcDriverManager) {
-	driverManager.RegisterTransport(tcp.NewTransport())
+	driverManager.(spi.TransportAware).RegisterTransport(tcp.NewTransport())
 }
 
 func RegisterUdpTransport(driverManager plc4go.PlcDriverManager) {
-	driverManager.RegisterTransport(udp.NewTransport())
+	driverManager.(spi.TransportAware).RegisterTransport(udp.NewTransport())
 }