You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jf...@apache.org on 2020/01/30 07:11:25 UTC

[plc4x] branch develop updated: Repair commit from Matthias merges

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

jfeinauer 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 43ed841  Repair commit from Matthias merges
43ed841 is described below

commit 43ed841cfd01c06b48fb1b5dfeca338b85416fe4
Author: julian <j....@pragmaticminds.de>
AuthorDate: Thu Jan 30 08:11:19 2020 +0100

    Repair commit from Matthias merges
---
 .../org/apache/plc4x/java/opcua/OpcuaPlcDriver.java    | 17 ++++++++++++-----
 .../java/opcua/connection/OpcuaTcpPlcConnection.java   |  4 ++--
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java      | 18 +++++++++---------
 plc4j/drivers/pom.xml                                  |  4 ++--
 4 files changed, 25 insertions(+), 18 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 7e0d3a5..61bf3ab 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
@@ -20,10 +20,10 @@ package org.apache.plc4x.java.opcua;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.plc4x.java.api.PlcConnection;
-import org.apache.plc4x.java.api.PlcDriver;
 import org.apache.plc4x.java.api.authentication.PlcAuthentication;
 import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
 import org.apache.plc4x.java.opcua.connection.OpcuaConnectionFactory;
+import org.apache.plc4x.java.api.PlcDriver;
 import org.osgi.service.component.annotations.Component;
 
 import java.net.InetAddress;
@@ -46,7 +46,15 @@ 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 = new OpcuaConnectionFactory();
+    private OpcuaConnectionFactory opcuaConnectionFactory;
+
+    public OpcuaPlcDriver() {
+        this.opcuaConnectionFactory = new OpcuaConnectionFactory();
+    }
+
+    public OpcuaPlcDriver(OpcuaConnectionFactory opcuaConnectionFactory) {
+        this.opcuaConnectionFactory = opcuaConnectionFactory;
+    }
 
     @Override
     public String getProtocolCode() {
@@ -59,7 +67,7 @@ public class OpcuaPlcDriver implements PlcDriver {
     }
 
     @Override
-    public PlcConnection getConnection(String url) throws PlcConnectionException {
+    public PlcConnection connect(String url) throws PlcConnectionException {
         Matcher matcher = OPCUA_URI_PATTERN.matcher(url);
 
         if (!matcher.matches()) {
@@ -80,9 +88,8 @@ public class OpcuaPlcDriver implements PlcDriver {
     }
 
     @Override
-    public PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException {
+    public PlcConnection connect(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/OpcuaTcpPlcConnection.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
index 3a5aa5f..90ed00c 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
@@ -168,13 +168,13 @@ public class OpcuaTcpPlcConnection extends BaseOpcuaPlcConnection {
         EndpointDescription endpoint = null;
 
         try {
-            endpoints = DiscoveryClient.getEndpoints(getEndpointUrl(address, port, params.split("\\?")[0])).get();
+            endpoints = DiscoveryClient.getEndpoints(getEndpointUrl(address, port, params)).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.split("\\?")[0]);
+            String discoveryUrl = getEndpointUrl(address, port, params);
 
             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 8ed1b50..289ba0a 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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (OpcuaField) field;
         ArrayList<BigInteger> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((BigInteger) item);
@@ -126,7 +126,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeLong(PlcField field, Object[] values) {
-        OpcuaField opcField = (OpcuaField) field;
+        OpcuaField adsField = (OpcuaField) field;
         ArrayList<Long> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Long) item);
@@ -140,7 +140,7 @@ public class OpcuaPlcFieldHandler extends DefaultPlcFieldHandler {
 
     @Override
     public PlcValue encodeFloat(PlcField field, Object[] values) {
-        OpcuaField opcField = (OpcuaField) field;
+        OpcuaField adsField = (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 opcField = (OpcuaField) field;
+        OpcuaField adsField = (OpcuaField) field;
         ArrayList<Double> resultSet = new ArrayList<>();
         for (Object item : values) {
             resultSet.add((Double) item);
diff --git a/plc4j/drivers/pom.xml b/plc4j/drivers/pom.xml
index ccec7bc..5fc0404 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>