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 2018/03/08 16:01:39 UTC
[incubator-plc4x] 01/03: added serial connection
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit ea0b3b9d6b36f9f10e1d2cfd7a0dabebf2ffdb4a
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Mar 8 16:27:31 2018 +0100
added serial connection
---
plc4j/protocols/ads/pom.xml | 5 +
.../org/apache/plc4x/java/ads/ADSPlcDriver.java | 4 +-
.../ads/connection/ADSAbstractPlcConnection.java | 100 +++++++++++++++
.../java/ads/connection/ADSPlcConnection.java | 134 ---------------------
.../ads/connection/ADSSerialPlcConnection.java | 56 +++++++++
.../java/ads/connection/ADSTcpPlcConnection.java | 71 +++++++++++
.../apache/plc4x/java/ads/ADSPlcDriverTest.java | 8 +-
...ionTests.java => ADSTcpPlcConnectionTests.java} | 16 +--
.../java/base/connection/SerialChannelFactory.java | 8 +-
9 files changed, 248 insertions(+), 154 deletions(-)
diff --git a/plc4j/protocols/ads/pom.xml b/plc4j/protocols/ads/pom.xml
index fbeacab..ae5e6ad 100644
--- a/plc4j/protocols/ads/pom.xml
+++ b/plc4j/protocols/ads/pom.xml
@@ -51,6 +51,11 @@
</dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base-serial</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java
index 9df2f3f..7950c37 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java
@@ -21,7 +21,7 @@ package org.apache.plc4x.java.ads;
import org.apache.commons.lang3.StringUtils;
import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
-import org.apache.plc4x.java.ads.connection.ADSPlcConnection;
+import org.apache.plc4x.java.ads.connection.ADSTcpPlcConnection;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.connection.PlcConnection;
@@ -73,7 +73,7 @@ public class ADSPlcDriver implements PlcDriver {
String sourceAmsPortString = matcher.group("sourceAmsPort");
AMSPort sourceAmsPort = StringUtils.isNotBlank(sourceAmsPortString) ? AMSPort.of(sourceAmsPortString) : null;
try {
- return new ADSPlcConnection(InetAddress.getByName(host), port, targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
+ return new ADSTcpPlcConnection(InetAddress.getByName(host), port, targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
} catch (UnknownHostException e) {
throw new PlcConnectionException(e);
}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSAbstractPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSAbstractPlcConnection.java
new file mode 100644
index 0000000..ca60188
--- /dev/null
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSAbstractPlcConnection.java
@@ -0,0 +1,100 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+package org.apache.plc4x.java.ads.connection;
+
+import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
+import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
+import org.apache.plc4x.java.ads.model.ADSAddress;
+import org.apache.plc4x.java.api.connection.PlcReader;
+import org.apache.plc4x.java.api.connection.PlcWriter;
+import org.apache.plc4x.java.api.exceptions.PlcException;
+import org.apache.plc4x.java.api.messages.*;
+import org.apache.plc4x.java.api.model.Address;
+import org.apache.plc4x.java.base.connection.AbstractPlcConnection;
+import org.apache.plc4x.java.base.connection.ChannelFactory;
+
+import java.util.concurrent.CompletableFuture;
+
+public abstract class ADSAbstractPlcConnection extends AbstractPlcConnection implements PlcReader, PlcWriter {
+
+ protected final AMSNetId targetAmsNetId;
+
+ protected final AMSPort targetAmsPort;
+
+ protected final AMSNetId sourceAmsNetId;
+
+ protected final AMSPort sourceAmsPort;
+
+ protected ADSAbstractPlcConnection(ChannelFactory channelFactory, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
+ this(channelFactory, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
+ }
+
+ protected ADSAbstractPlcConnection(ChannelFactory channelFactory, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
+ super(channelFactory);
+ this.targetAmsNetId = targetAmsNetId;
+ this.targetAmsPort = targetAmsPort;
+ this.sourceAmsNetId = sourceAmsNetId;
+ this.sourceAmsPort = sourceAmsPort;
+ }
+
+ public AMSNetId getTargetAmsNetId() {
+ return targetAmsNetId;
+ }
+
+ public AMSPort getTargetAmsPort() {
+ return targetAmsPort;
+ }
+
+ public AMSNetId getSourceAmsNetId() {
+ return sourceAmsNetId;
+ }
+
+ public AMSPort getSourceAmsPort() {
+ return sourceAmsPort;
+ }
+
+
+ @Override
+ public Address parseAddress(String addressString) throws PlcException {
+ return ADSAddress.of(addressString);
+ }
+
+ @Override
+ public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) {
+ CompletableFuture<PlcReadResponse> readFuture = new CompletableFuture<>();
+ channel.writeAndFlush(new PlcRequestContainer<>(readRequest, readFuture));
+ return readFuture;
+ }
+
+ @Override
+ public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) {
+ CompletableFuture<PlcWriteResponse> writeFuture = new CompletableFuture<>();
+ channel.writeAndFlush(new PlcRequestContainer<>(writeRequest, writeFuture));
+ return writeFuture;
+ }
+
+ protected static AMSNetId generateAMSNetId() {
+ return AMSNetId.of("0.0.0.0.0.0");
+ }
+
+ protected static AMSPort generateAMSPort() {
+ return AMSPort.of(0);
+ }
+
+}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
deleted file mode 100644
index 2186b2b..0000000
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-package org.apache.plc4x.java.ads.connection;
-
-import io.netty.channel.Channel;
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.ChannelPipeline;
-import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
-import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
-import org.apache.plc4x.java.ads.model.ADSAddress;
-import org.apache.plc4x.java.ads.protocol.ADS2TcpProtocol;
-import org.apache.plc4x.java.ads.protocol.Plc4X2ADSProtocol;
-import org.apache.plc4x.java.api.connection.PlcReader;
-import org.apache.plc4x.java.api.connection.PlcWriter;
-import org.apache.plc4x.java.api.exceptions.PlcException;
-import org.apache.plc4x.java.api.messages.*;
-import org.apache.plc4x.java.api.model.Address;
-import org.apache.plc4x.java.base.connection.AbstractPlcConnection;
-import org.apache.plc4x.java.base.connection.TcpSocketChannelFactory;
-
-import java.net.InetAddress;
-import java.util.concurrent.CompletableFuture;
-
-public class ADSPlcConnection extends AbstractPlcConnection implements PlcReader, PlcWriter {
-
- private static final int TCP_PORT = 48898;
-
- private final AMSNetId targetAmsNetId;
-
- private final AMSPort targetAmsPort;
-
- private final AMSNetId sourceAmsNetId;
-
- private final AMSPort sourceAmsPort;
-
- public ADSPlcConnection(InetAddress address, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
- this(address, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
- }
-
- public ADSPlcConnection(InetAddress address, Integer port, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
- this(address, port, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
- }
-
-
- private ADSPlcConnection(InetAddress address, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
- this(address, null, targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
- }
-
- public ADSPlcConnection(InetAddress address, Integer port, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
- super(new TcpSocketChannelFactory(address, port != null ? port : TCP_PORT));
- this.targetAmsNetId = targetAmsNetId;
- this.targetAmsPort = targetAmsPort;
- this.sourceAmsNetId = sourceAmsNetId;
- this.sourceAmsPort = sourceAmsPort;
- }
-
- public AMSNetId getTargetAmsNetId() {
- return targetAmsNetId;
- }
-
- public AMSPort getTargetAmsPort() {
- return targetAmsPort;
- }
-
- public AMSNetId getSourceAmsNetId() {
- return sourceAmsNetId;
- }
-
- public AMSPort getSourceAmsPort() {
- return sourceAmsPort;
- }
-
- @Override
- protected ChannelHandler getChannelHandler(CompletableFuture<Void> sessionSetupCompleteFuture) {
- return new ChannelInitializer() {
- @Override
- protected void initChannel(Channel channel) {
- // Build the protocol stack for communicating with the ads protocol.
- ChannelPipeline pipeline = channel.pipeline();
- pipeline.addLast(new Plc4X2ADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort));
- pipeline.addLast(new ADS2TcpProtocol());
- }
- };
- }
-
- @Override
- public Address parseAddress(String addressString) throws PlcException {
- return ADSAddress.of(addressString);
- }
-
- @Override
- public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) {
- CompletableFuture<PlcReadResponse> readFuture = new CompletableFuture<>();
- PlcRequestContainer<PlcReadRequest, PlcReadResponse> container =
- new PlcRequestContainer<>(readRequest, readFuture);
- channel.writeAndFlush(container);
- return readFuture;
- }
-
- @Override
- public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) {
- CompletableFuture<PlcWriteResponse> writeFuture = new CompletableFuture<>();
- PlcRequestContainer<PlcWriteRequest, PlcWriteResponse> container =
- new PlcRequestContainer<>(writeRequest, writeFuture);
- channel.writeAndFlush(container);
- return writeFuture;
- }
-
- private static AMSNetId generateAMSNetId() {
- return AMSNetId.of("0.0.0.0.0.0");
- }
-
- private static AMSPort generateAMSPort() {
- return AMSPort.of(TCP_PORT);
- }
-
-}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSSerialPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSSerialPlcConnection.java
new file mode 100644
index 0000000..80b282a
--- /dev/null
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSSerialPlcConnection.java
@@ -0,0 +1,56 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+package org.apache.plc4x.java.ads.connection;
+
+import io.netty.channel.Channel;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelPipeline;
+import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
+import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
+import org.apache.plc4x.java.ads.protocol.ADS2SerialProtocol;
+import org.apache.plc4x.java.ads.protocol.Plc4X2ADSProtocol;
+import org.apache.plc4x.java.base.connection.SerialChannelFactory;
+
+import java.util.concurrent.CompletableFuture;
+
+public class ADSSerialPlcConnection extends ADSAbstractPlcConnection {
+
+ public ADSSerialPlcConnection(String serialPort, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
+ this(serialPort, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
+ }
+
+ public ADSSerialPlcConnection(String serialPort, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
+ super(new SerialChannelFactory(serialPort), targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
+ }
+
+ @Override
+ protected ChannelHandler getChannelHandler(CompletableFuture<Void> sessionSetupCompleteFuture) {
+ return new ChannelInitializer() {
+ @Override
+ protected void initChannel(Channel channel) {
+ // Build the protocol stack for communicating with the ads protocol.
+ ChannelPipeline pipeline = channel.pipeline();
+ pipeline.addLast(new Plc4X2ADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort));
+ pipeline.addLast(new ADS2SerialProtocol());
+ }
+ };
+ }
+
+}
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnection.java
new file mode 100644
index 0000000..3c4f2e7
--- /dev/null
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnection.java
@@ -0,0 +1,71 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+package org.apache.plc4x.java.ads.connection;
+
+import io.netty.channel.Channel;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelPipeline;
+import org.apache.plc4x.java.ads.api.generic.types.AMSNetId;
+import org.apache.plc4x.java.ads.api.generic.types.AMSPort;
+import org.apache.plc4x.java.ads.protocol.ADS2TcpProtocol;
+import org.apache.plc4x.java.ads.protocol.Plc4X2ADSProtocol;
+import org.apache.plc4x.java.base.connection.TcpSocketChannelFactory;
+
+import java.net.InetAddress;
+import java.util.concurrent.CompletableFuture;
+
+public class ADSTcpPlcConnection extends ADSAbstractPlcConnection {
+
+ private static final int TCP_PORT = 48898;
+
+ public ADSTcpPlcConnection(InetAddress address, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
+ this(address, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
+ }
+
+ public ADSTcpPlcConnection(InetAddress address, Integer port, AMSNetId targetAmsNetId, AMSPort targetAmsPort) {
+ this(address, port, targetAmsNetId, targetAmsPort, generateAMSNetId(), generateAMSPort());
+ }
+
+ public ADSTcpPlcConnection(InetAddress address, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
+ this(address, null, targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
+ }
+
+ public ADSTcpPlcConnection(InetAddress address, Integer port, AMSNetId targetAmsNetId, AMSPort targetAmsPort, AMSNetId sourceAmsNetId, AMSPort sourceAmsPort) {
+ super(new TcpSocketChannelFactory(address, port != null ? port : TCP_PORT), targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort);
+ }
+
+ @Override
+ protected ChannelHandler getChannelHandler(CompletableFuture<Void> sessionSetupCompleteFuture) {
+ return new ChannelInitializer() {
+ @Override
+ protected void initChannel(Channel channel) {
+ // Build the protocol stack for communicating with the ads protocol.
+ ChannelPipeline pipeline = channel.pipeline();
+ pipeline.addLast(new Plc4X2ADSProtocol(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort));
+ pipeline.addLast(new ADS2TcpProtocol());
+ }
+ };
+ }
+
+ protected static AMSPort generateAMSPort() {
+ return AMSPort.of(TCP_PORT);
+ }
+
+}
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
index 2d5040d..8d010f0 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java
@@ -19,9 +19,8 @@ under the License.
package org.apache.plc4x.java.ads;
-import org.apache.commons.lang3.RandomStringUtils;
import org.apache.plc4x.java.PlcDriverManager;
-import org.apache.plc4x.java.ads.connection.ADSPlcConnection;
+import org.apache.plc4x.java.ads.connection.ADSTcpPlcConnection;
import org.apache.plc4x.java.ads.util.TcpHexDumper;
import org.apache.plc4x.java.api.authentication.PlcUsernamePasswordAuthentication;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
@@ -29,9 +28,6 @@ import org.apache.plc4x.java.api.exceptions.PlcException;
import org.junit.Rule;
import org.junit.Test;
-import java.net.UnknownHostException;
-
-import static org.apache.plc4x.java.ads.util.Junit5Backport.assertThrows;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@@ -43,7 +39,7 @@ public class ADSPlcDriverTest {
@Test
public void getConnection() throws Exception {
- ADSPlcConnection adsConnection = (ADSPlcConnection)
+ ADSTcpPlcConnection adsConnection = (ADSTcpPlcConnection)
new PlcDriverManager().getConnection("ads://localhost:" + tcpHexDumper.getPort() + "/0.0.0.0.0.0:13");
assertEquals(adsConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
assertEquals(adsConnection.getTargetAmsPort().toString(), "13");
diff --git a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnectionTests.java
similarity index 76%
rename from plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java
rename to plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnectionTests.java
index c29008b..6833921 100644
--- a/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSPlcConnectionTests.java
+++ b/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/connection/ADSTcpPlcConnectionTests.java
@@ -30,30 +30,30 @@ import java.net.InetAddress;
import static org.junit.Assert.*;
-public class ADSPlcConnectionTests {
+public class ADSTcpPlcConnectionTests {
- private ADSPlcConnection adsPlcConnection;
+ private ADSTcpPlcConnection adsTcpPlcConnection;
@Before
public void setUp() throws Exception {
- adsPlcConnection = new ADSPlcConnection(InetAddress.getByName("localhost"), AMSNetId.of("0.0.0.0.0.0"), AMSPort.of(13));
+ adsTcpPlcConnection = new ADSTcpPlcConnection(InetAddress.getByName("localhost"), AMSNetId.of("0.0.0.0.0.0"), AMSPort.of(13));
}
@After
public void tearDown() {
- adsPlcConnection = null;
+ adsTcpPlcConnection = null;
}
@Test
public void initialState() {
- assertEquals(adsPlcConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
- assertEquals(adsPlcConnection.getTargetAmsPort().toString(), "13");
+ assertEquals(adsTcpPlcConnection.getTargetAmsNetId().toString(), "0.0.0.0.0.0");
+ assertEquals(adsTcpPlcConnection.getTargetAmsPort().toString(), "13");
}
@Test
public void emptyParseAddress() throws Exception {
try {
- adsPlcConnection.parseAddress("");
+ adsTcpPlcConnection.parseAddress("");
} catch (IllegalArgumentException exception) {
assertTrue("Unexpected exception", exception.getMessage().startsWith("address doesn't match "));
}
@@ -62,7 +62,7 @@ public class ADSPlcConnectionTests {
@Test
public void parseAddress() throws Exception {
try {
- ADSAddress address = (ADSAddress) adsPlcConnection.parseAddress("1/1");
+ ADSAddress address = (ADSAddress) adsTcpPlcConnection.parseAddress("1/1");
assertEquals(address.getIndexGroup(), 1);
assertEquals(address.getIndexOffset(), 1);
} catch (IllegalArgumentException exception) {
diff --git a/plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/base/connection/SerialChannelFactory.java b/plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/base/connection/SerialChannelFactory.java
index 5f0c621..0d9941f 100644
--- a/plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/base/connection/SerialChannelFactory.java
+++ b/plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/base/connection/SerialChannelFactory.java
@@ -30,16 +30,16 @@ import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
public class SerialChannelFactory implements ChannelFactory {
- private final String port;
+ private final String serialPort;
- public SerialChannelFactory(String port) {
- this.port = port;
+ public SerialChannelFactory(String serialPort) {
+ this.serialPort = serialPort;
}
@Override
public Channel createChannel(ChannelHandler channelHandler)
throws PlcConnectionException {
- JSerialCommDeviceAddress address = new JSerialCommDeviceAddress(port);
+ JSerialCommDeviceAddress address = new JSerialCommDeviceAddress(serialPort);
try {
Bootstrap bootstrap = new Bootstrap();
--
To stop receiving notification emails like this one, please contact
sruehl@apache.org.