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:30 UTC

[plc4x] 01/02: Merge branches 'develop' and 'next-gen-core-2' of https://gitbox.apache.org/repos/asf/plc4x into develop

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(-)