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>