You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2018/11/23 08:50:06 UTC
[incubator-plc4x] branch feature/driver-protocol-split updated: -
Split up the modbus driver into driver and protocol
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/driver-protocol-split
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/feature/driver-protocol-split by this push:
new 1243e20 - Split up the modbus driver into driver and protocol
1243e20 is described below
commit 1243e20c4d6a62b9592b02c3b803932966f03d36
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Nov 23 09:50:02 2018 +0100
- Split up the modbus driver into driver and protocol
---
plc4j/drivers/modbus/pom.xml | 63 ++++++++++++++++++++++
.../apache/plc4x/java/modbus/ModbusPlcDriver.java | 4 +-
.../modbus/connection/BaseModbusPlcConnection.java | 2 +-
.../modbus/connection/ModbusConnectionFactory.java | 0
.../connection/ModbusSerialPlcConnection.java | 0
.../modbus/connection/ModbusTcpPlcConnection.java | 30 +++++------
.../services/org.apache.plc4x.java.spi.PlcDriver | 0
.../plc4x/java/modbus/ModbusPlcDriverTest.java | 6 +--
.../connection/BaseModbusPlcConnectionTest.java | 0
.../connection/ModbusConnectionFactoryTest.java | 0
.../connection/ModbusSerialPlcConnectionTest.java | 0
.../connection/ModbusTcpPlcConnectionTests.java | 0
plc4j/protocols/modbus/pom.xml | 20 -------
.../java/modbus/netty/Plc4XModbusProtocol.java | 30 +++++------
14 files changed, 99 insertions(+), 56 deletions(-)
diff --git a/plc4j/drivers/modbus/pom.xml b/plc4j/drivers/modbus/pom.xml
index fad65f8..83dd1d9 100644
--- a/plc4j/drivers/modbus/pom.xml
+++ b/plc4j/drivers/modbus/pom.xml
@@ -32,6 +32,69 @@
<description>Implementation of a PLC4X driver able to speak with devices using the Modbus protocol.</description>
<dependencies>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-api</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-modbus</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base-tcp</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base-serial</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-buffer</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.digitalpetri.modbus</groupId>
+ <artifactId>modbus-codec</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-protocol-driver-base-test</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>se.koc</groupId>
+ <artifactId>netty-transport-jserialcomm</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java
similarity index 100%
rename from plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java
rename to plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java
index 30d9091..187aa10 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java
@@ -19,11 +19,11 @@ under the License.
package org.apache.plc4x.java.modbus;
import org.apache.commons.lang3.StringUtils;
-import org.apache.plc4x.java.spi.PlcDriver;
-import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.modbus.connection.ModbusConnectionFactory;
+import org.apache.plc4x.java.spi.PlcDriver;
import java.net.InetAddress;
import java.net.UnknownHostException;
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
similarity index 100%
rename from plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
rename to plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
index 055eb3c..cd85021 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
@@ -23,8 +23,8 @@ import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.apache.plc4x.java.api.messages.PlcWriteRequest;
import org.apache.plc4x.java.api.messages.PlcWriteResponse;
-import org.apache.plc4x.java.base.connection.NettyPlcConnection;
import org.apache.plc4x.java.base.connection.ChannelFactory;
+import org.apache.plc4x.java.base.connection.NettyPlcConnection;
import org.apache.plc4x.java.base.messages.*;
import org.apache.plc4x.java.modbus.util.ModbusPlcFieldHandler;
import org.slf4j.Logger;
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactory.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactory.java
similarity index 100%
rename from plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactory.java
rename to plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactory.java
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnection.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnection.java
similarity index 100%
rename from plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnection.java
rename to plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnection.java
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
similarity index 77%
rename from plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
rename to plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
index 2b815a5..d71f087 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
@@ -1,21 +1,21 @@
/*
-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
+ 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
+ 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.
-*/
+ 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.modbus.connection;
import com.digitalpetri.modbus.codec.ModbusRequestEncoder;
diff --git a/plc4j/protocols/modbus/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver b/plc4j/drivers/modbus/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
similarity index 100%
rename from plc4j/protocols/modbus/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
rename to plc4j/drivers/modbus/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
similarity index 97%
rename from plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
rename to plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
index f951877..a8cbfd1 100644
--- a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
+++ b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
@@ -7,7 +7,7 @@
"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
+ 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
@@ -61,8 +61,8 @@ public class ModbusPlcDriverTest {
public void testDriverWithCompleteUrls() {
ModbusPlcDriver SUT = new ModbusPlcDriver(mock(ModbusConnectionFactory.class));
Stream.of(
- "modbus:tcp://www.google.de",
- "modbus:tcp://www.google.de:443",
+ "modbus:tcp://localhost",
+ "modbus:tcp://localhost:443",
"modbus:serial:///dev/com1",
"modbus:serial://COM1",
"modbus:serial:///dev/ttyUSB0"
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
similarity index 100%
rename from plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
rename to plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactoryTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactoryTest.java
similarity index 100%
rename from plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactoryTest.java
rename to plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactoryTest.java
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
similarity index 100%
rename from plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
rename to plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
diff --git a/plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnectionTests.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnectionTests.java
similarity index 100%
rename from plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnectionTests.java
rename to plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnectionTests.java
diff --git a/plc4j/protocols/modbus/pom.xml b/plc4j/protocols/modbus/pom.xml
index 18bc827..1759532 100644
--- a/plc4j/protocols/modbus/pom.xml
+++ b/plc4j/protocols/modbus/pom.xml
@@ -47,16 +47,6 @@
<artifactId>plc4j-protocol-driver-base</artifactId>
<version>0.3.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-protocol-driver-base-tcp</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-protocol-driver-base-serial</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </dependency>
<dependency>
<!-- Just for reference can be removed later-->
@@ -88,10 +78,6 @@
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
</dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-common</artifactId>
- </dependency>
<dependency>
<groupId>commons-io</groupId>
@@ -108,12 +94,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>se.koc</groupId>
- <artifactId>netty-transport-jserialcomm</artifactId>
- <version>1.0.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-protocol-driver-base-test</artifactId>
<version>0.3.0-SNAPSHOT</version>
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
index bad279f..12be747 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
+++ b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
@@ -1,21 +1,21 @@
/*
-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
+ 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
+ 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.
-*/
+ 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.modbus.netty;
import com.digitalpetri.modbus.ModbusPdu;