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 2020/01/16 08:44:29 UTC
[plc4x] branch develop updated (b0c5263 -> 1e6df75)
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git.
from b0c5263 [maven-release-plugin] prepare for next development iteration
add 8321e91 - Removed all old protocol modules (at least from the build)
add ff91b05 - Continued porting the S7 driver to fully generated drivers.
add 0f668bb Introduced Complex Types
add 8d5dccf Added getKeys Method
add 563c418 [plc4j-api] change values to package private
add 6aff309 Refactored License Header; Improved PlcValues
add 5c56151 [plc4j-api] added basic test for plc values
add dcd2108 Refactored Interface out of Plc4XProtocol
add 9abbf6c Further Refactoring
add 3993a3e - Extracted the static functions of the generated code to a StaticHelper class - Refactored the GeneratedDriverByteToMessageCodec to handle the size calculation in case of multiple packets being received - Fixed the size calculation for sub-byte payloads in S7
add df0d7cb - Made the example terminate after finishing the requests.
add 67a86d4 Removed ChannelHandler
add dab9308 fixed retrieval of lists
add 90dc156 Created plc4j-spi and moved driver-protocol-base classes there.
add fbd3c80 Fixed Dependency Issues
add 4e01a2a Moved Transports, added AB ETH
add e1e7d6b Refactored PLC4J-Transports (and TCP)
add 42506b8 Imported all Transports
add 0650584 Added Utils
add e949204 readded ads after refactoring
add 1f6c52f readded opcua after refactoring
add 1f3763f Added Modbus
add 3e1d215 readded ethernet-ip after refactoring
add 4877747 readded benchmarks after refactoring
add 51d8382 - Updated the build after the moving of packages
add 5b11e35 - Updated the build after the moving of packages
add 8dbed5c - Updated the build after the moving of packages
add f5d9ab9 added send context to conversation context
add 726f3a4 - Enabled and fixed the integration modules
add 596265a implemented DefaultSendRequestContext
add 1214920 implemented DefaultSendRequestContext test
add c1f0571 Implement first Version with Automatic response
add 164e9ab Fixed tests
add cfc21ba Added Request Response pattern with new API for S7 Driver
add 2257702 Improved Logging of Handler Regisgtrations
add 877285f cleanup
add f82e263 cleanup 2
add de8c857 migrated read var
add e40563b make decode optional as you can handle the response in the send now
add e733915 Added only method
add 9385756 - Made the examples work again.
add 62ca452 use new unwrap convenient method
add 481ca9d make onTimeoutConsumer optional by falling back to a NOOP consumer
add 852522e Implemented Response time
add 92fb5fb - Made the examples work again.
add f9c67e3 potential fix for mixed lists
add 44ed0bd Fixed PlcList implementation
add d53a642 Minor Refactorings
add 5ffb700 finetuned Plc4xProtocolBase.java
add e1223ff Added Experimental Annotation. - Implemented default methods for read, write, subscribe, ... - Direct communication from connection to protocol
add d04359b Introduced generic configuration
add a55a9ec Minor refactorings
add d57f65f - Continued working on the new S7 driver: -- Moved the manual encoding/decoding of elements into a second mspec generated parser - General refactoring: -- renamed "deserialization" into "parse" in the mspec context -- renamed "serialization" into "serialize" in the mspec context -- made the "manual" fields actually work - Fixed a broken SPI test
add bc88ec7 - Continued working on the new S7 driver: -- Finished porting the code for reading and writing data via S7
add f8ec041 - Cleaned up a bit in the new driver.
add 4d34052 - Continued working on the drivers ...
add e7064e7 - Fixed a bug in the floating point parsing.
add 32e023b Refactoring towards Generic Connections: - Merged "Generation" Classes from Module 'plc4j-utils-driver-base-java' to 'plc4j-spi' into 'org.apache.plc4x.java.spi.generation' (was 'org.apache.plc4x.java.utils' before) - Introduced new Class GenericNettyPlcConnection where new Drivers can be based on (contains ChannelHandler already and should be used in the Future, then NettyPlcConnection will be deprecated) - Removed module 'plc4j-utils-driver-base-java' everywhere - Cha [...]
add 512e93b Refactoring towards Generic Connections Part 2: - Added Another Method to ChannelFactory interface. Ported S7-NG and KNX to the new ChannelFactory Method. - Extended Connection Parser to read all Parts of the Connection String and use it in KNX and S7-NG.
add 3b9bc91 Refactoring towards Generic Connections Part 3: - Moved Common Code from TCP and UDP to abstract NettyChannelFactory. - Removed unnecessary dependencies from both Transport Modules (they are more focused on their specifics of the Transport now)
add 74ef223 Refactoring towards Generic Connections Part 4: - S7Driver is now subclassing the new Generic Driver which contains only getters for important Properties - Introduced new Stack Configurer to automatically generate the "xxxMessage" Classes (using Reflection) - Allowed Transport Layer to get Access to Connection String Properties - Removed the "PlcByteToMessageCodec" Interface and implemented ByteToMessageCodec directly on all classes to avoid confusion with interfaces (th [...]
add 3a132d1 Refactoring towards Generic Connections Part 5: - Extended ConnectionParser to support most of the generic types (boolean, String, int, double). - Introduced InstanceFactory to instantiate Classes (and Auto Inject Configuration Classes from Query Parameters, if existing) - Migrated Everything to InstanceFactory, e.g. many Classes now take a Class Object and no Instance - Migrated all existing Stuff to keep compatibility
add 00e948f Minor fixes which came up with knx testing.
add d6ec2e0 Minor fixes which came up with knx testing (2).
add ab0d3df Added Initialize Method for ChannelFactory and Implemented Datagram Unpacking for UDP.
add e281828 Added Close Handling for Connections.
add 3152f51 - Added support for "dataIo" types in MSpec - Made the code generator be a little more verbose - Added support for temporal fields - Added support for string fields
add 08f29fb - Extended the PlcValue types and added some missing ones for temporal types. - Minor cleanups - Added support for reading and writing string data into the Read and WriteBuffers
add cd39911 - Merged the data-specs and the protocol specs - Updated the specs to use the new string type reference
add 1b665db - Bumped some dependency versions (initially to support Java 13 in some of them)
add 2c7c80a - Make additional count array data available (Helping making the padding in s7 more correct)
add 4b8fa7d - Cleanup in the knx driver
add 4e3ea4d - Cleaning up in the KNX ETS code
add 250e860 - Continued implementing the new S7 driver
add e214f5b - Major refactoring FieldItems -> PlcValue
add bc867e5 - Made sure super.eventTriggered is not executed in case of ConnectEvent and DisconnectEvent
add f76e9e1 - Enabled the code for writing data
add 60e8904 - Updated the modules activated by the "with-proxies" profile.next-gen-core - Generally renamed "fieldValue" with "plcValue"
add d609ee1 - Addressing some SonarCloud bugs
add 7649ccb - Addressing some SonarCloud bugs
add c088940 - Addressing some SonarCloud bugs
add 8a3576b Implemented Generic RequestTransactionManager and implemented it in S7 Protocol Logic.
add 0cbf247 - Fixed an issue in the S7 protocol initializing the transaction manager with the initial values and not the negotiated ones. - Added some documentation to the driver.
add 3838e0d - Made the RequestTransactionManager handle changes of the numberOfConcurrentRequests.
add af91066 Merge branches 'develop' and 'next-gen-core' of https://gitbox.apache.org/repos/asf/plc4x into next-gen-core
add 54a4b90 - First steps in porting the S7MessageProcessor to the new generation S7 driver.
add aa76159 - Continued working on the futures for handling the responses.
add d58ffcb Did a bit of refactoring of the read method to read and read0
add 75ffd12 - renamed the read0 into readInternal
add 2f98890 Merge branches 'develop' and 'next-gen-core' of https://gitbox.apache.org/repos/asf/plc4x into next-gen-core
add e991c9c Mostly formatting and replacing "paket" with "packet" ;-)
add 94bba6c PLC4X-163 - Netty OutOfDirectMemoryError - Fixed two bugs in the detection if more bytes are available and in the way the number of elements in primitive arrays are detected.
add 17c3c12 Made the template generate a JSon annotation not only for abstract types.
add 093337a Huge refactoring and cleanup.
add fbf5aed - Make the S7 driver actually work ...
add 478da6c - Get UDP working
add 4f78772 - Make the KNXnet/IP driver actually work ...
add baf44d9 - Made the "endianess" configurable - Inverted the way "big-endian"/"little-endian" was treated in the ReadBuffer and WriteBuffer - Fixed things this inversion broke
add 664bda1 - Migrated the Ab-Eth protocol to the new structure ...
add 3c15b7c - Woked on the pcap transport an the integration of that in the bacnetip protocol implementation.
add 96912f4 - Split up utils into utils (Stuff used intenally) and tools (Stuff intended for both internal and external usage)
add a22d52f - Bumped the verions to 0.7.0-SNAPSHOT - Enhanced the build check script to detect Docker and if it's running - Fixed some pom-related issues after updating the versions and commenting out of a lot of modules (Old drivers were referenced all over the place)
add 7e01b5d - Renamed the s7ng back to s7
new e96f5f9 Merge branches 'develop' and 'next-gen-core-2' of https://gitbox.apache.org/repos/asf/plc4x into develop
new 1e6df75 Updated the prerequisiteCheck to only do the docker-check if the "with-docker" profile is enabled.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../freemarker/FreemarkerLanguageOutput.java | 41 +-
.../plc4x/language/java/JavaLanguageOutput.java | 12 +-
.../language/java/JavaLanguageTemplateHelper.java | 139 ++-
.../resources/templates/java/data-io-template.ftlh | 278 ++++++
.../resources/templates/java/enum-template.ftlh | 115 +--
.../main/resources/templates/java/io-template.ftlh | 91 +-
.../resources/templates/java/pojo-template.ftlh | 16 +-
.../plugins/codegenerator/language/mspec/MSpec.g4 | 20 +-
.../definitions/DefaultDataIoTypeDefinition.java | 38 +
.../model/fields/DefaultManualArrayField.java | 14 +-
.../mspec/model/fields/DefaultManualField.java | 14 +-
.../references/DefaultStringTypeReference.java | 38 +
.../references/DefaultTemporalTypeReference.java | 30 +
.../mspec/parser/MessageFormatListener.java | 89 +-
.../src/test/resources/mspec.example | 4 +-
.../src/main/resources/protocols/test/test.mspec | 2 +-
jenkins.pom | 2 +-
plc4j/api/pom.xml | 40 +-
.../org/apache/plc4x/java/PlcDriverManager.java | 50 +-
.../org/apache/plc4x/java/api/Experimental.java | 26 +
.../org/apache/plc4x/java/api/PlcConnection.java | 35 +-
.../plc4x/java/api/PlcConnectionExtension.java | 82 ++
.../java/org/apache/plc4x/java/api/PlcDriver.java | 60 ++
.../java/api/authentication/PlcAuthentication.java | 34 +-
.../PlcUsernamePasswordAuthentication.java | 34 +-
.../api/exceptions/PlcConnectionException.java | 34 +-
.../plc4x/java/api/exceptions/PlcException.java | 34 +-
.../api/exceptions/PlcFieldRangeException.java | 32 +-
.../PlcIncompatibleDatatypeException.java | 39 +-
.../api/exceptions/PlcInvalidFieldException.java | 32 +-
.../plc4x/java/api/exceptions/PlcIoException.java | 34 +-
.../api/exceptions/PlcNotImplementedException.java | 32 +-
.../java/api/exceptions/PlcProtocolException.java | 34 +-
.../PlcProtocolPayloadTooBigException.java | 34 +-
.../exceptions/PlcProtocolTimeoutException.java | 39 +
.../java/api/exceptions/PlcRuntimeException.java | 34 +-
.../java/api/exceptions/PlcTimeoutException.java | 32 +-
.../PlcUnsupportedDataTypeException.java | 32 +-
.../PlcUnsupportedOperationException.java | 34 +-
.../PlcUnsupportedProtocolException.java | 32 +-
.../plc4x/java/api/messages/PlcFieldRequest.java | 34 +-
.../plc4x/java/api/messages/PlcFieldResponse.java | 34 +-
.../apache/plc4x/java/api/messages/PlcMessage.java | 34 +-
.../plc4x/java/api/messages/PlcReadRequest.java | 34 +-
.../plc4x/java/api/messages/PlcReadResponse.java | 50 +-
.../apache/plc4x/java/api/messages/PlcRequest.java | 34 +-
.../plc4x/java/api/messages/PlcRequestBuilder.java | 34 +-
.../plc4x/java/api/messages/PlcResponse.java | 34 +-
.../java/api/messages/PlcSubscriptionEvent.java | 34 +-
.../java/api/messages/PlcSubscriptionRequest.java | 34 +-
.../java/api/messages/PlcSubscriptionResponse.java | 34 +-
.../api/messages/PlcUnsubscriptionRequest.java | 34 +-
.../api/messages/PlcUnsubscriptionResponse.java | 34 +-
.../plc4x/java/api/messages/PlcWriteRequest.java | 38 +-
.../plc4x/java/api/messages/PlcWriteResponse.java | 34 +-
.../java/api/metadata/PlcConnectionMetadata.java | 34 +-
.../java/api/model/PlcConsumerRegistration.java | 32 +-
.../org/apache/plc4x/java/api/model/PlcField.java | 34 +-
.../java/api/model/PlcSubscriptionHandle.java | 34 +-
.../plc4x/java/api/types/PlcClientDatatype.java | 34 +-
.../plc4x/java/api/types/PlcResponseCode.java | 34 +-
.../plc4x/java/api/types/PlcSubscriptionType.java | 34 +-
.../apache/plc4x/java/api/value/PlcBigDecimal.java | 136 +++
.../apache/plc4x/java/api/value/PlcBigInteger.java | 136 +++
.../apache/plc4x/java/api/value/PlcBoolean.java | 130 +++
.../org/apache/plc4x/java/api/value/PlcDate.java | 55 +
.../apache/plc4x/java/api/value/PlcDateTime.java | 77 ++
.../org/apache/plc4x/java/api/value/PlcDouble.java | 140 +++
.../org/apache/plc4x/java/api/value/PlcFloat.java | 140 +++
.../apache/plc4x/java/api/value/PlcInteger.java | 156 +++
.../org/apache/plc4x/java/api/value/PlcList.java | 72 ++
.../org/apache/plc4x/java/api/value/PlcLong.java | 140 +++
.../plc4x/java/api/value/PlcSimpleValue.java | 57 ++
.../org/apache/plc4x/java/api/value/PlcString.java | 68 ++
.../org/apache/plc4x/java/api/value/PlcStruct.java | 70 ++
.../org/apache/plc4x/java/api/value/PlcTime.java | 55 +
.../org/apache/plc4x/java/api/value/PlcValue.java | 142 +++
.../plc4x/java/api/value/PlcValueAdapter.java | 248 +++++
.../org/apache/plc4x/java/api/value/PlcValues.java | 379 +++++++
.../java/org/apache/plc4x/java/spi/PlcDriver.java | 61 --
.../apache/plc4x/java/PlcDriverManagerTest.java | 47 +-
.../PlcUsernamePasswordAuthenticationTest.java | 39 +-
.../plc4x/java/api/connection/PlcReaderTest.java | 32 +-
.../plc4x/java/api/connection/PlcWriterTest.java | 32 +-
.../api/exceptions/PlcConnectionExceptionTest.java | 32 +-
.../java/api/exceptions/PlcExceptionTest.java | 32 +-
.../api/exceptions/PlcFieldRangeExceptionTest.java | 32 +-
.../PlcIncompatibleDatatypeExceptionTest.java | 32 +-
.../exceptions/PlcInvalidFieldExceptionTest.java | 32 +-
.../java/api/exceptions/PlcIoExceptionTest.java | 32 +-
.../exceptions/PlcNotImplementedExceptionTest.java | 32 +-
.../api/exceptions/PlcProtocolExceptionTest.java | 32 +-
.../PlcProtocolPayloadTooBigExceptionTest.java | 32 +-
.../api/exceptions/PlcRuntimeExceptionTest.java | 32 +-
.../api/exceptions/PlcTimeoutExceptionTest.java | 32 +-
.../PlcUnsupportedDataTypeExceptionTest.java | 32 +-
.../PlcUnsupportedOperationExceptionTest.java | 32 +-
.../plc4x/java/api/messages/APIMessageTests.java | 34 +-
.../api/messages/PlcProprietaryRequestTest.java | 32 +-
.../api/messages/PlcProprietaryResponseTest.java | 32 +-
.../java/api/messages/PlcReadRequestTest.java | 32 +-
.../java/api/messages/PlcReadResponseTest.java | 32 +-
.../plc4x/java/api/messages/PlcRequestTest.java | 32 +-
.../plc4x/java/api/messages/PlcResponseTest.java | 32 +-
.../api/messages/PlcSubscriptionEventTest.java | 32 +-
.../api/messages/PlcSubscriptionRequestTest.java | 32 +-
.../api/messages/PlcSubscriptionResponseTest.java | 32 +-
.../api/messages/PlcUnsubscriptionRequestTest.java | 32 +-
.../messages/PlcUnsubscriptionResponseTest.java | 32 +-
.../java/api/messages/PlcWriteRequestTest.java | 32 +-
.../java/api/messages/PlcWriteResponseTest.java | 32 +-
.../plc4x/java/api/messages/mock/MockField.java | 34 +-
.../specific/TypeSafePlcReadRequestTest.java | 32 +-
.../specific/TypeSafePlcReadResponseTest.java | 32 +-
.../specific/TypeSafePlcWriteRequestTest.java | 32 +-
.../specific/TypeSafePlcWriteResponseTest.java | 32 +-
.../java/api/types/PlcClientDatatypeTest.java | 32 +-
.../plc4x/java/api/types/PlcResponseCodeTest.java | 32 +-
.../java/api/types/PlcSubscriptionTypeTest.java | 32 +-
.../apache/plc4x/java/api/types/PlcValueTest.java | 53 +
.../apache/plc4x/java/api/value/PlcValuesTest.java | 52 +
.../org/apache/plc4x/java/mock/ApiMockDriver.java | 55 +
.../plc4x/java/mock/DuplicateMockDriver.java | 34 +-
.../org/apache/plc4x/java/mock/MockDriver.java | 55 -
.../apache/plc4x/java/mock/MockPlcConnection.java | 32 +-
.../services/org.apache.plc4x.java.api.PlcDriver | 38 +
.../services/org.apache.plc4x.java.api.PlcDriver | 38 +
.../services/org.apache.plc4x.java.spi.PlcDriver | 19 -
plc4j/drivers/ab-eth/pom.xml | 24 +-
.../org/apache/plc4x/java/abeth/AbEthDriver.java | 60 +-
.../abeth/configuration/AbEthConfiguration.java | 44 +
.../java/abeth/connection/AbEthFieldHandler.java | 36 -
.../java/abeth/connection/AbEthPlcConnection.java | 159 ---
.../apache/plc4x/java/abeth/field/AbEthField.java | 105 ++
.../plc4x/java/abeth/field/AbEthFieldHandler.java | 35 +
.../apache/plc4x/java/abeth/model/AbEthField.java | 105 --
.../plc4x/java/abeth/model/types/FileType.java | 65 --
.../plc4x/java/abeth/protocol/AbEthProtocol.java | 61 --
.../java/abeth/protocol/AbEthProtocolLogic.java | 221 +++++
.../java/abeth/protocol/Plc4xAbEthProtocol.java | 51 +-
.../apache/plc4x/java/abeth/types/FileType.java | 65 ++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/protocol/abeth/AbEthTest.java | 2 +-
.../test/resources/testsuite/AbEthTestsuite.xml | 2 +-
plc4j/drivers/ads/pom.xml | 15 +-
.../org/apache/plc4x/java/ads/AdsPlcDriver.java | 2 +-
.../ads/connection/AdsAbstractPlcConnection.java | 39 +-
.../ads/connection/AdsSerialPlcConnection.java | 4 +-
.../java/ads/connection/AdsTcpPlcConnection.java | 23 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/ads/adslib/AmsRequest.java | 4 +-
.../apache/plc4x/java/ads/adslib/AmsRouter.java | 4 +-
.../connection/AdsAbstractPlcConnectionTest.java | 16 +-
.../ads/connection/AdsConnectionFactoryTest.java | 6 +-
.../ads/connection/AdsSerialPlcConnectionTest.java | 6 +-
.../ads/connection/AdsTcpPlcConnectionTests.java | 6 +-
plc4j/drivers/ethernet-ip/pom.xml | 9 +-
.../plc4x/java/ethernetip/EtherNetIpPlcDriver.java | 2 +-
.../connection/BaseEtherNetIpPlcConnection.java | 6 +-
.../connection/EtherNetIpTcpPlcConnection.java | 9 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/drivers/mock/pom.xml | 74 ++
.../org/apache/plc4x/java/mock/MockDriver.java | 63 ++
.../plc4x/java/mock/connection/MockConnection.java | 207 ++++
.../plc4x/java/mock/connection/MockDevice.java | 51 +
.../java/mock/connection/tcp/TcpHexDumper.java | 0
.../apache/plc4x/java/mock/field/MockField.java | 62 ++
.../plc4x/java/mock/field/MockFieldHandler.java | 98 ++
.../apache/plc4x/java/mock/field/MockPlcValue.java | 36 +
.../mock/protocol/Plc4XSupportedDataTypes.java | 0
.../org/apache/plc4x/java/mock/util/Assert.java | 0
.../org/apache/plc4x/java/mock/util/HexUtil.java | 0
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/drivers/modbus/pom.xml | 17 +-
.../apache/plc4x/java/modbus/ModbusPlcDriver.java | 2 +-
.../modbus/connection/BaseModbusPlcConnection.java | 14 +-
.../connection/ModbusSerialPlcConnection.java | 2 +-
.../modbus/connection/ModbusTcpPlcConnection.java | 7 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../connection/BaseModbusPlcConnectionTest.java | 6 +-
.../connection/ModbusConnectionFactoryTest.java | 6 +-
.../connection/ModbusSerialPlcConnectionTest.java | 6 +-
plc4j/drivers/opcua/pom.xml | 6 +-
.../apache/plc4x/java/opcua/OpcuaPlcDriver.java | 2 +-
.../opcua/connection/BaseOpcuaPlcConnection.java | 4 +-
.../opcua/connection/OpcuaTcpPlcConnection.java | 52 +-
.../java/opcua/protocol/OpcuaPlcFieldHandler.java | 94 +-
.../opcua/protocol/OpcuaSubsriptionHandle.java | 12 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/opcua/ManualPLC4XOpcua.java | 4 +-
plc4j/drivers/pom.xml | 9 +-
plc4j/drivers/s7/pom.xml | 19 +-
.../java/org/apache/plc4x/java/s7/S7PlcDriver.java | 2 +-
.../plc4x/java/s7/connection/S7PlcConnection.java | 33 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../java/org/apache/plc4x/java/s7/BenchmarkS7.java | 5 +-
.../java/s7/connection/S7PlcTestConnection.java | 2 +-
plc4j/drivers/simulated/pom.xml | 12 +-
.../plc4x/java/simulated/SimulatedDriver.java | 65 ++
.../plc4x/java/simulated/SimulatedPlcDriver.java | 65 --
.../simulated/connection/SimulatedConnection.java | 254 +++++
.../java/simulated/connection/SimulatedDevice.java | 194 ++++
.../connection/SimulatedPlcConnection.java | 219 ----
.../java/simulated/connection/TestDevice.java | 199 ----
.../plc4x/java/simulated/connection/TestField.java | 128 ---
.../simulated/connection/TestFieldHandler.java | 174 ----
.../java/simulated/connection/TestFieldItem.java | 35 -
.../plc4x/java/simulated/connection/TestType.java | 28 -
.../plc4x/java/simulated/field/SimulatedField.java | 129 +++
.../simulated/field/SimulatedFieldHandler.java | 214 ++++
.../java/simulated/types/SimulatedFieldType.java | 28 +
.../services/org.apache.plc4x.java.api.PlcDriver | 19 +
.../services/org.apache.plc4x.java.spi.PlcDriver | 38 -
.../plc4x/java/simulated/SimulatedDriverTest.java | 58 ++
.../java/simulated/SimulatedPlcDriverTest.java | 57 --
.../connection/SimulatedConnectionTest.java | 245 +++++
.../simulated/connection/SimulatedDeviceTest.java | 57 ++
.../connection/SimulatedPlcConnectionTest.java | 245 -----
.../java/simulated/connection/TestDeviceTest.java | 56 --
.../simulated/connection/TestFieldHandlerTest.java | 133 ---
.../simulated/connection/TestFieldItemTest.java | 31 -
.../java/simulated/connection/TestFieldTest.java | 61 --
.../simulated/field/SimularedFieldHandlerTest.java | 128 +++
.../java/simulated/field/SimulatedFieldTest.java | 62 ++
plc4j/examples/dummy-driver/pom.xml | 5 +-
.../java/examples/dummydriver/DummyDriver.java | 2 +-
.../dummydriver/connection/DummyConnection.java | 14 +-
.../examples/dummydriver/netty/DummyProtocol.java | 2 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/examples/hello-cloud-azure/pom.xml | 8 +-
plc4j/examples/hello-cloud-google/pom.xml | 8 +-
plc4j/examples/hello-connectivity-kafka/pom.xml | 8 +-
plc4j/examples/hello-connectivity-mqtt/pom.xml | 8 +-
plc4j/examples/hello-integration-edgent/pom.xml | 8 +-
plc4j/examples/hello-integration-iotdb/pom.xml | 8 +-
.../java/examples/integration/iotdb/PlcLogger.java | 2 +-
plc4j/examples/hello-opm/pom.xml | 8 +-
plc4j/examples/hello-storage-elasticsearch/pom.xml | 8 +-
plc4j/examples/hello-webapp/service/pom.xml | 8 +-
plc4j/examples/hello-world-plc4x/pom.xml | 15 +-
.../plc4x/java/examples/helloplc4x/HelloPlc4x.java | 13 +-
.../src/main/resources/logback.xml | 2 +-
plc4j/examples/pom.xml | 2 +-
plc4j/integrations/apache-calcite/pom.xml | 1 -
.../java/org/apache/plc4x/DriverManagerTest.java | 1 -
.../java/org/apache/plc4x/Plc4XBaseTableTest.java | 2 +-
.../apache-calcite/src/test/resources/example.yml | 4 +-
plc4j/integrations/apache-camel/pom.xml | 6 +-
.../java/org/apache/plc4x/camel/MockDriver.java | 15 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/integrations/apache-edgent/pom.xml | 19 +-
.../apache/plc4x/edgent/PlcConnectionAdapter.java | 4 +-
.../plc4x/edgent/PlcConnectionAdapterTest.java | 551 ++++++++++
.../org/apache/plc4x/edgent/PlcFunctionsTest.java | 144 +++
.../plc4x/edgent/PlcConnectionAdapterTest.java | 552 -----------
.../org/apache/plc4x/edgent/PlcFunctionsTest.java | 144 ---
.../apache/plc4x/edgent/mock/MockConnection.java | 155 ---
.../org/apache/plc4x/edgent/mock/MockDriver.java | 48 -
.../org/apache/plc4x/edgent/mock/MockField.java | 62 --
.../apache/plc4x/edgent/mock/MockFieldHandler.java | 104 --
.../apache/plc4x/edgent/mock/MockFieldItem.java | 34 -
.../services/org.apache.plc4x.java.spi.PlcDriver | 19 -
plc4j/integrations/apache-kafka/README.md | 2 +-
plc4j/integrations/apache-kafka/pom.xml | 8 +-
.../apache-nifi/nifi-plc4x-nar/pom.xml | 8 +-
plc4j/integrations/logstash-plugin/pom.xml | 8 +-
plc4j/karaf-features/pom.xml | 4 +-
.../karaf-features/s7/src/main/feature/feature.xml | 5 +-
plc4j/pom.xml | 9 +-
plc4j/protocols/ads/pom.xml | 9 +-
.../plc4x/java/ads/api/serial/AmsSerialFrame.java | 2 +-
.../plc4x/java/ads/model/AdsPlcFieldHandler.java | 168 ++--
.../java/ads/model/AdsSubscriptionHandle.java | 4 +-
.../plc4x/java/ads/protocol/Plc4x2AdsProtocol.java | 29 +-
.../ads/protocol/util/LittleEndianDecoder.java | 206 +++-
.../protocol/util/SingleMessageRateLimiter.java | 2 +-
.../protocol/util/LittleEndianDecoderSpec.groovy | 99 --
.../util/LittleEndianDecoderSpecHurz.groovy | 99 ++
.../protocol/util/LittleEndianEncoderSpec.groovy | 53 -
.../util/LittleEndianEncoderSpecHurz.groovy | 53 +
.../java/ads/model/AdsPlcFieldHandlerTest.java | 5 +-
...load2SerialProtocolExampleConversationTest.java | 8 +-
.../java/ads/protocol/Plc4x2AdsProtocolTest.java | 4 +-
.../java/ads/protocol/util/DigestUtilTest.java | 5 +-
plc4j/protocols/driver-bases/base/pom.xml | 101 --
.../base/GeneratedDriverByteToMessageCodec.java | 79 --
.../plc4x/java/base/PlcByteToMessageCodec.java | 59 --
.../plc4x/java/base/PlcMessageToMessageCodec.java | 60 --
.../base/connection/AbstractPlcConnection.java | 105 --
.../plc4x/java/base/connection/ChannelFactory.java | 33 -
.../base/connection/DefaultPlcFieldHandler.java | 101 --
.../java/base/connection/NettyPlcConnection.java | 132 ---
.../java/base/connection/PlcFieldHandler.java | 60 --
.../plc4x/java/base/events/ConnectEvent.java | 22 -
.../plc4x/java/base/events/ConnectedEvent.java | 22 -
.../plc4x/java/base/events/DisconnectEvent.java | 39 -
.../plc4x/java/base/events/DisconnectedEvent.java | 22 -
.../messages/DefaultPlcProprietaryRequest.java | 43 -
.../messages/DefaultPlcProprietaryResponse.java | 42 -
.../java/base/messages/DefaultPlcReadRequest.java | 113 ---
.../java/base/messages/DefaultPlcReadResponse.java | 583 -----------
.../base/messages/DefaultPlcSubscriptionEvent.java | 55 -
.../messages/DefaultPlcSubscriptionRequest.java | 168 ----
.../messages/DefaultPlcSubscriptionResponse.java | 90 --
.../messages/DefaultPlcUnsubscriptionRequest.java | 90 --
.../messages/DefaultPlcUnsubscriptionResponse.java | 36 -
.../java/base/messages/DefaultPlcWriteRequest.java | 275 -----
.../base/messages/DefaultPlcWriteResponse.java | 62 --
.../base/messages/InternalPlcFieldRequest.java | 31 -
.../base/messages/InternalPlcFieldResponse.java | 26 -
.../java/base/messages/InternalPlcMessage.java | 23 -
.../messages/InternalPlcProprietaryRequest.java | 22 -
.../messages/InternalPlcProprietaryResponse.java | 22 -
.../java/base/messages/InternalPlcReadRequest.java | 26 -
.../base/messages/InternalPlcReadResponse.java | 31 -
.../java/base/messages/InternalPlcRequest.java | 24 -
.../java/base/messages/InternalPlcResponse.java | 25 -
.../messages/InternalPlcSubscriptionEvent.java | 25 -
.../messages/InternalPlcSubscriptionRequest.java | 36 -
.../messages/InternalPlcSubscriptionResponse.java | 30 -
.../messages/InternalPlcUnsubscriptionRequest.java | 29 -
.../InternalPlcUnsubscriptionResponse.java | 25 -
.../base/messages/InternalPlcWriteRequest.java | 36 -
.../base/messages/InternalPlcWriteResponse.java | 28 -
.../java/base/messages/PlcProprietaryRequest.java | 25 -
.../java/base/messages/PlcProprietaryResponse.java | 25 -
.../java/base/messages/PlcProprietarySender.java | 25 -
.../java/base/messages/PlcProtocolMessage.java | 25 -
.../plc4x/java/base/messages/PlcRawMessage.java | 46 -
.../apache/plc4x/java/base/messages/PlcReader.java | 40 -
.../java/base/messages/PlcRequestContainer.java | 85 --
.../plc4x/java/base/messages/PlcSubscriber.java | 63 --
.../apache/plc4x/java/base/messages/PlcWriter.java | 40 -
.../base/messages/items/BaseDefaultFieldItem.java | 193 ----
.../messages/items/DefaultBigDecimalFieldItem.java | 171 ----
.../messages/items/DefaultBigIntegerFieldItem.java | 171 ----
.../messages/items/DefaultBooleanFieldItem.java | 184 ----
.../messages/items/DefaultByteArrayFieldItem.java | 58 --
.../base/messages/items/DefaultByteFieldItem.java | 151 ---
.../messages/items/DefaultDoubleFieldItem.java | 158 ---
.../base/messages/items/DefaultFloatFieldItem.java | 156 ---
.../messages/items/DefaultIntegerFieldItem.java | 153 ---
.../messages/items/DefaultLocalDateFieldItem.java | 50 -
.../items/DefaultLocalDateTimeFieldItem.java | 78 --
.../messages/items/DefaultLocalTimeFieldItem.java | 50 -
.../base/messages/items/DefaultLongFieldItem.java | 154 ---
.../base/messages/items/DefaultShortFieldItem.java | 151 ---
.../messages/items/DefaultStringFieldItem.java | 48 -
.../base/model/DefaultPlcConsumerRegistration.java | 85 --
.../base/model/DefaultPlcSubscriptionHandle.java | 62 --
.../model/InternalPlcConsumerRegistration.java | 32 -
.../base/model/InternalPlcSubscriptionHandle.java | 25 -
.../java/base/model/SubscriptionPlcField.java | 55 -
.../SingleItemToSingleRequestProtocol.java | 647 ------------
.../messages/DefaultPlcReadResponseSpec.groovy | 86 --
.../base/messages/items/DefaultItemsSpec.groovy | 217 ----
.../base/connection/AbstractPlcConnectionTest.java | 101 --
.../base/connection/NettyPlcConnectionTest.java | 92 --
.../messages/DefaultPlcProprietaryRequestTest.java | 48 -
.../DefaultPlcProprietaryResponseTest.java | 50 -
.../base/messages/DefaultPlcReadRequestTest.java | 116 ---
.../base/messages/DefaultPlcReadResponseTest.java | 120 ---
.../messages/DefaultPlcSubscriptionEventTest.java | 68 --
.../DefaultPlcSubscriptionRequestTest.java | 157 ---
.../DefaultPlcSubscriptionResponseTest.java | 124 ---
.../DefaultPlcUnsubscriptionRequestTest.java | 91 --
.../DefaultPlcUnsubscriptionResponseTest.java | 48 -
.../base/messages/DefaultPlcWriteRequestTest.java | 70 --
.../base/messages/DefaultPlcWriteResponseTest.java | 91 --
.../java/base/messages/PlcRawMessageTest.java | 57 --
.../base/messages/PlcRequestContainerTest.java | 82 --
.../messages/items/DefaultLongFieldItemTest.java | 114 ---
.../model/DefaultPlcConsumerRegistrationTest.java | 88 --
.../model/DefaultPlcSubscriptionHandleTest.java | 73 --
.../java/base/model/SubscriptionPlcFieldTest.java | 68 --
.../SingleItemToSingleRequestProtocolTest.java | 729 --------------
...spockframework.report.IReportCreator.properties | 66 --
plc4j/protocols/driver-bases/pcap-socket/pom.xml | 67 --
.../java/base/connection/PcapChannelFactory.java | 101 --
plc4j/protocols/driver-bases/pom.xml | 46 -
plc4j/protocols/driver-bases/raw-socket/pom.xml | 67 --
.../base/connection/RawSocketChannelFactory.java | 110 --
plc4j/protocols/driver-bases/serial/pom.xml | 81 --
.../connection/connection/SerialChannel.java | 635 ------------
.../connection/SerialChannelFactory.java | 83 --
.../connection/SerialChannelHandler.java | 172 ----
.../connection/SerialPollingSelector.java | 176 ----
.../connection/connection/SerialSelectionKey.java | 80 --
.../connection/SerialSelectorProvider.java | 68 --
.../connection/connection/SerialSocketAddress.java | 47 -
.../connection/connection/SerialSocketChannel.java | 158 ---
.../base/connection/SerialChannelFactoryTest.java | 111 ---
plc4j/protocols/driver-bases/tcp/pom.xml | 62 --
.../tcp/connection/TcpSocketChannelFactory.java | 112 ---
plc4j/protocols/driver-bases/test/pom.xml | 97 --
.../org/apache/plc4x/java/mock/MockDevice.java | 50 -
.../java/org/apache/plc4x/java/mock/MockField.java | 49 -
.../apache/plc4x/java/mock/MockFieldHandler.java | 103 --
.../org/apache/plc4x/java/mock/MockFieldItem.java | 34 -
.../apache/plc4x/java/mock/PlcMockConnection.java | 193 ----
.../org/apache/plc4x/java/mock/PlcMockDriver.java | 62 --
.../plc4x/java/mock/connection/MockConnection.java | 41 -
.../java/mock/connection/TestChannelFactory.java | 45 -
.../plc4x/java/mock/MockFieldHandlerTest.java | 111 ---
.../apache/plc4x/java/mock/MockFieldItemTest.java | 31 -
.../org/apache/plc4x/java/mock/MockFieldTest.java | 48 -
.../plc4x/java/mock/PlcMockConnectionTest.java | 164 ---
.../apache/plc4x/java/mock/PlcMockDriverTest.java | 96 --
plc4j/protocols/driver-bases/udp/pom.xml | 70 --
.../base/connection/UdpSocketChannelFactory.java | 110 --
.../protocol/DatagramUnpackingHandler.java | 39 -
plc4j/protocols/ethernet-ip/pom.xml | 2 +-
.../ethernetip/netty/Plc4XEtherNetIpProtocol.java | 16 +-
.../ethernetip/netty/util/EnipPlcFieldHandler.java | 28 +-
plc4j/protocols/iso-on-tcp/pom.xml | 6 +-
.../java/isoontcp/protocol/IsoOnTcpProtocol.java | 4 +-
.../isoontcp/protocol/model/IsoOnTcpMessage.java | 2 +-
plc4j/protocols/iso-tp/pom.xml | 3 +-
.../plc4x/java/isotp/protocol/IsoTPProtocol.java | 4 +-
.../java/isotp/protocol/model/IsoTPMessage.java | 2 +-
.../java/isotp/protocol/model/tpdus/DataTpdu.java | 2 +-
.../java/isotp/protocol/model/tpdus/Tpdu.java | 4 +-
plc4j/protocols/modbus/pom.xml | 9 +-
.../items/DefaultModbusByteArrayFieldItem.java | 258 -----
.../items/DefaultModbusByteArrayPlcList.java | 218 ++++
.../java/modbus/netty/Plc4XModbusProtocol.java | 82 +-
.../java/modbus/util/ModbusPlcFieldHandler.java | 33 +-
.../plc4x/java/modbus/ManualPlc4XModbusTest.java | 6 +-
.../items/DefaultModbusByteArrayFieldItemTest.java | 170 ----
.../items/DefaultModbusByteArrayPlcValueTest.java | 170 ++++
.../java/modbus/netty/Plc4XModbusProtocolTest.java | 57 +-
plc4j/protocols/pom.xml | 5 +-
plc4j/protocols/s7/pom.xml | 3 +-
.../plc4x/java/s7/netty/Plc4XS7Protocol.java | 337 ++++---
.../java/s7/netty/model/messages/S7Message.java | 4 +-
.../s7/netty/model/messages/S7RequestMessage.java | 2 +-
.../messages/SetupCommunicationRequestMessage.java | 2 +-
.../strategies/DefaultS7MessageProcessor.java | 2 +-
.../java/s7/netty/util/S7PlcFieldHandler.java | 142 +--
.../plc4x/java/s7/netty/Plc4XS7ProtocolSpec.groovy | 14 +-
.../plc4x/java/s7/netty/Plc4XS7ProtocolTest.java | 2 +-
.../java/s7/netty/util/S7PlcFieldHandlerTest.java | 44 +-
plc4j/spi/pom.xml | 86 ++
.../github/jinahya/bit/io/MyDefaultBitInput.java | 0
.../apache/plc4x/java/spi/ConversationContext.java | 86 ++
.../spi/GeneratedDriverByteToMessageCodec.java | 90 ++
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 204 ++++
.../apache/plc4x/java/spi/Plc4xProtocolBase.java | 80 ++
.../plc4x/java/spi/PlcMessageToMessageCodec.java | 60 ++
.../java/spi/configuration/Configuration.java | 23 +
.../spi/configuration/ConfigurationFactory.java | 241 +++++
.../java/spi/configuration/HasConfiguration.java | 38 +
.../annotations/ConfigurationParameter.java | 33 +
.../spi/configuration/annotations/Required.java | 30 +
.../annotations/defaults/BooleanDefaultValue.java | 33 +
.../annotations/defaults/DoubleDefaultValue.java | 33 +
.../annotations/defaults/IntDefaultValue.java | 33 +
.../annotations/defaults/StringDefaultValue.java | 33 +
.../java/spi/connection/AbstractPlcConnection.java | 193 ++++
.../plc4x/java/spi/connection/ChannelFactory.java | 37 +
.../spi/connection/DefaultNettyPlcConnection.java | 187 ++++
.../spi/connection/DefaultPlcFieldHandler.java | 97 ++
.../java/spi/connection/GeneratedDriverBase.java | 131 +++
.../connection/GeneratedProtocolMessageCodec.java | 72 ++
.../java/spi/connection/NettyChannelFactory.java | 157 +++
.../apache/plc4x/java/spi/connection/Parser.java | 29 +
.../plc4x/java/spi/connection/PlcFieldHandler.java | 58 ++
.../spi/connection/ProtocolStackConfigurer.java | 31 +
.../java/spi/connection/ReflectionBasedIo.java | 67 ++
.../plc4x/java/spi/connection/Serializer.java | 29 +
.../connection/SingleProtocolStackConfigurer.java | 136 +++
.../java/spi/events/CloseConnectionEvent.java | 23 +
.../apache/plc4x/java/spi/events/ConnectEvent.java | 22 +
.../plc4x/java/spi/events/ConnectedEvent.java | 22 +
.../plc4x/java/spi/events/DisconnectEvent.java | 39 +
.../plc4x/java/spi/events/DisconnectedEvent.java | 22 +
.../exceptions/InternalPlcRuntimeException.java | 41 +
.../java/spi/generation/EvaluationHelper.java | 58 ++
.../apache/plc4x/java/spi/generation/Message.java | 26 +
.../plc4x/java/spi/generation/MessageIO.java | 23 +
.../plc4x/java/spi/generation/MessageInput.java | 25 +
.../plc4x/java/spi/generation/MessageOutput.java | 25 +
.../plc4x/java/spi/generation/ParseException.java | 32 +
.../plc4x/java/spi/generation/ReadBuffer.java | 265 +++++
.../plc4x/java/spi/generation/StaticHelper.java | 79 ++
.../plc4x/java/spi/generation/WriteBuffer.java | 212 ++++
.../spi/internal/DefaultSendRequestContext.java | 138 +++
.../java/spi/internal/HandlerRegistration.java | 86 ++
.../spi/messages/DefaultPlcProprietaryRequest.java | 43 +
.../messages/DefaultPlcProprietaryResponse.java | 42 +
.../java/spi/messages/DefaultPlcReadRequest.java | 118 +++
.../java/spi/messages/DefaultPlcReadResponse.java | 616 ++++++++++++
.../spi/messages/DefaultPlcSubscriptionEvent.java | 55 +
.../messages/DefaultPlcSubscriptionRequest.java | 173 ++++
.../messages/DefaultPlcSubscriptionResponse.java | 90 ++
.../messages/DefaultPlcUnsubscriptionRequest.java | 90 ++
.../messages/DefaultPlcUnsubscriptionResponse.java | 36 +
.../java/spi/messages/DefaultPlcWriteRequest.java | 276 ++++++
.../java/spi/messages/DefaultPlcWriteResponse.java | 62 ++
.../java/spi/messages/InternalPlcFieldRequest.java | 31 +
.../spi/messages/InternalPlcFieldResponse.java | 26 +
.../java/spi/messages/InternalPlcMessage.java | 23 +
.../messages/InternalPlcProprietaryRequest.java | 22 +
.../messages/InternalPlcProprietaryResponse.java | 22 +
.../java/spi/messages/InternalPlcReadRequest.java | 26 +
.../java/spi/messages/InternalPlcReadResponse.java | 32 +
.../java/spi/messages/InternalPlcRequest.java | 24 +
.../java/spi/messages/InternalPlcResponse.java | 25 +
.../spi/messages/InternalPlcSubscriptionEvent.java | 25 +
.../messages/InternalPlcSubscriptionRequest.java | 36 +
.../messages/InternalPlcSubscriptionResponse.java | 30 +
.../messages/InternalPlcUnsubscriptionRequest.java | 29 +
.../InternalPlcUnsubscriptionResponse.java | 25 +
.../java/spi/messages/InternalPlcWriteRequest.java | 36 +
.../spi/messages/InternalPlcWriteResponse.java | 28 +
.../java/spi/messages/PlcProprietaryRequest.java | 25 +
.../java/spi/messages/PlcProprietaryResponse.java | 25 +
.../java/spi/messages/PlcProprietarySender.java | 25 +
.../java/spi/messages/PlcProtocolMessage.java | 25 +
.../plc4x/java/spi/messages/PlcRawMessage.java | 46 +
.../apache/plc4x/java/spi/messages/PlcReader.java | 40 +
.../java/spi/messages/PlcRequestContainer.java | 85 ++
.../plc4x/java/spi/messages/PlcSubscriber.java | 63 ++
.../apache/plc4x/java/spi/messages/PlcWriter.java | 40 +
.../spi/model/DefaultPlcConsumerRegistration.java | 85 ++
.../spi/model/DefaultPlcSubscriptionHandle.java | 62 ++
.../spi/model/InternalPlcConsumerRegistration.java | 32 +
.../spi/model/InternalPlcSubscriptionHandle.java | 25 +
.../plc4x/java/spi/model/SubscriptionPlcField.java | 55 +
.../spi/optimizer/RequestTransactionManager.java | 194 ++++
.../SingleItemToSingleRequestProtocol.java | 668 +++++++++++++
.../apache/plc4x/java/spi/request/PlcRequest.java | 28 +
.../apache/plc4x/java/spi/transport/Transport.java | 32 +
.../java/spi/transport/TransportConfiguration.java | 25 +
.../org/apache/plc4x/java/spi/types/FieldType.java | 47 +
.../internal/DefaultSendRequestContextTest.java | 116 +++
.../optimizer/RequestTransactionManagerTest.java | 170 ++++
.../java/spi/parser/ConnectionParserTest.java | 72 ++
plc4j/tools/connection-pool/pom.xml | 52 +
.../plc4x/java/utils/connectionpool/PoolKey.java | 0
.../java/utils/connectionpool/PoolKeyFactory.java | 0
.../connectionpool/PooledPlcConnectionFactory.java | 0
.../connectionpool/PooledPlcDriverManager.java | 0
.../utils/connectionpool/PoolKeyFactoryTest.java | 0
.../utils/connectionpool/PooledDummyDriver.java | 52 +
.../connectionpool/PooledPlcDriverManagerTest.java | 367 +++++++
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
.../connection-pool/src/test/resources/logback.xml | 0
plc4j/tools/interop/pom.xml | 217 ++++
.../interop/src/assembly/assembly.xml | 0
.../java/org/apache/plc4x/interop/impl/Client.java | 0
.../org/apache/plc4x/interop/impl/Handler.java | 163 +++
.../java/org/apache/plc4x/interop/impl/Server.java | 97 ++
plc4j/tools/opm/pom.xml | 94 ++
.../org/apache/plc4x/java/opm/AliasRegistry.java | 0
.../org/apache/plc4x/java/opm/OPMException.java | 0
.../java/org/apache/plc4x/java/opm/OpmUtils.java | 0
.../java/org/apache/plc4x/java/opm/PlcEntity.java | 0
.../plc4x/java/opm/PlcEntityInterceptor.java | 565 +++++++++++
.../apache/plc4x/java/opm/PlcEntityManager.java | 0
.../java/org/apache/plc4x/java/opm/PlcField.java | 0
.../apache/plc4x/java/opm/SimpleAliasRegistry.java | 0
.../opm/src/site/asciidoc/opm/using-opm.adoc | 0
plc4j/{utils => tools}/opm/src/site/site.xml | 0
.../apache/plc4x/java/opm/ConnectedEntityTest.java | 119 +++
.../apache/plc4x/java/opm/OPMExceptionTest.java | 0
.../org/apache/plc4x/java/opm/OpmUtilsTest.java | 0
.../plc4x/java/opm/PlcEntityInterceptorTest.java | 233 +++++
.../java/opm/PlcEntityManagerComplexTest.java | 470 +++++++++
.../plc4x/java/opm/PlcEntityManagerTest.java | 318 ++++++
.../plc4x/java/opm/SimpleAliasRegistryTest.java | 0
.../opm/src/test/resources/logback.xml | 0
plc4j/tools/pom.xml | 52 +
plc4j/{utils => tools}/scraper/README.md | 0
plc4j/tools/scraper/pom.xml | 133 +++
.../apache/plc4x/java/scraper/ResultHandler.java | 0
.../org/apache/plc4x/java/scraper/ScrapeJob.java | 0
.../apache/plc4x/java/scraper/ScrapeJobImpl.java | 0
.../org/apache/plc4x/java/scraper/Scraper.java | 0
.../org/apache/plc4x/java/scraper/ScraperImpl.java | 0
.../org/apache/plc4x/java/scraper/ScraperTask.java | 0
.../apache/plc4x/java/scraper/ScraperTaskImpl.java | 0
.../java/scraper/config/JobConfiguration.java | 0
.../config/JobConfigurationClassicImpl.java | 0
.../config/JobConfigurationClassicImplBuilder.java | 0
.../java/scraper/config/JobConfigurationImpl.java | 0
.../java/scraper/config/ScraperConfiguration.java | 0
.../config/ScraperConfigurationClassicImpl.java | 0
.../ScraperConfigurationClassicImplBuilder.java | 0
.../JobConfigurationTriggeredImpl.java | 0
.../JobConfigurationTriggeredImplBuilder.java | 0
.../ScraperConfigurationTriggeredImpl.java | 0
.../ScraperConfigurationTriggeredImplBuilder.java | 0
.../exception/ScraperConfigurationException.java | 0
.../java/scraper/exception/ScraperException.java | 0
.../triggeredscraper/TriggeredScrapeJobImpl.java | 0
.../triggeredscraper/TriggeredScraperImpl.java | 366 +++++++
.../triggeredscraper/TriggeredScraperMBean.java | 0
.../triggeredscraper/TriggeredScraperTask.java | 0
.../TriggeredScraperTaskMBean.java | 0
.../triggerhandler/TriggerConfiguration.java | 722 ++++++++++++++
.../triggerhandler/TriggerHandler.java | 0
.../triggerhandler/TriggerHandlerImpl.java | 0
.../triggerhandler/collector/TriggerCollector.java | 0
.../collector/TriggerCollectorImpl.java | 0
.../scraper/util/PercentageAboveThreshold.java | 0
.../apache/plc4x/java/s7/ManualS7PlcDriverMT.java | 0
.../java/scraper/ScraperConfigurationTest.java | 0
.../apache/plc4x/java/scraper/ScraperRunner.java | 0
.../apache/plc4x/java/scraper/ScraperTaskTest.java | 113 +++
.../org/apache/plc4x/java/scraper/ScraperTest.java | 175 ++++
.../plc4x/java/scraper/TriggeredScraperRunner.java | 0
.../java/scraper/TriggeredScraperRunnerModbus.java | 62 ++
.../config/ScraperConfigurationBuilderTest.java | 0
.../triggeredscraper/TriggeredScraperImplTest.java | 118 +++
.../triggerhandler/TriggerConfigurationTest.java | 150 +++
.../scraper/src/test/resources/config.json | 0
.../scraper/src/test/resources/config.yml | 0
.../scraper/src/test/resources/example.yml | 0
.../test/resources/example_triggered_scraper.yml | 0
.../resources/example_triggered_scraper_modbus.yml | 0
.../src/test/resources/example_with_strings.yml | 0
.../scraper/src/test/resources/logback-test.xml | 0
.../scraper/src/test/resources/logback.xml | 0
.../src/test/resources/mock-scraper-config.yml | 0
plc4j/transports/pcap-socket/pom.xml | 63 ++
.../java/transport/pcap/PcapChannelFactory.java | 68 ++
.../plc4x/java/transport/pcap/PcapTransport.java | 50 +
.../transport/pcap/PcapTransportConfiguration.java | 34 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/pom.xml | 45 +
plc4j/transports/raw-socket/pom.xml | 58 ++
.../rawsocket/RawSocketChannelFactory.java | 57 ++
.../transport/rawsocket/RawSocketTransport.java | 43 +
.../rawsocket/RawSocketTransportConfiguration.java | 27 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/serial/pom.xml | 83 ++
.../plc4x/java/transport/serial/SerialChannel.java | 636 ++++++++++++
.../transport/serial/SerialChannelFactory.java | 65 ++
.../transport/serial/SerialChannelHandler.java | 181 ++++
.../transport/serial/SerialPollingSelector.java | 176 ++++
.../java/transport/serial/SerialSelectionKey.java | 86 ++
.../transport/serial/SerialSelectorProvider.java | 68 ++
.../java/transport/serial/SerialSocketAddress.java | 50 +
.../java/transport/serial/SerialSocketChannel.java | 158 +++
.../java/transport/serial/SerialTransport.java | 42 +
.../serial/SerialTransportConfiguration.java | 25 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
.../base/connection/SerialChannelFactoryTest.java | 116 +++
plc4j/transports/tcp/pom.xml | 58 ++
.../java/transport/tcp/TcpChannelFactory.java | 62 ++
.../plc4x/java/transport/tcp/TcpTransport.java | 81 ++
.../transport/tcp/TcpTransportConfiguration.java | 49 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/test/pom.xml | 84 ++
.../java/transport/test/TestChannelFactory.java | 58 ++
.../java/transport/test/TestSocketAddress.java | 29 +
.../plc4x/java/transport/test/TestTransport.java | 42 +
.../transport/test/TestTransportConfiguration.java | 25 +
...spockframework.report.IReportCreator.properties | 0
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/udp/pom.xml | 66 ++
.../java/transport/udp/UdpChannelFactory.java | 65 ++
.../plc4x/java/transport/udp/UdpTransport.java | 81 ++
.../transport/udp/UdpTransportConfiguration.java | 31 +
.../udp/protocol/DatagramUnpackingHandler.java | 39 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/utils/connection-pool/pom.xml | 51 -
.../utils/connectionpool/PooledDummyDriver.java | 52 -
.../connectionpool/PooledPlcDriverManagerTest.java | 367 -------
plc4j/utils/driver-base-java/pom.xml | 42 -
.../apache/plc4x/java/utils/EvaluationHelper.java | 58 --
.../java/org/apache/plc4x/java/utils/Message.java | 26 -
.../org/apache/plc4x/java/utils/MessageIO.java | 23 -
.../org/apache/plc4x/java/utils/MessageInput.java | 25 -
.../org/apache/plc4x/java/utils/MessageOutput.java | 25 -
.../apache/plc4x/java/utils/ParseException.java | 32 -
.../org/apache/plc4x/java/utils/ReadBuffer.java | 254 -----
.../org/apache/plc4x/java/utils/WriteBuffer.java | 208 ----
plc4j/utils/interop/pom.xml | 216 ----
.../org/apache/plc4x/interop/impl/Handler.java | 160 ---
.../java/org/apache/plc4x/interop/impl/Server.java | 91 --
plc4j/utils/opm/pom.xml | 103 --
.../plc4x/java/opm/PlcEntityInterceptor.java | 569 -----------
.../apache/plc4x/java/opm/ConnectedEntityTest.java | 119 ---
.../plc4x/java/opm/PlcEntityInterceptorTest.java | 214 ----
.../java/opm/PlcEntityManagerComplexTest.java | 460 ---------
.../plc4x/java/opm/PlcEntityManagerTest.java | 318 ------
.../utils/pcapsockets/netty/PacketHandler.java | 27 -
.../utils/pcapsockets/netty/PcapSocketAddress.java | 21 +-
.../utils/pcapsockets/netty/PcapSocketChannel.java | 20 +-
.../pcapsockets/netty/PcapSocketChannelConfig.java | 47 +-
.../pcapsockets/netty/PcapSocketChannelOption.java | 21 +-
.../pcapsockets/netty/TcpIpPacketHandler.java | 41 -
.../pcapsockets/netty/UdpIpPacketHandler.java | 41 -
.../pcapsockets/netty/handlers/PacketHandler.java | 27 +
.../netty/handlers/TcpIpPacketHandler.java | 41 +
.../netty/handlers/UdpIpPacketHandler.java | 41 +
plc4j/utils/pom.xml | 20 +-
plc4j/utils/protocol-test-utils/pom.xml | 72 --
.../protocol/test/ProtocolTestsuiteRunner.java | 175 ----
.../exceptions/ProtocolTestsuiteException.java | 32 -
.../protocol/test/model/ProtocolTestsuite.java | 48 -
.../apache/plc4x/protocol/test/model/Testcase.java | 61 --
.../utils/rawsockets/netty/RawSocketAddress.java | 1 +
.../utils/rawsockets/netty/RawSocketChannel.java | 3 +-
plc4j/utils/scraper/pom.xml | 145 ---
.../triggeredscraper/TriggeredScraperImpl.java | 367 -------
.../triggerhandler/TriggerConfiguration.java | 722 --------------
.../apache/plc4x/java/scraper/ScraperTaskTest.java | 113 ---
.../org/apache/plc4x/java/scraper/ScraperTest.java | 175 ----
.../java/scraper/TriggeredScraperRunnerModbus.java | 69 --
.../triggeredscraper/TriggeredScraperImplTest.java | 118 ---
.../triggerhandler/TriggerConfigurationTest.java | 151 ---
plc4j/utils/test-utils/pom.xml | 37 +-
.../test/protocol/ProtocolTestsuiteRunner.java | 179 ++++
.../exceptions/ProtocolTestsuiteException.java | 32 +
.../test/protocol/model/ProtocolTestsuite.java | 48 +
.../apache/plc4x/test/protocol/model/Testcase.java | 60 ++
.../src/main/resources/schemas/testsuite.xsd | 0
pom.xml | 16 +-
.../main/resources/protocols/amsads/amsads.mspec | 4 +-
.../apache/plc4x/protocol/knxnetip/Ets5Types.java | 46 -
...e.plc4x.plugins.codegenerator.protocol.Protocol | 1 -
.../main/resources/protocols/knxnetip/ets5.mspec | 172 ----
.../resources/protocols/knxnetip/knxnetip.mspec | 154 +++
...e.plc4x.plugins.codegenerator.protocol.Protocol | 2 +-
.../s7/src/main/resources/protocols/s7/s7.mspec | 208 +++-
.../plc4x/codegen/ast/AssignementExpression.java | 6 +-
.../apache/plc4x/codegen/ast/BinaryExpression.java | 6 +-
.../java/org/apache/plc4x/codegen/ast/Block.java | 6 +-
.../apache/plc4x/codegen/ast/CallExpression.java | 6 +-
.../apache/plc4x/codegen/ast/ClassDeclaration.java | 6 +-
.../plc4x/codegen/ast/ConstantExpression.java | 6 +-
.../plc4x/codegen/ast/ConstructorDeclaration.java | 6 +-
.../plc4x/codegen/ast/DeclarationStatement.java | 6 +-
.../apache/plc4x/codegen/ast/FieldDeclaration.java | 6 +-
.../apache/plc4x/codegen/ast/FieldReference.java | 6 +-
.../org/apache/plc4x/codegen/ast/FileNode.java | 6 +-
.../org/apache/plc4x/codegen/ast/IfStatement.java | 6 +-
.../apache/plc4x/codegen/ast/JavaGenerator.java | 69 +-
.../org/apache/plc4x/codegen/ast/LineComment.java | 6 +-
.../java/org/apache/plc4x/codegen/ast/Method.java | 6 +-
.../apache/plc4x/codegen/ast/MethodDefinition.java | 6 +-
.../apache/plc4x/codegen/ast/NewExpression.java | 6 +-
.../plc4x/codegen/ast/ParameterExpression.java | 6 +-
.../org/apache/plc4x/codegen/ast/Primitive.java | 6 +-
.../apache/plc4x/codegen/ast/PythonGenerator.java | 69 +-
.../apache/plc4x/codegen/ast/ReturnStatement.java | 6 +-
.../apache/plc4x/codegen/ast/TypeDefinition.java | 6 +-
.../plc4x/codegen/python/AbstractNodeVisitor.java | 96 +-
.../org/apache/plc4x/codegen/python/AddNode.java | 3 +-
.../org/apache/plc4x/codegen/python/AliasNode.java | 3 +-
.../plc4x/codegen/python/AnnAssignerNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ArgNode.java | 3 +-
.../apache/plc4x/codegen/python/ArgumentsNode.java | 3 +-
.../apache/plc4x/codegen/python/AssignNode.java | 3 +-
.../apache/plc4x/codegen/python/AttributeNode.java | 3 +-
.../apache/plc4x/codegen/python/AugAssignNode.java | 3 +-
.../org/apache/plc4x/codegen/python/BinOpNode.java | 3 +-
.../org/apache/plc4x/codegen/python/CallNode.java | 3 +-
.../apache/plc4x/codegen/python/ClassDefNode.java | 3 +-
.../apache/plc4x/codegen/python/CompareNode.java | 3 +-
.../org/apache/plc4x/codegen/python/EqNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ExprNode.java | 3 +-
.../plc4x/codegen/python/FunctionDefNode.java | 3 +-
.../org/apache/plc4x/codegen/python/IfNode.java | 3 +-
.../plc4x/codegen/python/ImportFromNode.java | 3 +-
.../apache/plc4x/codegen/python/KeywordNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ListNode.java | 3 +-
.../org/apache/plc4x/codegen/python/LoadNode.java | 3 +-
.../apache/plc4x/codegen/python/ModuleNode.java | 3 +-
.../org/apache/plc4x/codegen/python/MultNode.java | 3 +-
.../plc4x/codegen/python/NameConstantNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NameNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NotEqNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NumNode.java | 3 +-
.../org/apache/plc4x/codegen/python/PassNode.java | 3 +-
.../apache/plc4x/codegen/python/ReturnNode.java | 3 +-
.../org/apache/plc4x/codegen/python/StoreNode.java | 3 +-
.../org/apache/plc4x/codegen/python/StrNode.java | 3 +-
.../org/apache/plc4x/codegen/python/TupleNode.java | 3 +-
.../org/apache/plc4x/codegen/python/WhileNode.java | 3 +-
.../org/apache/plc4x/codegen/ModuleNodeTest.java | 33 +-
sandbox/plc-simulator/pom.xml | 16 +-
.../apache/plc4x/java/s7/utils/StaticHelper.java | 137 +++
.../server/s7/protocol/S7Step7Protocol.java | 12 +-
.../server/s7/protocol/S7Step7ServerProtocol.java | 2 +-
sandbox/pom.xml | 9 +-
sandbox/test-java-amsads-driver/pom.xml | 28 +-
.../apache/plc4x/java/amsads/AMSADSPlcDriver.java | 84 +-
.../amsads/configuration/AdsConfiguration.java | 74 ++
.../connection/AdsAbstractPlcConnection.java | 21 +-
.../amsads/connection/AdsConnectionFactory.java | 1 +
.../amsads/connection/AdsSerialPlcConnection.java | 45 +-
.../amsads/connection/AdsTcpPlcConnection.java | 73 +-
.../apache/plc4x/java/amsads/field/AdsField.java | 27 +
.../plc4x/java/amsads/field/AdsFieldHandler.java | 1047 ++++++++++++++++++++
.../plc4x/java/amsads/field/DirectAdsField.java | 142 +++
.../plc4x/java/amsads/field/SymbolicAdsField.java | 106 ++
.../plc4x/java/amsads/model/AdsDataType.java | 577 -----------
.../apache/plc4x/java/amsads/model/AdsField.java | 26 -
.../java/amsads/model/AdsPlcFieldHandler.java | 1015 -------------------
.../java/amsads/model/AdsSubscriptionHandle.java | 5 +-
.../plc4x/java/amsads/model/DirectAdsField.java | 141 ---
.../plc4x/java/amsads/model/SymbolicAdsField.java | 105 --
.../plc4x/java/amsads/model/package-info.java | 22 -
.../java/amsads/protocol/Ads2PayloadProtocol.java | 7 +-
.../java/amsads/protocol/AdsProtocolLogic.java | 41 +
.../amsads/protocol/Payload2SerialProtocol.java | 15 +-
.../java/amsads/protocol/Payload2TcpProtocol.java | 7 +-
.../java/amsads/protocol/Plc4x2AdsProtocol.java | 35 +-
.../amsads/protocol/util/LittleEndianDecoder.java | 204 +++-
.../amsads/protocol/util/LittleEndianEncoder.java | 2 +-
.../protocol/util/SingleMessageRateLimiter.java | 2 +-
.../plc4x/java/amsads/types/AdsDataType.java | 577 +++++++++++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../protocol/amsads/BenchmarkGeneratedDf1.java | 4 -
.../org/apache/plc4x/protocol/amsads/Df1Test.java | 3 +-
.../org/apache/plc4x/protocol/amsads/IOTest.java | 6 -
sandbox/test-java-bacnetip-driver/pom.xml | 22 +-
.../plc4x/java/bacnetip/PassiveBacNetIpDriver.java | 89 +-
.../PassiveBacNetIpConfiguration.java | 61 ++
.../bacnetip/connection/BacNetIpFieldHandler.java | 36 -
.../connection/PassiveBacNetIpPlcConnection.java | 118 ---
.../plc4x/java/bacnetip/field/BacNetIpField.java | 47 +
.../java/bacnetip/field/BacNetIpFieldHandler.java | 35 +
.../plc4x/java/bacnetip/model/BacNetIpField.java | 47 -
.../java/bacnetip/protocol/BacNetIpProtocol.java | 62 --
.../java/bacnetip/protocol/HelloWorldProtocol.java | 72 --
.../protocol/PassiveBacNetIpProtocolLogic.java | 47 +
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../plc4x/java/bacnetip/ManualBacNetDecoder.java | 2 +-
.../java/bacnetip/PassiveBacNetIpDriverManual.java | 17 +-
sandbox/test-java-df1-driver/pom.xml | 25 +-
.../org/apache/plc4x/java/df1/DF1PlcDriver.java | 59 +-
.../java/org/apache/plc4x/java/df1/Df1Field.java | 62 --
.../java/df1/configuration/Df1Configuration.java | 33 +
.../java/df1/connection/BaseDf1Connection.java | 34 -
.../java/df1/connection/SerialDf1Connection.java | 148 ---
.../org/apache/plc4x/java/df1/field/Df1Field.java | 61 ++
.../plc4x/java/df1/field/Df1FieldHandler.java | 39 +
.../org/apache/plc4x/java/df1/fields/DataType.java | 44 -
.../plc4x/java/df1/protocol/Df1Protocol.java | 14 +-
.../plc4x/java/df1/protocol/Df1ProtocolLogic.java | 43 +
.../plc4x/java/df1/protocol/Plc4XDf1Protocol.java | 23 +-
.../org/apache/plc4x/java/df1/types/DataType.java | 44 +
.../org/apache/plc4x/java/df1/util/DF1Utils.java | 14 +-
.../plc4x/java/df1/util/Df1FieldHandler.java | 39 -
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/df1/DF1PlcDriverTest.java | 44 -
.../plc4x/protocol/df1/BenchmarkGeneratedDf1.java | 5 -
.../org/apache/plc4x/protocol/df1/Df1Test.java | 2 +-
.../java/org/apache/plc4x/protocol/df1/IOTest.java | 2 +-
.../src/test/resources/testsuite/Df1Testsuite.xml | 8 +-
sandbox/test-java-knxnetip-driver-passive/pom.xml | 15 +-
.../passive/knxnetip/PassiveKnxNetIpDriver.java | 2 +-
.../knxnetip/connection/KnxNetIpFieldHandler.java | 2 +-
.../connection/PassiveKnxNetIpPlcConnection.java | 16 +-
.../knxnetip/protocol/HelloWorldProtocol.java | 4 +-
.../knxnetip/protocol/KnxNetIpProtocol.java | 59 --
.../knxnetip/protocol/KnxNetIpProtocolMessage.java | 59 ++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/java/knxnetip/IOTest.java | 7 +-
sandbox/test-java-knxnetip-driver/pom.xml | 32 +-
.../apache/plc4x/java/knxnetip/KnxNetIpDriver.java | 93 +-
.../configuration/KnxNetIpConfiguration.java | 65 ++
.../knxnetip/connection/KnxNetIpConnection.java | 137 ---
.../knxnetip/connection/KnxNetIpFieldHandler.java | 36 -
.../java/knxnetip/events/KnxGatewayFoundEvent.java | 22 -
.../plc4x/java/knxnetip/field/KnxNetIpField.java | 86 ++
.../java/knxnetip/field/KnxNetIpFieldHandler.java | 35 +
.../plc4x/java/knxnetip/model/KnxNetIpField.java | 44 -
.../knxnetip/protocol/KnxNetIpPlc4xProtocol.java | 61 --
.../knxnetip/protocol/KnxNetIpProtocolLogic.java | 328 ++++--
.../knxnetip/protocol/KnxNetIpProtocolPackets.java | 59 --
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/java/knxnetip/IOTest.java | 8 +-
.../apache/plc4x/java/knxnetip/KNXNetIpTest.java | 2 +-
.../apache/plc4x/java/knxnetip/ManualKnxNetIp.java | 2 +-
.../java/knxnetip/ManualKnxNetIpWithEts5.java | 18 +-
.../src/test}/resources/logback.xml | 0
.../test/resources/testsuite/KNXNetIPTestsuite.xml | 2 +-
sandbox/test-java-knxnetip-shared/pom.xml | 41 +-
.../plc4x/java/knxnetip/ets5/Ets5Parser.java | 18 +-
.../plc4x/java/knxnetip/ets5/model/Ets5Model.java | 41 +-
.../java/knxnetip/ets5/model/GroupAddress.java | 9 +-
sandbox/test-java-s7-driver-passive/pom.xml | 5 +-
.../apache/plc4x/java/s7/utils/StaticHelper.java | 136 +++
.../plc4x/javapassive/s7/PassiveS7PlcDriver.java | 2 +-
.../s7/connection/PassiveS7PlcConnection.java | 16 +-
.../s7/protocol/HelloWorldProtocol.java | 4 +-
.../javapassive/s7/protocol/PassiveS7Protocol.java | 8 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../src/test/java/BenchmarkGeneratedPassiveS7.java | 4 +-
sandbox/test-java-s7-driver/pom.xml | 38 +-
.../apache/plc4x/java/s7/readwrite/S7Driver.java | 106 ++
.../readwrite/configuration/S7Configuration.java | 148 +++
.../plc4x/java/s7/readwrite/field/S7Field.java | 265 +++++
.../java/s7/readwrite/field/S7PlcFieldHandler.java | 584 +++++++++++
.../optimizer/DefaultS7MessageProcessor.java | 290 ++++++
.../s7/readwrite/optimizer/S7MessageProcessor.java | 40 +
.../s7/readwrite/protocol/S7ProtocolLogic.java | 693 +++++++++++++
.../java/s7/readwrite/types/S7ControllerType.java | 30 +
.../java/s7/readwrite/utils/S7TsapIdEncoder.java | 48 +
.../apache/plc4x/java/s7/utils/StaticHelper.java | 138 +++
.../services/org.apache.plc4x.java.api.PlcDriver | 19 +
.../src/main/resources/logback.xml | 0
.../src/test/java/BenchmarkGeneratedS7.java | 8 +-
.../java/s7/readwrite/ManualS7DriverTest.java | 33 +
sandbox/test-streampipes-plc4x-adapters/pom.xml | 16 +-
.../adapters/source/bacnetip/BacNetIpAdapter.java | 23 +-
.../adapters/source/knxnetip/KnxNetIpAdapter.java | 20 +-
sandbox/test-streampipes-plc4x-processors/pom.xml | 12 +-
.../enrich/knxnetip/ets5/Ets5DataEnrichment.java | 38 +-
.../ets5/Ets5DataEnrichmentController.java | 3 +-
src/main/script/prerequisiteCheck.groovy | 38 +
src/site/asciidoc/users/testing.adoc | 12 +-
tools/thrift/pom.xml | 12 +
920 files changed, 32477 insertions(+), 28469 deletions(-)
create mode 100644 build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
create mode 100644 build-utils/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultDataIoTypeDefinition.java
create mode 100644 build-utils/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultStringTypeReference.java
create mode 100644 build-utils/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultTemporalTypeReference.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/Experimental.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcConnectionExtension.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/exceptions/PlcProtocolTimeoutException.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBigDecimal.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBigInteger.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBoolean.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDate.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDateTime.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDouble.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcFloat.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcInteger.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcList.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcLong.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcSimpleValue.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcString.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcTime.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValue.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java
create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValues.java
delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/spi/PlcDriver.java
create mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/api/types/PlcValueTest.java
create mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/api/value/PlcValuesTest.java
create mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/mock/ApiMockDriver.java
delete mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/mock/MockDriver.java
create mode 100644 plc4j/api/src/test/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver
create mode 100644 plc4j/api/src/test/resources/test/META-INF/services/org.apache.plc4x.java.api.PlcDriver
delete mode 100644 plc4j/api/src/test/resources/test/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
create mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/configuration/AbEthConfiguration.java
delete mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/connection/AbEthFieldHandler.java
delete mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/connection/AbEthPlcConnection.java
create mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/field/AbEthField.java
create mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/field/AbEthFieldHandler.java
delete mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/model/AbEthField.java
delete mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/model/types/FileType.java
delete mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/protocol/AbEthProtocol.java
create mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/protocol/AbEthProtocolLogic.java
create mode 100644 plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/types/FileType.java
rename plc4j/drivers/ab-eth/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/drivers/ads/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/drivers/ethernet-ip/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 plc4j/drivers/mock/pom.xml
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/MockDriver.java
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/connection/MockConnection.java
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/connection/MockDevice.java
rename plc4j/{protocols/driver-bases/test => drivers/mock}/src/main/java/org/apache/plc4x/java/mock/connection/tcp/TcpHexDumper.java (100%)
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/field/MockField.java
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/field/MockFieldHandler.java
create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/field/MockPlcValue.java
rename plc4j/{protocols/driver-bases/test => drivers/mock}/src/main/java/org/apache/plc4x/java/mock/protocol/Plc4XSupportedDataTypes.java (100%)
rename plc4j/{protocols/driver-bases/test => drivers/mock}/src/main/java/org/apache/plc4x/java/mock/util/Assert.java (100%)
rename plc4j/{protocols/driver-bases/test => drivers/mock}/src/main/java/org/apache/plc4x/java/mock/util/HexUtil.java (100%)
rename plc4j/{api/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver => drivers/mock/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/drivers/modbus/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/drivers/opcua/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/drivers/s7/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedDriver.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedPlcDriver.java
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedConnection.java
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedDevice.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedPlcConnection.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestDevice.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestField.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestFieldHandler.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestFieldItem.java
delete mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestType.java
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/field/SimulatedField.java
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/field/SimulatedFieldHandler.java
create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/types/SimulatedFieldType.java
create mode 100644 plc4j/drivers/simulated/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver
delete mode 100644 plc4j/drivers/simulated/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
create mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/SimulatedDriverTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/SimulatedPlcDriverTest.java
create mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/SimulatedConnectionTest.java
create mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/SimulatedDeviceTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/SimulatedPlcConnectionTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestDeviceTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldHandlerTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldItemTest.java
delete mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldTest.java
create mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/field/SimularedFieldHandlerTest.java
create mode 100644 plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/field/SimulatedFieldTest.java
rename plc4j/examples/dummy-driver/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/integrations/apache-camel/src/test/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 plc4j/integrations/apache-edgent/src/test/java.sav/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java
create mode 100644 plc4j/integrations/apache-edgent/src/test/java.sav/org/apache/plc4x/edgent/PlcFunctionsTest.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockField.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockFieldHandler.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockFieldItem.java
delete mode 100644 plc4j/integrations/apache-edgent/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
delete mode 100644 plc4j/protocols/ads/src/test/groovy/org/apache/plc4x/java/ads/protocol/util/LittleEndianDecoderSpec.groovy
create mode 100644 plc4j/protocols/ads/src/test/groovy/org/apache/plc4x/java/ads/protocol/util/LittleEndianDecoderSpecHurz.groovy
delete mode 100644 plc4j/protocols/ads/src/test/groovy/org/apache/plc4x/java/ads/protocol/util/LittleEndianEncoderSpec.groovy
create mode 100644 plc4j/protocols/ads/src/test/groovy/org/apache/plc4x/java/ads/protocol/util/LittleEndianEncoderSpecHurz.groovy
delete mode 100644 plc4j/protocols/driver-bases/base/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/GeneratedDriverByteToMessageCodec.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/PlcByteToMessageCodec.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/PlcMessageToMessageCodec.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/connection/AbstractPlcConnection.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/connection/ChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/connection/DefaultPlcFieldHandler.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/connection/NettyPlcConnection.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/connection/PlcFieldHandler.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/events/ConnectEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/events/ConnectedEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/events/DisconnectEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/events/DisconnectedEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcProprietaryRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcProprietaryResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcReadRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcReadResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcUnsubscriptionRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcUnsubscriptionResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcWriteRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/DefaultPlcWriteResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcFieldRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcFieldResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcMessage.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcProprietaryRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcProprietaryResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcReadRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcReadResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcSubscriptionEvent.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcSubscriptionRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcSubscriptionResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcUnsubscriptionRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcUnsubscriptionResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcWriteRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcWriteResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcProprietaryRequest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcProprietaryResponse.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcProprietarySender.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcProtocolMessage.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcRawMessage.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcReader.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcRequestContainer.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcSubscriber.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/PlcWriter.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/BaseDefaultFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultBigDecimalFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultBigIntegerFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultBooleanFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteArrayFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultByteFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultDoubleFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultFloatFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultIntegerFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultLocalDateFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultLocalDateTimeFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultLocalTimeFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultLongFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultShortFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/items/DefaultStringFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/DefaultPlcConsumerRegistration.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/DefaultPlcSubscriptionHandle.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/InternalPlcConsumerRegistration.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/InternalPlcSubscriptionHandle.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/SubscriptionPlcField.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/protocol/SingleItemToSingleRequestProtocol.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/groovy/org/apache/plc4x/java/base/messages/DefaultPlcReadResponseSpec.groovy
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/groovy/org/apache/plc4x/java/base/messages/items/DefaultItemsSpec.groovy
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/connection/AbstractPlcConnectionTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/connection/NettyPlcConnectionTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcProprietaryRequestTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcProprietaryResponseTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcReadRequestTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcReadResponseTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionEventTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionRequestTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcSubscriptionResponseTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcUnsubscriptionRequestTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcUnsubscriptionResponseTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcWriteRequestTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/DefaultPlcWriteResponseTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/PlcRawMessageTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/PlcRequestContainerTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/messages/items/DefaultLongFieldItemTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/model/DefaultPlcConsumerRegistrationTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/model/DefaultPlcSubscriptionHandleTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/model/SubscriptionPlcFieldTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/protocol/SingleItemToSingleRequestProtocolTest.java
delete mode 100644 plc4j/protocols/driver-bases/base/src/test/resources/META-INF/services/com.athaydes.spockframework.report.IReportCreator.properties
delete mode 100644 plc4j/protocols/driver-bases/pcap-socket/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/raw-socket/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/raw-socket/src/main/java/org/apache/plc4x/java/base/connection/RawSocketChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/serial/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannel.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelHandler.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialPollingSelector.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectionKey.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectorProvider.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketAddress.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketChannel.java
delete mode 100644 plc4j/protocols/driver-bases/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java
delete mode 100644 plc4j/protocols/driver-bases/tcp/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/test/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockDevice.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockField.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockFieldHandler.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockFieldItem.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/PlcMockConnection.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/PlcMockDriver.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/connection/MockConnection.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/connection/TestChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/MockFieldHandlerTest.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/MockFieldItemTest.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/MockFieldTest.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/PlcMockConnectionTest.java
delete mode 100644 plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/PlcMockDriverTest.java
delete mode 100644 plc4j/protocols/driver-bases/udp/pom.xml
delete mode 100644 plc4j/protocols/driver-bases/udp/src/main/java/org/apache/plc4x/java/base/connection/UdpSocketChannelFactory.java
delete mode 100644 plc4j/protocols/driver-bases/udp/src/main/java/org/apache/plc4x/java/base/connection/protocol/DatagramUnpackingHandler.java
delete mode 100644 plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItem.java
create mode 100644 plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayPlcList.java
delete mode 100644 plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayFieldItemTest.java
create mode 100644 plc4j/protocols/modbus/src/test/java/org/apache/plc4x/java/modbus/messages/items/DefaultModbusByteArrayPlcValueTest.java
create mode 100644 plc4j/spi/pom.xml
rename plc4j/{utils/driver-base-java => spi}/src/main/java/com/github/jinahya/bit/io/MyDefaultBitInput.java (100%)
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/ConversationContext.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/GeneratedDriverByteToMessageCodec.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xProtocolBase.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/PlcMessageToMessageCodec.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/HasConfiguration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/ConfigurationParameter.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/Required.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/defaults/BooleanDefaultValue.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/defaults/DoubleDefaultValue.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/defaults/IntDefaultValue.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/annotations/defaults/StringDefaultValue.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelFactory.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultPlcFieldHandler.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/Parser.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/PlcFieldHandler.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ProtocolStackConfigurer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ReflectionBasedIo.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/Serializer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/CloseConnectionEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/ConnectEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/ConnectedEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/DisconnectEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/DisconnectedEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/exceptions/InternalPlcRuntimeException.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/EvaluationHelper.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/Message.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/MessageIO.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/MessageInput.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/MessageOutput.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ParseException.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBuffer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/StaticHelper.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBuffer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/DefaultSendRequestContext.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcProprietaryRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcProprietaryResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcSubscriptionEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcSubscriptionRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcSubscriptionResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcUnsubscriptionRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcUnsubscriptionResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcFieldRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcFieldResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcMessage.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcProprietaryRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcProprietaryResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcReadRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcReadResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionEvent.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcUnsubscriptionRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcUnsubscriptionResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcWriteRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcWriteResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcProprietaryRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcProprietaryResponse.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcProprietarySender.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcProtocolMessage.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcRawMessage.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcReader.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcRequestContainer.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcSubscriber.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcWriter.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcConsumerRegistration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionHandle.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/InternalPlcConsumerRegistration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/InternalPlcSubscriptionHandle.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/SubscriptionPlcField.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManager.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/protocol/SingleItemToSingleRequestProtocol.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/request/PlcRequest.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transport/Transport.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transport/TransportConfiguration.java
create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/types/FieldType.java
create mode 100644 plc4j/spi/src/test/java/org/apache/plc4x/java/spi/internal/DefaultSendRequestContextTest.java
create mode 100644 plc4j/spi/src/test/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManagerTest.java
create mode 100644 plc4j/spi/src/test/java/org/apache/plc4x/java/spi/parser/ConnectionParserTest.java
create mode 100644 plc4j/tools/connection-pool/pom.xml
rename plc4j/{utils => tools}/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PoolKey.java (100%)
rename plc4j/{utils => tools}/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PoolKeyFactory.java (100%)
rename plc4j/{utils => tools}/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcConnectionFactory.java (100%)
rename plc4j/{utils => tools}/connection-pool/src/main/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcDriverManager.java (100%)
rename plc4j/{utils => tools}/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PoolKeyFactoryTest.java (100%)
create mode 100644 plc4j/tools/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledDummyDriver.java
create mode 100644 plc4j/tools/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcDriverManagerTest.java
rename plc4j/{utils/connection-pool/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver => tools/connection-pool/src/test/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver} (100%)
rename plc4j/{utils => tools}/connection-pool/src/test/resources/logback.xml (100%)
create mode 100644 plc4j/tools/interop/pom.xml
rename plc4j/{utils => tools}/interop/src/assembly/assembly.xml (100%)
rename plc4j/{utils => tools}/interop/src/main/java/org/apache/plc4x/interop/impl/Client.java (100%)
create mode 100644 plc4j/tools/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
create mode 100644 plc4j/tools/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
create mode 100644 plc4j/tools/opm/pom.xml
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/AliasRegistry.java (100%)
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/OPMException.java (100%)
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/OpmUtils.java (100%)
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntity.java (100%)
create mode 100644 plc4j/tools/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityManager.java (100%)
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/PlcField.java (100%)
rename plc4j/{utils => tools}/opm/src/main/java/org/apache/plc4x/java/opm/SimpleAliasRegistry.java (100%)
rename plc4j/{utils => tools}/opm/src/site/asciidoc/opm/using-opm.adoc (100%)
rename plc4j/{utils => tools}/opm/src/site/site.xml (100%)
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
rename plc4j/{utils => tools}/opm/src/test/java/org/apache/plc4x/java/opm/OPMExceptionTest.java (100%)
rename plc4j/{utils => tools}/opm/src/test/java/org/apache/plc4x/java/opm/OpmUtilsTest.java (100%)
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java
create mode 100644 plc4j/tools/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java
rename plc4j/{utils => tools}/opm/src/test/java/org/apache/plc4x/java/opm/SimpleAliasRegistryTest.java (100%)
rename plc4j/{utils => tools}/opm/src/test/resources/logback.xml (100%)
create mode 100644 plc4j/tools/pom.xml
rename plc4j/{utils => tools}/scraper/README.md (100%)
create mode 100644 plc4j/tools/scraper/pom.xml
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ResultHandler.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ScrapeJob.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ScrapeJobImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/Scraper.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ScraperImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ScraperTask.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/ScraperTaskImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfiguration.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfigurationClassicImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfigurationClassicImplBuilder.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfigurationImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfiguration.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationClassicImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationClassicImplBuilder.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/triggeredscraper/JobConfigurationTriggeredImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/triggeredscraper/JobConfigurationTriggeredImplBuilder.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/triggeredscraper/ScraperConfigurationTriggeredImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/config/triggeredscraper/ScraperConfigurationTriggeredImplBuilder.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/exception/ScraperConfigurationException.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/exception/ScraperException.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScrapeJobImpl.java (100%)
create mode 100644 plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperMBean.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTaskMBean.java (100%)
create mode 100644 plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerHandler.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerHandlerImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollector.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java (100%)
rename plc4j/{utils => tools}/scraper/src/main/java/org/apache/plc4x/java/scraper/util/PercentageAboveThreshold.java (100%)
rename plc4j/{utils => tools}/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java (100%)
rename plc4j/{utils => tools}/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperConfigurationTest.java (100%)
rename plc4j/{utils => tools}/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperRunner.java (100%)
create mode 100644 plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
create mode 100644 plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
rename plc4j/{utils => tools}/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunner.java (100%)
create mode 100644 plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunnerModbus.java
rename plc4j/{utils => tools}/scraper/src/test/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationBuilderTest.java (100%)
create mode 100644 plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java
create mode 100644 plc4j/tools/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfigurationTest.java
rename plc4j/{utils => tools}/scraper/src/test/resources/config.json (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/config.yml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/example.yml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/example_triggered_scraper.yml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/example_triggered_scraper_modbus.yml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/example_with_strings.yml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/logback-test.xml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/logback.xml (100%)
rename plc4j/{utils => tools}/scraper/src/test/resources/mock-scraper-config.yml (100%)
create mode 100644 plc4j/transports/pcap-socket/pom.xml
create mode 100644 plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/transport/pcap/PcapChannelFactory.java
create mode 100644 plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/transport/pcap/PcapTransport.java
create mode 100644 plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/transport/pcap/PcapTransportConfiguration.java
create mode 100644 plc4j/transports/pcap-socket/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
create mode 100644 plc4j/transports/pom.xml
create mode 100644 plc4j/transports/raw-socket/pom.xml
create mode 100644 plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/transport/rawsocket/RawSocketChannelFactory.java
create mode 100644 plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/transport/rawsocket/RawSocketTransport.java
create mode 100644 plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/transport/rawsocket/RawSocketTransportConfiguration.java
create mode 100644 plc4j/transports/raw-socket/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
create mode 100644 plc4j/transports/serial/pom.xml
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannel.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannelFactory.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannelHandler.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialPollingSelector.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialSelectionKey.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialSelectorProvider.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialSocketAddress.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialSocketChannel.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialTransport.java
create mode 100644 plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialTransportConfiguration.java
create mode 100644 plc4j/transports/serial/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
create mode 100644 plc4j/transports/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java
create mode 100644 plc4j/transports/tcp/pom.xml
create mode 100644 plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/transport/tcp/TcpChannelFactory.java
create mode 100644 plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/transport/tcp/TcpTransport.java
create mode 100644 plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/transport/tcp/TcpTransportConfiguration.java
create mode 100644 plc4j/transports/tcp/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
create mode 100644 plc4j/transports/test/pom.xml
create mode 100644 plc4j/transports/test/src/main/java/org/apache/plc4x/java/transport/test/TestChannelFactory.java
create mode 100644 plc4j/transports/test/src/main/java/org/apache/plc4x/java/transport/test/TestSocketAddress.java
create mode 100644 plc4j/transports/test/src/main/java/org/apache/plc4x/java/transport/test/TestTransport.java
create mode 100644 plc4j/transports/test/src/main/java/org/apache/plc4x/java/transport/test/TestTransportConfiguration.java
rename plc4j/{protocols/driver-bases => transports}/test/src/main/resources/META-INF/services/com.athaydes.spockframework.report.IReportCreator.properties (100%)
rename plc4j/{protocols/driver-bases/test/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver => transports/test/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 plc4j/transports/test/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
create mode 100644 plc4j/transports/udp/pom.xml
create mode 100644 plc4j/transports/udp/src/main/java/org/apache/plc4x/java/transport/udp/UdpChannelFactory.java
create mode 100644 plc4j/transports/udp/src/main/java/org/apache/plc4x/java/transport/udp/UdpTransport.java
create mode 100644 plc4j/transports/udp/src/main/java/org/apache/plc4x/java/transport/udp/UdpTransportConfiguration.java
create mode 100644 plc4j/transports/udp/src/main/java/org/apache/plc4x/java/transport/udp/protocol/DatagramUnpackingHandler.java
create mode 100644 plc4j/transports/udp/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.transport.Transport
delete mode 100644 plc4j/utils/connection-pool/pom.xml
delete mode 100644 plc4j/utils/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledDummyDriver.java
delete mode 100644 plc4j/utils/connection-pool/src/test/java/org/apache/plc4x/java/utils/connectionpool/PooledPlcDriverManagerTest.java
delete mode 100644 plc4j/utils/driver-base-java/pom.xml
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/EvaluationHelper.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/Message.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/MessageIO.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/MessageInput.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/MessageOutput.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/ParseException.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/ReadBuffer.java
delete mode 100644 plc4j/utils/driver-base-java/src/main/java/org/apache/plc4x/java/utils/WriteBuffer.java
delete mode 100644 plc4j/utils/interop/pom.xml
delete mode 100644 plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
delete mode 100644 plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
delete mode 100644 plc4j/utils/opm/pom.xml
delete mode 100644 plc4j/utils/opm/src/main/java/org/apache/plc4x/java/opm/PlcEntityInterceptor.java
delete mode 100644 plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
delete mode 100644 plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityInterceptorTest.java
delete mode 100644 plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerComplexTest.java
delete mode 100644 plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/PlcEntityManagerTest.java
delete mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PacketHandler.java
delete mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/TcpIpPacketHandler.java
delete mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/UdpIpPacketHandler.java
create mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/PacketHandler.java
create mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/TcpIpPacketHandler.java
create mode 100644 plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/UdpIpPacketHandler.java
delete mode 100644 plc4j/utils/protocol-test-utils/pom.xml
delete mode 100644 plc4j/utils/protocol-test-utils/src/main/java/org/apache/plc4x/protocol/test/ProtocolTestsuiteRunner.java
delete mode 100644 plc4j/utils/protocol-test-utils/src/main/java/org/apache/plc4x/protocol/test/exceptions/ProtocolTestsuiteException.java
delete mode 100644 plc4j/utils/protocol-test-utils/src/main/java/org/apache/plc4x/protocol/test/model/ProtocolTestsuite.java
delete mode 100644 plc4j/utils/protocol-test-utils/src/main/java/org/apache/plc4x/protocol/test/model/Testcase.java
delete mode 100644 plc4j/utils/scraper/pom.xml
delete mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
delete mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
delete mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
delete mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
delete mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunnerModbus.java
delete mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImplTest.java
delete mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfigurationTest.java
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/protocol/ProtocolTestsuiteRunner.java
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/protocol/exceptions/ProtocolTestsuiteException.java
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/protocol/model/ProtocolTestsuite.java
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/protocol/model/Testcase.java
rename plc4j/utils/{protocol-test-utils => test-utils}/src/main/resources/schemas/testsuite.xsd (100%)
delete mode 100644 protocols/knxnetip/src/main/java/org/apache/plc4x/protocol/knxnetip/Ets5Types.java
delete mode 100644 protocols/knxnetip/src/main/resources/protocols/knxnetip/ets5.mspec
create mode 100644 sandbox/plc-simulator/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/configuration/AdsConfiguration.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/field/AdsField.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/field/AdsFieldHandler.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/field/DirectAdsField.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/field/SymbolicAdsField.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/AdsDataType.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/AdsField.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/AdsPlcFieldHandler.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/DirectAdsField.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/SymbolicAdsField.java
delete mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/model/package-info.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/protocol/AdsProtocolLogic.java
create mode 100644 sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/types/AdsDataType.java
rename sandbox/test-java-amsads-driver/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/configuration/PassiveBacNetIpConfiguration.java
delete mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/connection/BacNetIpFieldHandler.java
delete mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/connection/PassiveBacNetIpPlcConnection.java
create mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/field/BacNetIpField.java
create mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/field/BacNetIpFieldHandler.java
delete mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/model/BacNetIpField.java
delete mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/protocol/BacNetIpProtocol.java
delete mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/protocol/HelloWorldProtocol.java
create mode 100644 sandbox/test-java-bacnetip-driver/src/main/java/org/apache/plc4x/java/bacnetip/protocol/PassiveBacNetIpProtocolLogic.java
rename sandbox/test-java-bacnetip-driver/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
delete mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/Df1Field.java
create mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/configuration/Df1Configuration.java
delete mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/connection/BaseDf1Connection.java
delete mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/connection/SerialDf1Connection.java
create mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/field/Df1Field.java
create mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/field/Df1FieldHandler.java
delete mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/fields/DataType.java
create mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/protocol/Df1ProtocolLogic.java
create mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/types/DataType.java
delete mode 100644 sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/util/Df1FieldHandler.java
rename sandbox/test-java-df1-driver/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
delete mode 100644 sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/java/df1/DF1PlcDriverTest.java
delete mode 100644 sandbox/test-java-knxnetip-driver-passive/src/main/java/org/apache/plc4x/java/passive/knxnetip/protocol/KnxNetIpProtocol.java
create mode 100644 sandbox/test-java-knxnetip-driver-passive/src/main/java/org/apache/plc4x/java/passive/knxnetip/protocol/KnxNetIpProtocolMessage.java
rename sandbox/test-java-knxnetip-driver-passive/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/configuration/KnxNetIpConfiguration.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/connection/KnxNetIpConnection.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/connection/KnxNetIpFieldHandler.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/events/KnxGatewayFoundEvent.java
create mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/field/KnxNetIpField.java
create mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/field/KnxNetIpFieldHandler.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/model/KnxNetIpField.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpPlc4xProtocol.java
delete mode 100644 sandbox/test-java-knxnetip-driver/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpProtocolPackets.java
rename sandbox/test-java-knxnetip-driver/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
copy sandbox/{plc-simulator/src/main => test-java-knxnetip-driver/src/test}/resources/logback.xml (100%)
create mode 100644 sandbox/test-java-s7-driver-passive/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
rename sandbox/test-java-s7-driver-passive/src/main/resources/META-INF/services/{org.apache.plc4x.java.spi.PlcDriver => org.apache.plc4x.java.api.PlcDriver} (100%)
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/field/S7Field.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/field/S7PlcFieldHandler.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/DefaultS7MessageProcessor.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/S7MessageProcessor.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/types/S7ControllerType.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/utils/S7TsapIdEncoder.java
create mode 100644 sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
create mode 100644 sandbox/test-java-s7-driver/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver
copy {plc4j/utils/test-utils => sandbox/test-java-s7-driver}/src/main/resources/logback.xml (100%)
create mode 100644 sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/ManualS7DriverTest.java
[plc4x] 02/02: Updated the prerequisiteCheck to only do the
docker-check if the "with-docker" profile is enabled.
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 1e6df7563ad909d365d1402729699b61c70019bd
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Jan 16 09:34:05 2020 +0100
Updated the prerequisiteCheck to only do the docker-check if the "with-docker" profile is enabled.
---
src/main/script/prerequisiteCheck.groovy | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/main/script/prerequisiteCheck.groovy b/src/main/script/prerequisiteCheck.groovy
index 484013f..4bc7266 100644
--- a/src/main/script/prerequisiteCheck.groovy
+++ b/src/main/script/prerequisiteCheck.groovy
@@ -293,6 +293,7 @@ println "Detected Arch: " + arch
println "Enabled profiles:"
def boostEnabled = false
def cppEnabled = false
+def dockerEnabled = false;
def dotnetEnabled = false
def javaEnabled = true
def pythonEnabled = false
@@ -306,6 +307,9 @@ for (def activeProfile : activeProfiles) {
} else if(activeProfile == "with-cpp") {
cppEnabled = true
println "cpp"
+ } else if(activeProfile == "with-docker") {
+ dockerEnabled = true
+ println "docker"
} else if(activeProfile == "with-dotnet") {
dotnetEnabled = true
println "dotnet"
@@ -382,7 +386,7 @@ if(!boostEnabled && cppEnabled) {
checkBoost()
}
-if(sandboxEnabled) {
+if(sandboxEnabled && dockerEnabled) {
checkDocker()
}
[plc4x] 01/02: Merge branches 'develop' and 'next-gen-core-2' of
https://gitbox.apache.org/repos/asf/plc4x into develop
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit e96f5f9f3537bcd7a7d67a5e42f66a3b9be2a9d4
Merge: b0c5263 7e01b5d
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Jan 16 09:22:49 2020 +0100
Merge branches 'develop' and 'next-gen-core-2' of https://gitbox.apache.org/repos/asf/plc4x into develop
Conflicts:
plc4j/api/pom.xml
plc4j/drivers/ab-eth/pom.xml
plc4j/drivers/ads/pom.xml
plc4j/drivers/ethernet-ip/pom.xml
plc4j/drivers/modbus/pom.xml
plc4j/drivers/opcua/pom.xml
plc4j/drivers/s7/pom.xml
plc4j/drivers/simulated/pom.xml
plc4j/examples/dummy-driver/pom.xml
plc4j/examples/hello-world-plc4x/pom.xml
plc4j/integrations/apache-camel/pom.xml
plc4j/integrations/apache-edgent/pom.xml
plc4j/integrations/apache-nifi/nifi-plc4x-nar/pom.xml
plc4j/protocols/ads/pom.xml
plc4j/protocols/driver-bases/base/pom.xml
plc4j/protocols/ethernet-ip/pom.xml
plc4j/protocols/iso-on-tcp/pom.xml
plc4j/protocols/iso-tp/pom.xml
plc4j/protocols/modbus/pom.xml
plc4j/protocols/s7/pom.xml
plc4j/tools/connection-pool/pom.xml
plc4j/tools/interop/pom.xml
plc4j/tools/opm/pom.xml
plc4j/tools/scraper/pom.xml
plc4j/transports/pcap-socket/pom.xml
plc4j/transports/pom.xml
plc4j/transports/raw-socket/pom.xml
plc4j/transports/serial/pom.xml
plc4j/transports/tcp/pom.xml
plc4j/transports/test/pom.xml
plc4j/transports/udp/pom.xml
plc4j/utils/driver-base-java/pom.xml
plc4j/utils/protocol-test-utils/pom.xml
sandbox/plc-simulator/pom.xml
sandbox/test-java-amsads-driver/pom.xml
sandbox/test-java-bacnetip-driver/pom.xml
sandbox/test-java-df1-driver/pom.xml
sandbox/test-java-knxnetip-driver-passive/pom.xml
sandbox/test-java-knxnetip-driver/pom.xml
sandbox/test-java-knxnetip-shared/pom.xml
sandbox/test-java-s7-driver-passive/pom.xml
sandbox/test-java-s7-driver/pom.xml
sandbox/test-streampipes-plc4x-adapters/pom.xml
sandbox/test-streampipes-plc4x-processors/pom.xml
.../freemarker/FreemarkerLanguageOutput.java | 41 +-
.../plc4x/language/java/JavaLanguageOutput.java | 12 +-
.../language/java/JavaLanguageTemplateHelper.java | 139 ++-
.../resources/templates/java/data-io-template.ftlh | 278 ++++++
.../resources/templates/java/enum-template.ftlh | 115 +--
.../main/resources/templates/java/io-template.ftlh | 91 +-
.../resources/templates/java/pojo-template.ftlh | 16 +-
.../plugins/codegenerator/language/mspec/MSpec.g4 | 20 +-
.../definitions/DefaultDataIoTypeDefinition.java | 38 +
.../model/fields/DefaultManualArrayField.java | 14 +-
.../mspec/model/fields/DefaultManualField.java | 14 +-
.../references/DefaultStringTypeReference.java | 38 +
.../references/DefaultTemporalTypeReference.java | 30 +
.../mspec/parser/MessageFormatListener.java | 89 +-
.../src/test/resources/mspec.example | 4 +-
.../src/main/resources/protocols/test/test.mspec | 2 +-
jenkins.pom | 2 +-
plc4j/api/pom.xml | 40 +-
.../org/apache/plc4x/java/PlcDriverManager.java | 50 +-
.../org/apache/plc4x/java/api/Experimental.java | 26 +
.../org/apache/plc4x/java/api/PlcConnection.java | 35 +-
.../plc4x/java/api/PlcConnectionExtension.java | 82 ++
.../java/org/apache/plc4x/java/api/PlcDriver.java | 60 ++
.../java/api/authentication/PlcAuthentication.java | 34 +-
.../PlcUsernamePasswordAuthentication.java | 34 +-
.../api/exceptions/PlcConnectionException.java | 34 +-
.../plc4x/java/api/exceptions/PlcException.java | 34 +-
.../api/exceptions/PlcFieldRangeException.java | 32 +-
.../PlcIncompatibleDatatypeException.java | 39 +-
.../api/exceptions/PlcInvalidFieldException.java | 32 +-
.../plc4x/java/api/exceptions/PlcIoException.java | 34 +-
.../api/exceptions/PlcNotImplementedException.java | 32 +-
.../java/api/exceptions/PlcProtocolException.java | 34 +-
.../PlcProtocolPayloadTooBigException.java | 34 +-
.../exceptions/PlcProtocolTimeoutException.java | 39 +
.../java/api/exceptions/PlcRuntimeException.java | 34 +-
.../java/api/exceptions/PlcTimeoutException.java | 32 +-
.../PlcUnsupportedDataTypeException.java | 32 +-
.../PlcUnsupportedOperationException.java | 34 +-
.../PlcUnsupportedProtocolException.java | 32 +-
.../plc4x/java/api/messages/PlcFieldRequest.java | 34 +-
.../plc4x/java/api/messages/PlcFieldResponse.java | 34 +-
.../apache/plc4x/java/api/messages/PlcMessage.java | 34 +-
.../plc4x/java/api/messages/PlcReadRequest.java | 34 +-
.../plc4x/java/api/messages/PlcReadResponse.java | 50 +-
.../apache/plc4x/java/api/messages/PlcRequest.java | 34 +-
.../plc4x/java/api/messages/PlcRequestBuilder.java | 34 +-
.../plc4x/java/api/messages/PlcResponse.java | 34 +-
.../java/api/messages/PlcSubscriptionEvent.java | 34 +-
.../java/api/messages/PlcSubscriptionRequest.java | 34 +-
.../java/api/messages/PlcSubscriptionResponse.java | 34 +-
.../api/messages/PlcUnsubscriptionRequest.java | 34 +-
.../api/messages/PlcUnsubscriptionResponse.java | 34 +-
.../plc4x/java/api/messages/PlcWriteRequest.java | 38 +-
.../plc4x/java/api/messages/PlcWriteResponse.java | 34 +-
.../java/api/metadata/PlcConnectionMetadata.java | 34 +-
.../java/api/model/PlcConsumerRegistration.java | 32 +-
.../org/apache/plc4x/java/api/model/PlcField.java | 34 +-
.../java/api/model/PlcSubscriptionHandle.java | 34 +-
.../plc4x/java/api/types/PlcClientDatatype.java | 34 +-
.../plc4x/java/api/types/PlcResponseCode.java | 34 +-
.../plc4x/java/api/types/PlcSubscriptionType.java | 34 +-
.../apache/plc4x/java/api/value/PlcBigDecimal.java | 136 +++
.../apache/plc4x/java/api/value/PlcBigInteger.java | 136 +++
.../apache/plc4x/java/api/value/PlcBoolean.java | 130 +++
.../org/apache/plc4x/java/api/value/PlcDate.java | 55 +
.../apache/plc4x/java/api/value/PlcDateTime.java | 77 ++
.../org/apache/plc4x/java/api/value/PlcDouble.java | 140 +++
.../org/apache/plc4x/java/api/value/PlcFloat.java | 140 +++
.../apache/plc4x/java/api/value/PlcInteger.java | 156 +++
.../org/apache/plc4x/java/api/value/PlcList.java | 72 ++
.../org/apache/plc4x/java/api/value/PlcLong.java | 140 +++
.../plc4x/java/api/value/PlcSimpleValue.java | 57 ++
.../org/apache/plc4x/java/api/value/PlcString.java | 68 ++
.../org/apache/plc4x/java/api/value/PlcStruct.java | 70 ++
.../org/apache/plc4x/java/api/value/PlcTime.java | 55 +
.../org/apache/plc4x/java/api/value/PlcValue.java | 142 +++
.../plc4x/java/api/value/PlcValueAdapter.java | 248 +++++
.../org/apache/plc4x/java/api/value/PlcValues.java | 379 +++++++
.../java/org/apache/plc4x/java/spi/PlcDriver.java | 61 --
.../apache/plc4x/java/PlcDriverManagerTest.java | 47 +-
.../PlcUsernamePasswordAuthenticationTest.java | 39 +-
.../plc4x/java/api/connection/PlcReaderTest.java | 32 +-
.../plc4x/java/api/connection/PlcWriterTest.java | 32 +-
.../api/exceptions/PlcConnectionExceptionTest.java | 32 +-
.../java/api/exceptions/PlcExceptionTest.java | 32 +-
.../api/exceptions/PlcFieldRangeExceptionTest.java | 32 +-
.../PlcIncompatibleDatatypeExceptionTest.java | 32 +-
.../exceptions/PlcInvalidFieldExceptionTest.java | 32 +-
.../java/api/exceptions/PlcIoExceptionTest.java | 32 +-
.../exceptions/PlcNotImplementedExceptionTest.java | 32 +-
.../api/exceptions/PlcProtocolExceptionTest.java | 32 +-
.../PlcProtocolPayloadTooBigExceptionTest.java | 32 +-
.../api/exceptions/PlcRuntimeExceptionTest.java | 32 +-
.../api/exceptions/PlcTimeoutExceptionTest.java | 32 +-
.../PlcUnsupportedDataTypeExceptionTest.java | 32 +-
.../PlcUnsupportedOperationExceptionTest.java | 32 +-
.../plc4x/java/api/messages/APIMessageTests.java | 34 +-
.../api/messages/PlcProprietaryRequestTest.java | 32 +-
.../api/messages/PlcProprietaryResponseTest.java | 32 +-
.../java/api/messages/PlcReadRequestTest.java | 32 +-
.../java/api/messages/PlcReadResponseTest.java | 32 +-
.../plc4x/java/api/messages/PlcRequestTest.java | 32 +-
.../plc4x/java/api/messages/PlcResponseTest.java | 32 +-
.../api/messages/PlcSubscriptionEventTest.java | 32 +-
.../api/messages/PlcSubscriptionRequestTest.java | 32 +-
.../api/messages/PlcSubscriptionResponseTest.java | 32 +-
.../api/messages/PlcUnsubscriptionRequestTest.java | 32 +-
.../messages/PlcUnsubscriptionResponseTest.java | 32 +-
.../java/api/messages/PlcWriteRequestTest.java | 32 +-
.../java/api/messages/PlcWriteResponseTest.java | 32 +-
.../plc4x/java/api/messages/mock/MockField.java | 34 +-
.../specific/TypeSafePlcReadRequestTest.java | 32 +-
.../specific/TypeSafePlcReadResponseTest.java | 32 +-
.../specific/TypeSafePlcWriteRequestTest.java | 32 +-
.../specific/TypeSafePlcWriteResponseTest.java | 32 +-
.../java/api/types/PlcClientDatatypeTest.java | 32 +-
.../plc4x/java/api/types/PlcResponseCodeTest.java | 32 +-
.../java/api/types/PlcSubscriptionTypeTest.java | 32 +-
.../apache/plc4x/java/api/types/PlcValueTest.java | 53 +
.../apache/plc4x/java/api/value/PlcValuesTest.java | 52 +
.../org/apache/plc4x/java/mock/ApiMockDriver.java | 55 +
.../plc4x/java/mock/DuplicateMockDriver.java | 34 +-
.../org/apache/plc4x/java/mock/MockDriver.java | 55 -
.../apache/plc4x/java/mock/MockPlcConnection.java | 32 +-
.../services/org.apache.plc4x.java.api.PlcDriver | 38 +
.../services/org.apache.plc4x.java.api.PlcDriver | 38 +
.../services/org.apache.plc4x.java.spi.PlcDriver | 19 -
plc4j/drivers/ab-eth/pom.xml | 24 +-
.../org/apache/plc4x/java/abeth/AbEthDriver.java | 60 +-
.../abeth/configuration/AbEthConfiguration.java | 44 +
.../java/abeth/connection/AbEthFieldHandler.java | 36 -
.../java/abeth/connection/AbEthPlcConnection.java | 159 ---
.../apache/plc4x/java/abeth/field/AbEthField.java | 105 ++
.../plc4x/java/abeth/field/AbEthFieldHandler.java | 35 +
.../apache/plc4x/java/abeth/model/AbEthField.java | 105 --
.../plc4x/java/abeth/model/types/FileType.java | 65 --
.../plc4x/java/abeth/protocol/AbEthProtocol.java | 61 --
.../java/abeth/protocol/AbEthProtocolLogic.java | 221 +++++
.../java/abeth/protocol/Plc4xAbEthProtocol.java | 51 +-
.../apache/plc4x/java/abeth/types/FileType.java | 65 ++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/protocol/abeth/AbEthTest.java | 2 +-
.../test/resources/testsuite/AbEthTestsuite.xml | 2 +-
plc4j/drivers/ads/pom.xml | 15 +-
.../org/apache/plc4x/java/ads/AdsPlcDriver.java | 2 +-
.../ads/connection/AdsAbstractPlcConnection.java | 39 +-
.../ads/connection/AdsSerialPlcConnection.java | 4 +-
.../java/ads/connection/AdsTcpPlcConnection.java | 23 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/ads/adslib/AmsRequest.java | 4 +-
.../apache/plc4x/java/ads/adslib/AmsRouter.java | 4 +-
.../connection/AdsAbstractPlcConnectionTest.java | 16 +-
.../ads/connection/AdsConnectionFactoryTest.java | 6 +-
.../ads/connection/AdsSerialPlcConnectionTest.java | 6 +-
.../ads/connection/AdsTcpPlcConnectionTests.java | 6 +-
plc4j/drivers/ethernet-ip/pom.xml | 9 +-
.../plc4x/java/ethernetip/EtherNetIpPlcDriver.java | 2 +-
.../connection/BaseEtherNetIpPlcConnection.java | 6 +-
.../connection/EtherNetIpTcpPlcConnection.java | 9 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/drivers/mock/pom.xml | 74 ++
.../org/apache/plc4x/java/mock/MockDriver.java | 63 ++
.../plc4x/java/mock/connection/MockConnection.java | 207 ++++
.../plc4x/java/mock/connection/MockDevice.java | 51 +
.../java/mock/connection/tcp/TcpHexDumper.java | 0
.../apache/plc4x/java/mock/field/MockField.java | 62 ++
.../plc4x/java/mock/field/MockFieldHandler.java | 98 ++
.../apache/plc4x/java/mock/field/MockPlcValue.java | 36 +
.../mock/protocol/Plc4XSupportedDataTypes.java | 0
.../org/apache/plc4x/java/mock/util/Assert.java | 0
.../org/apache/plc4x/java/mock/util/HexUtil.java | 0
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/drivers/modbus/pom.xml | 17 +-
.../apache/plc4x/java/modbus/ModbusPlcDriver.java | 2 +-
.../modbus/connection/BaseModbusPlcConnection.java | 14 +-
.../connection/ModbusSerialPlcConnection.java | 2 +-
.../modbus/connection/ModbusTcpPlcConnection.java | 7 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../connection/BaseModbusPlcConnectionTest.java | 6 +-
.../connection/ModbusConnectionFactoryTest.java | 6 +-
.../connection/ModbusSerialPlcConnectionTest.java | 6 +-
plc4j/drivers/opcua/pom.xml | 6 +-
.../apache/plc4x/java/opcua/OpcuaPlcDriver.java | 2 +-
.../opcua/connection/BaseOpcuaPlcConnection.java | 4 +-
.../opcua/connection/OpcuaTcpPlcConnection.java | 52 +-
.../java/opcua/protocol/OpcuaPlcFieldHandler.java | 94 +-
.../opcua/protocol/OpcuaSubsriptionHandle.java | 12 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/opcua/ManualPLC4XOpcua.java | 4 +-
plc4j/drivers/pom.xml | 9 +-
plc4j/drivers/s7/pom.xml | 19 +-
.../java/org/apache/plc4x/java/s7/S7PlcDriver.java | 2 +-
.../plc4x/java/s7/connection/S7PlcConnection.java | 33 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../java/org/apache/plc4x/java/s7/BenchmarkS7.java | 5 +-
.../java/s7/connection/S7PlcTestConnection.java | 2 +-
plc4j/drivers/simulated/pom.xml | 12 +-
.../plc4x/java/simulated/SimulatedDriver.java | 65 ++
.../plc4x/java/simulated/SimulatedPlcDriver.java | 65 --
.../simulated/connection/SimulatedConnection.java | 254 +++++
.../java/simulated/connection/SimulatedDevice.java | 194 ++++
.../connection/SimulatedPlcConnection.java | 219 ----
.../java/simulated/connection/TestDevice.java | 199 ----
.../plc4x/java/simulated/connection/TestField.java | 128 ---
.../simulated/connection/TestFieldHandler.java | 174 ----
.../java/simulated/connection/TestFieldItem.java | 35 -
.../plc4x/java/simulated/connection/TestType.java | 28 -
.../plc4x/java/simulated/field/SimulatedField.java | 129 +++
.../simulated/field/SimulatedFieldHandler.java | 214 ++++
.../java/simulated/types/SimulatedFieldType.java | 28 +
.../services/org.apache.plc4x.java.api.PlcDriver | 19 +
.../services/org.apache.plc4x.java.spi.PlcDriver | 38 -
.../plc4x/java/simulated/SimulatedDriverTest.java | 58 ++
.../java/simulated/SimulatedPlcDriverTest.java | 57 --
.../connection/SimulatedConnectionTest.java | 245 +++++
.../simulated/connection/SimulatedDeviceTest.java | 57 ++
.../connection/SimulatedPlcConnectionTest.java | 245 -----
.../java/simulated/connection/TestDeviceTest.java | 56 --
.../simulated/connection/TestFieldHandlerTest.java | 133 ---
.../simulated/connection/TestFieldItemTest.java | 31 -
.../java/simulated/connection/TestFieldTest.java | 61 --
.../simulated/field/SimularedFieldHandlerTest.java | 128 +++
.../java/simulated/field/SimulatedFieldTest.java | 62 ++
plc4j/examples/dummy-driver/pom.xml | 5 +-
.../java/examples/dummydriver/DummyDriver.java | 2 +-
.../dummydriver/connection/DummyConnection.java | 14 +-
.../examples/dummydriver/netty/DummyProtocol.java | 2 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/examples/hello-cloud-azure/pom.xml | 8 +-
plc4j/examples/hello-cloud-google/pom.xml | 8 +-
plc4j/examples/hello-connectivity-kafka/pom.xml | 8 +-
plc4j/examples/hello-connectivity-mqtt/pom.xml | 8 +-
plc4j/examples/hello-integration-edgent/pom.xml | 8 +-
plc4j/examples/hello-integration-iotdb/pom.xml | 8 +-
.../java/examples/integration/iotdb/PlcLogger.java | 2 +-
plc4j/examples/hello-opm/pom.xml | 8 +-
plc4j/examples/hello-storage-elasticsearch/pom.xml | 8 +-
plc4j/examples/hello-webapp/service/pom.xml | 8 +-
plc4j/examples/hello-world-plc4x/pom.xml | 15 +-
.../plc4x/java/examples/helloplc4x/HelloPlc4x.java | 13 +-
.../src/main/resources/logback.xml | 2 +-
plc4j/examples/pom.xml | 2 +-
plc4j/integrations/apache-calcite/pom.xml | 1 -
.../java/org/apache/plc4x/DriverManagerTest.java | 1 -
.../java/org/apache/plc4x/Plc4XBaseTableTest.java | 2 +-
.../apache-calcite/src/test/resources/example.yml | 4 +-
plc4j/integrations/apache-camel/pom.xml | 6 +-
.../java/org/apache/plc4x/camel/MockDriver.java | 15 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
plc4j/integrations/apache-edgent/pom.xml | 19 +-
.../apache/plc4x/edgent/PlcConnectionAdapter.java | 4 +-
.../plc4x/edgent/PlcConnectionAdapterTest.java | 551 ++++++++++
.../org/apache/plc4x/edgent/PlcFunctionsTest.java | 144 +++
.../plc4x/edgent/PlcConnectionAdapterTest.java | 552 -----------
.../org/apache/plc4x/edgent/PlcFunctionsTest.java | 144 ---
.../apache/plc4x/edgent/mock/MockConnection.java | 155 ---
.../org/apache/plc4x/edgent/mock/MockDriver.java | 48 -
.../org/apache/plc4x/edgent/mock/MockField.java | 62 --
.../apache/plc4x/edgent/mock/MockFieldHandler.java | 104 --
.../apache/plc4x/edgent/mock/MockFieldItem.java | 34 -
.../services/org.apache.plc4x.java.spi.PlcDriver | 19 -
plc4j/integrations/apache-kafka/README.md | 2 +-
plc4j/integrations/apache-kafka/pom.xml | 8 +-
.../apache-nifi/nifi-plc4x-nar/pom.xml | 8 +-
plc4j/integrations/logstash-plugin/pom.xml | 8 +-
plc4j/karaf-features/pom.xml | 4 +-
.../karaf-features/s7/src/main/feature/feature.xml | 5 +-
plc4j/pom.xml | 9 +-
plc4j/protocols/ads/pom.xml | 9 +-
.../plc4x/java/ads/api/serial/AmsSerialFrame.java | 2 +-
.../plc4x/java/ads/model/AdsPlcFieldHandler.java | 168 ++--
.../java/ads/model/AdsSubscriptionHandle.java | 4 +-
.../plc4x/java/ads/protocol/Plc4x2AdsProtocol.java | 29 +-
.../ads/protocol/util/LittleEndianDecoder.java | 206 +++-
.../protocol/util/SingleMessageRateLimiter.java | 2 +-
.../protocol/util/LittleEndianDecoderSpec.groovy | 99 --
.../util/LittleEndianDecoderSpecHurz.groovy | 99 ++
.../protocol/util/LittleEndianEncoderSpec.groovy | 53 -
.../util/LittleEndianEncoderSpecHurz.groovy | 53 +
.../java/ads/model/AdsPlcFieldHandlerTest.java | 5 +-
...load2SerialProtocolExampleConversationTest.java | 8 +-
.../java/ads/protocol/Plc4x2AdsProtocolTest.java | 4 +-
.../java/ads/protocol/util/DigestUtilTest.java | 5 +-
plc4j/protocols/driver-bases/base/pom.xml | 101 --
.../base/GeneratedDriverByteToMessageCodec.java | 79 --
.../plc4x/java/base/PlcByteToMessageCodec.java | 59 --
.../plc4x/java/base/PlcMessageToMessageCodec.java | 60 --
.../base/connection/AbstractPlcConnection.java | 105 --
.../plc4x/java/base/connection/ChannelFactory.java | 33 -
.../base/connection/DefaultPlcFieldHandler.java | 101 --
.../java/base/connection/NettyPlcConnection.java | 132 ---
.../java/base/connection/PlcFieldHandler.java | 60 --
.../plc4x/java/base/events/ConnectEvent.java | 22 -
.../plc4x/java/base/events/ConnectedEvent.java | 22 -
.../plc4x/java/base/events/DisconnectEvent.java | 39 -
.../plc4x/java/base/events/DisconnectedEvent.java | 22 -
.../messages/DefaultPlcProprietaryRequest.java | 43 -
.../messages/DefaultPlcProprietaryResponse.java | 42 -
.../java/base/messages/DefaultPlcReadRequest.java | 113 ---
.../java/base/messages/DefaultPlcReadResponse.java | 583 -----------
.../base/messages/DefaultPlcSubscriptionEvent.java | 55 -
.../messages/DefaultPlcSubscriptionRequest.java | 168 ----
.../messages/DefaultPlcSubscriptionResponse.java | 90 --
.../messages/DefaultPlcUnsubscriptionRequest.java | 90 --
.../messages/DefaultPlcUnsubscriptionResponse.java | 36 -
.../java/base/messages/DefaultPlcWriteRequest.java | 275 -----
.../base/messages/DefaultPlcWriteResponse.java | 62 --
.../base/messages/InternalPlcFieldRequest.java | 31 -
.../base/messages/InternalPlcFieldResponse.java | 26 -
.../java/base/messages/InternalPlcMessage.java | 23 -
.../messages/InternalPlcProprietaryRequest.java | 22 -
.../messages/InternalPlcProprietaryResponse.java | 22 -
.../java/base/messages/InternalPlcReadRequest.java | 26 -
.../base/messages/InternalPlcReadResponse.java | 31 -
.../java/base/messages/InternalPlcRequest.java | 24 -
.../java/base/messages/InternalPlcResponse.java | 25 -
.../messages/InternalPlcSubscriptionEvent.java | 25 -
.../messages/InternalPlcSubscriptionRequest.java | 36 -
.../messages/InternalPlcSubscriptionResponse.java | 30 -
.../messages/InternalPlcUnsubscriptionRequest.java | 29 -
.../InternalPlcUnsubscriptionResponse.java | 25 -
.../base/messages/InternalPlcWriteRequest.java | 36 -
.../base/messages/InternalPlcWriteResponse.java | 28 -
.../java/base/messages/PlcProprietaryRequest.java | 25 -
.../java/base/messages/PlcProprietaryResponse.java | 25 -
.../java/base/messages/PlcProprietarySender.java | 25 -
.../java/base/messages/PlcProtocolMessage.java | 25 -
.../plc4x/java/base/messages/PlcRawMessage.java | 46 -
.../apache/plc4x/java/base/messages/PlcReader.java | 40 -
.../java/base/messages/PlcRequestContainer.java | 85 --
.../plc4x/java/base/messages/PlcSubscriber.java | 63 --
.../apache/plc4x/java/base/messages/PlcWriter.java | 40 -
.../base/messages/items/BaseDefaultFieldItem.java | 193 ----
.../messages/items/DefaultBigDecimalFieldItem.java | 171 ----
.../messages/items/DefaultBigIntegerFieldItem.java | 171 ----
.../messages/items/DefaultBooleanFieldItem.java | 184 ----
.../messages/items/DefaultByteArrayFieldItem.java | 58 --
.../base/messages/items/DefaultByteFieldItem.java | 151 ---
.../messages/items/DefaultDoubleFieldItem.java | 158 ---
.../base/messages/items/DefaultFloatFieldItem.java | 156 ---
.../messages/items/DefaultIntegerFieldItem.java | 153 ---
.../messages/items/DefaultLocalDateFieldItem.java | 50 -
.../items/DefaultLocalDateTimeFieldItem.java | 78 --
.../messages/items/DefaultLocalTimeFieldItem.java | 50 -
.../base/messages/items/DefaultLongFieldItem.java | 154 ---
.../base/messages/items/DefaultShortFieldItem.java | 151 ---
.../messages/items/DefaultStringFieldItem.java | 48 -
.../base/model/DefaultPlcConsumerRegistration.java | 85 --
.../base/model/DefaultPlcSubscriptionHandle.java | 62 --
.../model/InternalPlcConsumerRegistration.java | 32 -
.../base/model/InternalPlcSubscriptionHandle.java | 25 -
.../java/base/model/SubscriptionPlcField.java | 55 -
.../SingleItemToSingleRequestProtocol.java | 647 ------------
.../messages/DefaultPlcReadResponseSpec.groovy | 86 --
.../base/messages/items/DefaultItemsSpec.groovy | 217 ----
.../base/connection/AbstractPlcConnectionTest.java | 101 --
.../base/connection/NettyPlcConnectionTest.java | 92 --
.../messages/DefaultPlcProprietaryRequestTest.java | 48 -
.../DefaultPlcProprietaryResponseTest.java | 50 -
.../base/messages/DefaultPlcReadRequestTest.java | 116 ---
.../base/messages/DefaultPlcReadResponseTest.java | 120 ---
.../messages/DefaultPlcSubscriptionEventTest.java | 68 --
.../DefaultPlcSubscriptionRequestTest.java | 157 ---
.../DefaultPlcSubscriptionResponseTest.java | 124 ---
.../DefaultPlcUnsubscriptionRequestTest.java | 91 --
.../DefaultPlcUnsubscriptionResponseTest.java | 48 -
.../base/messages/DefaultPlcWriteRequestTest.java | 70 --
.../base/messages/DefaultPlcWriteResponseTest.java | 91 --
.../java/base/messages/PlcRawMessageTest.java | 57 --
.../base/messages/PlcRequestContainerTest.java | 82 --
.../messages/items/DefaultLongFieldItemTest.java | 114 ---
.../model/DefaultPlcConsumerRegistrationTest.java | 88 --
.../model/DefaultPlcSubscriptionHandleTest.java | 73 --
.../java/base/model/SubscriptionPlcFieldTest.java | 68 --
.../SingleItemToSingleRequestProtocolTest.java | 729 --------------
...spockframework.report.IReportCreator.properties | 66 --
plc4j/protocols/driver-bases/pcap-socket/pom.xml | 67 --
.../java/base/connection/PcapChannelFactory.java | 101 --
plc4j/protocols/driver-bases/pom.xml | 46 -
plc4j/protocols/driver-bases/raw-socket/pom.xml | 67 --
.../base/connection/RawSocketChannelFactory.java | 110 --
plc4j/protocols/driver-bases/serial/pom.xml | 81 --
.../connection/connection/SerialChannel.java | 635 ------------
.../connection/SerialChannelFactory.java | 83 --
.../connection/SerialChannelHandler.java | 172 ----
.../connection/SerialPollingSelector.java | 176 ----
.../connection/connection/SerialSelectionKey.java | 80 --
.../connection/SerialSelectorProvider.java | 68 --
.../connection/connection/SerialSocketAddress.java | 47 -
.../connection/connection/SerialSocketChannel.java | 158 ---
.../base/connection/SerialChannelFactoryTest.java | 111 ---
plc4j/protocols/driver-bases/tcp/pom.xml | 62 --
.../tcp/connection/TcpSocketChannelFactory.java | 112 ---
plc4j/protocols/driver-bases/test/pom.xml | 97 --
.../org/apache/plc4x/java/mock/MockDevice.java | 50 -
.../java/org/apache/plc4x/java/mock/MockField.java | 49 -
.../apache/plc4x/java/mock/MockFieldHandler.java | 103 --
.../org/apache/plc4x/java/mock/MockFieldItem.java | 34 -
.../apache/plc4x/java/mock/PlcMockConnection.java | 193 ----
.../org/apache/plc4x/java/mock/PlcMockDriver.java | 62 --
.../plc4x/java/mock/connection/MockConnection.java | 41 -
.../java/mock/connection/TestChannelFactory.java | 45 -
.../plc4x/java/mock/MockFieldHandlerTest.java | 111 ---
.../apache/plc4x/java/mock/MockFieldItemTest.java | 31 -
.../org/apache/plc4x/java/mock/MockFieldTest.java | 48 -
.../plc4x/java/mock/PlcMockConnectionTest.java | 164 ---
.../apache/plc4x/java/mock/PlcMockDriverTest.java | 96 --
plc4j/protocols/driver-bases/udp/pom.xml | 70 --
.../base/connection/UdpSocketChannelFactory.java | 110 --
.../protocol/DatagramUnpackingHandler.java | 39 -
plc4j/protocols/ethernet-ip/pom.xml | 2 +-
.../ethernetip/netty/Plc4XEtherNetIpProtocol.java | 16 +-
.../ethernetip/netty/util/EnipPlcFieldHandler.java | 28 +-
plc4j/protocols/iso-on-tcp/pom.xml | 6 +-
.../java/isoontcp/protocol/IsoOnTcpProtocol.java | 4 +-
.../isoontcp/protocol/model/IsoOnTcpMessage.java | 2 +-
plc4j/protocols/iso-tp/pom.xml | 3 +-
.../plc4x/java/isotp/protocol/IsoTPProtocol.java | 4 +-
.../java/isotp/protocol/model/IsoTPMessage.java | 2 +-
.../java/isotp/protocol/model/tpdus/DataTpdu.java | 2 +-
.../java/isotp/protocol/model/tpdus/Tpdu.java | 4 +-
plc4j/protocols/modbus/pom.xml | 9 +-
.../items/DefaultModbusByteArrayFieldItem.java | 258 -----
.../items/DefaultModbusByteArrayPlcList.java | 218 ++++
.../java/modbus/netty/Plc4XModbusProtocol.java | 82 +-
.../java/modbus/util/ModbusPlcFieldHandler.java | 33 +-
.../plc4x/java/modbus/ManualPlc4XModbusTest.java | 6 +-
.../items/DefaultModbusByteArrayFieldItemTest.java | 170 ----
.../items/DefaultModbusByteArrayPlcValueTest.java | 170 ++++
.../java/modbus/netty/Plc4XModbusProtocolTest.java | 57 +-
plc4j/protocols/pom.xml | 5 +-
plc4j/protocols/s7/pom.xml | 3 +-
.../plc4x/java/s7/netty/Plc4XS7Protocol.java | 337 ++++---
.../java/s7/netty/model/messages/S7Message.java | 4 +-
.../s7/netty/model/messages/S7RequestMessage.java | 2 +-
.../messages/SetupCommunicationRequestMessage.java | 2 +-
.../strategies/DefaultS7MessageProcessor.java | 2 +-
.../java/s7/netty/util/S7PlcFieldHandler.java | 142 +--
.../plc4x/java/s7/netty/Plc4XS7ProtocolSpec.groovy | 14 +-
.../plc4x/java/s7/netty/Plc4XS7ProtocolTest.java | 2 +-
.../java/s7/netty/util/S7PlcFieldHandlerTest.java | 44 +-
plc4j/spi/pom.xml | 86 ++
.../github/jinahya/bit/io/MyDefaultBitInput.java | 0
.../apache/plc4x/java/spi/ConversationContext.java | 86 ++
.../spi/GeneratedDriverByteToMessageCodec.java | 90 ++
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 204 ++++
.../apache/plc4x/java/spi/Plc4xProtocolBase.java | 80 ++
.../plc4x/java/spi/PlcMessageToMessageCodec.java | 60 ++
.../java/spi/configuration/Configuration.java | 23 +
.../spi/configuration/ConfigurationFactory.java | 241 +++++
.../java/spi/configuration/HasConfiguration.java | 38 +
.../annotations/ConfigurationParameter.java | 33 +
.../spi/configuration/annotations/Required.java | 30 +
.../annotations/defaults/BooleanDefaultValue.java | 33 +
.../annotations/defaults/DoubleDefaultValue.java | 33 +
.../annotations/defaults/IntDefaultValue.java | 33 +
.../annotations/defaults/StringDefaultValue.java | 33 +
.../java/spi/connection/AbstractPlcConnection.java | 193 ++++
.../plc4x/java/spi/connection/ChannelFactory.java | 37 +
.../spi/connection/DefaultNettyPlcConnection.java | 187 ++++
.../spi/connection/DefaultPlcFieldHandler.java | 97 ++
.../java/spi/connection/GeneratedDriverBase.java | 131 +++
.../connection/GeneratedProtocolMessageCodec.java | 72 ++
.../java/spi/connection/NettyChannelFactory.java | 157 +++
.../apache/plc4x/java/spi/connection/Parser.java | 29 +
.../plc4x/java/spi/connection/PlcFieldHandler.java | 58 ++
.../spi/connection/ProtocolStackConfigurer.java | 31 +
.../java/spi/connection/ReflectionBasedIo.java | 67 ++
.../plc4x/java/spi/connection/Serializer.java | 29 +
.../connection/SingleProtocolStackConfigurer.java | 136 +++
.../java/spi/events/CloseConnectionEvent.java | 23 +
.../apache/plc4x/java/spi/events/ConnectEvent.java | 22 +
.../plc4x/java/spi/events/ConnectedEvent.java | 22 +
.../plc4x/java/spi/events/DisconnectEvent.java | 39 +
.../plc4x/java/spi/events/DisconnectedEvent.java | 22 +
.../exceptions/InternalPlcRuntimeException.java | 41 +
.../java/spi/generation/EvaluationHelper.java | 58 ++
.../apache/plc4x/java/spi/generation/Message.java | 26 +
.../plc4x/java/spi/generation/MessageIO.java | 23 +
.../plc4x/java/spi/generation/MessageInput.java | 25 +
.../plc4x/java/spi/generation/MessageOutput.java | 25 +
.../plc4x/java/spi/generation/ParseException.java | 32 +
.../plc4x/java/spi/generation/ReadBuffer.java | 265 +++++
.../plc4x/java/spi/generation/StaticHelper.java | 79 ++
.../plc4x/java/spi/generation/WriteBuffer.java | 212 ++++
.../spi/internal/DefaultSendRequestContext.java | 138 +++
.../java/spi/internal/HandlerRegistration.java | 86 ++
.../spi/messages/DefaultPlcProprietaryRequest.java | 43 +
.../messages/DefaultPlcProprietaryResponse.java | 42 +
.../java/spi/messages/DefaultPlcReadRequest.java | 118 +++
.../java/spi/messages/DefaultPlcReadResponse.java | 616 ++++++++++++
.../spi/messages/DefaultPlcSubscriptionEvent.java | 55 +
.../messages/DefaultPlcSubscriptionRequest.java | 173 ++++
.../messages/DefaultPlcSubscriptionResponse.java | 90 ++
.../messages/DefaultPlcUnsubscriptionRequest.java | 90 ++
.../messages/DefaultPlcUnsubscriptionResponse.java | 36 +
.../java/spi/messages/DefaultPlcWriteRequest.java | 276 ++++++
.../java/spi/messages/DefaultPlcWriteResponse.java | 62 ++
.../java/spi/messages/InternalPlcFieldRequest.java | 31 +
.../spi/messages/InternalPlcFieldResponse.java | 26 +
.../java/spi/messages/InternalPlcMessage.java | 23 +
.../messages/InternalPlcProprietaryRequest.java | 22 +
.../messages/InternalPlcProprietaryResponse.java | 22 +
.../java/spi/messages/InternalPlcReadRequest.java | 26 +
.../java/spi/messages/InternalPlcReadResponse.java | 32 +
.../java/spi/messages/InternalPlcRequest.java | 24 +
.../java/spi/messages/InternalPlcResponse.java | 25 +
.../spi/messages/InternalPlcSubscriptionEvent.java | 25 +
.../messages/InternalPlcSubscriptionRequest.java | 36 +
.../messages/InternalPlcSubscriptionResponse.java | 30 +
.../messages/InternalPlcUnsubscriptionRequest.java | 29 +
.../InternalPlcUnsubscriptionResponse.java | 25 +
.../java/spi/messages/InternalPlcWriteRequest.java | 36 +
.../spi/messages/InternalPlcWriteResponse.java | 28 +
.../java/spi/messages/PlcProprietaryRequest.java | 25 +
.../java/spi/messages/PlcProprietaryResponse.java | 25 +
.../java/spi/messages/PlcProprietarySender.java | 25 +
.../java/spi/messages/PlcProtocolMessage.java | 25 +
.../plc4x/java/spi/messages/PlcRawMessage.java | 46 +
.../apache/plc4x/java/spi/messages/PlcReader.java | 40 +
.../java/spi/messages/PlcRequestContainer.java | 85 ++
.../plc4x/java/spi/messages/PlcSubscriber.java | 63 ++
.../apache/plc4x/java/spi/messages/PlcWriter.java | 40 +
.../spi/model/DefaultPlcConsumerRegistration.java | 85 ++
.../spi/model/DefaultPlcSubscriptionHandle.java | 62 ++
.../spi/model/InternalPlcConsumerRegistration.java | 32 +
.../spi/model/InternalPlcSubscriptionHandle.java | 25 +
.../plc4x/java/spi/model/SubscriptionPlcField.java | 55 +
.../spi/optimizer/RequestTransactionManager.java | 194 ++++
.../SingleItemToSingleRequestProtocol.java | 668 +++++++++++++
.../apache/plc4x/java/spi/request/PlcRequest.java | 28 +
.../apache/plc4x/java/spi/transport/Transport.java | 32 +
.../java/spi/transport/TransportConfiguration.java | 25 +
.../org/apache/plc4x/java/spi/types/FieldType.java | 47 +
.../internal/DefaultSendRequestContextTest.java | 116 +++
.../optimizer/RequestTransactionManagerTest.java | 170 ++++
.../java/spi/parser/ConnectionParserTest.java | 72 ++
plc4j/tools/connection-pool/pom.xml | 52 +
.../plc4x/java/utils/connectionpool/PoolKey.java | 0
.../java/utils/connectionpool/PoolKeyFactory.java | 0
.../connectionpool/PooledPlcConnectionFactory.java | 0
.../connectionpool/PooledPlcDriverManager.java | 0
.../utils/connectionpool/PoolKeyFactoryTest.java | 0
.../utils/connectionpool/PooledDummyDriver.java | 52 +
.../connectionpool/PooledPlcDriverManagerTest.java | 367 +++++++
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
.../connection-pool/src/test/resources/logback.xml | 0
plc4j/tools/interop/pom.xml | 217 ++++
.../interop/src/assembly/assembly.xml | 0
.../java/org/apache/plc4x/interop/impl/Client.java | 0
.../org/apache/plc4x/interop/impl/Handler.java | 163 +++
.../java/org/apache/plc4x/interop/impl/Server.java | 97 ++
plc4j/tools/opm/pom.xml | 94 ++
.../org/apache/plc4x/java/opm/AliasRegistry.java | 0
.../org/apache/plc4x/java/opm/OPMException.java | 0
.../java/org/apache/plc4x/java/opm/OpmUtils.java | 0
.../java/org/apache/plc4x/java/opm/PlcEntity.java | 0
.../plc4x/java/opm/PlcEntityInterceptor.java | 565 +++++++++++
.../apache/plc4x/java/opm/PlcEntityManager.java | 0
.../java/org/apache/plc4x/java/opm/PlcField.java | 0
.../apache/plc4x/java/opm/SimpleAliasRegistry.java | 0
.../opm/src/site/asciidoc/opm/using-opm.adoc | 0
plc4j/{utils => tools}/opm/src/site/site.xml | 0
.../apache/plc4x/java/opm/ConnectedEntityTest.java | 119 +++
.../apache/plc4x/java/opm/OPMExceptionTest.java | 0
.../org/apache/plc4x/java/opm/OpmUtilsTest.java | 0
.../plc4x/java/opm/PlcEntityInterceptorTest.java | 233 +++++
.../java/opm/PlcEntityManagerComplexTest.java | 470 +++++++++
.../plc4x/java/opm/PlcEntityManagerTest.java | 318 ++++++
.../plc4x/java/opm/SimpleAliasRegistryTest.java | 0
.../opm/src/test/resources/logback.xml | 0
plc4j/tools/pom.xml | 52 +
plc4j/{utils => tools}/scraper/README.md | 0
plc4j/tools/scraper/pom.xml | 133 +++
.../apache/plc4x/java/scraper/ResultHandler.java | 0
.../org/apache/plc4x/java/scraper/ScrapeJob.java | 0
.../apache/plc4x/java/scraper/ScrapeJobImpl.java | 0
.../org/apache/plc4x/java/scraper/Scraper.java | 0
.../org/apache/plc4x/java/scraper/ScraperImpl.java | 0
.../org/apache/plc4x/java/scraper/ScraperTask.java | 0
.../apache/plc4x/java/scraper/ScraperTaskImpl.java | 0
.../java/scraper/config/JobConfiguration.java | 0
.../config/JobConfigurationClassicImpl.java | 0
.../config/JobConfigurationClassicImplBuilder.java | 0
.../java/scraper/config/JobConfigurationImpl.java | 0
.../java/scraper/config/ScraperConfiguration.java | 0
.../config/ScraperConfigurationClassicImpl.java | 0
.../ScraperConfigurationClassicImplBuilder.java | 0
.../JobConfigurationTriggeredImpl.java | 0
.../JobConfigurationTriggeredImplBuilder.java | 0
.../ScraperConfigurationTriggeredImpl.java | 0
.../ScraperConfigurationTriggeredImplBuilder.java | 0
.../exception/ScraperConfigurationException.java | 0
.../java/scraper/exception/ScraperException.java | 0
.../triggeredscraper/TriggeredScrapeJobImpl.java | 0
.../triggeredscraper/TriggeredScraperImpl.java | 366 +++++++
.../triggeredscraper/TriggeredScraperMBean.java | 0
.../triggeredscraper/TriggeredScraperTask.java | 0
.../TriggeredScraperTaskMBean.java | 0
.../triggerhandler/TriggerConfiguration.java | 722 ++++++++++++++
.../triggerhandler/TriggerHandler.java | 0
.../triggerhandler/TriggerHandlerImpl.java | 0
.../triggerhandler/collector/TriggerCollector.java | 0
.../collector/TriggerCollectorImpl.java | 0
.../scraper/util/PercentageAboveThreshold.java | 0
.../apache/plc4x/java/s7/ManualS7PlcDriverMT.java | 0
.../java/scraper/ScraperConfigurationTest.java | 0
.../apache/plc4x/java/scraper/ScraperRunner.java | 0
.../apache/plc4x/java/scraper/ScraperTaskTest.java | 113 +++
.../org/apache/plc4x/java/scraper/ScraperTest.java | 175 ++++
.../plc4x/java/scraper/TriggeredScraperRunner.java | 0
.../java/scraper/TriggeredScraperRunnerModbus.java | 62 ++
.../config/ScraperConfigurationBuilderTest.java | 0
.../triggeredscraper/TriggeredScraperImplTest.java | 118 +++
.../triggerhandler/TriggerConfigurationTest.java | 150 +++
.../scraper/src/test/resources/config.json | 0
.../scraper/src/test/resources/config.yml | 0
.../scraper/src/test/resources/example.yml | 0
.../test/resources/example_triggered_scraper.yml | 0
.../resources/example_triggered_scraper_modbus.yml | 0
.../src/test/resources/example_with_strings.yml | 0
.../scraper/src/test/resources/logback-test.xml | 0
.../scraper/src/test/resources/logback.xml | 0
.../src/test/resources/mock-scraper-config.yml | 0
plc4j/transports/pcap-socket/pom.xml | 63 ++
.../java/transport/pcap/PcapChannelFactory.java | 68 ++
.../plc4x/java/transport/pcap/PcapTransport.java | 50 +
.../transport/pcap/PcapTransportConfiguration.java | 34 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/pom.xml | 45 +
plc4j/transports/raw-socket/pom.xml | 58 ++
.../rawsocket/RawSocketChannelFactory.java | 57 ++
.../transport/rawsocket/RawSocketTransport.java | 43 +
.../rawsocket/RawSocketTransportConfiguration.java | 27 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/serial/pom.xml | 83 ++
.../plc4x/java/transport/serial/SerialChannel.java | 636 ++++++++++++
.../transport/serial/SerialChannelFactory.java | 65 ++
.../transport/serial/SerialChannelHandler.java | 181 ++++
.../transport/serial/SerialPollingSelector.java | 176 ++++
.../java/transport/serial/SerialSelectionKey.java | 86 ++
.../transport/serial/SerialSelectorProvider.java | 68 ++
.../java/transport/serial/SerialSocketAddress.java | 50 +
.../java/transport/serial/SerialSocketChannel.java | 158 +++
.../java/transport/serial/SerialTransport.java | 42 +
.../serial/SerialTransportConfiguration.java | 25 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
.../base/connection/SerialChannelFactoryTest.java | 116 +++
plc4j/transports/tcp/pom.xml | 58 ++
.../java/transport/tcp/TcpChannelFactory.java | 62 ++
.../plc4x/java/transport/tcp/TcpTransport.java | 81 ++
.../transport/tcp/TcpTransportConfiguration.java | 49 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/test/pom.xml | 84 ++
.../java/transport/test/TestChannelFactory.java | 58 ++
.../java/transport/test/TestSocketAddress.java | 29 +
.../plc4x/java/transport/test/TestTransport.java | 42 +
.../transport/test/TestTransportConfiguration.java | 25 +
...spockframework.report.IReportCreator.properties | 0
.../services/org.apache.plc4x.java.api.PlcDriver} | 0
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/transports/udp/pom.xml | 66 ++
.../java/transport/udp/UdpChannelFactory.java | 65 ++
.../plc4x/java/transport/udp/UdpTransport.java | 81 ++
.../transport/udp/UdpTransportConfiguration.java | 31 +
.../udp/protocol/DatagramUnpackingHandler.java | 39 +
.../org.apache.plc4x.java.spi.transport.Transport | 20 +
plc4j/utils/connection-pool/pom.xml | 51 -
.../utils/connectionpool/PooledDummyDriver.java | 52 -
.../connectionpool/PooledPlcDriverManagerTest.java | 367 -------
plc4j/utils/driver-base-java/pom.xml | 42 -
.../apache/plc4x/java/utils/EvaluationHelper.java | 58 --
.../java/org/apache/plc4x/java/utils/Message.java | 26 -
.../org/apache/plc4x/java/utils/MessageIO.java | 23 -
.../org/apache/plc4x/java/utils/MessageInput.java | 25 -
.../org/apache/plc4x/java/utils/MessageOutput.java | 25 -
.../apache/plc4x/java/utils/ParseException.java | 32 -
.../org/apache/plc4x/java/utils/ReadBuffer.java | 254 -----
.../org/apache/plc4x/java/utils/WriteBuffer.java | 208 ----
plc4j/utils/interop/pom.xml | 216 ----
.../org/apache/plc4x/interop/impl/Handler.java | 160 ---
.../java/org/apache/plc4x/interop/impl/Server.java | 91 --
plc4j/utils/opm/pom.xml | 103 --
.../plc4x/java/opm/PlcEntityInterceptor.java | 569 -----------
.../apache/plc4x/java/opm/ConnectedEntityTest.java | 119 ---
.../plc4x/java/opm/PlcEntityInterceptorTest.java | 214 ----
.../java/opm/PlcEntityManagerComplexTest.java | 460 ---------
.../plc4x/java/opm/PlcEntityManagerTest.java | 318 ------
.../utils/pcapsockets/netty/PacketHandler.java | 27 -
.../utils/pcapsockets/netty/PcapSocketAddress.java | 21 +-
.../utils/pcapsockets/netty/PcapSocketChannel.java | 20 +-
.../pcapsockets/netty/PcapSocketChannelConfig.java | 47 +-
.../pcapsockets/netty/PcapSocketChannelOption.java | 21 +-
.../pcapsockets/netty/TcpIpPacketHandler.java | 41 -
.../pcapsockets/netty/UdpIpPacketHandler.java | 41 -
.../pcapsockets/netty/handlers/PacketHandler.java | 27 +
.../netty/handlers/TcpIpPacketHandler.java | 41 +
.../netty/handlers/UdpIpPacketHandler.java | 41 +
plc4j/utils/pom.xml | 20 +-
plc4j/utils/protocol-test-utils/pom.xml | 72 --
.../protocol/test/ProtocolTestsuiteRunner.java | 175 ----
.../exceptions/ProtocolTestsuiteException.java | 32 -
.../protocol/test/model/ProtocolTestsuite.java | 48 -
.../apache/plc4x/protocol/test/model/Testcase.java | 61 --
.../utils/rawsockets/netty/RawSocketAddress.java | 1 +
.../utils/rawsockets/netty/RawSocketChannel.java | 3 +-
plc4j/utils/scraper/pom.xml | 145 ---
.../triggeredscraper/TriggeredScraperImpl.java | 367 -------
.../triggerhandler/TriggerConfiguration.java | 722 --------------
.../apache/plc4x/java/scraper/ScraperTaskTest.java | 113 ---
.../org/apache/plc4x/java/scraper/ScraperTest.java | 175 ----
.../java/scraper/TriggeredScraperRunnerModbus.java | 69 --
.../triggeredscraper/TriggeredScraperImplTest.java | 118 ---
.../triggerhandler/TriggerConfigurationTest.java | 151 ---
plc4j/utils/test-utils/pom.xml | 37 +-
.../test/protocol/ProtocolTestsuiteRunner.java | 179 ++++
.../exceptions/ProtocolTestsuiteException.java | 32 +
.../test/protocol/model/ProtocolTestsuite.java | 48 +
.../apache/plc4x/test/protocol/model/Testcase.java | 60 ++
.../src/main/resources/schemas/testsuite.xsd | 0
pom.xml | 16 +-
.../main/resources/protocols/amsads/amsads.mspec | 4 +-
.../apache/plc4x/protocol/knxnetip/Ets5Types.java | 46 -
...e.plc4x.plugins.codegenerator.protocol.Protocol | 1 -
.../main/resources/protocols/knxnetip/ets5.mspec | 172 ----
.../resources/protocols/knxnetip/knxnetip.mspec | 154 +++
...e.plc4x.plugins.codegenerator.protocol.Protocol | 2 +-
.../s7/src/main/resources/protocols/s7/s7.mspec | 208 +++-
.../plc4x/codegen/ast/AssignementExpression.java | 6 +-
.../apache/plc4x/codegen/ast/BinaryExpression.java | 6 +-
.../java/org/apache/plc4x/codegen/ast/Block.java | 6 +-
.../apache/plc4x/codegen/ast/CallExpression.java | 6 +-
.../apache/plc4x/codegen/ast/ClassDeclaration.java | 6 +-
.../plc4x/codegen/ast/ConstantExpression.java | 6 +-
.../plc4x/codegen/ast/ConstructorDeclaration.java | 6 +-
.../plc4x/codegen/ast/DeclarationStatement.java | 6 +-
.../apache/plc4x/codegen/ast/FieldDeclaration.java | 6 +-
.../apache/plc4x/codegen/ast/FieldReference.java | 6 +-
.../org/apache/plc4x/codegen/ast/FileNode.java | 6 +-
.../org/apache/plc4x/codegen/ast/IfStatement.java | 6 +-
.../apache/plc4x/codegen/ast/JavaGenerator.java | 69 +-
.../org/apache/plc4x/codegen/ast/LineComment.java | 6 +-
.../java/org/apache/plc4x/codegen/ast/Method.java | 6 +-
.../apache/plc4x/codegen/ast/MethodDefinition.java | 6 +-
.../apache/plc4x/codegen/ast/NewExpression.java | 6 +-
.../plc4x/codegen/ast/ParameterExpression.java | 6 +-
.../org/apache/plc4x/codegen/ast/Primitive.java | 6 +-
.../apache/plc4x/codegen/ast/PythonGenerator.java | 69 +-
.../apache/plc4x/codegen/ast/ReturnStatement.java | 6 +-
.../apache/plc4x/codegen/ast/TypeDefinition.java | 6 +-
.../plc4x/codegen/python/AbstractNodeVisitor.java | 96 +-
.../org/apache/plc4x/codegen/python/AddNode.java | 3 +-
.../org/apache/plc4x/codegen/python/AliasNode.java | 3 +-
.../plc4x/codegen/python/AnnAssignerNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ArgNode.java | 3 +-
.../apache/plc4x/codegen/python/ArgumentsNode.java | 3 +-
.../apache/plc4x/codegen/python/AssignNode.java | 3 +-
.../apache/plc4x/codegen/python/AttributeNode.java | 3 +-
.../apache/plc4x/codegen/python/AugAssignNode.java | 3 +-
.../org/apache/plc4x/codegen/python/BinOpNode.java | 3 +-
.../org/apache/plc4x/codegen/python/CallNode.java | 3 +-
.../apache/plc4x/codegen/python/ClassDefNode.java | 3 +-
.../apache/plc4x/codegen/python/CompareNode.java | 3 +-
.../org/apache/plc4x/codegen/python/EqNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ExprNode.java | 3 +-
.../plc4x/codegen/python/FunctionDefNode.java | 3 +-
.../org/apache/plc4x/codegen/python/IfNode.java | 3 +-
.../plc4x/codegen/python/ImportFromNode.java | 3 +-
.../apache/plc4x/codegen/python/KeywordNode.java | 3 +-
.../org/apache/plc4x/codegen/python/ListNode.java | 3 +-
.../org/apache/plc4x/codegen/python/LoadNode.java | 3 +-
.../apache/plc4x/codegen/python/ModuleNode.java | 3 +-
.../org/apache/plc4x/codegen/python/MultNode.java | 3 +-
.../plc4x/codegen/python/NameConstantNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NameNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NotEqNode.java | 3 +-
.../org/apache/plc4x/codegen/python/NumNode.java | 3 +-
.../org/apache/plc4x/codegen/python/PassNode.java | 3 +-
.../apache/plc4x/codegen/python/ReturnNode.java | 3 +-
.../org/apache/plc4x/codegen/python/StoreNode.java | 3 +-
.../org/apache/plc4x/codegen/python/StrNode.java | 3 +-
.../org/apache/plc4x/codegen/python/TupleNode.java | 3 +-
.../org/apache/plc4x/codegen/python/WhileNode.java | 3 +-
.../org/apache/plc4x/codegen/ModuleNodeTest.java | 33 +-
sandbox/plc-simulator/pom.xml | 16 +-
.../apache/plc4x/java/s7/utils/StaticHelper.java | 137 +++
.../server/s7/protocol/S7Step7Protocol.java | 12 +-
.../server/s7/protocol/S7Step7ServerProtocol.java | 2 +-
sandbox/pom.xml | 9 +-
sandbox/test-java-amsads-driver/pom.xml | 28 +-
.../apache/plc4x/java/amsads/AMSADSPlcDriver.java | 84 +-
.../amsads/configuration/AdsConfiguration.java | 74 ++
.../connection/AdsAbstractPlcConnection.java | 21 +-
.../amsads/connection/AdsConnectionFactory.java | 1 +
.../amsads/connection/AdsSerialPlcConnection.java | 45 +-
.../amsads/connection/AdsTcpPlcConnection.java | 73 +-
.../apache/plc4x/java/amsads/field/AdsField.java | 27 +
.../plc4x/java/amsads/field/AdsFieldHandler.java | 1047 ++++++++++++++++++++
.../plc4x/java/amsads/field/DirectAdsField.java | 142 +++
.../plc4x/java/amsads/field/SymbolicAdsField.java | 106 ++
.../plc4x/java/amsads/model/AdsDataType.java | 577 -----------
.../apache/plc4x/java/amsads/model/AdsField.java | 26 -
.../java/amsads/model/AdsPlcFieldHandler.java | 1015 -------------------
.../java/amsads/model/AdsSubscriptionHandle.java | 5 +-
.../plc4x/java/amsads/model/DirectAdsField.java | 141 ---
.../plc4x/java/amsads/model/SymbolicAdsField.java | 105 --
.../plc4x/java/amsads/model/package-info.java | 22 -
.../java/amsads/protocol/Ads2PayloadProtocol.java | 7 +-
.../java/amsads/protocol/AdsProtocolLogic.java | 41 +
.../amsads/protocol/Payload2SerialProtocol.java | 15 +-
.../java/amsads/protocol/Payload2TcpProtocol.java | 7 +-
.../java/amsads/protocol/Plc4x2AdsProtocol.java | 35 +-
.../amsads/protocol/util/LittleEndianDecoder.java | 204 +++-
.../amsads/protocol/util/LittleEndianEncoder.java | 2 +-
.../protocol/util/SingleMessageRateLimiter.java | 2 +-
.../plc4x/java/amsads/types/AdsDataType.java | 577 +++++++++++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../protocol/amsads/BenchmarkGeneratedDf1.java | 4 -
.../org/apache/plc4x/protocol/amsads/Df1Test.java | 3 +-
.../org/apache/plc4x/protocol/amsads/IOTest.java | 6 -
sandbox/test-java-bacnetip-driver/pom.xml | 22 +-
.../plc4x/java/bacnetip/PassiveBacNetIpDriver.java | 89 +-
.../PassiveBacNetIpConfiguration.java | 61 ++
.../bacnetip/connection/BacNetIpFieldHandler.java | 36 -
.../connection/PassiveBacNetIpPlcConnection.java | 118 ---
.../plc4x/java/bacnetip/field/BacNetIpField.java | 47 +
.../java/bacnetip/field/BacNetIpFieldHandler.java | 35 +
.../plc4x/java/bacnetip/model/BacNetIpField.java | 47 -
.../java/bacnetip/protocol/BacNetIpProtocol.java | 62 --
.../java/bacnetip/protocol/HelloWorldProtocol.java | 72 --
.../protocol/PassiveBacNetIpProtocolLogic.java | 47 +
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../plc4x/java/bacnetip/ManualBacNetDecoder.java | 2 +-
.../java/bacnetip/PassiveBacNetIpDriverManual.java | 17 +-
sandbox/test-java-df1-driver/pom.xml | 25 +-
.../org/apache/plc4x/java/df1/DF1PlcDriver.java | 59 +-
.../java/org/apache/plc4x/java/df1/Df1Field.java | 62 --
.../java/df1/configuration/Df1Configuration.java | 33 +
.../java/df1/connection/BaseDf1Connection.java | 34 -
.../java/df1/connection/SerialDf1Connection.java | 148 ---
.../org/apache/plc4x/java/df1/field/Df1Field.java | 61 ++
.../plc4x/java/df1/field/Df1FieldHandler.java | 39 +
.../org/apache/plc4x/java/df1/fields/DataType.java | 44 -
.../plc4x/java/df1/protocol/Df1Protocol.java | 14 +-
.../plc4x/java/df1/protocol/Df1ProtocolLogic.java | 43 +
.../plc4x/java/df1/protocol/Plc4XDf1Protocol.java | 23 +-
.../org/apache/plc4x/java/df1/types/DataType.java | 44 +
.../org/apache/plc4x/java/df1/util/DF1Utils.java | 14 +-
.../plc4x/java/df1/util/Df1FieldHandler.java | 39 -
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../apache/plc4x/java/df1/DF1PlcDriverTest.java | 44 -
.../plc4x/protocol/df1/BenchmarkGeneratedDf1.java | 5 -
.../org/apache/plc4x/protocol/df1/Df1Test.java | 2 +-
.../java/org/apache/plc4x/protocol/df1/IOTest.java | 2 +-
.../src/test/resources/testsuite/Df1Testsuite.xml | 8 +-
sandbox/test-java-knxnetip-driver-passive/pom.xml | 15 +-
.../passive/knxnetip/PassiveKnxNetIpDriver.java | 2 +-
.../knxnetip/connection/KnxNetIpFieldHandler.java | 2 +-
.../connection/PassiveKnxNetIpPlcConnection.java | 16 +-
.../knxnetip/protocol/HelloWorldProtocol.java | 4 +-
.../knxnetip/protocol/KnxNetIpProtocol.java | 59 --
.../knxnetip/protocol/KnxNetIpProtocolMessage.java | 59 ++
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/java/knxnetip/IOTest.java | 7 +-
sandbox/test-java-knxnetip-driver/pom.xml | 32 +-
.../apache/plc4x/java/knxnetip/KnxNetIpDriver.java | 93 +-
.../configuration/KnxNetIpConfiguration.java | 65 ++
.../knxnetip/connection/KnxNetIpConnection.java | 137 ---
.../knxnetip/connection/KnxNetIpFieldHandler.java | 36 -
.../java/knxnetip/events/KnxGatewayFoundEvent.java | 22 -
.../plc4x/java/knxnetip/field/KnxNetIpField.java | 86 ++
.../java/knxnetip/field/KnxNetIpFieldHandler.java | 35 +
.../plc4x/java/knxnetip/model/KnxNetIpField.java | 44 -
.../knxnetip/protocol/KnxNetIpPlc4xProtocol.java | 61 --
.../knxnetip/protocol/KnxNetIpProtocolLogic.java | 328 ++++--
.../knxnetip/protocol/KnxNetIpProtocolPackets.java | 59 --
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../org/apache/plc4x/java/knxnetip/IOTest.java | 8 +-
.../apache/plc4x/java/knxnetip/KNXNetIpTest.java | 2 +-
.../apache/plc4x/java/knxnetip/ManualKnxNetIp.java | 2 +-
.../java/knxnetip/ManualKnxNetIpWithEts5.java | 18 +-
.../src/test}/resources/logback.xml | 0
.../test/resources/testsuite/KNXNetIPTestsuite.xml | 2 +-
sandbox/test-java-knxnetip-shared/pom.xml | 41 +-
.../plc4x/java/knxnetip/ets5/Ets5Parser.java | 18 +-
.../plc4x/java/knxnetip/ets5/model/Ets5Model.java | 41 +-
.../java/knxnetip/ets5/model/GroupAddress.java | 9 +-
sandbox/test-java-s7-driver-passive/pom.xml | 5 +-
.../apache/plc4x/java/s7/utils/StaticHelper.java | 136 +++
.../plc4x/javapassive/s7/PassiveS7PlcDriver.java | 2 +-
.../s7/connection/PassiveS7PlcConnection.java | 16 +-
.../s7/protocol/HelloWorldProtocol.java | 4 +-
.../javapassive/s7/protocol/PassiveS7Protocol.java | 8 +-
...cDriver => org.apache.plc4x.java.api.PlcDriver} | 0
.../src/test/java/BenchmarkGeneratedPassiveS7.java | 4 +-
sandbox/test-java-s7-driver/pom.xml | 38 +-
.../apache/plc4x/java/s7/readwrite/S7Driver.java | 106 ++
.../readwrite/configuration/S7Configuration.java | 148 +++
.../plc4x/java/s7/readwrite/field/S7Field.java | 265 +++++
.../java/s7/readwrite/field/S7PlcFieldHandler.java | 584 +++++++++++
.../optimizer/DefaultS7MessageProcessor.java | 290 ++++++
.../s7/readwrite/optimizer/S7MessageProcessor.java | 40 +
.../s7/readwrite/protocol/S7ProtocolLogic.java | 693 +++++++++++++
.../java/s7/readwrite/types/S7ControllerType.java | 30 +
.../java/s7/readwrite/utils/S7TsapIdEncoder.java | 48 +
.../apache/plc4x/java/s7/utils/StaticHelper.java | 138 +++
.../services/org.apache.plc4x.java.api.PlcDriver | 19 +
.../src/main/resources/logback.xml | 36 +
.../src/test/java/BenchmarkGeneratedS7.java | 8 +-
.../java/s7/readwrite/ManualS7DriverTest.java | 33 +
sandbox/test-streampipes-plc4x-adapters/pom.xml | 16 +-
.../adapters/source/bacnetip/BacNetIpAdapter.java | 23 +-
.../adapters/source/knxnetip/KnxNetIpAdapter.java | 20 +-
sandbox/test-streampipes-plc4x-processors/pom.xml | 12 +-
.../enrich/knxnetip/ets5/Ets5DataEnrichment.java | 38 +-
.../ets5/Ets5DataEnrichmentController.java | 3 +-
src/main/script/prerequisiteCheck.groovy | 34 +
src/site/asciidoc/users/testing.adoc | 12 +-
tools/thrift/pom.xml | 12 +
920 files changed, 32509 insertions(+), 28469 deletions(-)