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())
}