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

[plc4x] branch plc4j/profinet updated (eb56517847 -> 6813ce6889)

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

hutcheb pushed a change to branch plc4j/profinet
in repository https://gitbox.apache.org/repos/asf/plc4x.git


    from eb56517847 fix(plc4j/profinet): Add the subscription logic.
     add cd850a3beb fix(plc4j/profinet): Starting to add error handling cases
     add 9a67d91320 chore(infra): Redirected the issue notifications to dev for testing.
     add b3b85132b7 New Implementation of the Connection-Cache (#747)
     add d74c0c6737 docs(user): Marked the connection-pool as removed stating with version 0.11.0 (#758)
     add b79e1d9b19 chore(infra): Redirected the issue notifications to dev for testing.
     add 11d6cdee49 feat(example/ads): Continued working on the ADS EtherCAT Browser
     add d8300da06a feat(protocol/open-protocol): Started implementing the Open-Protocol mspec
     add e3cbcdf4ae feat(plc4j/driver/open-protocol): Implemented a rough skeleton for an open-protocol driver (Not functional yet ... It just compiles the mspec generated types)
     add ee18ebd734 fix(plc4j/connection-cache): Increased the setup timeout to possibly get the test running on jenkins.
     add 575e881fbc build(deps): bump dom4j from 2.1.3 to 2.1.4 (#760)
     add 278e7c9642 build(deps): bump jna from 5.12.1 to 5.13.0 (#759)
     add 4d0ce747b9 build(deps): bump maven-failsafe-plugin from 3.0.0-M7 to 3.0.0-M8 (#762)
     add bd7cfe26dc build(deps): bump github.com/fatih/color in /plc4go (#764)
     add 61bb0e63ca build(deps): bump javafx.version from 19.0.2 to 19.0.2.1 (#761)
     add 1e9f979f27 build(deps): bump groovy.version from 4.0.7 to 4.0.8 (#765)
     add bcb14d3988 refactor(plc4j/code-gen): Refactored the way Encoding is handled and added "nullBytesHex" attribute support.
     add 102c041d06 refactor(plc4j/code-gen): Refactored the way Encoding is handled and added "nullBytesHex" attribute support.
     add 988e10d3c2 Merge branch 'develop' into plc4j/profinet
     add 6813ce6889 fix(plc4j/profinet): Fixed issue with cycle timer as well as included auto re-connect on failed connection. Also updated the documentation.

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   4 +-
 .../language/java/JavaLanguageTemplateHelper.java  |  12 +-
 .../templates/java/complex-type-template.java.ftlh |  41 +-
 .../templates/java/data-io-template.java.ftlh      |   1 +
 plc4go/go.mod                                      |   4 +-
 plc4go/go.sum                                      |  11 +-
 plc4go/protocols/ads/readwrite/model/AmsPacket.go  |  44 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |   8 +
 ...erManager.java => DefaultPlcDriverManager.java} |  18 +-
 .../{PlcDriver.java => PlcConnectionManager.java}  |  48 +--
 .../java/org/apache/plc4x/java/api/PlcDriver.java  |   9 +-
 .../apache/plc4x/java/api/PlcDriverManager.java}   |  24 +-
 .../apache/plc4x/java/PlcDriverManagerTest.java    |  10 +-
 .../abeth/readwrite/CIPEncapsulationPacket.java    |  21 +-
 .../ads/readwrite/AdsDataTypeTableChildEntry.java  |  46 ++-
 .../java/ads/readwrite/AdsDataTypeTableEntry.java  |  45 +-
 .../java/ads/readwrite/AdsSymbolTableEntry.java    |  47 ++-
 .../apache/plc4x/java/ads/readwrite/AmsPacket.java |  65 ++-
 .../plc4x/java/ads/readwrite/AmsTCPPacket.java     |   9 +-
 .../apache/plc4x/java/ads/readwrite/DataItem.java  |  20 +-
 .../plc4x/java/ads/readwrite/ErrorResponse.java}   |  96 ++---
 .../java/ads/readwrite/ReservedIndexGroups.java    |   1 +
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |  59 ++-
 .../plc4x/java/ads/tag/DirectAdsStringTag.java     |   5 +-
 .../apache/plc4x/java/ads/tag/DirectAdsTag.java    |   6 +-
 .../apache/plc4x/java/ads/tag/SymbolicAdsTag.java  |   6 +-
 .../org/apache/plc4x/protocol/ads/Scanner.java     |   5 +-
 .../apache/plc4x/java/bacnetip/readwrite/BVLC.java |  18 +-
 .../BVLCDeleteForeignDeviceTableEntry.java         |   6 +-
 .../java/bacnetip/readwrite/BVLCForwardedNPDU.java |   6 +-
 .../BVLCReadBroadcastDistributionTableAck.java     |   3 +-
 .../readwrite/BVLCReadForeignDeviceTableAck.java   |   3 +-
 .../plc4x/java/bacnetip/readwrite/BVLCResult.java  |   3 +-
 .../java/bacnetip/readwrite/BVLCSecureBVLL.java    |   6 +-
 .../BVLCWriteBroadcastDistributionTable.java       |   3 +-
 .../java/can/generic/GenericCANDriverTest.java     |   7 +-
 .../plc4x/java/canopen/readwrite/CANOpenFrame.java |  12 +-
 .../plc4x/java/canopen/readwrite/DataItem.java     |  16 +-
 .../java/canopen/readwrite/utils/StaticHelper.java |   5 +-
 .../java/canopen/tag/CANOpenHeartbeatTag.java      |   5 +-
 .../plc4x/java/canopen/tag/CANOpenNMTTag.java      |   5 +-
 .../plc4x/java/canopen/tag/CANOpenPDOTag.java      |   9 +-
 .../plc4x/java/canopen/tag/CANOpenSDOTag.java      |   5 +-
 .../java/org/apache/plc4x/java/canopen/Main.java   |   4 +-
 .../plc4x/java/eip/readwrite/tag/EipTag.java       |  13 +-
 .../java/firmata/readwrite/FirmataMessage.java     |   6 +-
 .../firmata/readwrite/FirmataMessageAnalogIO.java  |   6 +-
 .../firmata/readwrite/FirmataMessageDigitalIO.java |   6 +-
 .../FirmataMessageSubscribeAnalogPinValue.java     |   3 +-
 .../FirmataMessageSubscribeDigitalPinValue.java    |   3 +-
 .../knxnetip/readwrite/ConnectionResponse.java     |   9 +-
 .../knxnetip/readwrite/ConnectionStateRequest.java |   3 +-
 .../readwrite/ConnectionStateResponse.java         |   3 +-
 .../java/knxnetip/readwrite/DisconnectRequest.java |   3 +-
 .../knxnetip/readwrite/DisconnectResponse.java     |   3 +-
 .../java/knxnetip/readwrite/KnxDatapoint.java      |  36 +-
 .../java/knxnetip/readwrite/KnxNetIpMessage.java   |  24 +-
 .../java/knxnetip/readwrite/UnknownMessage.java    |   6 +-
 .../apache/plc4x/java/knxnetip/ManualKnxNetIp.java |   4 +-
 .../plc4x/java/modbus/readwrite/DataItem.java      |  21 +-
 .../java/modbus/readwrite/ModbusAsciiADU.java      |   3 +-
 .../plc4x/java/modbus/readwrite/ModbusRtuADU.java  |   3 +-
 .../plc4x/java/modbus/readwrite/ModbusTcpADU.java  |  12 +-
 .../plc4x/java/modbus/base/tag/ModbusTag.java      |   5 +-
 .../java/modbus/ManualModbusDiscoveryTest.java     |   4 +-
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |   4 +-
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |  12 +-
 .../protocol/OpcuaSubscriptionHandleTest.java      |   4 +-
 plc4j/drivers/open-protocol/pom.xml                | 175 ++++++++
 ...licationCommunicationStartAcknowledgeBlock.java | 207 ++++++++++
 ...nCommunicationStartAcknowledgeBlockCellId.java} | 106 ++---
 ...mmunicationStartAcknowledgeBlockChannelId.java} | 105 ++---
 ...ommunicationStartAcknowledgeBlockClientId.java} | 106 ++---
 ...icationStartAcknowledgeBlockControllerName.java | 154 +++++++
 ...tartAcknowledgeBlockControllerSerialNumber.java | 159 +++++++
 ...tAcknowledgeBlockControllerSoftwareVersion.java | 165 ++++++++
 ...tartAcknowledgeBlockLinkingHandlingSupport.java | 171 ++++++++
 ...onStartAcknowledgeBlockOpenProtocolVersion.java | 159 +++++++
 ...CommunicationStartAcknowledgeBlockRbuType.java} |  90 ++--
 ...StartAcknowledgeBlockSequenceNumberSupport.java | 171 ++++++++
 ...mmunicationStartAcknowledgeBlockStationId.java} | 107 ++---
 ...municationStartAcknowledgeBlockStationName.java | 153 +++++++
 ...unicationStartAcknowledgeBlockSupplierCode.java | 153 +++++++
 ...nicationStartAcknowledgeBlockSystemSubtype.java | 153 +++++++
 ...mmunicationStartAcknowledgeBlockSystemType.java | 149 +++++++
 ...onStartAcknowledgeBlockToolSoftwareVersion.java | 159 +++++++
 .../java/openprotocol/readwrite/Constants.java}    |  88 ++--
 .../plc4x/java/openprotocol/readwrite/Error.java   | 142 +++++++
 .../plc4x/java/openprotocol/readwrite/Mid.java     | 239 +++++++++++
 .../java/openprotocol/readwrite/MidTypes.java      |  74 ++++
 .../readwrite/OpenProtocolMessage.java             | 436 ++++++++++++++++++++
 ...nProtocolMessageApplicationCommandAccepted.java | 196 +++++++++
 ...OpenProtocolMessageApplicationCommandError.java | 229 +++++++++++
 ...otocolMessageApplicationCommunicationStart.java | 167 ++++++++
 ...geApplicationCommunicationStartAcknowledge.java | 202 +++++++++
 ...rotocolMessageApplicationCommunicationStop.java | 167 ++++++++
 ...otocolMessageApplicationGenericDataRequest.java | 273 +++++++++++++
 .../readwrite/OpenProtocolRevision.java            |  88 ++++
 .../java/openprotocol/OpenProtocolDriver.java      | 130 ++++++
 .../config/OpenProtocolConfiguration.java}         |  27 +-
 .../protocol/OpenProtocolProtocolLogic.java        |  76 ++++
 .../java/openprotocol/tag/OpenProtocolTag.java}    |  29 +-
 .../openprotocol/tag/OpenProtocolTagHandler.java}  |  20 +-
 .../services/org.apache.plc4x.java.api.PlcDriver   |   2 +-
 .../OpenProtocolParserSerializerTest.java}         |  20 +-
 .../src/test/resources/logback-test.xml            |   0
 .../java/plc4x/readwrite/Plc4xConnectRequest.java  |   5 +-
 .../java/plc4x/readwrite/Plc4xConnectResponse.java |   3 +-
 .../plc4x/java/plc4x/readwrite/Plc4xMessage.java   |  17 +-
 .../java/plc4x/readwrite/Plc4xReadRequest.java     |   9 +-
 .../java/plc4x/readwrite/Plc4xReadResponse.java    |  12 +-
 .../plc4x/java/plc4x/readwrite/Plc4xValue.java     |  11 +-
 .../java/plc4x/readwrite/Plc4xWriteRequest.java    |   9 +-
 .../java/plc4x/readwrite/Plc4xWriteResponse.java   |  12 +-
 .../org/apache/plc4x/java/plc4x/tag/Plc4xTag.java  |   6 +-
 .../apache/plc4x/java/plc4x/Plc4xReadClient.java   |   4 +-
 .../apache/plc4x/java/plc4x/Plc4xWriteClient.java  |   4 +-
 plc4j/drivers/pom.xml                              |   1 +
 .../plc4x/java/profinet/readwrite/CheckPeers.java  |  12 +-
 .../plc4x/java/profinet/readwrite/DataItem.java    |  21 +-
 .../profinet/readwrite/DceRpc_InterfaceUuid.java   |  24 +-
 .../java/profinet/readwrite/DceRpc_ObjectUuid.java |   6 +-
 .../java/profinet/readwrite/DceRpc_Packet.java     | 126 ++++--
 .../profinet/readwrite/IODWriteRequestHeader.java  |  21 +-
 .../profinet/readwrite/IODWriteResponseHeader.java |  15 +-
 .../java/profinet/readwrite/PDInterfaceAdjust.java |  21 +-
 .../java/profinet/readwrite/PDPortDataCheck.java   |  12 +-
 .../plc4x/java/profinet/readwrite/PnDcp_Pdu.java   |   2 +
 .../profinet/readwrite/PnDcp_Pdu_AlarmLow.java     | 336 +++++++++++++++
 .../profinet/readwrite/PnIoCM_Block_Request.java   |  12 +-
 .../profinet/readwrite/PnIoCM_Block_Response.java  |  12 +-
 .../java/profinet/readwrite/PnIoCm_Block.java      |   3 +-
 .../readwrite/PnIoCm_Block_AlarmCrReq.java         |  12 +-
 .../readwrite/PnIoCm_Block_AlarmCrRes.java         |   9 +-
 .../profinet/readwrite/PnIoCm_Block_ArReq.java     |  27 +-
 .../profinet/readwrite/PnIoCm_Block_ArRes.java     |   9 +-
 .../profinet/readwrite/PnIoCm_Block_ArServer.java  |   9 +-
 .../PnIoCm_Block_ExpectedSubmoduleReq.java         |  15 +-
 .../profinet/readwrite/PnIoCm_Block_IoCrReq.java   |  27 +-
 .../profinet/readwrite/PnIoCm_Block_IoCrRes.java   |   9 +-
 .../readwrite/PnIoCm_Block_ModuleDiff.java         |  15 +-
 .../profinet/readwrite/PnIoCm_Control_Request.java |  15 +-
 .../readwrite/PnIoCm_Control_Response.java         |  15 +-
 .../profinet/context/ProfinetDeviceContext.java    |   2 +-
 .../java/profinet/device/ProfinetChannel.java      |  12 +-
 .../plc4x/java/profinet/device/ProfinetDevice.java | 176 +++-----
 .../device/ProfinetSubscriptionHandle.java         |   4 +
 .../profinet/ManualProfinetIoDiscoveryTest.java    |   4 +-
 .../profinet/src/test/resources/logback-test.xml   |   2 +-
 .../apache/plc4x/java/s7/readwrite/DataItem.java   |  11 +-
 .../apache/plc4x/java/s7/readwrite/TPKTPacket.java |  15 +-
 .../plc4x/java/s7/readwrite/tag/S7StringTag.java   |   9 +-
 .../apache/plc4x/java/s7/readwrite/tag/S7Tag.java  |   9 +-
 .../java/s7/readwrite/utils/StaticHelper.java      |   5 +-
 .../plc4x/java/s7/readwrite/DatatypesTest.java     |   4 +-
 .../plc4x/java/simulated/readwrite/DataItem.java   |  31 +-
 .../hello-ads-telemetry}/pom.xml                   |  39 +-
 .../telemetry/HelloAdsEtherCatTelemetry.java       | 201 +++++++++
 .../helloads/telemetry/HelloAdsTelemetry.java      | 132 ++++++
 .../src/main/resources/logback.xml                 |   0
 .../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 -
 plc4j/examples/hello-opm/pom.xml                   |   2 +-
 .../plc4x/java/examples/helloopm/HelloOpm.java     |   6 +-
 .../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 +-
 plc4j/examples/pom.xml                             |   1 +
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |  10 +-
 .../org/apache/plc4x/kafka/Plc4xSourceTask.java    |   8 +-
 .../java/org/apache/plc4x/kafka/config/Sink.java   |   5 +-
 .../java/org/apache/plc4x/kafka/config/Source.java |   9 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |   2 +-
 .../org/apache/plc4x/nifi/BasePlc4xProcessor.java  |   9 +-
 .../org/apache/plc4x/nifi/Plc4xSinkProcessor.java  |   2 +-
 .../apache/plc4x/nifi/Plc4xSourceProcessor.java    |   2 +-
 .../plc4x/nifi/Plc4xSourceRecordProcessor.java     |   2 +-
 plc4j/integrations/opcua-server/pom.xml            |   2 +-
 .../opcuaserver/backend/Plc4xCommunication.java    | 114 ++----
 .../java/opcuaserver/backend/Plc4xNamespace.java   |  16 +-
 .../plc4x/java/opcuaserver/OpcuaPlcDriverTest.java |  10 +-
 .../plc4x/java/spi/codegen/FieldCommons.java       |  17 -
 .../apache/plc4x/java/spi/codegen/WithOption.java  |  12 +-
 .../spi/codegen/fields/FieldReaderOptional.java    |  36 +-
 .../spi/codegen/fields/FieldWriterOptional.java    |  30 +-
 .../codegen/fields/FieldWriterOptionalEnum.java    |  29 +-
 .../plc4x/java/spi/codegen/io/DataReader.java      |   3 +
 .../spi/codegen/io/DataReaderComplexDefault.java   |   5 +
 .../java/spi/codegen/io/DataReaderEnumDefault.java |   6 +
 .../java/spi/codegen/io/DataReaderSimpleBase.java  |   5 +
 .../spi/codegen/io/DataReaderSimpleString.java     |   2 +-
 .../plc4x/java/spi/codegen/io/DataWriter.java      |   3 +
 .../spi/codegen/io/DataWriterComplexDefault.java   |   5 +
 .../spi/codegen/io/DataWriterDataIoDefault.java    |   5 +
 .../java/spi/codegen/io/DataWriterEnumDefault.java |  10 +-
 .../java/spi/codegen/io/DataWriterSimpleBase.java  |   5 +
 .../spi/codegen/io/DataWriterSimpleString.java     |   4 +-
 .../plc4x/java/spi/generation/BufferCommons.java   |  18 +
 .../plc4x/java/spi/generation/ReadBuffer.java      |  66 +--
 .../java/spi/generation/ReadBufferByteBased.java   | 105 ++++-
 .../java/spi/generation/ReadBufferJsonBased.java   |   2 +-
 .../java/spi/generation/ReadBufferXmlBased.java    |   3 +-
 .../java/spi/generation/WithReaderWriterArgs.java  |  36 ++
 .../plc4x/java/spi/generation/WriteBuffer.java     |  66 +--
 .../java/spi/generation/WriteBufferBoxBased.java   |   2 +-
 .../java/spi/generation/WriteBufferByteBased.java  |  93 ++++-
 .../java/spi/generation/WriteBufferJsonBased.java  |   3 +-
 .../java/spi/generation/WriteBufferXmlBased.java   |   3 +-
 .../spi/messages/DefaultListPlcBrowseItem.java     |  17 +-
 .../java/spi/messages/DefaultPlcBrowseItem.java    |  14 +-
 .../java/spi/messages/DefaultPlcDiscoveryItem.java |  26 +-
 .../java/spi/messages/DefaultPlcWriteRequest.java  |   9 +-
 .../java/spi/messages/DefaultPlcWriteResponse.java |   5 +-
 .../java/spi/messages/utils/ResponseItem.java      |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcCHAR.java  |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcDATE.java  |   5 +-
 .../plc4x/java/spi/values/PlcDATE_AND_TIME.java    |   5 +-
 .../apache/plc4x/java/spi/values/PlcIECValue.java  |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcLDATE.java |   5 +-
 .../plc4x/java/spi/values/PlcLDATE_AND_TIME.java   |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcLTIME.java |   5 +-
 .../plc4x/java/spi/values/PlcLTIME_OF_DAY.java     |   5 +-
 .../apache/plc4x/java/spi/values/PlcSTRING.java    |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcTIME.java  |   5 +-
 .../plc4x/java/spi/values/PlcTIME_OF_DAY.java      |   5 +-
 .../org/apache/plc4x/java/spi/values/PlcWCHAR.java |   5 +-
 .../apache/plc4x/java/spi/values/PlcWSTRING.java   |   5 +-
 .../plc4x/java/spi/generation/ReadBufferTest.java  |   5 +-
 plc4j/tools/connection-cache/README.md             |  51 +++
 plc4j/tools/connection-cache/pom.xml               |   9 +-
 .../utils/cache/CachedPlcConnectionManager.java    | 119 ++++++
 .../java/utils/cache/ConnectionContainer.java      |  75 ++++
 .../java/utils/cache/LeasedPlcConnection.java      | 130 ++++++
 .../utils/connectionpool2/CachedBrowseRequest.java |  60 ---
 .../utils/connectionpool2/CachedDriverManager.java | 356 ----------------
 .../utils/connectionpool2/CachedPlcConnection.java | 389 ------------------
 .../utils/connectionpool2/CachedReadRequest.java   |  64 ---
 .../connectionpool2/CachedReadRequestBuilder.java  |  51 ---
 .../connectionpool2/CachedSubscriptionRequest.java |  71 ----
 .../CachedSubscriptionRequestBuilder.java          |  78 ----
 .../CachedUnsubscriptionRequest.java               |  46 ---
 .../CachedUnsubscriptionRequestBuilder.java        |  59 ---
 .../utils/connectionpool2/CachedWriteRequest.java  |  75 ----
 .../connectionpool2/CachedWriteRequestBuilder.java |  51 ---
 .../utils/connectionpool2/PooledDriverManager.java |  87 ----
 .../connectionpool2/PooledDriverManagerMBean.java  |  24 --
 .../cache/CachedPlcConnectionManagerTest.java      | 175 ++++++++
 .../apache/plc4x/java/utils/cache/ManualTest.java  |  39 ++
 .../connectionpool2/CachedDriverManagerIT.java     |  80 ----
 .../connectionpool2/CachedDriverManagerMT.java     | 125 ------
 .../connectionpool2/CachedDriverManagerTest.java   | 241 -----------
 .../connectionpool2/CachedPlcConnectionTest.java   |  92 -----
 .../connectionpool2/PooledDriverManagerTest.java   |  47 ---
 .../src/test/resources/logback-test.xml            |   4 +-
 .../plc4x/java/utils/connectionpool/PoolKey.java   |  72 ----
 .../java/utils/connectionpool/PoolKeyFactory.java  | 109 -----
 .../connectionpool/PooledPlcConnectionFactory.java |  47 ---
 .../connectionpool/PooledPlcDriverManager.java     | 180 --------
 .../utils/connectionpool/PoolKeyFactoryTest.java   |  96 -----
 .../utils/connectionpool/PooledDummyDriver.java    |  53 ---
 .../connectionpool/PooledPlcDriverManagerTest.java | 375 -----------------
 .../src/test/resources/logback-test.xml            |  34 --
 .../plc4x/java/opm/PlcEntityInterceptor.java       |  70 ++--
 .../apache/plc4x/java/opm/PlcEntityManager.java    |  31 +-
 .../apache/plc4x/java/opm/ConnectedEntityTest.java |   6 +-
 .../plc4x/java/opm/PlcEntityInterceptorTest.java   |  23 +-
 .../java/opm/PlcEntityManagerComplexTest.java      |  10 +-
 .../plc4x/java/opm/PlcEntityManagerTest.java       |  14 +-
 .../java/plc4x/readwrite/Plc4xConnectRequest.java  |   5 +-
 .../java/plc4x/readwrite/Plc4xConnectResponse.java |   3 +-
 .../plc4x/java/plc4x/readwrite/Plc4xMessage.java   |  17 +-
 .../java/plc4x/readwrite/Plc4xReadRequest.java     |   9 +-
 .../java/plc4x/readwrite/Plc4xReadResponse.java    |  12 +-
 .../plc4x/java/plc4x/readwrite/Plc4xValue.java     |  11 +-
 .../java/plc4x/readwrite/Plc4xWriteRequest.java    |   9 +-
 .../java/plc4x/readwrite/Plc4xWriteResponse.java   |  12 +-
 .../plc4xserver/protocol/Plc4xServerAdapter.java   |  13 +-
 plc4j/tools/pom.xml                                |   2 +-
 plc4j/tools/{scraper => scraper-ng}/pom.xml        |  25 +-
 plc4j/tools/scraper/pom.xml                        |  12 +-
 .../org/apache/plc4x/java/scraper/ScraperImpl.java |  33 +-
 .../apache/plc4x/java/scraper/ScraperTaskImpl.java |  12 +-
 .../triggeredscraper/TriggeredScraperImpl.java     |  64 +--
 .../triggeredscraper/TriggeredScraperTask.java     |  16 +-
 .../triggerhandler/TriggerConfiguration.java       |   4 +-
 .../collector/TriggerCollectorImpl.java            |  24 +-
 .../apache/plc4x/java/s7/ManualS7PlcDriverMT.java  |  28 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |  17 +-
 .../org/apache/plc4x/java/scraper/ScraperTest.java |  30 +-
 .../plc4x/java/scraper/TriggeredScraperRunner.java |  10 +-
 .../java/scraper/TriggeredScraperRunnerModbus.java |  10 +-
 .../triggeredscraper/TriggeredScraperImplTest.java |   6 +-
 plc4j/tools/ui/pom.xml                             |   2 +-
 .../org/apache/plc4x/java/ui/FxmlController.java   |   6 +-
 .../java/socketcan/readwrite/SocketCANFrame.java   |  27 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   5 +-
 .../test/driver/internal/ConnectionManager.java    |   7 +-
 .../org/apache/plc4x/test/manual/ManualTest.java   |   4 +-
 .../plc4x/test/migration/MessageResolver.java      |   2 +-
 pom.xml                                            |  20 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec | 120 +++---
 protocols/open-protocol/pom.xml                    |   6 +
 .../protocols/openprotocol/open-protocol.mspec     | 455 +++++++++++++++++++++
 .../openprotocol/OpenProtocolProtocolTest.java     |  27 +-
 .../src/test/resources/logback-test.xml            |   0
 .../openprotocol/ParserSerializerTestsuite.xml     |  95 +++++
 .../resources/protocols/profinet/profinet.mspec    |  13 +-
 .../apache/plc4x/java/df1/readwrite/DF1Symbol.java |  12 +-
 .../java/df1/readwrite/DF1SymbolMessageFrame.java  |  15 +-
 .../apache/plc4x/protocol/df1/EndToEndTest.java    |   4 +-
 src/site/asciidoc/users/protocols/profinet.adoc    | 100 ++---
 src/site/asciidoc/users/tools/connection-pool.adoc |   2 +
 321 files changed, 8999 insertions(+), 4761 deletions(-)
 rename plc4j/api/src/main/java/org/apache/plc4x/java/{PlcDriverManager.java => DefaultPlcDriverManager.java} (93%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/{PlcDriver.java => PlcConnectionManager.java} (50%)
 rename plc4j/{tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PlcConnectionFactory.java => api/src/main/java/org/apache/plc4x/java/api/PlcDriverManager.java} (64%)
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCResult.java => ads/src/main/generated/org/apache/plc4x/java/ads/readwrite/ErrorResponse.java} (58%)
 create mode 100644 plc4j/drivers/open-protocol/pom.xml
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlock.java
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCDeleteForeignDeviceTableEntry.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockCellId.java} (50%)
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCDeleteForeignDeviceTableEntry.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockChannelId.java} (51%)
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCDeleteForeignDeviceTableEntry.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockClientId.java} (50%)
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockControllerName.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockControllerSerialNumber.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockControllerSoftwareVersion.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockLinkingHandlingSupport.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockOpenProtocolVersion.java
 copy plc4j/drivers/{knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/UnknownMessage.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockRbuType.java} (50%)
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockSequenceNumberSupport.java
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCDeleteForeignDeviceTableEntry.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockStationId.java} (50%)
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockStationName.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockSupplierCode.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockSystemSubtype.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockSystemType.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/ApplicationCommunicationStartAcknowledgeBlockToolSoftwareVersion.java
 copy plc4j/drivers/{bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BVLCResult.java => open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/Constants.java} (56%)
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/Error.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/Mid.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/MidTypes.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessage.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommandAccepted.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommandError.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStart.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStartAcknowledge.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationCommunicationStop.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolMessageApplicationGenericDataRequest.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/generated/org/apache/plc4x/java/openprotocol/readwrite/OpenProtocolRevision.java
 create mode 100644 plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/OpenProtocolDriver.java
 copy plc4j/{tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerMBean.java => drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/config/OpenProtocolConfiguration.java} (59%)
 create mode 100644 plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/protocol/OpenProtocolProtocolLogic.java
 rename plc4j/{tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedBrowseRequestBuilder.java => drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/tag/OpenProtocolTag.java} (56%)
 copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/codegen/io/DataReaderSimpleString.java => drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/tag/OpenProtocolTagHandler.java} (58%)
 rename plc4j/{tools/connection-pool/src/test => drivers/open-protocol/src/main}/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver (92%)
 rename plc4j/{tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerMBean.java => drivers/open-protocol/src/test/java/org/apache/plc4x/java/openprotocol/OpenProtocolParserSerializerTest.java} (70%)
 copy plc4j/drivers/{modbus => open-protocol}/src/test/resources/logback-test.xml (100%)
 create mode 100644 plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnDcp_Pdu_AlarmLow.java
 rename plc4j/{tools/connection-pool => examples/hello-ads-telemetry}/pom.xml (55%)
 create mode 100644 plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsEtherCatTelemetry.java
 create mode 100644 plc4j/examples/hello-ads-telemetry/src/main/java/org/apache/plc4x/java/examples/helloads/telemetry/HelloAdsTelemetry.java
 copy plc4j/examples/{hello-nats => hello-ads-telemetry}/src/main/resources/logback.xml (100%)
 create mode 100644 plc4j/tools/connection-cache/README.md
 create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
 create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/ConnectionContainer.java
 create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/LeasedPlcConnection.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedBrowseRequest.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManager.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedPlcConnection.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedReadRequest.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedReadRequestBuilder.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedSubscriptionRequest.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedSubscriptionRequestBuilder.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedUnsubscriptionRequest.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedUnsubscriptionRequestBuilder.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedWriteRequest.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedWriteRequestBuilder.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManager.java
 delete mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManagerMBean.java
 create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManagerTest.java
 create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/cache/ManualTest.java
 delete mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerIT.java
 delete mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerMT.java
 delete mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerTest.java
 delete mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedPlcConnectionTest.java
 delete mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManagerTest.java
 delete mode 100644 plc4j/tools/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PoolKey.java
 delete mode 100644 plc4j/tools/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PoolKeyFactory.java
 delete mode 100644 plc4j/tools/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcConnectionFactory.java
 delete mode 100644 plc4j/tools/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcDriverManager.java
 delete mode 100644 plc4j/tools/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PoolKeyFactoryTest.java
 delete mode 100644 plc4j/tools/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledDummyDriver.java
 delete mode 100644 plc4j/tools/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcDriverManagerTest.java
 delete mode 100644 plc4j/tools/connection-pool/src/test/resources/logback-test.xml
 copy plc4j/tools/{scraper => scraper-ng}/pom.xml (93%)
 copy plc4j/spi/src/test/java/org/apache/plc4x/java/spi/generation/ReadBufferTest.java => protocols/open-protocol/src/test/java/org/apache/plc4x/protocol/openprotocol/OpenProtocolProtocolTest.java (60%)
 copy {plc4j/drivers/modbus => protocols/open-protocol}/src/test/resources/logback-test.xml (100%)
 create mode 100644 protocols/open-protocol/src/test/resources/protocols/openprotocol/ParserSerializerTestsuite.xml