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 2023/01/16 11:17:48 UTC
[plc4x] branch feature/cdutz/connection-cache-and-scraper-ng updated: refactor(plc4j/api): Updated the PlcDriverManager API
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/cdutz/connection-cache-and-scraper-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/cdutz/connection-cache-and-scraper-ng by this push:
new edd1243120 refactor(plc4j/api): Updated the PlcDriverManager API
edd1243120 is described below
commit edd1243120348758c91955ffcf6173486122f5f8
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Mon Jan 16 12:17:38 2023 +0100
refactor(plc4j/api): Updated the PlcDriverManager API
- Created 2 new interfaces PlcConnectionManager and PlcDriverManager
- Renamed the previous PlcDriverManager to DefaultPlcDriverManager
---
...erManager.java => DefaultPlcDriverManager.java} | 17 ++++---
.../java/org/apache/plc4x/java/api/PlcDriver.java | 9 +---
.../apache/plc4x/java/api/PlcDriverManager.java} | 25 +++++----
.../apache/plc4x/java/PlcDriverManagerTest.java | 10 ++--
.../org/apache/plc4x/protocol/ads/Scanner.java | 5 +-
.../java/can/generic/GenericCANDriverTest.java | 7 +--
.../java/org/apache/plc4x/java/canopen/Main.java | 4 +-
.../apache/plc4x/java/knxnetip/ManualKnxNetIp.java | 4 +-
.../java/modbus/ManualModbusDiscoveryTest.java | 4 +-
.../apache/plc4x/java/opcua/ManualPLC4XOpcua.java | 4 +-
.../plc4x/java/opcua/OpcuaPlcDriverTest.java | 12 ++---
.../protocol/OpcuaSubscriptionHandleTest.java | 4 +-
.../apache/plc4x/java/plc4x/Plc4xReadClient.java | 4 +-
.../apache/plc4x/java/plc4x/Plc4xWriteClient.java | 4 +-
.../profinet/ManualProfinetIoDiscoveryTest.java | 4 +-
.../plc4x/java/profinet/ManualProfinetIoTest.java | 4 +-
.../plc4x/java/s7/readwrite/DatatypesTest.java | 4 +-
.../helloads/telemetry/HelloAdsTelemetry.java | 4 +-
.../cloud/azure/S7PlcToAzureIoTHubSample.java | 4 +-
.../cloud/google/S7PlcToGoogleIoTCoreSample.java | 4 +-
.../examples/connectivity/mqtt/MqttConnector.java | 4 +-
.../examples/hellodiscovery/HelloDiscovery.java | 4 +-
.../java/examples/helloinflux/HelloInflux.java | 4 +-
.../plc4x/java/examples/hellonats/HelloNats.java | 1 -
.../examples/hellowebservice/HelloWebservice.java | 4 +-
.../java/examples/hellokotlin/ReadModbusPal.kt | 4 +-
.../HelloPlc4xDiscoverAndBrowse.java | 8 +--
.../examples/helloplc4x/read/HelloPlc4xRead.java | 4 +-
.../subscribe/HelloPlc4xSubscription.java | 4 +-
.../examples/helloplc4x/write/HelloPlc4xWrite.java | 4 +-
.../examples/plc4j/s7event/EventSubscription.java | 4 +-
.../plc4x/java/examples/pollloop/PollLoop.java | 5 +-
.../java/org/apache/plc4x/kafka/config/Sink.java | 5 +-
.../java/org/apache/plc4x/kafka/config/Source.java | 9 ++--
.../opcuaserver/backend/Plc4xCommunication.java | 6 +--
.../java/opcuaserver/backend/Plc4xNamespace.java | 4 +-
.../plc4x/java/opcuaserver/OpcuaPlcDriverTest.java | 10 ++--
.../utils/cache/CachedPlcConnectionManager.java | 4 +-
.../apache/plc4x/java/utils/cache/ManualTest.java | 4 +-
.../plc4x/java/opm/PlcEntityInterceptor.java | 59 +++++++++++-----------
.../apache/plc4x/java/opm/PlcEntityManager.java | 16 +++---
.../apache/plc4x/java/opm/ConnectedEntityTest.java | 6 +--
.../plc4x/java/opm/PlcEntityInterceptorTest.java | 24 +++++----
.../java/opm/PlcEntityManagerComplexTest.java | 10 ++--
.../plc4x/java/opm/PlcEntityManagerTest.java | 14 ++---
.../triggeredscraper/TriggeredScraperImpl.java | 9 ++--
.../triggeredscraper/TriggeredScraperTask.java | 1 -
.../triggerhandler/TriggerConfiguration.java | 4 +-
.../apache/plc4x/java/scraper/ScraperTaskTest.java | 17 ++++---
.../org/apache/plc4x/java/scraper/ScraperTest.java | 8 +--
.../triggeredscraper/TriggeredScraperImplTest.java | 6 +--
.../org/apache/plc4x/java/ui/FxmlController.java | 6 +--
.../test/driver/internal/ConnectionManager.java | 7 +--
.../org/apache/plc4x/test/manual/ManualTest.java | 4 +-
.../apache/plc4x/protocol/df1/EndToEndTest.java | 4 +-
55 files changed, 216 insertions(+), 208 deletions(-)
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/PlcDriverManager.java b/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
similarity index 93%
rename from plc4j/api/src/main/java/org/apache/plc4x/java/PlcDriverManager.java
rename to plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
index 5c25b61d0d..cc3a5d6740 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/PlcDriverManager.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
@@ -20,9 +20,10 @@ package org.apache.plc4x.java;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
+import org.apache.plc4x.java.api.PlcDriver;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
-import org.apache.plc4x.java.api.PlcDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,19 +34,19 @@ import java.util.Map;
import java.util.ServiceLoader;
import java.util.Set;
-public class PlcDriverManager implements PlcConnectionManager {
+public class DefaultPlcDriverManager implements PlcDriverManager, PlcConnectionManager {
- private static final Logger LOGGER = LoggerFactory.getLogger(PlcDriverManager.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(org.apache.plc4x.java.DefaultPlcDriverManager.class);
protected ClassLoader classLoader;
private Map<String, PlcDriver> driverMap;
- public PlcDriverManager() {
+ public DefaultPlcDriverManager() {
this(Thread.currentThread().getContextClassLoader());
}
- public PlcDriverManager(ClassLoader classLoader) {
+ public DefaultPlcDriverManager(ClassLoader classLoader) {
LOGGER.info("Instantiating new PLC Driver Manager with class loader {}", classLoader);
this.classLoader = classLoader;
driverMap = new HashMap<>();
@@ -143,4 +144,8 @@ public class PlcDriverManager implements PlcConnectionManager {
}
}
-}
\ No newline at end of file
+ public PlcConnectionManager getConnectionManager() {
+ return this;
+ }
+
+}
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
index 8ffeb83028..7ace7ad223 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
@@ -28,7 +28,7 @@ import org.apache.plc4x.java.api.model.PlcTag;
/**
* General interface defining the minimal methods required for adding a new type of driver to the PLC4J system.
- *
+ * <br>
* <b>Note that each driver has to add a service file called org.apache.plc4x.java.spi.PlcDriver to
* src/main/resources/META-INF which contains the fully qualified classname in order to get loaded
* by the PlcDriverManager instances.</b>
@@ -49,12 +49,7 @@ public interface PlcDriver {
* Provides driver metadata.
*/
default PlcDriverMetadata getMetadata() {
- return new PlcDriverMetadata() {
- @Override
- public boolean canDiscover() {
- return false;
- }
- };
+ return () -> false;
}
/**
diff --git a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriverManager.java
similarity index 59%
copy from plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java
copy to plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriverManager.java
index b5b2967d4a..388abc7578 100644
--- a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriverManager.java
@@ -16,18 +16,25 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.profinet;
+package org.apache.plc4x.java.api;
-import org.apache.plc4x.java.PlcDriverManager;
-import org.apache.plc4x.java.api.PlcDriver;
-import org.apache.plc4x.java.api.messages.PlcDiscoveryResponse;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
+import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
-public class ManualProfinetIoDiscoveryTest {
+import java.util.Set;
- public static void main(String[] args) throws Exception {
- final PlcDriver profinetDriver = new PlcDriverManager().getDriver("profinet");
- final PlcDiscoveryResponse plcDiscoveryResponse = profinetDriver.discoveryRequestBuilder().build().execute().get();
- System.out.println(plcDiscoveryResponse);
+public interface PlcDriverManager {
+
+ static PlcDriverManager getDefault() {
+ return new DefaultPlcDriverManager();
}
+ Set<String> listDrivers();
+
+ PlcDriver getDriver(String protocolCode) throws PlcConnectionException;
+
+ PlcDriver getDriverForUrl(String url) throws PlcConnectionException;
+
+ PlcConnectionManager getConnectionManager();
+
}
diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java
index 0e3551de1d..9dddd1e729 100644
--- a/plc4j/api/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java
+++ b/plc4j/api/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java
@@ -45,7 +45,7 @@ public class PlcDriverManagerTest {
*/
@Test
public void getExistingDriverTest() throws PlcException {
- MockPlcConnection mockConnection = (MockPlcConnection) new PlcDriverManager().getConnection("api-mock://some-cool-url");
+ MockPlcConnection mockConnection = (MockPlcConnection) new DefaultPlcDriverManager().getConnection("api-mock://some-cool-url");
assertThat(mockConnection.getAuthentication(), nullValue());
assertThat(mockConnection.isConnected(), is(true));
@@ -60,7 +60,7 @@ public class PlcDriverManagerTest {
public void getExistingDriverWithAuthenticationTest() throws PlcException {
PlcUsernamePasswordAuthentication authentication =
new PlcUsernamePasswordAuthentication("user", "pass");
- MockPlcConnection mockConnection = (MockPlcConnection) new PlcDriverManager().getConnection("api-mock://some-cool-url", authentication);
+ MockPlcConnection mockConnection = (MockPlcConnection) new DefaultPlcDriverManager().getConnection("api-mock://some-cool-url", authentication);
assertThat(mockConnection.getAuthentication(), notNullValue());
assertThat(mockConnection.getAuthentication(), instanceOf(PlcUsernamePasswordAuthentication.class));
@@ -75,7 +75,7 @@ public class PlcDriverManagerTest {
@Test
public void getNotExistingDriverTest() {
assertThrows(PlcConnectionException.class,
- () -> new PlcDriverManager().getConnection("non-existing-protocol://some-cool-url"));
+ () -> new DefaultPlcDriverManager().getConnection("non-existing-protocol://some-cool-url"));
}
/**
@@ -86,7 +86,7 @@ public class PlcDriverManagerTest {
@Test
public void getInvalidUriTest() throws PlcConnectionException {
assertThrows(PlcConnectionException.class,
- () -> new PlcDriverManager().getConnection("The quick brown fox jumps over the lazy dog"));
+ () -> new DefaultPlcDriverManager().getConnection("The quick brown fox jumps over the lazy dog"));
}
/**
@@ -108,7 +108,7 @@ public class PlcDriverManagerTest {
// expect exception
assertThrows(IllegalStateException.class,
- () -> new PlcDriverManager(fakeClassLoader).getConnection("api-mock://some-cool-url"));
+ () -> new DefaultPlcDriverManager(fakeClassLoader).getConnection("api-mock://some-cool-url"));
}
}
diff --git a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/Scanner.java b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/Scanner.java
index 197126d8f3..84efe71d36 100644
--- a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/Scanner.java
+++ b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/Scanner.java
@@ -24,7 +24,8 @@ import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.plc4x.java.PlcDriverManager;
+
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.ads.readwrite.AdsDataType;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -58,7 +59,7 @@ public class Scanner {
System.out.println("Launching connection " + connectionString);
// Establish a connection to the plc using the url provided as first argument
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(connectionString)) {
+ try (PlcConnection plcConnection = new DefaultPlcDriverManager().getConnection(connectionString)) {
PlcConnectionMetadata metadata = plcConnection.getMetadata();
System.out.println("read: " + metadata.canRead());
System.out.println("write: " + metadata.canWrite());
diff --git a/plc4j/drivers/can/src/test/java/org/apache/plc4x/java/can/generic/GenericCANDriverTest.java b/plc4j/drivers/can/src/test/java/org/apache/plc4x/java/can/generic/GenericCANDriverTest.java
index e42bd3ebbb..cbd1e09d30 100644
--- a/plc4j/drivers/can/src/test/java/org/apache/plc4x/java/can/generic/GenericCANDriverTest.java
+++ b/plc4j/drivers/can/src/test/java/org/apache/plc4x/java/can/generic/GenericCANDriverTest.java
@@ -21,7 +21,8 @@ package org.apache.plc4x.java.can.generic;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
-import org.apache.plc4x.java.PlcDriverManager;
+
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcSubscriptionEvent;
@@ -34,7 +35,7 @@ public class GenericCANDriverTest {
@Test
void testConnection() throws PlcConnectionException {
- PlcConnection connection = new PlcDriverManager().getConnection("genericcan:virtualcan://");
+ PlcConnection connection = new DefaultPlcDriverManager().getConnection("genericcan:virtualcan://");
assertNotNull(connection);
assertTrue(connection.isConnected());
@@ -48,7 +49,7 @@ public class GenericCANDriverTest {
void testSubscribeAndWrite() throws Exception {
// PlcConnection connection1 = new PlcDriverManager().getConnection("genericcan:socketcan://vcan0");
// PlcConnection connection2 = new PlcDriverManager().getConnection("genericcan:socketcan://vcan0");
- PlcConnection connection1 = new PlcDriverManager().getConnection("genericcan:virtualcan://");
+ PlcConnection connection1 = new DefaultPlcDriverManager().getConnection("genericcan:virtualcan://");
PlcConnection connection2 = connection1;
CountDownLatch latch = new CountDownLatch(1);
diff --git a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/Main.java b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/Main.java
index e3fcdadf4f..6b29b396cc 100644
--- a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/Main.java
+++ b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/Main.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.canopen;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -35,7 +35,7 @@ import java.util.concurrent.CompletableFuture;
public class Main {
public static void main(String[] args) throws Exception {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
CANOpenDriverContext.CALLBACK.addCallback(new Callback() {
@Override
diff --git a/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/ManualKnxNetIp.java b/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/ManualKnxNetIp.java
index 3d20215b1a..2d6dc800e8 100644
--- a/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/ManualKnxNetIp.java
+++ b/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/ManualKnxNetIp.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.knxnetip;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
@@ -39,7 +39,7 @@ public class ManualKnxNetIp {
public static void main(String[] args) throws Exception {
//final PlcConnection connection = new PlcDriverManager().getConnection("knxnet-ip://192.168.42.11?knxproj-file-path=/Users/christofer.dutz/Projects/Apache/PLC4X-Documents/KNX/Stettiner%20Str.%2013/StettinerStr-Soll-Ist-Temperatur.knxproj");
- final PlcConnection connection = new PlcDriverManager().getConnection("knxnet-ip:pcap:///Users/christofer.dutz/Projects/Apache/PLC4X-Documents/KNX/Recording-01.03.2020-2.pcapng?knxproj-file-path=/Users/christofer.dutz/Projects/Apache/PLC4X-Documents/KNX/Stettiner%20Str.%2013/StettinerStr-Soll-Ist-Temperatur.knxproj");
+ final PlcConnection connection = new DefaultPlcDriverManager().getConnection("knxnet-ip:pcap:///Users/christofer.dutz/Projects/Apache/PLC4X-Documents/KNX/Recording-01.03.2020-2.pcapng?knxproj-file-path=/Users/christofer.dutz/Projects/Apache/PLC4X-Documents/KNX/Stettiner%20Str.%2013/StettinerStr-Soll-Ist-Temperatur.knxproj");
// Make sure we hang up correctly when terminating.
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
try {
diff --git a/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualModbusDiscoveryTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualModbusDiscoveryTest.java
index 89007ee331..0e3342c141 100644
--- a/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualModbusDiscoveryTest.java
+++ b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualModbusDiscoveryTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.modbus;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.messages.PlcDiscoveryResponse;
import org.junit.jupiter.api.Disabled;
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Disabled;
public class ManualModbusDiscoveryTest {
public static void main(String[] args) throws Exception {
- final PlcDriver modbusDriver = new PlcDriverManager().getDriver("modbus-tcp");
+ final PlcDriver modbusDriver = new DefaultPlcDriverManager().getDriver("modbus-tcp");
final PlcDiscoveryResponse plcDiscoveryResponse = modbusDriver.discoveryRequestBuilder().build().execute().get();
System.out.println(plcDiscoveryResponse);
}
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 f9ab1cb59c..b39eab511f 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
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.opcua;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
@@ -101,7 +101,7 @@ public class ManualPLC4XOpcua {
OpcuaPlcTagHandler tagH = new OpcuaPlcTagHandler();
PlcTag tag = tagH.parseTag(BOOL_IDENTIFIER);
try {
- opcuaConnection = new PlcDriverManager().getConnection("opcua:tcp://127.0.0.1:12686/milo?discovery=false");
+ opcuaConnection = new DefaultPlcDriverManager().getConnection("opcua:tcp://127.0.0.1:12686/milo?discovery=false");
} catch (PlcConnectionException e) {
throw new PlcRuntimeException(e);
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 3f92f6dd93..616218c8d1 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
@@ -19,7 +19,7 @@
package org.apache.plc4x.java.opcua;
import io.vavr.collection.List;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -156,7 +156,7 @@ public class OpcuaPlcDriverTest {
public void connectionNoParams() {
connectionStringValidSet.forEach(connectionString -> {
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(connectionString);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(connectionString);
Condition<PlcConnection> is_connected = new Condition<>(PlcConnection::isConnected, "is connected");
assertThat(opcuaConnection).is(is_connected);
opcuaConnection.close();
@@ -175,7 +175,7 @@ public class OpcuaPlcDriverTest {
discoveryParamValidSet.forEach(discoveryParam -> {
String connectionString = connectionAddress + paramSectionDivider + discoveryParam;
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(connectionString);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(connectionString);
Condition<PlcConnection> is_connected = new Condition<>(PlcConnection::isConnected, "is connected");
assertThat(opcuaConnection).is(is_connected);
opcuaConnection.close();
@@ -192,7 +192,7 @@ public class OpcuaPlcDriverTest {
@Test
public void readVariables() {
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
Condition<PlcConnection> is_connected = new Condition<>(PlcConnection::isConnected, "is connected");
assertThat(opcuaConnection).is(is_connected);
@@ -269,7 +269,7 @@ public class OpcuaPlcDriverTest {
@Test
public void writeVariables() throws Exception {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
Condition<PlcConnection> is_connected = new Condition<>(PlcConnection::isConnected, "is connected");
assertThat(opcuaConnection).is(is_connected);
@@ -433,7 +433,7 @@ public class OpcuaPlcDriverTest {
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
Condition<PlcConnection> is_connected = new Condition<>(PlcConnection::isConnected, "is connected");
assertThat(opcuaConnection).is(is_connected);
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 ca8d011787..868576385f 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
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.opcua.protocol;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
@@ -97,7 +97,7 @@ public class OpcuaSubscriptionHandleTest {
exampleServer = new ExampleServer();
exampleServer.startup().get();
//Connect
- opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
assert opcuaConnection.isConnected();
} catch (Exception e) {
e.printStackTrace();
diff --git a/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xReadClient.java b/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xReadClient.java
index 98bd3db7c4..09a2f4d4ed 100644
--- a/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xReadClient.java
+++ b/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xReadClient.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.plc4x;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -26,7 +26,7 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
public class Plc4xReadClient {
public static void main(String[] args) throws Exception {
- try (final PlcConnection connection = new PlcDriverManager().getConnection("plc4x://localhost?remote-connection-string=simulated%3A%2F%2Flocalhost")) {
+ try (final PlcConnection connection = new DefaultPlcDriverManager().getConnection("plc4x://localhost?remote-connection-string=simulated%3A%2F%2Flocalhost")) {
final PlcReadRequest.Builder requestBuilder = connection.readRequestBuilder();
requestBuilder.addTagAddress("test-BOOL", "RANDOM/foo:BOOL");
requestBuilder.addTagAddress("test-BYTE", "RANDOM/foo:BYTE");
diff --git a/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xWriteClient.java b/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xWriteClient.java
index 061cc98eb7..84f473c5cb 100644
--- a/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xWriteClient.java
+++ b/plc4j/drivers/plc4x/src/test/java/org/apache/plc4x/java/plc4x/Plc4xWriteClient.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.plc4x;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcWriteRequest;
import org.apache.plc4x.java.api.messages.PlcWriteResponse;
@@ -28,7 +28,7 @@ import java.math.BigInteger;
public class Plc4xWriteClient {
public static void main(String[] args) throws Exception {
- try (final PlcConnection connection = new PlcDriverManager().getConnection("plc4x://localhost?remote-connection-string=simulated%3A%2F%2Flocalhost")) {
+ try (final PlcConnection connection = new DefaultPlcDriverManager().getConnection("plc4x://localhost?remote-connection-string=simulated%3A%2F%2Flocalhost")) {
final PlcWriteRequest.Builder requestBuilder = connection.writeRequestBuilder();
requestBuilder.addTagAddress("test-BOOL", "STDOUT/foo:BOOL", true);
requestBuilder.addTagAddress("test-BYTE", "STDOUT/foo:BYTE", new boolean[] {true, true, false, true, false, true, false, true});
diff --git a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java
index b5b2967d4a..c0f25a6e0c 100644
--- a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java
+++ b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoDiscoveryTest.java
@@ -18,14 +18,14 @@
*/
package org.apache.plc4x.java.profinet;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.messages.PlcDiscoveryResponse;
public class ManualProfinetIoDiscoveryTest {
public static void main(String[] args) throws Exception {
- final PlcDriver profinetDriver = new PlcDriverManager().getDriver("profinet");
+ final PlcDriver profinetDriver = new DefaultPlcDriverManager().getDriver("profinet");
final PlcDiscoveryResponse plcDiscoveryResponse = profinetDriver.discoveryRequestBuilder().build().execute().get();
System.out.println(plcDiscoveryResponse);
}
diff --git a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTest.java b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTest.java
index c68927164f..8d3fe5b07b 100644
--- a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTest.java
+++ b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.profinet;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -26,7 +26,7 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
public class ManualProfinetIoTest {
public static void main(String[] args) throws Exception {
- final PlcConnection connection = new PlcDriverManager().getConnection("profinet://192.168.24.31");
+ final PlcConnection connection = new DefaultPlcDriverManager().getConnection("profinet://192.168.24.31");
final PlcReadRequest readRequest = connection.readRequestBuilder().addTagAddress("test", "").build();
final PlcReadResponse plcReadResponse = readRequest.execute().get();
System.out.println(plcReadResponse);
diff --git a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/DatatypesTest.java b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/DatatypesTest.java
index 08f210f615..2eff79c283 100644
--- a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/DatatypesTest.java
+++ b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/DatatypesTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.s7.readwrite;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -26,7 +26,7 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
public class DatatypesTest {
public static void main(String[] args) throws Exception {
- try (PlcConnection connection = new PlcDriverManager().getConnection("s7://192.168.23.30")) {
+ try (PlcConnection connection = new DefaultPlcDriverManager().getConnection("s7://192.168.23.30")) {
final PlcReadRequest.Builder builder = connection.readRequestBuilder();
builder.addTagAddress("bool-value-1", "%DB2:0.0:BOOL"); // true
builder.addTagAddress("bool-value-2", "%DB2:2.1:BOOL"); // false
diff --git a/plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsTelemetry.java b/plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsTelemetry.java
index 850a393928..ef4eb86b7f 100644
--- a/plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsTelemetry.java
+++ b/plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsTelemetry.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.examples.helloads.telemetry;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.apache.plc4x.java.api.types.PlcResponseCode;
import org.slf4j.Logger;
@@ -75,7 +75,7 @@ public class HelloAdsTelemetry {
String remoteIp = args[0];
String localIp = args[1];
- try (PlcConnection connection = new PlcDriverManager().getConnection(String.format("ads:tcp://%s?targetAmsNetId=%s.1.1&targetAmsPort=10000&sourceAmsNetId=%s.1.1&sourceAmsPort=65534&load-symbol-and-data-type-tables=false", remoteIp, remoteIp, localIp))) {
+ try (PlcConnection connection = PlcDriverManager.getDefault().getConnectionManager().getConnection(String.format("ads:tcp://%s?targetAmsNetId=%s.1.1&targetAmsPort=10000&sourceAmsNetId=%s.1.1&sourceAmsPort=65534&load-symbol-and-data-type-tables=false", remoteIp, remoteIp, localIp))) {
// Load the number of modules:
int numModules = connection.readRequestBuilder().addTagAddress("numberOfModules", "0x0000F302/0xF0200000:UINT").build().execute().get().getInteger("numberOfModules");
diff --git a/plc4j/examples/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/S7PlcToAzureIoTHubSample.java b/plc4j/examples/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/S7PlcToAzureIoTHubSample.java
index ed118a5933..1c97a84685 100644
--- a/plc4j/examples/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/S7PlcToAzureIoTHubSample.java
+++ b/plc4j/examples/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/S7PlcToAzureIoTHubSample.java
@@ -21,8 +21,8 @@ package org.apache.plc4x.java.examples.cloud.azure;
import com.microsoft.azure.sdk.iot.device.DeviceClient;
import com.microsoft.azure.sdk.iot.device.IotHubClientProtocol;
import com.microsoft.azure.sdk.iot.device.Message;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.slf4j.Logger;
@@ -54,7 +54,7 @@ public class S7PlcToAzureIoTHubSample {
// Open both a connection to the remote PLC and the cloud service.
DeviceClient client = new DeviceClient(options.getIotHubConnectionString(), IotHubClientProtocol.MQTT);
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(options.getPlc4xConnectionString())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(options.getPlc4xConnectionString())) {
LOGGER.info("Connected");
diff --git a/plc4j/examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/S7PlcToGoogleIoTCoreSample.java b/plc4j/examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/S7PlcToGoogleIoTCoreSample.java
index 7bbf5c760e..2f7943ef17 100644
--- a/plc4j/examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/S7PlcToGoogleIoTCoreSample.java
+++ b/plc4j/examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/S7PlcToGoogleIoTCoreSample.java
@@ -21,8 +21,8 @@ package org.apache.plc4x.java.examples.cloud.google;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.eclipse.paho.client.mqttv3.*;
@@ -236,7 +236,7 @@ public class S7PlcToGoogleIoTCoreSample {
// Connect to Plc
logger.info("Connecting to Plc");
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection("s7://10.10.64.20/1/1")) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection("s7://10.10.64.20/1/1")) {
logger.info("Connected");
PlcReadRequest readRequest = plcConnection.readRequestBuilder().addTagAddress("outputs", "OUTPUTS/0").build();
diff --git a/plc4j/examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/MqttConnector.java b/plc4j/examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/MqttConnector.java
index 5a92e47e7c..54c2b203c4 100644
--- a/plc4j/examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/MqttConnector.java
+++ b/plc4j/examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/MqttConnector.java
@@ -31,8 +31,8 @@ import com.hivemq.client.mqtt.mqtt3.message.publish.Mqtt3PublishResult;
import io.reactivex.Flowable;
import io.reactivex.Single;
import org.apache.commons.lang3.StringUtils;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -83,7 +83,7 @@ public class MqttConnector {
final Single<Mqtt3ConnAck> connAckSingle = client.connect().timeout(10, TimeUnit.SECONDS);
// Connect to the PLC.
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(config.getPlcConfig().getConnection())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(config.getPlcConfig().getConnection())) {
// Check if this connection support reading of data.
if (!plcConnection.getMetadata().canRead()) {
diff --git a/plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/HelloDiscovery.java b/plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/HelloDiscovery.java
index 33fdcf947e..0c89513883 100644
--- a/plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/HelloDiscovery.java
+++ b/plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/HelloDiscovery.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.examples.hellodiscovery;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcDriver;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.*;
import org.apache.plc4x.java.api.types.PlcResponseCode;
import org.slf4j.Logger;
@@ -44,7 +44,7 @@ public class HelloDiscovery {
System.exit(1);
}
- PlcDriverManager plcDriverManager = new PlcDriverManager();
+ PlcDriverManager plcDriverManager = PlcDriverManager.getDefault();
Set<String> driverCodes = plcDriverManager.listDrivers();
for (String driverCode : driverCodes) {
logger.info("Executing Discovery for Driver: {}", driverCode);
diff --git a/plc4j/examples/hello-influx-data-collection/src/main/java/org/apache/plc4x/java/examples/helloinflux/HelloInflux.java b/plc4j/examples/hello-influx-data-collection/src/main/java/org/apache/plc4x/java/examples/helloinflux/HelloInflux.java
index 989e7180f2..d89e4d35ea 100644
--- a/plc4j/examples/hello-influx-data-collection/src/main/java/org/apache/plc4x/java/examples/helloinflux/HelloInflux.java
+++ b/plc4j/examples/hello-influx-data-collection/src/main/java/org/apache/plc4x/java/examples/helloinflux/HelloInflux.java
@@ -26,7 +26,7 @@ import com.influxdb.client.write.Point;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcException;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
@@ -141,7 +141,7 @@ public class HelloInflux {
private PlcConnection connectToPlc() throws PlcException {
final PlcConnection connection =
- new PlcDriverManager().getConnection(configuration.getString("plc.connectionString"));
+ new DefaultPlcDriverManager().getConnection(configuration.getString("plc.connectionString"));
connection.connect();
return connection;
}
diff --git a/plc4j/examples/hello-nats/src/main/java/org/apache/plc4x/java/examples/hellonats/HelloNats.java b/plc4j/examples/hello-nats/src/main/java/org/apache/plc4x/java/examples/hellonats/HelloNats.java
index 303dbee3c6..07af104397 100644
--- a/plc4j/examples/hello-nats/src/main/java/org/apache/plc4x/java/examples/hellonats/HelloNats.java
+++ b/plc4j/examples/hello-nats/src/main/java/org/apache/plc4x/java/examples/hellonats/HelloNats.java
@@ -23,7 +23,6 @@ import io.nats.client.api.StorageType;
import io.nats.client.api.StreamConfiguration;
import io.nats.client.api.StreamInfo;
import io.nats.client.support.JsonUtils;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
diff --git a/plc4j/examples/hello-webservice/src/main/java/org/apache/plc4x/java/examples/hellowebservice/HelloWebservice.java b/plc4j/examples/hello-webservice/src/main/java/org/apache/plc4x/java/examples/hellowebservice/HelloWebservice.java
index 2d9eeccda9..4ed3f4ba70 100644
--- a/plc4j/examples/hello-webservice/src/main/java/org/apache/plc4x/java/examples/hellowebservice/HelloWebservice.java
+++ b/plc4j/examples/hello-webservice/src/main/java/org/apache/plc4x/java/examples/hellowebservice/HelloWebservice.java
@@ -27,8 +27,8 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcSubscriptionEvent;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
@@ -56,7 +56,7 @@ public class HelloWebservice {
public void run() throws Exception {
// Establish a connection to the plc.
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(options.getConnectionString())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(options.getConnectionString())) {
// Check if this connection support subscriptions.
if (!plcConnection.getMetadata().canSubscribe()) {
diff --git a/plc4j/examples/hello-world-kotlin/src/main/kotlin/org/apache/plc4x/java/examples/hellokotlin/ReadModbusPal.kt b/plc4j/examples/hello-world-kotlin/src/main/kotlin/org/apache/plc4x/java/examples/hellokotlin/ReadModbusPal.kt
index 4438308a89..7df03417cb 100644
--- a/plc4j/examples/hello-world-kotlin/src/main/kotlin/org/apache/plc4x/java/examples/hellokotlin/ReadModbusPal.kt
+++ b/plc4j/examples/hello-world-kotlin/src/main/kotlin/org/apache/plc4x/java/examples/hellokotlin/ReadModbusPal.kt
@@ -18,13 +18,13 @@
*/
package org.apache.plc4x.java.examples.hellokotlin;
-import org.apache.plc4x.java.PlcDriverManager
+import org.apache.plc4x.java.DefaultPlcDriverManager
import org.apache.plc4x.java.api.types.PlcResponseCode
import java.util.concurrent.TimeUnit
import kotlin.system.exitProcess
fun main() {
- PlcDriverManager()
+ DefaultPlcDriverManager()
.getConnection("modbus-tcp://localhost:502")
.use { conn ->
if (!conn.metadata.canRead()) {
diff --git a/plc4j/examples/hello-world-plc4x-discover-and-browse/src/main/java/org/apache/plc4x/java/examples/helloplc4x/discoverandbrowse/HelloPlc4xDiscoverAndBrowse.java b/plc4j/examples/hello-world-plc4x-discover-and-browse/src/main/java/org/apache/plc4x/java/examples/helloplc4x/discoverandbrowse/HelloPlc4xDiscoverAndBrowse.java
index 1bad000c88..11d4b5c68d 100644
--- a/plc4j/examples/hello-world-plc4x-discover-and-browse/src/main/java/org/apache/plc4x/java/examples/helloplc4x/discoverandbrowse/HelloPlc4xDiscoverAndBrowse.java
+++ b/plc4j/examples/hello-world-plc4x-discover-and-browse/src/main/java/org/apache/plc4x/java/examples/helloplc4x/discoverandbrowse/HelloPlc4xDiscoverAndBrowse.java
@@ -19,9 +19,10 @@
package org.apache.plc4x.java.examples.helloplc4x.discoverandbrowse;
import org.apache.commons.lang3.StringUtils;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.PlcDriver;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcBrowseItem;
import org.apache.plc4x.java.api.messages.PlcBrowseRequest;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
@@ -34,7 +35,8 @@ public class HelloPlc4xDiscoverAndBrowse {
public static void main(String[] args) throws Exception {
// Iterate over all installed drivers and execute their browse functionality (If they support it)
- PlcDriverManager driverManager = new PlcDriverManager();
+ PlcDriverManager driverManager = PlcDriverManager.getDefault();
+ PlcConnectionManager connectionManager = driverManager.getConnectionManager();
for (String protocolCode : driverManager.listDrivers()) {
PlcDriver driver = driverManager.getDriver(protocolCode);
if (driver.getMetadata().canDiscover()) {
@@ -44,7 +46,7 @@ public class HelloPlc4xDiscoverAndBrowse {
discoveryRequest.executeWithHandler(discoveryItem -> {
logger.info(" - Found device with connection-url {}", discoveryItem.getConnectionUrl());
- try (PlcConnection connection = driverManager.getConnection(discoveryItem.getConnectionUrl())) {
+ try (PlcConnection connection = connectionManager.getConnection(discoveryItem.getConnectionUrl())) {
if (connection.getMetadata().canBrowse()) {
PlcBrowseRequest browseRequest = connection.browseRequestBuilder().build();
browseRequest.execute().whenComplete((browseResponse, throwable) -> {
diff --git a/plc4j/examples/hello-world-plc4x-read/src/main/java/org/apache/plc4x/java/examples/helloplc4x/read/HelloPlc4xRead.java b/plc4j/examples/hello-world-plc4x-read/src/main/java/org/apache/plc4x/java/examples/helloplc4x/read/HelloPlc4xRead.java
index f0a345a570..922cf3acef 100644
--- a/plc4j/examples/hello-world-plc4x-read/src/main/java/org/apache/plc4x/java/examples/helloplc4x/read/HelloPlc4xRead.java
+++ b/plc4j/examples/hello-world-plc4x-read/src/main/java/org/apache/plc4x/java/examples/helloplc4x/read/HelloPlc4xRead.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.examples.helloplc4x.read;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.apache.plc4x.java.api.types.PlcResponseCode;
@@ -46,7 +46,7 @@ public class HelloPlc4xRead {
}
// Establish a connection to the plc using the url provided as first argument
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(options.getConnectionString())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(options.getConnectionString())) {
// Check if this connection support reading of data.
if (!plcConnection.getMetadata().canRead()) {
diff --git a/plc4j/examples/hello-world-plc4x-subscribe/src/main/java/org/apache/plc4x/java/examples/helloplc4x/subscribe/HelloPlc4xSubscription.java b/plc4j/examples/hello-world-plc4x-subscribe/src/main/java/org/apache/plc4x/java/examples/helloplc4x/subscribe/HelloPlc4xSubscription.java
index 33eca3cb6c..b6bb81feed 100644
--- a/plc4j/examples/hello-world-plc4x-subscribe/src/main/java/org/apache/plc4x/java/examples/helloplc4x/subscribe/HelloPlc4xSubscription.java
+++ b/plc4j/examples/hello-world-plc4x-subscribe/src/main/java/org/apache/plc4x/java/examples/helloplc4x/subscribe/HelloPlc4xSubscription.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.examples.helloplc4x.subscribe;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.PlcSubscriptionEvent;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
@@ -43,7 +43,7 @@ public class HelloPlc4xSubscription {
public void run() throws Exception {
// Establish a connection to the plc.
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(options.getConnectionString())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(options.getConnectionString())) {
// Check if this connection support subscriptions.
if (!plcConnection.getMetadata().canSubscribe()) {
diff --git a/plc4j/examples/hello-world-plc4x-write/src/main/java/org/apache/plc4x/java/examples/helloplc4x/write/HelloPlc4xWrite.java b/plc4j/examples/hello-world-plc4x-write/src/main/java/org/apache/plc4x/java/examples/helloplc4x/write/HelloPlc4xWrite.java
index b885039563..8f743f1424 100644
--- a/plc4j/examples/hello-world-plc4x-write/src/main/java/org/apache/plc4x/java/examples/helloplc4x/write/HelloPlc4xWrite.java
+++ b/plc4j/examples/hello-world-plc4x-write/src/main/java/org/apache/plc4x/java/examples/helloplc4x/write/HelloPlc4xWrite.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.examples.helloplc4x.write;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.messages.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,7 +36,7 @@ public class HelloPlc4xWrite {
public void run() throws Exception {
// Establish a connection to the plc.
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(options.getConnectionString())) {
+ try (PlcConnection plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(options.getConnectionString())) {
// Check if this connection support subscriptions.
if (!plcConnection.getMetadata().canWrite()) {
diff --git a/plc4j/examples/plc4j-s7event/src/main/java/org/apache/plc4x/examples/plc4j/s7event/EventSubscription.java b/plc4j/examples/plc4j-s7event/src/main/java/org/apache/plc4x/examples/plc4j/s7event/EventSubscription.java
index 30b5f47c68..242bf4704f 100644
--- a/plc4j/examples/plc4j-s7event/src/main/java/org/apache/plc4x/examples/plc4j/s7event/EventSubscription.java
+++ b/plc4j/examples/plc4j-s7event/src/main/java/org/apache/plc4x/examples/plc4j/s7event/EventSubscription.java
@@ -20,7 +20,7 @@ package org.apache.plc4x.examples.plc4j.s7event;
import java.util.Map;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
@@ -42,7 +42,7 @@ public class EventSubscription {
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
- try (PlcConnection connection = new PlcDriverManager().getConnection("s7://192.168.1.51?remote-rack=0&remote-slot=3&controller-type=S7_400")) {
+ try (PlcConnection connection = new DefaultPlcDriverManager().getConnection("s7://192.168.1.51?remote-rack=0&remote-slot=3&controller-type=S7_400")) {
final PlcSubscriptionRequest.Builder subscription = connection.subscriptionRequestBuilder();
subscription.addEventTagAddress("myMODE", "MODE");
diff --git a/plc4j/examples/poll-loop/src/main/java/org/apache/plc4x/java/examples/pollloop/PollLoop.java b/plc4j/examples/poll-loop/src/main/java/org/apache/plc4x/java/examples/pollloop/PollLoop.java
index a65e379901..1a1bdb02dd 100644
--- a/plc4j/examples/poll-loop/src/main/java/org/apache/plc4x/java/examples/pollloop/PollLoop.java
+++ b/plc4j/examples/poll-loop/src/main/java/org/apache/plc4x/java/examples/pollloop/PollLoop.java
@@ -26,8 +26,9 @@ import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.plc4x.java.PlcDriverManager;
+
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -157,7 +158,7 @@ public class PollLoop {
}
try {
- plcConnection = new PlcDriverManager().getConnection(connectionString);
+ plcConnection = PlcDriverManager.getDefault().getConnectionManager().getConnection(connectionString);
// in osgi/karaf uses this instead
// switch (plcType) {
// case PLC4JTYPE_SIEMENS:
diff --git a/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Sink.java b/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Sink.java
index 6d08488c23..be7bb3f237 100644
--- a/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Sink.java
+++ b/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Sink.java
@@ -18,11 +18,10 @@
*/
package org.apache.plc4x.kafka.config;
-import org.apache.plc4x.java.PlcDriverManager;
-
import org.apache.kafka.common.config.AbstractConfig;
import org.apache.kafka.common.config.ConfigDef;
import org.apache.kafka.common.config.ConfigException;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import java.util.Map;
import java.util.ArrayList;
@@ -57,7 +56,7 @@ public class Sink extends AbstractConfig{
String.format("Connection string shouldn't be null for source %s ", this.name));
}
try {
- new PlcDriverManager().getDriverForUrl(connectionString);
+ new DefaultPlcDriverManager().getDriverForUrl(connectionString);
} catch (Exception e) {
throw new ConfigException(
String.format("Connection String format is incorrect %s ", Constants.SINKS_CONFIG + "." + this.name + "." + Constants.CONNECTION_STRING_CONFIG + "=" + connectionString));
diff --git a/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Source.java b/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Source.java
index 6ffff8934f..cfe0003b97 100644
--- a/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Source.java
+++ b/plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Source.java
@@ -18,16 +18,13 @@
*/
package org.apache.plc4x.kafka.config;
-import org.apache.plc4x.java.PlcDriverManager;
-
import org.apache.kafka.common.config.AbstractConfig;
import org.apache.kafka.common.config.ConfigDef;
-import org.apache.kafka.common.config.Config;
import org.apache.kafka.common.config.ConfigException;
-import org.apache.kafka.common.config.ConfigValue;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
+
import java.util.Map;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
public class Source extends AbstractConfig{
@@ -73,7 +70,7 @@ public class Source extends AbstractConfig{
String.format("Connection string shouldn't be null for source %s ", this.name));
}
try {
- new PlcDriverManager().getDriverForUrl(connectionString);
+ new DefaultPlcDriverManager().getDriverForUrl(connectionString);
} catch (Exception e) {
throw new ConfigException(
String.format("Connection String format is incorrect %s ", SOURCES_CONFIG + "." + this.name + "." + CONNECTION_STRING_CONFIG + "=" + connectionString));
diff --git a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
index 0d4c406220..e2ff465107 100644
--- a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
+++ b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
@@ -18,8 +18,8 @@
*/
package org.apache.plc4x.java.opcuaserver.backend;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -71,7 +71,7 @@ public class Plc4xCommunication extends AbstractLifecycle {
@Override
protected void onStartup() {
- setDriverManager(new PlcDriverManager());
+ setDriverManager(PlcDriverManager.getDefault());
}
@Override
@@ -85,7 +85,7 @@ public class Plc4xCommunication extends AbstractLifecycle {
public void setDriverManager(PlcDriverManager driverManager) {
this.driverManager = driverManager;
- this.cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder(driverManager).build();
+ this.cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder(driverManager.getConnectionManager()).build();
}
public PlcTag getTag(String tag, String connectionString) throws PlcConnectionException {
diff --git a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
index d47ea54625..fd4d6e9188 100644
--- a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
+++ b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.opcuaserver.backend;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.opcuaserver.configuration.Configuration;
import org.apache.plc4x.java.opcuaserver.configuration.DeviceConfiguration;
@@ -186,7 +186,7 @@ public class Plc4xNamespace extends ManagedNamespaceWithLifecycle {
if (plc4xServer.getDriverManager() == null) {
plc4xServer.removeTag(item);
- plc4xServer.setDriverManager(new PlcDriverManager());
+ plc4xServer.setDriverManager(new DefaultPlcDriverManager());
}
}
diff --git a/plc4j/integrations/opcua-server/src/test/java/org/apache/plc4x/java/opcuaserver/OpcuaPlcDriverTest.java b/plc4j/integrations/opcua-server/src/test/java/org/apache/plc4x/java/opcuaserver/OpcuaPlcDriverTest.java
index c5a6626cc7..8fb2a52f48 100644
--- a/plc4j/integrations/opcua-server/src/test/java/org/apache/plc4x/java/opcuaserver/OpcuaPlcDriverTest.java
+++ b/plc4j/integrations/opcua-server/src/test/java/org/apache/plc4x/java/opcuaserver/OpcuaPlcDriverTest.java
@@ -19,7 +19,7 @@
package org.apache.plc4x.java.opcuaserver;
import io.vavr.collection.List;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -112,7 +112,7 @@ public class OpcuaPlcDriverTest {
connectionStringValidSet.forEach(connectionAddress -> {
String connectionString = connectionAddress;
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(connectionString);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(connectionString);
assert opcuaConnection.isConnected();
opcuaConnection.close();
assert !opcuaConnection.isConnected();
@@ -132,7 +132,7 @@ public class OpcuaPlcDriverTest {
discoveryParamValidSet.forEach(discoveryParam -> {
String connectionString = connectionAddress + paramSectionDivider + discoveryParam;
try {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(connectionString);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(connectionString);
assert opcuaConnection.isConnected();
opcuaConnection.close();
assert !opcuaConnection.isConnected();
@@ -150,7 +150,7 @@ public class OpcuaPlcDriverTest {
@Test
public void readVariables() throws Exception{
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
assert opcuaConnection.isConnected();
PlcReadRequest.Builder builder = opcuaConnection.readRequestBuilder();
@@ -199,7 +199,7 @@ public class OpcuaPlcDriverTest {
@Test
public void writeVariables() throws Exception {
- PlcConnection opcuaConnection = new PlcDriverManager().getConnection(tcpConnectionAddress);
+ PlcConnection opcuaConnection = new DefaultPlcDriverManager().getConnection(tcpConnectionAddress);
assert opcuaConnection.isConnected();
PlcWriteRequest.Builder builder = opcuaConnection.writeRequestBuilder();
diff --git a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
index 1872f61505..650d976c85 100644
--- a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
+++ b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.utils.cache;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
@@ -44,7 +44,7 @@ public class CachedPlcConnectionManager implements PlcConnectionManager {
private final Map<String, ConnectionContainer> connectionContainers;
public static Builder getBuilder() {
- return new Builder(new PlcDriverManager());
+ return new Builder(new DefaultPlcDriverManager());
}
public static Builder getBuilder(PlcConnectionManager connectionManager) {
diff --git a/plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/ManualTest.java b/plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/ManualTest.java
index 0905f70b5c..60bc40dedd 100644
--- a/plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/ManualTest.java
+++ b/plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/ManualTest.java
@@ -18,14 +18,14 @@
*/
package org.apache.plc4x.java.utils.cache;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
public class ManualTest {
public static void main(String[] args) {
- CachedPlcConnectionManager cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder(new PlcDriverManager()).build();
+ CachedPlcConnectionManager cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder(new DefaultPlcDriverManager()).build();
for (int i = 0; i < 100; i++){
try (PlcConnection connection = cachedPlcConnectionManager.getConnection("ads:tcp://192.168.23.20?sourceAmsNetId=192.168.23.200.1.1&sourceAmsPort=65534&targetAmsNetId=192.168.23.20.1.1&targetAmsPort=851")) {
PlcReadResponse plcReadResponse = connection.readRequestBuilder().addTagAddress("var", "MAIN.hurz_REAL").build().execute().get();
diff --git a/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java b/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java
index ad769183e8..1a62c6f4c3 100644
--- a/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java
+++ b/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java
@@ -23,7 +23,6 @@ import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.SystemConfiguration;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
@@ -51,7 +50,7 @@ import java.util.concurrent.TimeoutException;
/**
* Interceptor for dynamic functionality of @{@link PlcEntity}.
- * Basically, its {@link #interceptGetter(Object, Method, Callable, String, PlcDriverManager, AliasRegistry, Map, Map)} method is called for each
+ * Basically, its {@link #interceptGetter(Object, Method, Callable, String, PlcConnectionManager, AliasRegistry, Map, Map)} method is called for each
* invocation of a method on a connected @{@link PlcEntity} and does then the dynamic part.
* <p>
* For those not too familiar with the JVM's dispatch on can roughly imagine the intercept method being a "regular"
@@ -72,16 +71,16 @@ public class PlcEntityInterceptor {
/**
* Basic Intersector for all methods on the proxy object.
* It checks if the invoked method is a getter and if so, only retrieves the requested tag, forwarding to
- * the {@link #fetchAndSetValueForGetter(Object, Method, PlcDriverManager, String, AliasRegistry, Map)} method.
+ * the {@link #fetchAndSetValueForGetter(Object, Method, PlcConnectionManager, String, AliasRegistry, Map)} method.
* <p>
- * If the tag is no getter, then all tags are refreshed by calling {@link #refetchAllFields(Object, PlcDriverManager, String, AliasRegistry, Map)}
+ * If the tag is no getter, then all tags are refreshed by calling {@link #refetchAllFields(Object, PlcConnectionManager, String, AliasRegistry, Map)}
* and then, the method is invoked.
*
- * @param proxy Object to intercept
- * @param method Method that was intercepted
- * @param callable Callable to call the method after fetching the values
- * @param address Address of the plc (injected from private tag)
- * @param driverManager DriverManager instance to use (injected from private tag)
+ * @param proxy Object to intercept
+ * @param method Method that was intercepted
+ * @param callable Callable to call the method after fetching the values
+ * @param address Address of the plc (injected from private tag)
+ * @param connectionManager PlcConnectionManager instance to use (injected from private tag)
* @return possible result of the original methods invocation
* @throws OPMException Problems with plc / proxying
*/
@@ -89,15 +88,15 @@ public class PlcEntityInterceptor {
@RuntimeType
public static Object interceptGetter(@This Object proxy, @Origin Method method, @SuperCall Callable<?> callable,
@FieldValue(PlcEntityManager.PLC_ADDRESS_FIELD_NAME) String address,
- @FieldValue(PlcEntityManager.DRIVER_MANAGER_FIELD_NAME) PlcDriverManager driverManager,
+ @FieldValue(PlcEntityManager.CONNECTION_MANAGER_FIELD_NAME) PlcConnectionManager connectionManager,
@FieldValue(PlcEntityManager.ALIAS_REGISTRY) AliasRegistry registry,
@FieldValue(PlcEntityManager.LAST_FETCHED) Map<String, Instant> lastFetched,
@FieldValue(PlcEntityManager.LAST_WRITTEN) Map<String, Instant> lastWritten) throws OPMException {
LOGGER.trace("Invoked method {} on connected PlcEntity {}", method.getName(), method.getDeclaringClass().getName());
// If "detached" (i.e. _driverManager is null) simply forward the call
- if (driverManager == null) {
- LOGGER.trace("Entity not connected, simply fowarding call");
+ if (connectionManager == null) {
+ LOGGER.trace("Entity not connected, simply forwarding call");
try {
return callable.call();
} catch (Exception e) {
@@ -113,7 +112,7 @@ public class PlcEntityInterceptor {
LOGGER.trace("Invoked method {} is getter, trying to find annotated tag and return requested value",
method.getName());
- fetchAndSetValueForGetter(proxy, method, driverManager, address, registry, lastFetched);
+ fetchAndSetValueForGetter(proxy, method, connectionManager, address, registry, lastFetched);
try {
return callable.call();
} catch (Exception e) {
@@ -128,7 +127,7 @@ public class PlcEntityInterceptor {
// Fetch single value
LOGGER.trace("Invoked method {} is boolean flag method, trying to find annotated tag and return requested value",
method.getName());
- fetchAndSetValueForIsGetter(proxy, method, driverManager, address, registry, lastFetched);
+ fetchAndSetValueForIsGetter(proxy, method, connectionManager, address, registry, lastFetched);
try {
return callable.call();
} catch (Exception e) {
@@ -136,13 +135,13 @@ public class PlcEntityInterceptor {
}
}
- // Fetch all values, than invoke method
+ // Fetch all values then invoke method
try {
LOGGER.trace("Invoked method is no getter, refetch all tags and invoke method {} then", method.getName());
- refetchAllFields(proxy, driverManager, address, registry, lastFetched);
+ refetchAllFields(proxy, connectionManager, address, registry, lastFetched);
Object call = callable.call();
// We write back
- writeAllFields(proxy, driverManager, address, registry, lastWritten);
+ writeAllFields(proxy, connectionManager, address, registry, lastWritten);
return call;
} catch (Exception e) {
throw new OPMException("Unable to forward invocation " + method.getName() + " on connected PlcEntity", e);
@@ -153,14 +152,14 @@ public class PlcEntityInterceptor {
@RuntimeType
public static Object interceptSetter(@This Object proxy, @Origin Method method, @SuperCall Callable<?> callable,
@FieldValue(PlcEntityManager.PLC_ADDRESS_FIELD_NAME) String address,
- @FieldValue(PlcEntityManager.DRIVER_MANAGER_FIELD_NAME) PlcDriverManager driverManager,
+ @FieldValue(PlcEntityManager.CONNECTION_MANAGER_FIELD_NAME) PlcConnectionManager connectionManager,
@FieldValue(PlcEntityManager.ALIAS_REGISTRY) AliasRegistry registry,
@FieldValue(PlcEntityManager.LAST_FETCHED) Map<String, Instant> lastFetched,
@Argument(0) Object argument) throws OPMException {
LOGGER.trace("Invoked method {} on connected PlcEntity {}", method.getName(), method.getDeclaringClass().getName());
// If "detached" (i.e. _driverManager is null) simply forward the call
- if (driverManager == null) {
+ if (connectionManager == null) {
LOGGER.trace("Entity not connected, simply fowarding call");
try {
return callable.call();
@@ -177,13 +176,13 @@ public class PlcEntityInterceptor {
LOGGER.trace("Invoked method {} is setter, trying to find annotated tag and return requested value",
method.getName());
- return setValueForSetter(proxy, method, callable, driverManager, address, registry, lastFetched, argument);
+ return setValueForSetter(proxy, method, callable, connectionManager, address, registry, lastFetched, argument);
}
- // Fetch all values, than invoke method
+ // Fetch all values then invoke method
try {
LOGGER.trace("Invoked method is no getter, refetch all tags and invoke method {} then", method.getName());
- refetchAllFields(proxy, driverManager, address, registry, lastFetched);
+ refetchAllFields(proxy, connectionManager, address, registry, lastFetched);
return callable.call();
} catch (Exception e) {
throw new OPMException("Unable to forward invocation " + method.getName() + " on connected PlcEntity", e);
@@ -335,15 +334,15 @@ public class PlcEntityInterceptor {
return true;
}
- private static void fetchAndSetValueForIsGetter(Object proxy, Method m, PlcDriverManager driverManager, String address, AliasRegistry registry, Map<String, Instant> lastFetched) throws OPMException {
- fetchAndSetValueForGetter(proxy, m, 2, driverManager, address, registry, lastFetched);
+ private static void fetchAndSetValueForIsGetter(Object proxy, Method m, PlcConnectionManager connectionManager, String address, AliasRegistry registry, Map<String, Instant> lastFetched) throws OPMException {
+ fetchAndSetValueForGetter(proxy, m, 2, connectionManager, address, registry, lastFetched);
}
- private static void fetchAndSetValueForGetter(Object proxy, Method m, PlcDriverManager driverManager, String address, AliasRegistry registry, Map<String, Instant> lastFetched) throws OPMException {
- fetchAndSetValueForGetter(proxy, m, 3, driverManager, address, registry, lastFetched);
+ private static void fetchAndSetValueForGetter(Object proxy, Method m, PlcConnectionManager connectionManager, String address, AliasRegistry registry, Map<String, Instant> lastFetched) throws OPMException {
+ fetchAndSetValueForGetter(proxy, m, 3, connectionManager, address, registry, lastFetched);
}
- private static void fetchAndSetValueForGetter(Object proxy, Method m, int prefixLength, PlcDriverManager driverManager,
+ private static void fetchAndSetValueForGetter(Object proxy, Method m, int prefixLength, PlcConnectionManager connectionManager,
String address, AliasRegistry registry, Map<String, Instant> lastFetched) throws OPMException {
String s = m.getName().substring(prefixLength);
// First char to lower
@@ -365,7 +364,7 @@ public class PlcEntityInterceptor {
if (!needsToBeSynced(lastFetched, field)) {
return;
}
- try (PlcConnection connection = driverManager.getConnection(address)) {
+ try (PlcConnection connection = connectionManager.getConnection(address)) {
// Catch the exception, if no reader present (see below)
PlcReadRequest request = connection.readRequestBuilder()
@@ -395,7 +394,7 @@ public class PlcEntityInterceptor {
}
}
- private static Object setValueForSetter(Object proxy, Method m, Callable<?> callable, PlcDriverManager driverManager,
+ private static Object setValueForSetter(Object proxy, Method m, Callable<?> callable, PlcConnectionManager connectionManager,
String address, AliasRegistry registry, Map<String, Instant> lastFetched, Object object) throws OPMException {
String s = m.getName().substring(3);
// First char to lower
@@ -413,7 +412,7 @@ public class PlcEntityInterceptor {
// Use Fully qualified Name as tag index
String fqn = getFqn(field);
- try (PlcConnection connection = driverManager.getConnection(address)) {
+ try (PlcConnection connection = connectionManager.getConnection(address)) {
// Catch the exception, if no reader present (see below)
PlcWriteRequest request = connection.writeRequestBuilder()
diff --git a/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityManager.java b/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityManager.java
index 32a2401805..4fe3423840 100644
--- a/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityManager.java
+++ b/plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityManager.java
@@ -22,7 +22,7 @@ import net.bytebuddy.ByteBuddy;
import net.bytebuddy.description.modifier.Visibility;
import net.bytebuddy.implementation.MethodDelegation;
import org.apache.commons.lang3.reflect.FieldUtils;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -73,7 +73,7 @@ import static net.bytebuddy.matcher.ElementMatchers.not;
* regular Pojo it was before.
* <p>
* All invocations on the getters are forwarded to the
- * {@link PlcEntityInterceptor#interceptGetter(Object, Method, Callable, String, PlcDriverManager, AliasRegistry, Map, Map)}
+ * {@link PlcEntityInterceptor#interceptGetter(Object, Method, Callable, String, PlcConnectionManager, AliasRegistry, Map, Map)}
* method.
*/
public class PlcEntityManager {
@@ -81,7 +81,7 @@ public class PlcEntityManager {
private static final Logger LOGGER = LoggerFactory.getLogger(PlcEntityManager.class);
public static final String PLC_ADDRESS_FIELD_NAME = "_plcAddress";
- static final String DRIVER_MANAGER_FIELD_NAME = "_connectionManager";
+ static final String CONNECTION_MANAGER_FIELD_NAME = "_connectionManager";
static final String ALIAS_REGISTRY = "_aliasRegistry";
public static final String LAST_FETCHED = "_lastFetched";
public static final String LAST_WRITTEN = "_lastWritten";
@@ -90,7 +90,7 @@ public class PlcEntityManager {
private final SimpleAliasRegistry registry;
public PlcEntityManager() {
- this(new PlcDriverManager());
+ this(new DefaultPlcDriverManager());
}
public PlcEntityManager(PlcConnectionManager connectionManager) {
@@ -147,7 +147,7 @@ public class PlcEntityManager {
T instance = new ByteBuddy()
.subclass(clazz)
.defineField(PLC_ADDRESS_FIELD_NAME, String.class, Visibility.PRIVATE)
- .defineField(DRIVER_MANAGER_FIELD_NAME, PlcDriverManager.class, Visibility.PRIVATE)
+ .defineField(CONNECTION_MANAGER_FIELD_NAME, PlcConnectionManager.class, Visibility.PRIVATE)
.defineField(ALIAS_REGISTRY, AliasRegistry.class, Visibility.PRIVATE)
.defineField(LAST_FETCHED, Map.class, Visibility.PRIVATE)
.defineField(LAST_WRITTEN, Map.class, Visibility.PRIVATE)
@@ -159,7 +159,7 @@ public class PlcEntityManager {
.newInstance();
// Set connection value into the private field
FieldUtils.writeDeclaredField(instance, PLC_ADDRESS_FIELD_NAME, address, true);
- FieldUtils.writeDeclaredField(instance, DRIVER_MANAGER_FIELD_NAME, connectionManager, true);
+ FieldUtils.writeDeclaredField(instance, CONNECTION_MANAGER_FIELD_NAME, connectionManager, true);
FieldUtils.writeDeclaredField(instance, ALIAS_REGISTRY, registry, true);
Map<String, Instant> lastFetched = new HashMap<>();
FieldUtils.writeDeclaredField(instance, LAST_FETCHED, lastFetched, true);
@@ -212,11 +212,11 @@ public class PlcEntityManager {
throw new OPMException("Unable to disconnect Object, is no entity!");
}
try {
- Object manager = FieldUtils.readDeclaredField(entity, DRIVER_MANAGER_FIELD_NAME, true);
+ Object manager = FieldUtils.readDeclaredField(entity, CONNECTION_MANAGER_FIELD_NAME, true);
if (manager == null) {
throw new OPMException("Instance is already disconnected!");
}
- FieldUtils.writeDeclaredField(entity, DRIVER_MANAGER_FIELD_NAME, null, true);
+ FieldUtils.writeDeclaredField(entity, CONNECTION_MANAGER_FIELD_NAME, null, true);
} catch (IllegalAccessException e) {
throw new OPMException("Unable to fetch driverManager instance on entity instance", e);
}
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
index e4c7de4a58..3724a65bc0 100644
--- a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.opm;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.types.PlcResponseCode;
import org.apache.plc4x.java.spi.values.PlcSTRING;
import org.apache.plc4x.java.mock.connection.MockConnection;
@@ -42,7 +42,7 @@ import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class)
public class ConnectedEntityTest {
- PlcDriverManager driverManager;
+ DefaultPlcDriverManager driverManager;
MockConnection connection;
@@ -53,7 +53,7 @@ public class ConnectedEntityTest {
@BeforeEach
void setUp() throws Exception {
- driverManager = new PlcDriverManager();
+ driverManager = new DefaultPlcDriverManager();
connection = (MockConnection) driverManager.getConnection("mock:cached");
when(mockDevice.read(any()))
.thenReturn(new ResponseItem<>(PlcResponseCode.OK, new PlcSTRING("hallo")));
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java
index 93e53c17f4..b18ea8dd63 100644
--- a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java
@@ -18,7 +18,9 @@
*/
package org.apache.plc4x.java.opm;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
+import org.apache.plc4x.java.api.PlcConnectionManager;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.types.PlcResponseCode;
@@ -59,7 +61,7 @@ public class PlcEntityInterceptorTest implements WithAssertions {
private static final Logger LOGGER = LoggerFactory.getLogger(PlcEntityInterceptorTest.class);
- PlcDriverManager driverManager;
+ DefaultPlcDriverManager driverManager;
MockConnection connection;
@@ -70,7 +72,7 @@ public class PlcEntityInterceptorTest implements WithAssertions {
@BeforeEach
void setUp() throws Exception {
- driverManager = new PlcDriverManager();
+ driverManager = new DefaultPlcDriverManager();
connection = (MockConnection) driverManager.getConnection("mock:test");
connection.setDevice(mockDevice);
entityManager = new PlcEntityManager(driverManager);
@@ -139,7 +141,7 @@ public class PlcEntityInterceptorTest implements WithAssertions {
Callable callable;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
- PlcDriverManager plcDriverManager;
+ PlcConnectionManager connectionManager;
class MiscEntity {
@@ -181,27 +183,27 @@ public class PlcEntityInterceptorTest implements WithAssertions {
assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("something"), callable, null, null, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Exception during forwarding call");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getTest", String.class), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getTest", String.class), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Only getter with no arguments are supported");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk"), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk"), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessageMatching("Unable to identify tag with name .*");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk2"), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk2"), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Problem during processing");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk2"), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptGetter(null, MiscEntity.class.getDeclaredMethod("getOk2"), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Problem during processing")
.hasStackTraceContaining(" Unable to read specified tag 'org.apache.plc4x.java.opm.PlcEntityInterceptorTest$Misc$MiscEntity.ok2', response code was 'null'");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("setOk2", String.class), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("setOk2", String.class), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Problem during processing")
.hasStackTraceContaining(" Unable to read specified tag 'org.apache.plc4x.java.opm.PlcEntityInterceptorTest$Misc$MiscEntity.ok2', response code was 'null'");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("setOkOk", String.class, String.class), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("setOkOk", String.class, String.class), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Only setter with one arguments are supported");
- assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("someNotSetterMethod", String.class), callable, null, plcDriverManager, null, lastFetched, lastWritten))
+ assertThatThrownBy(() -> PlcEntityInterceptor.interceptSetter(null, MiscEntity.class.getDeclaredMethod("someNotSetterMethod", String.class), callable, null, connectionManager, null, lastFetched, lastWritten))
.isInstanceOf(OPMException.class)
.hasMessage("Unable to forward invocation someNotSetterMethod on connected PlcEntity");
}
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java
index 797f0a3c1d..e10a89dbf7 100644
--- a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java
@@ -19,7 +19,7 @@
package org.apache.plc4x.java.opm;
import org.apache.commons.lang3.reflect.FieldUtils;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcInvalidTagException;
@@ -62,7 +62,7 @@ import static org.mockito.Mockito.when;
public class PlcEntityManagerComplexTest implements WithAssertions {
- private PlcDriverManager driverManager;
+ private DefaultPlcDriverManager driverManager;
@Test
public void noEntity_throws() {
@@ -175,7 +175,7 @@ public class PlcEntityManagerComplexTest implements WithAssertions {
manager.disconnect(connected);
// Assert disconnected
- Object o = FieldUtils.readDeclaredField(connected, PlcEntityManager.DRIVER_MANAGER_FIELD_NAME, true);
+ Object o = FieldUtils.readDeclaredField(connected, PlcEntityManager.CONNECTION_MANAGER_FIELD_NAME, true);
assertNull(o);
// Call a method and receive the result
@@ -197,8 +197,8 @@ public class PlcEntityManagerComplexTest implements WithAssertions {
}
private PlcEntityManager getPlcEntityManager(final Map<String, PlcValue> responses) throws PlcConnectionException {
- driverManager = Mockito.mock(PlcDriverManager.class);
- PlcDriverManager mock = driverManager;
+ driverManager = Mockito.mock(DefaultPlcDriverManager.class);
+ DefaultPlcDriverManager mock = driverManager;
PlcConnection connection = Mockito.mock(PlcConnection.class);
when(mock.getConnection(ArgumentMatchers.anyString())).thenReturn(connection);
when(connection.getMetadata()).thenReturn(new PlcConnectionMetadata() {
diff --git a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java
index 2cea1e6ea1..389f58335f 100644
--- a/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java
+++ b/plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java
@@ -19,7 +19,7 @@
package org.apache.plc4x.java.opm;
import org.apache.commons.lang3.tuple.Pair;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcInvalidTagException;
import org.apache.plc4x.java.api.types.PlcResponseCode;
@@ -49,7 +49,7 @@ public class PlcEntityManagerTest implements WithAssertions {
class Read {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
- PlcDriverManager driverManager;
+ DefaultPlcDriverManager driverManager;
@Test
public void throwsInvalidTagException_rethrows() throws PlcConnectionException {
@@ -85,7 +85,7 @@ public class PlcEntityManagerTest implements WithAssertions {
public void timeoutOnGet_throwsException() throws PlcConnectionException {
// Prepare the Mock
MockDevice mockDevice = Mockito.mock(MockDevice.class);
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
when(mockDevice.read(any())).thenAnswer(invocation -> {
// Sleep for 3s
@@ -116,7 +116,7 @@ public class PlcEntityManagerTest implements WithAssertions {
registry.register("alias", "real_tag");
// Mock
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
MockDevice mockDevice = Mockito.mock(MockDevice.class);
when(mockDevice.read(any())).thenReturn(new ResponseItem<>(PlcResponseCode.OK, new PlcSTRING("value")));
@@ -165,7 +165,7 @@ public class PlcEntityManagerTest implements WithAssertions {
registry.register("alias", "real_tag");
// Mock
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
MockDevice mockDevice = Mockito.mock(MockDevice.class);
when(mockDevice.write(anyString(), any())).thenReturn(PlcResponseCode.OK);
@@ -195,7 +195,7 @@ public class PlcEntityManagerTest implements WithAssertions {
@Test
void simpleWrite_uses_getter() throws Exception {
// Mock
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
MockDevice mockDevice = Mockito.mock(MockDevice.class);
when(mockDevice.read(any())).thenReturn(new ResponseItem<>(PlcResponseCode.OK, new PlcSTRING("value")));
@@ -228,7 +228,7 @@ public class PlcEntityManagerTest implements WithAssertions {
registry.register("alias", "real_tag");
// Mock
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:test");
MockDevice mockDevice = Mockito.mock(MockDevice.class);
when(mockDevice.read(any())).thenReturn(new ResponseItem<>(PlcResponseCode.OK, new PlcSTRING("value")));
diff --git a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
index 09a443d1e3..7772b6f500 100644
--- a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
+++ b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
@@ -23,7 +23,6 @@ import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
@@ -323,20 +322,20 @@ public class TriggeredScraperImpl implements Scraper, TriggeredScraperMBean {
/**
* acquires a plc connection from connection pool
- * @param plcDriverManager Driver manager handling connection and pools
+ * @param plcConnectionManager Connection manager handling connection and pools
* @param connectionString Connection string as defined in the regarding implementation of {@link PlcDriver}
* @param executorService ExecuterService holding a pool as threads handling requests and stuff
- * @param requestTimeoutMs maximum awaiting for the the future to return a result
+ * @param requestTimeoutMs maximum waiting time for the future to return a result
* @return the {@link PlcConnection} used for acquiring data from PLC endpoint
* @throws InterruptedException something went wrong
* @throws ExecutionException something went wrong
* @throws TimeoutException something went wrong
*/
- public static PlcConnection getPlcConnection(PlcDriverManager plcDriverManager,
+ public static PlcConnection getPlcConnection(PlcConnectionManager plcConnectionManager,
String connectionString,
ExecutorService executorService,
long requestTimeoutMs) throws InterruptedException, ExecutionException, TimeoutException {
- return getPlcConnection(plcDriverManager,connectionString,executorService,requestTimeoutMs,"");
+ return getPlcConnection(plcConnectionManager,connectionString,executorService,requestTimeoutMs,"");
}
/**
diff --git a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
index f50797f54a..cd84143918 100644
--- a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
+++ b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
@@ -20,7 +20,6 @@ package org.apache.plc4x.java.scraper.triggeredscraper;
import org.apache.commons.lang3.time.StopWatch;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
diff --git a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
index 1163cb2137..434c367656 100644
--- a/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
+++ b/plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.model.PlcTag;
@@ -559,7 +559,7 @@ public class TriggerConfiguration{
//I used this because the prepareField method is deprecated with generated drivers
//So I need to create the tag using the connection string here
private PlcTag parseTag(String tagAddress) throws PlcConnectionException {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
PlcDriver driver = driverManager.getDriverForUrl(plcConnectionString);
return driver.prepareTag(tagAddress);
}
diff --git a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
index fcc0142f2a..aebf65e16b 100644
--- a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
+++ b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
@@ -18,7 +18,8 @@
*/
package org.apache.plc4x.java.scraper;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
+import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.types.PlcResponseCode;
import org.apache.plc4x.java.spi.values.PlcSTRING;
@@ -50,7 +51,7 @@ public class ScraperTaskTest implements WithAssertions {
@Test
public void scrape() throws PlcConnectionException {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:scraper");
connection.setDevice(mockDevice);
when(mockDevice.read(any())).thenReturn(new ResponseItem<>(PlcResponseCode.OK, new PlcSTRING("hallo")));
@@ -67,7 +68,7 @@ public class ScraperTaskTest implements WithAssertions {
@Test
public void badResponseCode_shouldHandleException() throws PlcConnectionException {
// Given
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:scraper");
connection.setDevice(mockDevice);
when(mockDevice.read(any())).thenReturn(new ResponseItem<>(PlcResponseCode.NOT_FOUND, new PlcSTRING("hallo")));
@@ -80,14 +81,14 @@ public class ScraperTaskTest implements WithAssertions {
}
@Mock
- PlcDriverManager driverManager;
+ PlcConnectionManager connectionManager;
@Test
public void handleConnectionException() throws PlcConnectionException {
// Given
- when(driverManager.getConnection(anyString())).thenThrow(new PlcConnectionException("stfu"));
+ when(connectionManager.getConnection(anyString())).thenThrow(new PlcConnectionException("stfu"));
- ScraperTask scraperTask = new ScraperTaskImpl(driverManager, "job1", "m1", "mock:scraper", Collections.singletonMap("a", "b"),
+ ScraperTask scraperTask = new ScraperTaskImpl(connectionManager, "job1", "m1", "mock:scraper", Collections.singletonMap("a", "b"),
1_000, ForkJoinPool.commonPool(), (j,a,m) -> {});
ScraperTask spy = spy(scraperTask);
@@ -98,9 +99,9 @@ public class ScraperTaskTest implements WithAssertions {
@Test
void runByScheduler_handledGracefully() throws PlcConnectionException {
- when(driverManager.getConnection(anyString())).thenThrow(new PlcConnectionException("stfu"));
+ when(connectionManager.getConnection(anyString())).thenThrow(new PlcConnectionException("stfu"));
ScheduledExecutorService pool = Executors.newScheduledThreadPool(1);
- ScraperTask scraperTask = new ScraperTaskImpl(driverManager, "job1", "m1", "mock:scraper", Collections.singletonMap("a", "b"),
+ ScraperTask scraperTask = new ScraperTaskImpl(connectionManager, "job1", "m1", "mock:scraper", Collections.singletonMap("a", "b"),
1_000, ForkJoinPool.commonPool(), (j,a,m) -> {});
Future<?> future = pool.scheduleAtFixedRate(scraperTask, 0, 10, TimeUnit.MILLISECONDS);
diff --git a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
index 6b2a9c455d..c329d8a95f 100644
--- a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
+++ b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.scraper;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.types.PlcResponseCode;
@@ -79,7 +79,7 @@ class ScraperTest implements WithAssertions {
@Test
void scraper_schedulesJob() throws InterruptedException, PlcConnectionException {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:m1");
connection.setDevice(mockDevice);
@@ -107,7 +107,7 @@ class ScraperTest implements WithAssertions {
@Test
void stop_stopsAllJobs() {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
Scraper scraper = new ScraperImpl((j, a, m) -> {}, driverManager, Collections.singletonList(
new ScrapeJobImpl("job1",
@@ -130,7 +130,7 @@ class ScraperTest implements WithAssertions {
@Test
void restart_works() throws PlcConnectionException {
- PlcDriverManager driverManager = new PlcDriverManager();
+ DefaultPlcDriverManager driverManager = new DefaultPlcDriverManager();
MockConnection connection = (MockConnection) driverManager.getConnection("mock:m1");
connection.setDevice(mockDevice);
diff --git a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java
index 4c794123a3..e109009e82 100644
--- a/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java
+++ b/plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.java.scraper.triggeredscraper;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.types.PlcResponseCode;
import org.apache.plc4x.java.mock.connection.MockConnection;
import org.apache.plc4x.java.mock.connection.MockDevice;
@@ -44,13 +44,13 @@ import static org.mockito.Mockito.when;
class TriggeredScraperImplTest {
- private PlcDriverManager driverManager;
+ private DefaultPlcDriverManager driverManager;
private MockDevice mockDevice1;
private MockDevice mockDevice2;
@BeforeEach
public void setUp() throws Exception {
- driverManager = new PlcDriverManager();
+ driverManager = new DefaultPlcDriverManager();
MockConnection mock1Connection = ((MockConnection) driverManager.getConnection("mock:1"));
MockConnection mock2Connection = ((MockConnection) driverManager.getConnection("mock:2"));
diff --git a/plc4j/tools/ui/src/main/java/org/apache/plc4x/java/ui/FxmlController.java b/plc4j/tools/ui/src/main/java/org/apache/plc4x/java/ui/FxmlController.java
index 4da3f36109..4b6c2db5f1 100644
--- a/plc4j/tools/ui/src/main/java/org/apache/plc4x/java/ui/FxmlController.java
+++ b/plc4j/tools/ui/src/main/java/org/apache/plc4x/java/ui/FxmlController.java
@@ -28,9 +28,9 @@ import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Paint;
import javafx.util.StringConverter;
-import org.apache.plc4x.java.PlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcDriver;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcDiscoveryItem;
import org.apache.plc4x.java.api.messages.PlcDiscoveryResponse;
@@ -55,7 +55,7 @@ public class FxmlController {
public TabPane connectionTabs;
public FxmlController() {
- driverManager = new PlcDriverManager();
+ driverManager = PlcDriverManager.getDefault();
}
@FXML
@@ -121,7 +121,7 @@ public class FxmlController {
if(mouseEvent.getButton().equals(MouseButton.PRIMARY) && mouseEvent.getClickCount() == 2) {
String connectionString = selectedItem.getCode();
try {
- PlcConnection connection = driverManager.getConnection(connectionString);
+ PlcConnection connection = driverManager.getConnectionManager().getConnection(connectionString);
FXMLLoader loader = new FXMLLoader(Objects.requireNonNull(getClass().getResource("connection-tab.fxml")));
Tab connectionTab = loader.load();
diff --git a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/ConnectionManager.java b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/ConnectionManager.java
index 1bb5fcd4e2..00481eced3 100644
--- a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/ConnectionManager.java
+++ b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/ConnectionManager.java
@@ -20,8 +20,9 @@ package org.apache.plc4x.test.driver.internal;
import io.netty.channel.Channel;
import io.netty.channel.embedded.Plc4xEmbeddedChannel;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.spi.connection.ChannelExposingConnection;
@@ -34,7 +35,7 @@ public class ConnectionManager {
PlcDriverManager plcDriverManager;
public ConnectionManager() {
- this.plcDriverManager = new PlcDriverManager();
+ this.plcDriverManager = new DefaultPlcDriverManager();
}
public PlcConnection getConnection(String driverName, Map<String, String> driverParameters) throws DriverTestsuiteException {
@@ -48,7 +49,7 @@ public class ConnectionManager {
if (sb.length() > 0) {
sb.replace(0, 1, "?");
}
- return plcDriverManager.getConnection(driverName + ":test://hurz" + sb);
+ return plcDriverManager.getConnectionManager().getConnection(driverName + ":test://hurz" + sb);
} catch (PlcConnectionException e) {
throw new DriverTestsuiteException("Error loading driver", e);
}
diff --git a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/manual/ManualTest.java b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/manual/ManualTest.java
index ea2ccef4e4..85cfd2f849 100644
--- a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/manual/ManualTest.java
+++ b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/manual/ManualTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.test.manual;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -56,7 +56,7 @@ public abstract class ManualTest {
}
public void run() throws Exception {
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection(connectionString)) {
+ try (PlcConnection plcConnection = new DefaultPlcDriverManager().getConnection(connectionString)) {
System.out.println("Reading all types in separate requests");
// Run all entries separately:
for (TestCase testCase : testCases) {
diff --git a/sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/protocol/df1/EndToEndTest.java b/sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/protocol/df1/EndToEndTest.java
index 523d32e36e..0717772c5b 100644
--- a/sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/protocol/df1/EndToEndTest.java
+++ b/sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/protocol/df1/EndToEndTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.plc4x.protocol.df1;
-import org.apache.plc4x.java.PlcDriverManager;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
import org.apache.plc4x.java.api.messages.PlcReadResponse;
@@ -32,7 +32,7 @@ public class EndToEndTest {
@Test
@Disabled("Seems to cause problems on Windows if no COM4 is available")
public void helloDf1() {
- try (PlcConnection plcConnection = new PlcDriverManager().getConnection("df1:serial:///COM4")) {
+ try (PlcConnection plcConnection = new DefaultPlcDriverManager().getConnection("df1:serial:///COM4")) {
PlcReadRequest request = plcConnection.readRequestBuilder()
.addTagAddress("hurz", "5:INTEGER")
.build();