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 0e3e593 - Fixed some typos add 4b65179 - Worked on getting the test-channel to actually work - Implemented a first somewhat working version of the driver-testsuite execution code add b822a45 - Fixed a wrong default endianess problem n the WriteBuffer add 3905652 - Continued working on the driver testsuite - Got the PLC io side working - Got the sending of requests side working - TODO: Finish the processing and validation of responses add f821ccb - Some further updates on the driver feature/driver-testsuite -- Renamed the xml constants (hopefully more intuitive) -- Streamlined the DriverTestsuiteRunner code add fcc5d8a Merge branches 'develop' and 'feature/driver-testsuite' of https://gitbox.apache.org/repos/asf/plc4x into feature/driver-testsuite add db6ec88 - Updated due to changes on develop add 6b2b3ca - Refactoring to the SPI and API to allow serializing and parsing the model classes with Jackson - Finished (sort of) a first S7 integration test using the new framework No new revisions were added by this update. Summary of changes: .../resources/templates/java/pojo-template.ftlh | 2 +- plc4j/api/pom.xml | 4 + .../org/apache/plc4x/java/api/model/PlcField.java | 3 + .../apache/plc4x/java/api/value/PlcBigDecimal.java | 30 +- .../apache/plc4x/java/api/value/PlcBigInteger.java | 30 +- .../apache/plc4x/java/api/value/PlcBoolean.java | 42 +- .../org/apache/plc4x/java/api/value/PlcByte.java | 30 +- .../org/apache/plc4x/java/api/value/PlcDate.java | 14 +- .../apache/plc4x/java/api/value/PlcDateTime.java | 18 +- .../org/apache/plc4x/java/api/value/PlcDouble.java | 30 +- .../org/apache/plc4x/java/api/value/PlcFloat.java | 30 +- .../apache/plc4x/java/api/value/PlcInteger.java | 30 +- .../org/apache/plc4x/java/api/value/PlcList.java | 14 +- .../org/apache/plc4x/java/api/value/PlcLong.java | 30 +- .../org/apache/plc4x/java/api/value/PlcShort.java | 30 +- .../plc4x/java/api/value/PlcSimpleValue.java | 7 + .../org/apache/plc4x/java/api/value/PlcString.java | 17 +- .../org/apache/plc4x/java/api/value/PlcStruct.java | 16 +- .../org/apache/plc4x/java/api/value/PlcTime.java | 14 +- .../org/apache/plc4x/java/api/value/PlcValue.java | 3 + .../plc4x/java/api/value/PlcValueAdapter.java | 44 + .../java/abeth/protocol/AbEthProtocolLogic.java | 7 +- .../java/abeth/protocol/Plc4xAbEthProtocol.java | 7 +- .../readwrite/protocol/FirmataProtocolLogic.java | 11 +- .../knxnetip/protocol/KnxNetIpProtocolLogic.java | 9 +- .../plc4x/java/mock/connection/MockConnection.java | 6 +- .../plc4x/java/mock/connection/MockDevice.java | 5 +- .../java/modbus/protocol/ModbusProtocolLogic.java | 4 +- .../opcua/connection/OpcuaTcpPlcConnection.java | 13 +- .../opcua/protocol/OpcuaSubsriptionHandle.java | 7 +- .../plc4x/java/s7/readwrite/field/S7Field.java | 9 +- .../java/s7/readwrite/optimizer/S7Optimizer.java | 6 +- .../s7/readwrite/protocol/S7ProtocolLogic.java | 7 +- .../s7/src/test/resources/testsuite/S7DriverIT.xml | 76 +- .../simulated/connection/SimulatedConnection.java | 20 +- .../examples/hello-influx-data-collection/pom.xml | 4 - .../java/examples/helloinflux/HelloInflux.java | 8 +- plc4j/examples/hello-webapp/webapp/pom.xml | 5 - .../watertank/service/WaterTankService.java | 6 +- plc4j/spi/pom.xml | 4 + .../netty/bootstrap/EventLoopProvider.java} | 8 +- .../java/io/netty/bootstrap/Plc4xBootstrap.java} | 40 +- .../spi/connection/ChannelExposingConnection.java | 8 +- .../spi/connection/DefaultNettyPlcConnection.java | 3 +- .../java/spi/connection/NettyChannelFactory.java | 33 +- .../plc4x/java/spi/generation/WriteBuffer.java | 2 +- .../spi/messages/DefaultPlcProprietaryRequest.java | 9 +- .../messages/DefaultPlcProprietaryResponse.java | 9 +- .../java/spi/messages/DefaultPlcReadRequest.java | 23 +- .../java/spi/messages/DefaultPlcReadResponse.java | 108 ++- .../spi/messages/DefaultPlcSubscriptionEvent.java | 12 +- .../messages/DefaultPlcSubscriptionRequest.java | 28 +- .../messages/DefaultPlcSubscriptionResponse.java | 32 +- .../messages/DefaultPlcUnsubscriptionRequest.java | 15 +- .../messages/DefaultPlcUnsubscriptionResponse.java | 7 +- .../java/spi/messages/DefaultPlcWriteRequest.java | 38 +- .../java/spi/messages/DefaultPlcWriteResponse.java | 12 +- .../java/spi/messages/InternalPlcFieldRequest.java | 2 + .../spi/messages/InternalPlcFieldResponse.java | 2 + .../java/spi/messages/InternalPlcMessage.java | 3 + .../messages/InternalPlcProprietaryRequest.java | 3 + .../messages/InternalPlcProprietaryResponse.java | 3 + .../java/spi/messages/InternalPlcReadRequest.java | 2 + .../java/spi/messages/InternalPlcReadResponse.java | 7 +- .../java/spi/messages/InternalPlcRequest.java | 2 + .../java/spi/messages/InternalPlcResponse.java | 2 + .../spi/messages/InternalPlcSubscriptionEvent.java | 2 + .../messages/InternalPlcSubscriptionRequest.java | 6 +- .../messages/InternalPlcSubscriptionResponse.java | 7 +- .../messages/InternalPlcUnsubscriptionRequest.java | 2 + .../InternalPlcUnsubscriptionResponse.java | 2 + .../java/spi/messages/InternalPlcWriteRequest.java | 2 + .../spi/messages/InternalPlcWriteResponse.java | 2 + .../java/spi/messages/PlcProprietaryRequest.java | 2 + .../java/spi/messages/PlcProprietaryResponse.java | 2 + .../java/spi/messages/PlcProprietarySender.java | 3 + .../java/spi/messages/PlcProtocolMessage.java | 3 + .../plc4x/java/spi/messages/PlcRawMessage.java | 2 + .../apache/plc4x/java/spi/messages/PlcReader.java | 1 - .../apache/plc4x/java/spi/messages/PlcWriter.java | 1 - .../java/spi/messages/utils/FieldValueItem.java | 26 +- .../java/spi/messages/utils/ResponseItem.java | 25 +- .../plc4x/java/spi/optimizer/BaseOptimizer.java | 8 +- .../java/spi/optimizer/SingleFieldOptimizer.java | 4 +- .../SingleItemToSingleRequestProtocol.java | 12 +- .../apache/plc4x/java/opm/ConnectedEntityTest.java | 5 +- .../plc4x/java/opm/PlcEntityInterceptorTest.java | 6 +- .../java/opm/PlcEntityManagerComplexTest.java | 7 +- .../plc4x/java/opm/PlcEntityManagerTest.java | 10 +- plc4j/tools/scraper/pom.xml | 13 +- .../apache/plc4x/java/scraper/ScraperTaskTest.java | 6 +- .../org/apache/plc4x/java/scraper/ScraperTest.java | 6 +- .../triggeredscraper/TriggeredScraperImplTest.java | 14 +- plc4j/transports/test/pom.xml | 4 + .../channel/embedded/Plc4xEmbeddedChannel.java | 892 +++++++++++++++++++++ .../channel/embedded/Plc4xEmbeddedEventLoop.java | 147 ++++ .../java/transport/test/TestChannelFactory.java | 11 +- .../services/org.apache.plc4x.java.api.PlcDriver | 19 - plc4j/utils/test-utils/pom.xml | 36 + .../plc4x/test/driver/DriverTestsuiteRunner.java | 298 ++++++- .../java/org/apache/plc4x/test/driver/Lalala.java | 44 + .../plc4x/test/driver/model/DriverTestsuite.java | 27 +- .../driver/model/{TestStep.java => StepType.java} | 33 +- .../apache/plc4x/test/driver/model/TestStep.java | 14 +- .../plc4x/test/driver/model/api/TestField.java | 34 +- .../test/driver/model/api/TestFieldRequest.java} | 16 +- .../test/driver/model/api/TestReadRequest.java | 25 +- .../plc4x/test/driver/model/api/TestRequest.java | 10 +- .../test/driver/model/api/TestWriteRequest.java | 25 +- .../main/resources/schemas/driver-testsuite.xsd | 54 +- sandbox/code-gen/pom.xml | 7 - .../org/apache/plc4x/codegen/DFDLUtilTest.java | 1 + .../org/apache/plc4x/codegen/ModuleNodeTest.java | 1 - .../amsads/connection/AdsTcpPlcConnection.java | 9 +- .../java/amsads/protocol/Plc4x2AdsProtocol.java | 5 +- .../protocol/PassiveBacNetIpProtocolLogic.java | 9 +- .../java/bacnetip/PassiveBacNetIpDriverManual.java | 9 +- .../plc4x/java/df1/protocol/Plc4XDf1Protocol.java | 7 +- 118 files changed, 2533 insertions(+), 448 deletions(-) copy plc4j/spi/src/main/java/{org/apache/plc4x/java/spi/configuration/Configuration.java => io/netty/bootstrap/EventLoopProvider.java} (85%) copy plc4j/{integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xStreamTable.java => spi/src/main/java/io/netty/bootstrap/Plc4xBootstrap.java} (52%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Node.java => plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelExposingConnection.java (83%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java => plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/utils/FieldValueItem.java (66%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java => plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/utils/ResponseItem.java (68%) create mode 100644 plc4j/transports/test/src/main/java/io/netty/channel/embedded/Plc4xEmbeddedChannel.java create mode 100644 plc4j/transports/test/src/main/java/io/netty/channel/embedded/Plc4xEmbeddedEventLoop.java delete mode 100644 plc4j/transports/test/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/Lalala.java copy plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/{TestStep.java => StepType.java} (58%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AliasNode.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestField.java (62%) copy plc4j/{examples/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/model/DummyField.java => utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestFieldRequest.java} (67%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestReadRequest.java (65%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/Node.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestRequest.java (80%) copy sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestWriteRequest.java (65%)