You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by na...@apache.org on 2020/02/18 12:35:56 UTC

[plc4x] branch opcua-integration created (now 70ab779)

This is an automated email from the ASF dual-hosted git repository.

nalim2 pushed a change to branch opcua-integration
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


      at 70ab779  [fix] ported to new base version

This branch includes the following new commits:

     new 70ab779  [fix] ported to new base version

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[plc4x] 01/01: [fix] ported to new base version

Posted by na...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nalim2 pushed a commit to branch opcua-integration
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 70ab779766527385ad0630f0337478e1db476f96
Author: Matthias Milan Strljic <Ma...@gmail.com>
AuthorDate: Tue Feb 18 13:35:09 2020 +0100

    [fix] ported to new base version
---
 .../java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java | 13 +++----------
 .../java/opcua/connection/BaseOpcuaPlcConnection.java    |  1 -
 .../java/opcua/connection/OpcuaConnectionFactory.java    |  1 -
 .../java/opcua/connection/OpcuaTcpPlcConnection.java     |  5 ++---
 .../plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java  | 16 ++++++++--------
 .../plc4x/java/opcua/protocol/model/OpcuaDataTypes.java  |  1 -
 .../java/opcua/protocol/model/OpcuaIdentifierType.java   |  1 -
 .../org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java    |  3 +--
 .../org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java  |  1 -
 .../test/java/org/apache/plc4x/java/opcua/UtilsTest.java |  1 -
 .../java/opcua/connection/OpcuaTcpPlcConnectionTest.java |  1 -
 .../apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java |  1 -
 .../java/opcua/protocol/OpcuaPlcFieldHandlerTest.java    |  1 -
 .../java/opcua/protocol/OpcuaSubscriptionHandleTest.java |  1 -
 plc4j/drivers/pom.xml                                    |  4 ++--
 15 files changed, 16 insertions(+), 35 deletions(-)

diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
index 61bf3ab..57028f2 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
@@ -46,15 +46,8 @@ public class OpcuaPlcDriver implements PlcDriver {
     public static final Pattern OPCUA_URI_PARAM_PATTERN = Pattern.compile("(?<param>[(\\?|\\&)([^=]+)\\=([^&]+)]+)?"); //later used for regex filtering of the params
     public static final Pattern OPCUA_URI_PATTERN = Pattern.compile("^opcua:(" + INET_ADDRESS_PATTERN + ")?" + "(?<params>[\\w/=?&]+)?");
     private static final int requestTimeout = 10000;
-    private OpcuaConnectionFactory opcuaConnectionFactory;
+    private OpcuaConnectionFactory opcuaConnectionFactory = new OpcuaConnectionFactory();
 
-    public OpcuaPlcDriver() {
-        this.opcuaConnectionFactory = new OpcuaConnectionFactory();
-    }
-
-    public OpcuaPlcDriver(OpcuaConnectionFactory opcuaConnectionFactory) {
-        this.opcuaConnectionFactory = opcuaConnectionFactory;
-    }
 
     @Override
     public String getProtocolCode() {
@@ -67,7 +60,7 @@ public class OpcuaPlcDriver implements PlcDriver {
     }
 
     @Override
-    public PlcConnection connect(String url) throws PlcConnectionException {
+    public PlcConnection getConnection(String url) throws PlcConnectionException {
         Matcher matcher = OPCUA_URI_PATTERN.matcher(url);
 
         if (!matcher.matches()) {
@@ -88,7 +81,7 @@ public class OpcuaPlcDriver implements PlcDriver {
     }
 
     @Override
-    public PlcConnection connect(String url, PlcAuthentication authentication) throws PlcConnectionException {
+    public PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException {
         throw new PlcConnectionException("opcua does not support Auth at this state");
     }
 
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java
index aa85b13..2a67f62 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java
@@ -30,7 +30,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public abstract class BaseOpcuaPlcConnection extends AbstractPlcConnection implements PlcReader, PlcWriter, PlcSubscriber {
 
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java
index 4c4654c..d575bde 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java
@@ -22,7 +22,6 @@ import java.net.InetAddress;
 import java.util.Objects;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaConnectionFactory {
 
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
index 90ed00c..4640b47 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
@@ -71,7 +71,6 @@ import static org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.Unsigned.
  * Corresponding implementaion for a TCP-based connection for an OPC UA server.
  * TODO: At the moment are just connections without any security mechanism possible
  * <p>
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaTcpPlcConnection extends BaseOpcuaPlcConnection {
 
@@ -168,13 +167,13 @@ public class OpcuaTcpPlcConnection extends BaseOpcuaPlcConnection {
         EndpointDescription endpoint = null;
 
         try {
-            endpoints = DiscoveryClient.getEndpoints(getEndpointUrl(address, port, params)).get();
+            endpoints = DiscoveryClient.getEndpoints(getEndpointUrl(address, port, params.split("\\?")[0])).get();
             //TODO Exception should be handeled better when the Discovery-API of Milo is stable
         } catch (Exception ex) {
             logger.info("Failed to discover Endpoint with enabled discovery. If the endpoint does not allow a correct discovery disable this option with the nDiscovery=true option. Failed Endpoint: {}", getEndpointUrl(address, port, params));
 
             // try the explicit discovery endpoint as well
-            String discoveryUrl = getEndpointUrl(address, port, params);
+            String discoveryUrl = getEndpointUrl(address, port, params.split("\\?")[0]);
 
             if (!discoveryUrl.endsWith("/")) {
                 discoveryUrl += "/";
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java
index 289ba0a..387d110 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java
@@ -42,7 +42,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeString(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<String> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add(item.toString());
@@ -56,7 +56,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeBoolean(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Boolean> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Boolean) item);
@@ -70,7 +70,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeByte(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Byte> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Byte) item);
@@ -84,7 +84,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeShort(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Short> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Short) item);
@@ -98,7 +98,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeInteger(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Integer> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Integer) item);
@@ -112,7 +112,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeBigInteger(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<BigInteger> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((BigInteger) item);
@@ -140,7 +140,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeFloat(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Float> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Float) item);
@@ -155,7 +155,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeDouble(PlcField field, Object[] values) {
-        OpcuaField adsField = (OpcuaField) field;
+        OpcuaField opcField = (OpcuaField) field;
         ArrayList<Double> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Double) item);
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaDataTypes.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaDataTypes.java
index 954d892..6630330 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaDataTypes.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaDataTypes.java
@@ -19,7 +19,6 @@
 package org.apache.plc4x.java.opcua.protocol.model;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public enum OpcuaDataTypes {
     BOOL,
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaIdentifierType.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaIdentifierType.java
index b6dff56..9314a8a 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaIdentifierType.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaIdentifierType.java
@@ -19,7 +19,6 @@
 package org.apache.plc4x.java.opcua.protocol.model;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public enum OpcuaIdentifierType {
     STRING_IDENTIFIER("s"),
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java
index d8ed820..bdea2d0 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java
@@ -46,7 +46,6 @@ import java.util.function.Consumer;
  * Afterwards the code represented here will be used as an example for the introduction page.
  * <p>
  *
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class ManualPLC4XOpcua {
     private static final String BOOL_IDENTIFIER = "ns=2;s=HelloWorld/ScalarTypes/Boolean";
@@ -109,7 +108,7 @@ public class ManualPLC4XOpcua {
             builder.addItem("DoesNotExists", DOES_NOT_EXIST_IDENTIFIER);
 
             PlcReadRequest request = builder.build();
-            //PlcReadResponse response = opcuaConnection.read(request).get();
+            PlcReadResponse response = opcuaConnection.read(request).get();
 
             //Collection coll = response.getAllStrings("String");
 
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java
index 8b34242..02eee37 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java
@@ -34,7 +34,6 @@ import static org.apache.plc4x.java.opcua.OpcuaPlcDriver.OPCUA_URI_PATTERN;
 import static org.apache.plc4x.java.opcua.UtilsTest.assertMatching;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaPlcDriverTest {
     // Read only variables of milo example server of version 3.6
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/UtilsTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/UtilsTest.java
index 011f8d5..6f1b268 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/UtilsTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/UtilsTest.java
@@ -23,7 +23,6 @@ import java.util.regex.Pattern;
 import static org.junit.Assert.fail;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class UtilsTest {
     public static void assertMatching(Pattern pattern, String match) {
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnectionTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnectionTest.java
index 0ed750c..5e5006a 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnectionTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnectionTest.java
@@ -29,7 +29,6 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaTcpPlcConnectionTest {
 
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java
index e853552..d0e6998 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java
@@ -26,7 +26,6 @@ import static org.apache.plc4x.java.opcua.UtilsTest.assertMatching;
 import static org.apache.plc4x.java.opcua.protocol.OpcuaField.ADDRESS_PATTERN;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaFieldTest {
 
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandlerTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandlerTest.java
index f28e76d..e6c7b11 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandlerTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandlerTest.java
@@ -22,7 +22,6 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaPlcFieldHandlerTest {
     @BeforeEach
diff --git a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandleTest.java b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandleTest.java
index d1513f4..26e8f3e 100644
--- a/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandleTest.java
+++ b/plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandleTest.java
@@ -22,7 +22,6 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 
 /**
- * Created by Matthias Milan Strljic on 10.05.2019
  */
 public class OpcuaSubscriptionHandleTest {
     @BeforeEach
diff --git a/plc4j/drivers/pom.xml b/plc4j/drivers/pom.xml
index 5fc0404..ccec7bc 100644
--- a/plc4j/drivers/pom.xml
+++ b/plc4j/drivers/pom.xml
@@ -40,8 +40,8 @@
     <module>knxnetip</module>
     <module>mock</module>
     <!--module>modbus</module>
-    <module>s7</module>
-	  <module>opcua</module-->
+    <module>s7</module-->
+    <module>opcua</module>
     <module>simulated</module>
   </modules>