You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by hu...@apache.org on 2021/04/07 11:10:25 UTC
[plc4x] branch feature/native_opua_client updated (116e29f ->
dd0e310)
This is an automated email from the ASF dual-hosted git repository.
hutcheb pushed a change to branch feature/native_opua_client
in repository https://gitbox.apache.org/repos/asf/plc4x.git.
from 116e29f Adding support for PublishRequest/Response messages within OpcuaSubscriptionHandle.
new c48a073 Working on Subscriptions
add 76acdc3 Started Integration...
add 4c24817 Finished Integration.
add b407d5f Finished Integration.
add 9916adf Finished Integration.
add 0aa9d33 Added Copyright Headers.
add f422487 Renamed to pool2 and readded "old" connection-pool.
add 81f6aaf Minor fix in pom.
add 1c85b18 Renamed Pool2 -> Connection-Cache
add 7cbd42b fix logback dependency
add f98d1e9 - Switched from printlines to logging - Made sure timeouts are applied everywhere where we have blocking operations - Made sure new go routines are started where needed in order to prevent lockups
add ad3015a - Added an option to directly intercept on found resources (Allowing immediate interaction)
add 17f4656 - Refactored the callback-based operations
add d976d01 Update manifest based on Rankesh's request.
add 604e1b6 - Continuing work on the C S7 driver (Curenlty the changes in mspec are not correct ... need to continue there)
add 7f1db3b PLC4X-272 When splitting up large requests, too big sub-requests are generated (S7) - When splitting up into more than one request, the new request was correctly initialized with the empty-request size, however the current element wasn't added. This should now be fixed
add 6216389 PLC4X-276 - [S7] The most of the supported types don't work correctly - Fixed this by extending the syntax for enum fields to allow providing a "field name" to use for serialization/deserialization
add 01bb98c - Finished the missing temporal types
add 12f497d PLC4X-272 When splitting up large requests, too big sub-requests are generated (S7) - When splitting up into more than one request, the new request was correctly initialized with the empty-request size, however the current element wasn't added. This should now be fixed
add d265090 - Fixed the RELEASE_NOTES
add 2e9c8a0 - Fixed the RELEASE_NOTES
add e9364d3 - Added Social-Media Release image template
add 4c1b1eb - Added Apache Header to release-image template
add 8d4e7f4 - Removed obsolete type
add 13abb57 - Removed more obsolete types
add d3b8528 Merge branch 'develop' into feature/integrate-pool2 Merge develop to have all the new patches
add 0fd4a3b moved to 0.9.0 version. The code is stable
add 5a677af Merge pull request #217 from apache/feature/integrate-pool2
add de28d49 Chached Poll doc
add 786b35e more details
add d73a0e7 Merge pull request #209 from foxpluto/develop
add d76684d - Managed the dependencies
add 4ad6c65 - Managed a dependency which was causing trouble - Renamed the connection cache module to output "Connection Cache" and not "Connection Pool" in the build summary
add 2e87379 - Updated Antlr4 version
add ba614c5 - Implemented the MemRead functionality for KNX - Implemented a demo to read a knx devices group-address table
add 81e038c - Implemented the reading and decoding of the group-addres association table.
add 900afea new documentation for Connection Cache
add 5cdd1eb connection cache doc page for the site
add d03cafb PLC4X-207 When a Handler Timeout occurs cancel the read future to notify the user.
add 3630729 PLC4X-265 Support for hex mapping of byte/byte[] values in XML test suites.
add e93b442 PLC4X-280 Fix position of fields in ADS discovery.
add 7f0e0f5 Merge branch 'develop' of https://github.com/apache/plc4x into develop
add db126a9 - Refactoring of the KNX LData messages - Finished a first working KNX Group-Address & ComObject discovery
add cedcc5e - Made the driver more robust against not 100% compliant devices
add 025278b - Added a missing service type "Routing"
add 7aaff13 - Refactored the callback-based operations
add 924f8bd - Enabled a full KNX network scan instead of one limited to my address-ranges
add 77cf3be hyphens
add c1cd2c4 updating webpage
add fd4a8e4 fix download link 0.7
add 26d37cb - Removed the length-check for the memory-read response handling
add e804483 - Started cleaining up before starting to work on the Modbus driver
add bc50bb2 - Implemented the field address parser for modbus addresses
add 468991b - Global refactoring of the way Modbus DataTypes are handled - Continued implementing the C Modbus driver
add 4a44400 - Added a 10ms sleep in case of not having any incoming data for modbus as otherwise the receive thread was going nuts.
add e09dce4 - Make the read-memory functionality more robust against misbehaving devices
add acc44f3 - Fixed a bug not processing group-addresses, if only one item is returned
add a89e27e - Add code to auto acknowledge unacknowledged knx messages (Hopefully preventing connection problems)
add ea60621 - Bumped the severity level of some log messages to simplify tracking down the issues.
add be96500 - Added some logging to the timer for the keep-alive to see if it's started multiple times.
add 4e51c34 - Disabled the keep alive timer completely
add 7b1bde5 - Fixed the way errors are reported (put the pushing of the result into the result pipe into a go-routine)
add e5c0f04 - Adjusted the write example the same way the read-example was updated
add 1e1506a - Finished implmenting the processing of Modbus read-responses in the PLC4C Modbus Driver
add 9b326b3 - Implemented active Group Address reads - Greatly refactored how the group-address reading works
add 62aa81c - Introduced a "BlockingClose" for usage with defer statements
add 5b8708f - Introduced a "BlockingClose" for usage with defer statements
add e35880b - Fixed the output of the example
add 7110f8f - Removed an unneeded log output.
add e296ad4 - Updated examples to register the drivers in a way that works outside the project.
add 42c3491 - Implemented Device Authentication - Implemented reading of Property Descriptions - Started implementing the code for reading of Com Object Tables
add 5838127 - Finetuned the go code generation.
add 89ad4b3 - Fixed a nasty bug in the sending of messages (related to an overflow in the counters) - Finished implementing the decoding of the Com Object Table for System B devices
add d09a029 - Implemented a tool to fetch all available KNX definitions from the KNX Foundations Servers - Added definitions for the System7 type com-object-table data - Refactored the API for Browse in PLC4Go - Refactored the API for Read/Write/Subscribe to allow adding of "field" object and renamed "addItem" to "addQuery"
add 5dfa12f - Finished Go KNX Auto-discovery
add 274f639 - Removed a duplicated type
add 95376fb Updated connection cache pom based on Cesar's comments.
add 6010dcd - Fixed a minor bug in the knx master-data mspec generation.
add 197183f - Fixed a bug only returning results for only one group address for a given com object in System7 devices
add ae74837 - Added an example for subscriptions in KNX - Fixed the code in KNX subscriptions to work if no datatype was provided
add b47a1b9 - Made the driver replace the "field" in case of a subscription event to replace the original field, which can contain patterns, with a concrete version with no patterns. So we can know where an event came from.
add 281d5d1 - Added a "RawPlcValue" type which allows lazy decoding of the payload if the type-information is not known at the time it's processed by the driver.
add 5764bf8 Updated some wording on the Kafka connector page
add ac37371 - Added a RawReset function to the RawPlcValue to allow multiple parser runs of the same raw value.
add 0841bff - Changed the PlcValueAdapter.go to support the list functions on all plc value types, by treating single item plc-values as one-element lists.
add 36a36d4 - Major cleanup of the KnxNetIpConnection type - Made the drivers automatically register their default transports
add 06fbedd - Updated the knx codec to check expectations for expirations, even if no message was received - Added a dedicated TimeoutError type to allow easy detection of timeout errors
add d4194ab - Clean up the read-memory function and the updating of the max pdu size, if a mem-read returns less than expected.
add 8a7548e - Clean up the read-memory function and the updating of the max pdu size, if a mem-read returns less than expected.
add 3142a57 - Worked on detecting bad connections.
add 591fd57 - Fixed the Firmata driver (The analog part now works again)
add 70041b7 - Removed unneeded import.
add 21350b3 - Removed unneeded import.
add 3dd2fc2 - Tried to resolve a strange problem only causing problems when compiling using gccgo
add 79363ba lebbing logo
add c9cb169 adding Lebbing Automation
add 5c0f1c5 golang type generator big.Int and big.Float support + initial ads generation
add 548104b remove debug statements from golang readbuffer
add b1dc1be - Added an execution of go fmt in the build - Fixed a bug in the error handling of generated XML code
add 64ea6de plc4go: add Makefile to wrap maven calls for non maven aware devs
add 5a3b74b plc4go: enabled test run with maven and reformatted missing code
add 74a1b00 plc4j: removed L from spec literal and added detection for long literals to java gernerator
add cb61dd8 plc4j: removed L from spec literal and added detection for long literals to java gernerator Part2 now with spec
add 4b679e8 plc4go: add WIP test files for ads and s7
add 6bba1b85 - Adjusted the execution times of the go maven plugin tools - Removed obsolete test-code (That actually wasn't test code)
add f011bd1 plc4go: severall fixes regarding code generation + math/big import will only be rendered when required + generated code will now contain a comment which will be interpreted by the IDE + reformated code with tabs again. We need to adjust code generation here somehow + added prober .editorconfig for .go
add e3f93c8 - Fixed the code generation issues for the new protocols
add 6681ae1 plc4go: added parameter parsing to DriverTestRunner.go
add 3fb3e19 plc4go: initial work on ads driver + introduced zerolog github.com/rs/zerolog + introduced errors github.com/pkg/errors + Added some logging to DriverTestRunner + Fixed bug where delay lead to panic
add c518f11 plc4go: Switch to zerolog + Fixed issues with tabs by adding tabs to golang ftlh templates + Fixed issue where generated header was missing + Fixed issue where fmt wasn proberly executed during maven cycle + added indent_style for ftlh
add 099073d plc4go: Enabled xunit report xml for jenkins
add 7220685 plc4go: Disable console logger as it wrecks the report.xml
add e37973f - Tried to make the KNX protocol always update the xml-masterdata.xml
add f74cab7 plc4go: Make build on test fail
add efdf83b plc4go: Only fail test after report was generated
add d0f4754 plc4go: Partial test fix + un/marshal uses hex base output now + DriverTestsuite.xml still contains base64
add 545aa26 plc4x: convert missing base64 to hex
add 3c8f681 plc4j: added deserializer to TestSuiteMappingModule.java
add 74609ac - Removed the setting to re-download the xml-masterdata.xml on every build as in case of multiple builds a day you tend to get banned.
add 4bd6dc0 - Updated the ads and can protocol modules to use hex-string encoded test-data
add 3bef3dd - Updated the s7 and can protocol modules to use hex-string encoded test-data
add 783526d - Updated the testsuite data in the go module
add 4b41850 - Deleted some super-old legacy test
add fad3741 Fix legacy transport name and unsubscribe request handling for CANopen.
add 04a50c1 added strtok_s define for windows
add 0e83ef3 Merge pull request #228 from thomas169/develop
add f7227ac - Updated the website-generation to use the updated skin with the new tooling for Apache events.
add e370de9 - Updated the commercial-support.adoc page (Replaced codecentric entry with c-ware (as I'm no longer affiliated with cc))
add bed7865 - Fixed my email address
add cd69c00 plc4go: Cleanup obsolete interface child Implementation meant a implements but was in fact a delegate attribute. So those got removed
add d9bb672 plc4go: Refactor, deduplicate package name out of code
add 0549216 plc4go: Removed obsolete interface delegates + added a readable test goal to Makefile + added Todos for DriverTestRunner.go
add 85efa27 plc4go: Improve error output on test failure + Provide a diff view for cases when the test fails
add c1d60ea plc4go: Change logger to text (only for unit tests) + Disable color when run from jenkins as the color instructions damage the xunit output
add 67de5ba Fix for opcua subscription
add db392a1 Change default Duration fo change of state to 0 seconds from 1 second.
add 5e00e3e Removed timestamp from write request.
add 1972936 Merge pull request #227 from apache/bug/opcua_subscription
add db1b7ea plc4go: Cleanup + Added knxnetip_driver_test.go and knxnetip_parser_serializer_test.go for intial skipped test runs + Deduplicated Package names out of struct names + Converted consts to camel case + Added timeout for timeout error + removed package shadowing on modbus/Reader.go + fixed several linter issues
add 1d2c3b3 plc4go: Fix missing method that broke the build
add d9615f8 plc4go: (Partial)Fix ordering issues when using maps - Skipped "Multi element read request" and "Array element read request" tests + Testsuite runner reports now sub-tests as proper tests to the golang testing framework + fixed issue where Read ran into a deadlock too soon due to writing in a not returned channel + Added MultiError.go to collect errors + Introduced name slices which keep the order of fields (and queries) + refined error messaging
add daafb92 plc4go: Skip modbus "Single element read request" test case All three of these tests seem to have timing issues were they sometimes run sometimes not
add a2197a2 plc4go: Improved ParserSerializerTestRunner.go with sub-test and skip + Testcases are now properly reported as sub tests + Added ability to skip test cases
add 6959bb5 plc4go: fix build by adding a header
add 34cd8e7 plc4go: refined logging + Added a convenience import to suppress too verbose logging for plc4go user which can be used like that `import _ "github.com/apache/plc4x/plc4go/pkg/plc4go/logging"` + Added log statements to driverManager.go
add 0c15bad plc4go: fix concurrency issue in testframework
add 88229f7 - Removed the "(incubating)" from IoTDB
add cced4ae plc4go: added more log statements + use wrapped errors for models + use code generation for const names + added several todos and minor fixes
add 13f6d24 plc4go: reactivated test by inserting artificial delay
add f273a35 plc4j: added skip support for DriverTestsuiteRunner and ParserSerializerTestsuiteRunner
add 66640cd - Changed the usage of the download-plugin to a groovy script that ensured the knx-master-data.xml is updated regularly without anoying the KNX foundation server
add 4bca718 - Disabled the string test in the ReadBuffer tests for plc4c as this seems to be failing on windows and needs investigating.
add 37fb82c plc4go: first ads driver draft + contains additional minor tweaks
add 92432a7 plc4go: work on ads driver + fixes on model-template.ftlh to enable complex types + fixes on enum-template.ftlh to allow usage of constants + DriverTestRunner.go now properly appends options + fixed possible deadlock in modbus driver + fixed possible deadlock in knx driver
add d875b78 plc4go: ads works now with a simple read + Fixed MultiError as it returned wrong type (TIL (*utils.MultiError = nil) != nil) + Fixed proper error handling on DriverTestRunner.go
add a80fbcb plc4go: use datatype length as read length
add e7385c7 plc4go: fix issue with unmarshalling on nested lists
add a507848 - Fixed the handling of DATE_AND_TIME variants of ADS in Go
add f42c2f6 Add support for variable strings and enum discriminators.
add 6479173 Integration test works with existing test protocol.
add bf60ab7 Cleaned up build-utils integration tests.
add 9eaf7ac Compiled the test protocol mspec in C
add 18355c2 Got enumerator discriminators working for for C
add 34a3012 Updated C and Go templates
add 1431989 Updated Enum Discriinator fields for C and Java.
add 5857e91 Merge branch 'develop' into feature/string_enum_mspec
add 409d940 Integration test is working in Go, sorting through some failed tests.
add cfea23f Minor changes
add 248ad21 Integration tests working for java,C and Go
add a83a6f0 Add additional tests to the test.mspec
add d222598 Commmit before refactoring
add 1711c17 Refactored the String length expression to a Term.
add bd4078e Updated the C branch with the String length expression.
add 35b8605 Fixed various formatting issues.
add febb418 Merge branch 'develop' into feature/string_enum_mspec
add b40f089 Removed the local repository requirements for the build-util modules.
add 1c311a0 Minor change
add 003c50b Merge pull request #230 from apache/feature/string_enum_mspec
add 49337d9 plc4go: ads first draft of symbolic addressing implemented + Test currently doesn't run due to issues on xml (un)marshalling
add 9cbe531 plc4go: fixed issue when unmarshaling list elements from xml
add 19b585f plc4go: ads symbolic resolving works (just in the wrong mode) + currently works in big endian opposed to the required little endian. Once this is resolved the ignore list entry for "Single element symbolic read request" can be removed
add 13579ee - Made the integration test use the matching version of CMake for the current operating system (Mac, Linux, Windows)
add e24c751 - Made sure the required artifacts are built first
add 84764a7 plc4x: prefix the suffix of language templates with their language suffix to better control editor config
add 72d3bed plc4x: fix .editorconfig for go templates
add 6d5406c plc4x: fix .editorconfig for java templates
add 7afa932 plc4go: ads symbolic resolving works now + Added little endian support (basic) in plc4go
add 59fba8a plc4go: fixes on ads symbolic resolving
add c4308d4 plc4go: partial multi read implementation
add a546a65 plc4go: presort imports to avoid unnecessary diffs
add 98b21c7 plc4go: implemented Stringer on models + models do have now a pretty String() + added a hex dumper to dump binary data as hex+string view + added a ascii boxer which renders data in ascii boxes
add 9a03516 plc4go: fixed Stringer not properly render childs on discriminators
add 03565df plc4go: Stringer now properly renders arrays
add ec1a16b plc4go: Ported ManualTestRunner.go from java
add e95c21f plc4go: ManualTestRunner.go now requires the user to construct the driver manager
add 6a4caf7 plc4go: fix build
add c8da58a - Make Maven tests skippable in Go
add 6370407 plc4go: fixed xml marshalling and unmarshalling on arrays
add bf1f1ba plc4go: let template emit required imports
add 4cad614 plc4go: revert xml element iteration to work only for complex types
add 043d6bc plc4go: enable last test for ads_driver_test.go
add 5c05147 plc4go: fix potential issue with occasional test failures
add 121856b plc4x: 5c051470 fixed issues in protocol-test for plc4go
add 3bf69e6 plc4x: use groovy version of parent pom for groovy-maven-plugin to avoid warnings with recent JDKs
add e5b4b44 plc4go: fix enum template handling of bool base type
new dd0e310 Merge branch 'develop' into feature/native_opua_client
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:
.editorconfig | 18 +
.gitignore | 12 +
build-utils/language-base-freemarker/pom.xml | 6 +
.../BaseFreemarkerLanguageTemplateHelper.java | 217 +-
build-utils/language-c/pom.xml | 35 +-
.../apache/plc4x/language/c/CLanguageOutput.java | 12 +-
.../plc4x/language/c/CLanguageTemplateHelper.java | 142 +-
...-io-template-c.ftlh => data-io-template.c.ftlh} | 146 +-
...-io-template-h.ftlh => data-io-template.h.ftlh} | 2 +-
.../{enum-template-c.ftlh => enum-template.c.ftlh} | 27 +-
.../{enum-template-h.ftlh => enum-template.h.ftlh} | 3 +-
.../{pojo-template-c.ftlh => pojo-template.c.ftlh} | 122 +-
.../{pojo-template-h.ftlh => pojo-template.h.ftlh} | 11 +
.../resources/integration-test}/CMakeLists.txt | 8 +-
.../generated-sources}/CMakeLists.txt | 5 +-
.../generated-sources/test}/CMakeLists.txt | 14 +-
.../src/test/resources/integration-test/pom.xml | 387 +
.../language-c/src/test/resources/settings.xml | 51 +
build-utils/language-go/pom.xml | 94 +-
.../apache/plc4x/language/go/GoLanguageOutput.java | 10 +-
.../language/go/GoLanguageTemplateHelper.java | 196 +-
.../resources/templates/go/data-io-template.ftlh | 228 -
.../templates/go/data-io-template.go.ftlh | 243 +
.../main/resources/templates/go/enum-template.ftlh | 159 -
.../resources/templates/go/enum-template.go.ftlh | 190 +
.../resources/templates/go/model-template.ftlh | 1048 -
.../resources/templates/go/model-template.go.ftlh | 1132 +
...mplate.ftlh => parser-factory-template.go.ftlh} | 47 +-
...te.ftlh => xml-parser-factory-template.go.ftlh} | 33 +-
.../language-go/src/test/resources/plc4go}/go.mod | 4 +-
.../language-go/src/test/resources/plc4go/pom.xml | 291 +
.../language-go/src/test/resources/settings.xml | 51 +
build-utils/language-java/pom.xml | 81 +-
.../plc4x/language/java/JavaLanguageOutput.java | 10 +-
.../language/java/JavaLanguageTemplateHelper.java | 179 +-
...io-template.ftlh => data-io-template.java.ftlh} | 45 +-
...e.ftlh => enum-package-info-template.java.ftlh} | 0
...{enum-template.ftlh => enum-template.java.ftlh} | 23 +-
.../{io-template.ftlh => io-template.java.ftlh} | 74 +-
...{pojo-template.ftlh => pojo-template.java.ftlh} | 17 +-
.../src/test/resources/integration-test/pom.xml | 205 +
.../language-java/src/test/resources/settings.xml | 51 +
build-utils/pom.xml | 23 +-
.../plugins/codegenerator/language/mspec/MSpec.g4 | 2 +-
.../definitions/DefaultDataIoTypeDefinition.java | 7 +
.../mspec/model/fields/DefaultEnumField.java | 8 +-
.../mspec/parser/MessageFormatListener.java | 28 +-
.../mspec/parser/MessageFormatParserTest.java | 3 +
.../src/test/resources/mspec.example | 47 +-
build-utils/protocol-test/pom.xml | 176 +-
.../src/main/resources/protocols/test/test.mspec | 337 +-
.../protocol-test/src/site/asciidoc/index.adoc | 4 +
go.mod | 5 +
go.sum | 100 +
media/release-image-template.svg | 879 +
plc4go/Makefile | 105 +
plc4go/README | 0
.../protocols/ads/AdsDiscoverySerializerTest.xml | 32 +-
.../testing}/protocols/ads/DriverTestsuite.xml | 18 +-
.../protocols/ads/ParserSerializerTestsuite.xml | 10 +-
.../knxnetip/ParserSerializerTestsuite.xml | 56 +-
.../testing/protocols/modbus/DriverTestsuite.xml | 24 +-
.../protocols/modbus/ParserSerializerTestsuite.xml | 15 +-
.../testing/protocols/s7/DriverTestsuite.xml | 8 +-
.../protocols/s7/ParserSerializerTestsuite.xml | 22 +-
plc4go/cmd/main/drivers/knxnetip_test.go | 320 -
plc4go/cmd/main/drivers/modbus_test.go | 213 -
plc4go/cmd/main/drivers/s7_test.go | 1 +
...arser_serializer_test.go => ads_driver_test.go} | 12 +-
...lizer_test.go => ads_parser_serializer_test.go} | 12 +-
.../cmd/main/drivers/tests/knx_discovery_test.go | 619 -
.../main/drivers/tests/knxnetip_driver_test.go} | 16 +-
..._test.go => knxnetip_parser_serializer_test.go} | 12 +-
.../main/drivers/tests/manual_ads_driver_test.go | 100 +
.../cmd/main/drivers/tests/modbus_driver_test.go | 11 +-
.../drivers/tests/modbus_parser_serializer_test.go | 9 +-
...parser_serializer_test.go => s7_driver_test.go} | 13 +-
...alizer_test.go => s7_parser_serializer_test.go} | 12 +-
.../main/initializetest/init.go} | 20 +-
.../discovery/hello_world_plc4go_knx_discovery.go | 165 +
.../hello_world_plc4go_knx_read_group_address.go} | 50 +-
.../hello_world_plc4go_knx_subscription.go | 114 +
plc4go/examples/read/hello_world_plc4go_read.go | 37 +-
plc4go/examples/write/hello_world_plc4go_write.go | 41 +-
plc4go/go.mod | 7 +-
plc4go/go.sum | 85 +-
plc4go/internal/plc4go/ads/Connection.go | 265 +
.../{modbus/ModbusDriver.go => ads/Driver.go} | 90 +-
plc4go/internal/plc4go/ads/Field.go | 208 +
plc4go/internal/plc4go/ads/FieldHandler.go | 161 +
plc4go/internal/plc4go/ads/MessageCodec.go | 217 +
plc4go/internal/plc4go/ads/Reader.go | 430 +
.../ModbusValueHandler.go => ads/ValueHandler.go} | 2 +-
plc4go/internal/plc4go/ads/Writer.go | 214 +
plc4go/internal/plc4go/ads/fieldtype_string.go | 54 +
.../internal/plc4go/ads/readwrite/ParserHelper.go | 67 +
.../plc4go/ads/readwrite/XmlParserHelper.go | 113 +
.../model/AdsAddDeviceNotificationRequest.go | 353 +
.../model/AdsAddDeviceNotificationResponse.go | 209 +
.../internal/plc4go/ads/readwrite/model/AdsData.go | 468 +
.../plc4go/ads/readwrite/model/AdsDataType.go | 723 +
.../model/AdsDeleteDeviceNotificationRequest.go | 181 +
.../model/AdsDeleteDeviceNotificationResponse.go | 180 +
.../model/AdsDeviceNotificationRequest.go | 259 +
.../model/AdsDeviceNotificationResponse.go | 151 +
.../ads/readwrite/model/AdsInvalidRequest.go | 151 +
.../ads/readwrite/model/AdsInvalidResponse.go | 151 +
.../ads/readwrite/model/AdsMultiRequestItem.go | 229 +
.../ads/readwrite/model/AdsMultiRequestItemRead.go | 235 +
.../model/AdsMultiRequestItemReadWrite.go | 264 +
.../readwrite/model/AdsMultiRequestItemWrite.go | 235 +
.../ads/readwrite/model/AdsNotificationSample.go | 228 +
.../readwrite/model/AdsReadDeviceInfoRequest.go | 151 +
.../readwrite/model/AdsReadDeviceInfoResponse.go | 315 +
.../plc4go/ads/readwrite/model/AdsReadRequest.go | 239 +
.../plc4go/ads/readwrite/model/AdsReadResponse.go | 245 +
.../ads/readwrite/model/AdsReadStateRequest.go | 151 +
.../ads/readwrite/model/AdsReadStateResponse.go | 238 +
.../ads/readwrite/model/AdsReadWriteRequest.go | 363 +
.../ads/readwrite/model/AdsReadWriteResponse.go | 245 +
.../plc4go/ads/readwrite/model/AdsStampHeader.go | 229 +
.../readwrite/model/AdsStaticHelper.go} | 17 +-
.../ads/readwrite/model/AdsWriteControlRequest.go | 275 +
.../ads/readwrite/model/AdsWriteControlResponse.go | 180 +
.../plc4go/ads/readwrite/model/AdsWriteRequest.go | 275 +
.../plc4go/ads/readwrite/model/AdsWriteResponse.go | 180 +
.../plc4go/ads/readwrite/model/AmsNetId.go | 290 +
.../plc4go/ads/readwrite/model/AmsPacket.go | 383 +
.../readwrite/model/AmsSerialAcknowledgeFrame.go | 290 +
.../plc4go/ads/readwrite/model/AmsSerialFrame.go | 316 +
.../ads/readwrite/model/AmsSerialResetFrame.go | 290 +
.../plc4go/ads/readwrite/model/AmsTCPPacket.go | 197 +
.../plc4go/ads/readwrite/model/CommandId.go | 174 +
.../plc4go/ads/readwrite/model/DataItem.go | 356 +
.../ads/readwrite/model/ReservedIndexGroups.go | 314 +
.../plc4go/ads/readwrite/model/ReturnCode.go | 958 +
.../internal/plc4go/ads/readwrite/model/State.go | 397 +
.../bacnetip/{BacnetIpDriver.go => Driver.go} | 2 +-
.../plc4go/bacnetip/readwrite/ParserHelper.go | 105 +-
.../plc4go/bacnetip/readwrite/XmlParserHelper.go | 185 +-
.../plc4go/bacnetip/readwrite/model/APDU.go | 457 +-
.../plc4go/bacnetip/readwrite/model/APDUAbort.go | 363 +-
.../bacnetip/readwrite/model/APDUComplexAck.go | 562 +-
.../readwrite/model/APDUConfirmedRequest.go | 727 +-
.../plc4go/bacnetip/readwrite/model/APDUError.go | 306 +-
.../plc4go/bacnetip/readwrite/model/APDUReject.go | 308 +-
.../bacnetip/readwrite/model/APDUSegmentAck.go | 473 +-
.../bacnetip/readwrite/model/APDUSimpleAck.go | 308 +-
.../readwrite/model/APDUUnconfirmedRequest.go | 251 +-
.../bacnetip/readwrite/model/ApplicationTag.go | 261 +-
.../bacnetip/readwrite/model/BACnetAddress.go | 249 +-
.../readwrite/model/BACnetConfirmedServiceACK.go | 625 +-
.../BACnetConfirmedServiceACKAtomicReadFile.go | 142 +-
.../BACnetConfirmedServiceACKAtomicWriteFile.go | 142 +-
...tConfirmedServiceACKConfirmedPrivateTransfer.go | 142 +-
.../model/BACnetConfirmedServiceACKCreateObject.go | 142 +-
.../BACnetConfirmedServiceACKGetAlarmSummary.go | 142 +-
...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 142 +-
...BACnetConfirmedServiceACKGetEventInformation.go | 142 +-
.../model/BACnetConfirmedServiceACKReadProperty.go | 142 +-
...ACnetConfirmedServiceACKReadPropertyMultiple.go | 142 +-
.../model/BACnetConfirmedServiceACKReadRange.go | 142 +-
...BACnetConfirmedServiceACKRemovedAuthenticate.go | 142 +-
...rmedServiceACKRemovedReadPropertyConditional.go | 142 +-
.../model/BACnetConfirmedServiceACKVTData.go | 142 +-
.../model/BACnetConfirmedServiceACKVTOpen.go | 142 +-
.../model/BACnetConfirmedServiceRequest.go | 1101 +-
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 142 +-
.../BACnetConfirmedServiceRequestAddListElement.go | 142 +-
.../BACnetConfirmedServiceRequestAtomicReadFile.go | 142 +-
...BACnetConfirmedServiceRequestAtomicWriteFile.go | 142 +-
...firmedServiceRequestConfirmedCOVNotification.go | 873 +-
...rviceRequestConfirmedCOVNotificationMultiple.go | 142 +-
...rmedServiceRequestConfirmedEventNotification.go | 142 +-
...firmedServiceRequestConfirmedPrivateTransfer.go | 142 +-
...tConfirmedServiceRequestConfirmedTextMessage.go | 142 +-
.../BACnetConfirmedServiceRequestCreateObject.go | 142 +-
.../BACnetConfirmedServiceRequestDeleteObject.go | 142 +-
...rmedServiceRequestDeviceCommunicationControl.go | 142 +-
...tConfirmedServiceRequestGetEnrollmentSummary.go | 142 +-
...etConfirmedServiceRequestGetEventInformation.go | 142 +-
...etConfirmedServiceRequestLifeSafetyOperation.go | 142 +-
.../BACnetConfirmedServiceRequestReadProperty.go | 475 +-
...tConfirmedServiceRequestReadPropertyMultiple.go | 142 +-
.../BACnetConfirmedServiceRequestReadRange.go | 142 +-
...netConfirmedServiceRequestReinitializeDevice.go | 142 +-
...CnetConfirmedServiceRequestRemoveListElement.go | 142 +-
...etConfirmedServiceRequestRemovedAuthenticate.go | 142 +-
...ServiceRequestRemovedReadPropertyConditional.go | 142 +-
...CnetConfirmedServiceRequestRemovedRequestKey.go | 142 +-
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 687 +-
...tConfirmedServiceRequestSubscribeCOVProperty.go | 142 +-
...edServiceRequestSubscribeCOVPropertyMultiple.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTClose.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTData.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTOpen.go | 142 +-
.../BACnetConfirmedServiceRequestWriteProperty.go | 677 +-
...ConfirmedServiceRequestWritePropertyMultiple.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BACnetError.go | 625 +-
.../readwrite/model/BACnetErrorAtomicReadFile.go | 142 +-
.../readwrite/model/BACnetErrorAtomicWriteFile.go | 142 +-
.../model/BACnetErrorConfirmedPrivateTransfer.go | 142 +-
.../readwrite/model/BACnetErrorCreateObject.go | 142 +-
.../readwrite/model/BACnetErrorGetAlarmSummary.go | 142 +-
.../model/BACnetErrorGetEnrollmentSummary.go | 142 +-
.../model/BACnetErrorGetEventInformation.go | 142 +-
.../readwrite/model/BACnetErrorReadProperty.go | 509 +-
.../model/BACnetErrorReadPropertyMultiple.go | 142 +-
.../readwrite/model/BACnetErrorReadRange.go | 142 +-
.../model/BACnetErrorRemovedAuthenticate.go | 142 +-
.../BACnetErrorRemovedReadPropertyConditional.go | 142 +-
.../bacnetip/readwrite/model/BACnetErrorVTData.go | 142 +-
.../bacnetip/readwrite/model/BACnetErrorVTOpen.go | 142 +-
.../bacnetip/readwrite/model/BACnetNetworkType.go | 233 +-
.../bacnetip/readwrite/model/BACnetNodeType.go | 387 +-
.../bacnetip/readwrite/model/BACnetNotifyType.go | 121 +-
.../bacnetip/readwrite/model/BACnetObjectType.go | 905 +-
.../bacnetip/readwrite/model/BACnetServiceAck.go | 625 +-
.../model/BACnetServiceAckAtomicReadFile.go | 142 +-
.../model/BACnetServiceAckAtomicWriteFile.go | 142 +-
.../BACnetServiceAckConfirmedPrivateTransfer.go | 142 +-
.../model/BACnetServiceAckCreateObject.go | 142 +-
.../model/BACnetServiceAckGetAlarmSummary.go | 142 +-
.../model/BACnetServiceAckGetEnrollmentSummary.go | 142 +-
.../model/BACnetServiceAckGetEventInformation.go | 142 +-
.../model/BACnetServiceAckReadProperty.go | 596 +-
.../model/BACnetServiceAckReadPropertyMultiple.go | 142 +-
.../readwrite/model/BACnetServiceAckReadRange.go | 142 +-
.../model/BACnetServiceAckRemovedAuthenticate.go | 142 +-
...CnetServiceAckRemovedReadPropertyConditional.go | 142 +-
.../readwrite/model/BACnetServiceAckVTData.go | 142 +-
.../readwrite/model/BACnetServiceAckVTOpen.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BACnetTag.go | 873 +-
.../model/BACnetTagApplicationBitString.go | 305 +-
.../readwrite/model/BACnetTagApplicationBoolean.go | 150 +-
.../model/BACnetTagApplicationCharacterString.go | 150 +-
.../readwrite/model/BACnetTagApplicationDate.go | 150 +-
.../readwrite/model/BACnetTagApplicationDouble.go | 209 +-
.../model/BACnetTagApplicationEnumerated.go | 250 +-
.../readwrite/model/BACnetTagApplicationNull.go | 150 +-
.../model/BACnetTagApplicationObjectIdentifier.go | 150 +-
.../model/BACnetTagApplicationOctetString.go | 150 +-
.../readwrite/model/BACnetTagApplicationReal.go | 209 +-
.../model/BACnetTagApplicationSignedInteger.go | 250 +-
.../readwrite/model/BACnetTagApplicationTime.go | 150 +-
.../model/BACnetTagApplicationUnsignedInteger.go | 250 +-
.../bacnetip/readwrite/model/BACnetTagContext.go | 250 +-
.../readwrite/model/BACnetTagWithContent.go | 612 +-
.../model/BACnetUnconfirmedServiceRequest.go | 569 +-
.../model/BACnetUnconfirmedServiceRequestIAm.go | 653 +-
.../model/BACnetUnconfirmedServiceRequestIHave.go | 142 +-
...UnconfirmedServiceRequestTimeSynchronization.go | 142 +-
...onfirmedServiceRequestUTCTimeSynchronization.go | 142 +-
...rmedServiceRequestUnconfirmedCOVNotification.go | 142 +-
...iceRequestUnconfirmedCOVNotificationMultiple.go | 142 +-
...edServiceRequestUnconfirmedEventNotification.go | 142 +-
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 492 +-
...onfirmedServiceRequestUnconfirmedTextMessage.go | 142 +-
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 544 +-
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 509 +-
.../BACnetUnconfirmedServiceRequestWriteGroup.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BVLC.go | 672 +-
.../model/BVLCDeleteForeignDeviceTableEntry.go | 142 +-
.../model/BVLCDistributeBroadcastToNetwork.go | 142 +-
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 337 +-
.../readwrite/model/BVLCOriginalBroadcastNPDU.go | 197 +-
.../readwrite/model/BVLCOriginalUnicastNPDU.go | 197 +-
.../model/BVLCReadBroadcastDistributionTable.go | 142 +-
.../model/BVLCReadBroadcastDistributionTableAck.go | 142 +-
.../readwrite/model/BVLCReadForeignDeviceTable.go | 142 +-
.../model/BVLCReadForeignDeviceTableAck.go | 142 +-
.../readwrite/model/BVLCRegisterForeignDevice.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BVLCResult.go | 142 +-
.../bacnetip/readwrite/model/BVLCSecureBVLL.go | 142 +-
.../model/BVLCWideBroadcastDistributionTable.go | 142 +-
.../plc4go/bacnetip/readwrite/model/NLM.go | 360 +-
.../readwrite/model/NLMIAmRouterToNetwork.go | 233 +-
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 233 +-
.../plc4go/bacnetip/readwrite/model/NPDU.go | 1162 +-
plc4go/internal/plc4go/knxnetip/Browser.go | 690 +
plc4go/internal/plc4go/knxnetip/Connection.go | 2068 ++
.../{KnxNetIpDiscoverer.go => Discoverer.go} | 26 +-
.../knxnetip/{KnxNetIpDriver.go => Driver.go} | 35 +-
plc4go/internal/plc4go/knxnetip/Field.go | 467 +
plc4go/internal/plc4go/knxnetip/FieldHandler.go | 146 +
.../plc4go/knxnetip/KnxNetIpActiveReader.go | 67 -
plc4go/internal/plc4go/knxnetip/KnxNetIpBrowser.go | 190 -
.../internal/plc4go/knxnetip/KnxNetIpConnection.go | 1244 --
plc4go/internal/plc4go/knxnetip/KnxNetIpField.go | 370 -
.../plc4go/knxnetip/KnxNetIpFieldHandler.go | 94 -
plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go | 246 -
.../internal/plc4go/knxnetip/KnxNetIpSubscriber.go | 167 -
.../{KnxNetIpMessageCodec.go => MessageCodec.go} | 105 +-
plc4go/internal/plc4go/knxnetip/Reader.go | 338 +
plc4go/internal/plc4go/knxnetip/Subscriber.go | 177 +
...IpSubscriptionEvent.go => SubscriptionEvent.go} | 20 +-
plc4go/internal/plc4go/knxnetip/Utils.go | 68 +-
.../plc4go/knxnetip/ValueDecoder.go} | 33 +-
.../{KnxNetIpValueHandler.go => ValueHandler.go} | 10 +-
.../knxnetip/{KnxNetIpWriter.go => Writer.go} | 17 +-
.../plc4go/knxnetip/readwrite/ParserHelper.go | 182 +-
.../plc4go/knxnetip/readwrite/XmlParserHelper.go | 465 +-
.../plc4go/knxnetip/readwrite/model/AccessLevel.go | 198 +
.../plc4go/knxnetip/readwrite/model/Apdu.go | 431 +-
.../plc4go/knxnetip/readwrite/model/ApduControl.go | 349 +-
.../knxnetip/readwrite/model/ApduControlAck.go | 142 +-
.../knxnetip/readwrite/model/ApduControlConnect.go | 142 +-
.../readwrite/model/ApduControlContainer.go | 204 +-
.../readwrite/model/ApduControlDisconnect.go | 142 +-
.../knxnetip/readwrite/model/ApduControlNack.go | 142 +-
.../plc4go/knxnetip/readwrite/model/ApduData.go | 681 +-
.../knxnetip/readwrite/model/ApduDataAdcRead.go | 142 +-
.../readwrite/model/ApduDataAdcResponse.go | 142 +-
.../knxnetip/readwrite/model/ApduDataContainer.go | 204 +-
.../model/ApduDataDeviceDescriptorRead.go | 203 +-
.../model/ApduDataDeviceDescriptorResponse.go | 295 +-
.../plc4go/knxnetip/readwrite/model/ApduDataExt.go | 1381 +-
.../readwrite/model/ApduDataExtAuthorizeRequest.go | 215 +-
.../model/ApduDataExtAuthorizeResponse.go | 176 +-
.../model/ApduDataExtDomainAddressRead.go | 142 +-
.../model/ApduDataExtDomainAddressResponse.go | 142 +-
.../model/ApduDataExtDomainAddressSelectiveRead.go | 142 +-
.../ApduDataExtDomainAddressSerialNumberRead.go | 142 +-
...ApduDataExtDomainAddressSerialNumberResponse.go | 142 +-
.../ApduDataExtDomainAddressSerialNumberWrite.go | 142 +-
.../model/ApduDataExtDomainAddressWrite.go | 142 +-
.../model/ApduDataExtFileStreamInfoReport.go | 142 +-
.../ApduDataExtGroupPropertyValueInfoReport.go | 142 +-
.../model/ApduDataExtGroupPropertyValueRead.go | 142 +-
.../model/ApduDataExtGroupPropertyValueResponse.go | 142 +-
.../model/ApduDataExtGroupPropertyValueWrite.go | 142 +-
...ApduDataExtIndividualAddressSerialNumberRead.go | 142 +-
...DataExtIndividualAddressSerialNumberResponse.go | 142 +-
...pduDataExtIndividualAddressSerialNumberWrite.go | 142 +-
.../readwrite/model/ApduDataExtKeyResponse.go | 142 +-
.../readwrite/model/ApduDataExtKeyWrite.go | 142 +-
.../readwrite/model/ApduDataExtLinkRead.go | 142 +-
.../readwrite/model/ApduDataExtLinkResponse.go | 142 +-
.../readwrite/model/ApduDataExtLinkWrite.go | 142 +-
.../readwrite/model/ApduDataExtMemoryBitWrite.go | 142 +-
.../model/ApduDataExtNetworkParameterRead.go | 142 +-
.../model/ApduDataExtNetworkParameterResponse.go | 142 +-
.../model/ApduDataExtNetworkParameterWrite.go | 142 +-
.../model/ApduDataExtOpenRoutingTableRequest.go | 142 +-
.../model/ApduDataExtPropertyDescriptionRead.go | 234 +-
.../ApduDataExtPropertyDescriptionResponse.go | 425 +-
.../model/ApduDataExtPropertyValueRead.go | 368 +-
.../model/ApduDataExtPropertyValueResponse.go | 449 +-
.../model/ApduDataExtPropertyValueWrite.go | 302 +-
.../model/ApduDataExtReadRouterMemoryRequest.go | 142 +-
.../model/ApduDataExtReadRouterMemoryResponse.go | 142 +-
.../model/ApduDataExtReadRouterStatusRequest.go | 142 +-
.../model/ApduDataExtReadRouterStatusResponse.go | 142 +-
.../model/ApduDataExtReadRoutingTableRequest.go | 142 +-
.../model/ApduDataExtReadRoutingTableResponse.go | 142 +-
.../model/ApduDataExtWriteRouterMemoryRequest.go | 142 +-
.../model/ApduDataExtWriteRouterStatusRequest.go | 142 +-
.../model/ApduDataExtWriteRoutingTableRequest.go | 142 +-
.../readwrite/model/ApduDataGroupValueRead.go | 171 +-
.../readwrite/model/ApduDataGroupValueResponse.go | 228 +-
.../readwrite/model/ApduDataGroupValueWrite.go | 295 +-
.../model/ApduDataIndividualAddressRead.go | 142 +-
.../model/ApduDataIndividualAddressResponse.go | 142 +-
.../model/ApduDataIndividualAddressWrite.go | 142 +-
.../knxnetip/readwrite/model/ApduDataMemoryRead.go | 205 +-
.../readwrite/model/ApduDataMemoryResponse.go | 232 +-
.../readwrite/model/ApduDataMemoryWrite.go | 142 +-
.../knxnetip/readwrite/model/ApduDataOther.go | 197 +-
.../knxnetip/readwrite/model/ApduDataRestart.go | 142 +-
.../readwrite/model/ApduDataUserMessage.go | 142 +-
.../plc4go/knxnetip/readwrite/model/CEMI.go | 877 +-
.../readwrite/model/CEMIAdditionalInformation.go | 293 +-
.../CEMIAdditionalInformationBusmonitorInfo.go | 514 +-
.../CEMIAdditionalInformationRelativeTimestamp.go | 237 +-
.../knxnetip/readwrite/model/CEMIPriority.go | 135 +-
.../knxnetip/readwrite/model/ChannelInformation.go | 219 +-
.../knxnetip/readwrite/model/ComObjectTable.go | 229 +
.../readwrite/model/ComObjectTableAddresses.go | 18879 ++++++++++++++++
.../model/ComObjectTableRealisationType1.go | 255 +
.../model/ComObjectTableRealisationType2.go | 255 +
.../model/ComObjectTableRealisationType6.go | 176 +
.../knxnetip/readwrite/model/ComObjectValueType.go | 278 +
.../knxnetip/readwrite/model/ConnectionRequest.go | 307 +-
.../model/ConnectionRequestInformation.go | 322 +-
...ConnectionRequestInformationDeviceManagement.go | 142 +-
...ConnectionRequestInformationTunnelConnection.go | 251 +-
.../knxnetip/readwrite/model/ConnectionResponse.go | 402 +-
.../readwrite/model/ConnectionResponseDataBlock.go | 322 +-
.../ConnectionResponseDataBlockDeviceManagement.go | 142 +-
.../ConnectionResponseDataBlockTunnelConnection.go | 197 +-
.../readwrite/model/ConnectionStateRequest.go | 306 +-
.../readwrite/model/ConnectionStateResponse.go | 256 +-
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 670 +-
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 306 +-
.../knxnetip/readwrite/model/DescriptionRequest.go | 197 +-
.../readwrite/model/DescriptionResponse.go | 254 +-
.../readwrite/model/DeviceConfigurationAck.go | 197 +-
.../model/DeviceConfigurationAckDataBlock.go | 303 +-
.../readwrite/model/DeviceConfigurationRequest.go | 254 +-
.../model/DeviceConfigurationRequestDataBlock.go | 304 +-
.../knxnetip/readwrite/model/DeviceDescriptor.go | 558 +
.../readwrite/model/DeviceDescriptorMediumType.go | 163 +-
.../readwrite/model/DeviceDescriptorType0.go | 476 -
.../readwrite/model/DeviceDescriptorType2.go | 623 +-
.../knxnetip/readwrite/model/DeviceStatus.go | 222 +-
.../knxnetip/readwrite/model/DisconnectRequest.go | 306 +-
.../knxnetip/readwrite/model/DisconnectResponse.go | 256 +-
.../knxnetip/readwrite/model/FirmwareType.go | 334 +-
.../model/GroupObjectDescriptorRealisationType1.go | 368 +
.../model/GroupObjectDescriptorRealisationType2.go | 369 +
.../model/GroupObjectDescriptorRealisationType6.go | 127 +
.../model/GroupObjectDescriptorRealisationType7.go | 369 +
.../model/GroupObjectDescriptorRealisationTypeB.go | 342 +
.../readwrite/model/HPAIControlEndpoint.go | 301 +-
.../knxnetip/readwrite/model/HPAIDataEndpoint.go | 301 +-
.../readwrite/model/HPAIDiscoveryEndpoint.go | 301 +-
.../knxnetip/readwrite/model/HostProtocolCode.go | 107 +-
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 209 +-
.../plc4go/knxnetip/readwrite/model/KnxAddress.go | 274 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 22317 +++++++++----------
.../readwrite/model/KnxDatapointMainType.go | 2139 +-
.../knxnetip/readwrite/model/KnxDatapointType.go | 11883 +++++-----
.../knxnetip/readwrite/model/KnxGroupAddress.go | 291 +-
.../readwrite/model/KnxGroupAddress2Level.go | 258 +-
.../readwrite/model/KnxGroupAddress3Level.go | 313 +-
.../readwrite/model/KnxGroupAddressFreeLevel.go | 203 +-
.../readwrite/model/KnxInterfaceObjectProperty.go | 9204 ++++----
.../readwrite/model/KnxInterfaceObjectType.go | 806 +-
.../plc4go/knxnetip/readwrite/model/KnxLayer.go | 121 +-
.../knxnetip/readwrite/model/KnxManufacturer.go | 15320 +++++++------
.../plc4go/knxnetip/readwrite/model/KnxMedium.go | 163 +-
.../knxnetip/readwrite/model/KnxNetIpCore.go | 203 +-
.../readwrite/model/KnxNetIpDeviceManagement.go | 203 +-
.../knxnetip/readwrite/model/KnxNetIpMessage.go | 787 +-
.../knxnetip/readwrite/model/KnxNetIpRouting.go | 177 +
.../knxnetip/readwrite/model/KnxNetIpTunneling.go | 203 +-
.../knxnetip/readwrite/model/KnxNetObjectServer.go | 203 +-
.../model/KnxNetRemoteConfigurationAndDiagnosis.go | 203 +-
.../readwrite/model/KnxNetRemoteLogging.go | 203 +-
.../plc4go/knxnetip/readwrite/model/KnxProperty.go | 2778 +--
.../readwrite/model/KnxPropertyDataType.go | 1869 +-
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 438 +-
.../plc4go/knxnetip/readwrite/model/LDataCon.go | 365 +-
.../knxnetip/readwrite/model/LDataExtended.go | 365 +
.../plc4go/knxnetip/readwrite/model/LDataFrame.go | 618 +-
.../knxnetip/readwrite/model/LDataFrameACK.go | 156 +
.../knxnetip/readwrite/model/LDataFrameData.go | 301 -
.../knxnetip/readwrite/model/LDataFrameDataExt.go | 329 -
.../readwrite/model/LDataFramePollingData.go | 272 -
.../plc4go/knxnetip/readwrite/model/LDataInd.go | 365 +-
.../plc4go/knxnetip/readwrite/model/LDataReq.go | 365 +-
.../plc4go/knxnetip/readwrite/model/LPollData.go | 288 +
.../knxnetip/readwrite/model/LPollDataCon.go | 142 +-
.../knxnetip/readwrite/model/LPollDataReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawCon.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawInd.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 209 +-
.../readwrite/model/MFuncPropCommandReq.go | 142 +-
.../knxnetip/readwrite/model/MFuncPropCon.go | 142 +-
.../readwrite/model/MFuncPropStateReadReq.go | 142 +-
.../knxnetip/readwrite/model/MPropInfoInd.go | 142 +-
.../knxnetip/readwrite/model/MPropReadCon.go | 478 +-
.../knxnetip/readwrite/model/MPropReadReq.go | 423 +-
.../knxnetip/readwrite/model/MPropWriteCon.go | 142 +-
.../knxnetip/readwrite/model/MPropWriteReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MResetInd.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MResetReq.go | 142 +-
.../model/ProjectInstallationIdentifier.go | 219 +-
.../knxnetip/readwrite/model/RelativeTimestamp.go | 168 +-
.../knxnetip/readwrite/model/RoutingIndication.go | 142 +-
.../knxnetip/readwrite/model/SearchRequest.go | 197 +-
.../knxnetip/readwrite/model/SearchResponse.go | 307 +-
.../plc4go/knxnetip/readwrite/model/ServiceId.go | 415 +-
.../plc4go/knxnetip/readwrite/model/Status.go | 247 +-
.../readwrite/model/SupportedPhysicalMedia.go | 694 +-
.../knxnetip/readwrite/model/TDataConnectedInd.go | 142 +-
.../knxnetip/readwrite/model/TDataConnectedReq.go | 142 +-
.../knxnetip/readwrite/model/TDataIndividualInd.go | 142 +-
.../knxnetip/readwrite/model/TDataIndividualReq.go | 142 +-
.../knxnetip/readwrite/model/TunnelingRequest.go | 254 +-
.../readwrite/model/TunnelingRequestDataBlock.go | 304 +-
.../knxnetip/readwrite/model/TunnelingResponse.go | 197 +-
.../readwrite/model/TunnelingResponseDataBlock.go | 303 +-
.../knxnetip/readwrite/model/UnknownMessage.go | 240 +-
.../modbus/{ModbusConnection.go => Connection.go} | 88 +-
.../plc4go/modbus/{ModbusDriver.go => Driver.go} | 47 +-
.../plc4go/modbus/{ModbusField.go => Field.go} | 53 +-
.../{ModbusFieldHandler.go => FieldHandler.go} | 57 +-
plc4go/internal/plc4go/modbus/MessageCodec.go | 216 +
.../internal/plc4go/modbus/ModbusMessageCodec.go | 184 -
plc4go/internal/plc4go/modbus/ModbusReader.go | 194 -
plc4go/internal/plc4go/modbus/Reader.go | 216 +
.../{ModbusValueHandler.go => ValueHandler.go} | 0
.../plc4go/modbus/{ModbusWriter.go => Writer.go} | 121 +-
plc4go/internal/plc4go/modbus/fieldtype_string.go | 58 +
.../plc4go/modbus/readwrite/ParserHelper.go | 73 +-
.../plc4go/modbus/readwrite/XmlParserHelper.go | 129 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 1244 +-
.../modbus/readwrite/model/ModbusConstants.go | 155 +-
.../modbus/readwrite/model/ModbusDataType.go | 410 +
.../modbus/readwrite/model/ModbusDataTypeSizes.go | 348 -
.../modbus/readwrite/model/ModbusErrorCode.go | 219 +-
.../plc4go/modbus/readwrite/model/ModbusPDU.go | 1357 +-
.../readwrite/model/ModbusPDUDiagnosticRequest.go | 262 +-
.../readwrite/model/ModbusPDUDiagnosticResponse.go | 262 +-
.../modbus/readwrite/model/ModbusPDUError.go | 207 +-
.../model/ModbusPDUGetComEventCounterRequest.go | 146 +-
.../model/ModbusPDUGetComEventCounterResponse.go | 262 +-
.../model/ModbusPDUGetComEventLogRequest.go | 146 +-
.../model/ModbusPDUGetComEventLogResponse.go | 440 +-
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 317 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 317 +-
.../readwrite/model/ModbusPDUReadCoilsRequest.go | 262 +-
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 275 +-
.../ModbusPDUReadDeviceIdentificationRequest.go | 146 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 146 +-
.../model/ModbusPDUReadDiscreteInputsRequest.go | 262 +-
.../model/ModbusPDUReadDiscreteInputsResponse.go | 275 +-
.../model/ModbusPDUReadExceptionStatusRequest.go | 146 +-
.../model/ModbusPDUReadExceptionStatusResponse.go | 207 +-
.../model/ModbusPDUReadFifoQueueRequest.go | 207 +-
.../model/ModbusPDUReadFifoQueueResponse.go | 295 +-
.../model/ModbusPDUReadFileRecordRequest.go | 294 +-
.../model/ModbusPDUReadFileRecordRequestItem.go | 325 +-
.../model/ModbusPDUReadFileRecordResponse.go | 294 +-
.../model/ModbusPDUReadFileRecordResponseItem.go | 295 +-
.../model/ModbusPDUReadHoldingRegistersRequest.go | 262 +-
.../model/ModbusPDUReadHoldingRegistersResponse.go | 275 +-
.../model/ModbusPDUReadInputRegistersRequest.go | 262 +-
.../model/ModbusPDUReadInputRegistersResponse.go | 275 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 495 +-
...PDUReadWriteMultipleHoldingRegistersResponse.go | 275 +-
.../model/ModbusPDUReportServerIdRequest.go | 146 +-
.../model/ModbusPDUReportServerIdResponse.go | 275 +-
.../model/ModbusPDUWriteFileRecordRequest.go | 294 +-
.../model/ModbusPDUWriteFileRecordRequestItem.go | 397 +-
.../model/ModbusPDUWriteFileRecordResponse.go | 294 +-
.../model/ModbusPDUWriteFileRecordResponseItem.go | 397 +-
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 385 +-
.../model/ModbusPDUWriteMultipleCoilsResponse.go | 262 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 385 +-
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 262 +-
.../model/ModbusPDUWriteSingleCoilRequest.go | 262 +-
.../model/ModbusPDUWriteSingleCoilResponse.go | 262 +-
.../model/ModbusPDUWriteSingleRegisterRequest.go | 262 +-
.../model/ModbusPDUWriteSingleRegisterResponse.go | 262 +-
.../modbus/readwrite/model/ModbusSerialADU.go | 373 +-
.../plc4go/modbus/readwrite/model/ModbusTcpADU.go | 339 +-
.../internal/plc4go/s7/{S7Driver.go => Driver.go} | 2 +-
.../internal/plc4go/s7/readwrite/ParserHelper.go | 123 +-
.../plc4go/s7/readwrite/XmlParserHelper.go | 213 +-
.../plc4go/s7/readwrite/model/COTPPacket.go | 626 +-
.../readwrite/model/COTPPacketConnectionRequest.go | 315 +-
.../model/COTPPacketConnectionResponse.go | 315 +-
.../plc4go/s7/readwrite/model/COTPPacketData.go | 260 +-
.../readwrite/model/COTPPacketDisconnectRequest.go | 315 +-
.../model/COTPPacketDisconnectResponse.go | 260 +-
.../s7/readwrite/model/COTPPacketTpduError.go | 260 +-
.../plc4go/s7/readwrite/model/COTPParameter.go | 400 +-
.../s7/readwrite/model/COTPParameterCalledTsap.go | 203 +-
.../s7/readwrite/model/COTPParameterCallingTsap.go | 203 +-
.../s7/readwrite/model/COTPParameterChecksum.go | 203 +-
...COTPParameterDisconnectAdditionalInformation.go | 229 +-
.../s7/readwrite/model/COTPParameterTpduSize.go | 203 +-
.../plc4go/s7/readwrite/model/COTPProtocolClass.go | 149 +-
.../plc4go/s7/readwrite/model/COTPTpduSize.go | 240 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 944 +-
.../s7/readwrite/model/DataTransportErrorCode.go | 163 +-
.../plc4go/s7/readwrite/model/DataTransportSize.go | 240 +-
.../plc4go/s7/readwrite/model/DeviceGroup.go | 121 +-
.../plc4go/s7/readwrite/model/MemoryArea.go | 282 +-
.../plc4go/s7/readwrite/model/S7Address.go | 265 +-
.../plc4go/s7/readwrite/model/S7AddressAny.go | 528 +-
.../plc4go/s7/readwrite/model/S7Message.go | 690 +-
.../plc4go/s7/readwrite/model/S7MessageRequest.go | 148 +-
.../plc4go/s7/readwrite/model/S7MessageResponse.go | 262 +-
.../s7/readwrite/model/S7MessageResponseData.go | 262 +-
.../plc4go/s7/readwrite/model/S7MessageUserData.go | 148 +-
.../plc4go/s7/readwrite/model/S7Parameter.go | 403 +-
.../readwrite/model/S7ParameterReadVarRequest.go | 286 +-
.../readwrite/model/S7ParameterReadVarResponse.go | 205 +-
.../model/S7ParameterSetupCommunication.go | 365 +-
.../s7/readwrite/model/S7ParameterUserData.go | 286 +-
.../s7/readwrite/model/S7ParameterUserDataItem.go | 265 +-
.../model/S7ParameterUserDataItemCPUFunctions.go | 673 +-
.../readwrite/model/S7ParameterWriteVarRequest.go | 286 +-
.../readwrite/model/S7ParameterWriteVarResponse.go | 205 +-
.../plc4go/s7/readwrite/model/S7Payload.go | 321 +-
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 253 +-
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 255 +-
.../s7/readwrite/model/S7PayloadUserDataItem.go | 498 +-
...PayloadUserDataItemCpuFunctionReadSzlRequest.go | 150 +-
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 314 +-
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 253 +-
.../readwrite/model/S7PayloadWriteVarResponse.go | 243 +-
.../s7/readwrite/model/S7VarPayloadDataItem.go | 402 +-
.../s7/readwrite/model/S7VarPayloadStatusItem.go | 168 +-
.../readwrite/model/S7VarRequestParameterItem.go | 265 +-
.../model/S7VarRequestParameterItemAddress.go | 232 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 413 +-
plc4go/internal/plc4go/s7/readwrite/model/SzlId.go | 274 +-
.../s7/readwrite/model/SzlModuleTypeClass.go | 135 +-
.../plc4go/s7/readwrite/model/SzlSublist.go | 345 +-
.../plc4go/s7/readwrite/model/TPKTPacket.go | 287 +-
.../plc4go/s7/readwrite/model/TransportSize.go | 2078 +-
plc4go/internal/plc4go/spi/MessageCodec.go | 7 +-
plc4go/internal/plc4go/spi/PlcBrowser.go | 9 +
.../interceptors/SingleItemRequestInterceptor.go | 26 +-
.../plc4go/spi/model/DefaultBrowseRequest.go | 7 +-
.../plc4go/spi/model/DefaultPlcReadRequest.go | 92 +-
.../plc4go/spi/model/DefaultPlcReadResponse.go | 8 +-
.../spi/model/DefaultPlcSubscriptionEvent.go | 3 +-
.../spi/model/DefaultPlcSubscriptionRequest.go | 70 +-
.../spi/model/DefaultPlcSubscriptionResponse.go | 12 +-
.../plc4go/spi/model/DefaultPlcWriteRequest.go | 68 +-
.../plc4go/spi/model/DefaultPlcWriteResponse.go | 8 +-
.../plcerrors/TimeoutError.go} | 17 +-
.../plc4go/spi/testutils/DriverTestRunner.go | 307 +-
.../plc4go/spi/testutils/ManualTestRunner.go | 170 +
.../spi/testutils/ParserSerializerTestRunner.go | 164 +-
plc4go/internal/plc4go/spi/testutils/TestUtils.go | 10 +-
.../plc4go/spi/testutils/steptype_string.go | 48 +
.../tcp/{TcpTransport.go => Transport.go} | 118 +-
.../test/{TestTransport.go => Transport.go} | 55 +-
.../udp/{UdpTransport.go => Transport.go} | 123 +-
plc4go/internal/plc4go/spi/utils/CastUtils.go | 25 +
.../spi/{PlcBrowser.go => utils/MultiError.go} | 29 +-
plc4go/internal/plc4go/spi/utils/ReadBuffer.go | 164 +-
.../internal/plc4go/spi/utils/ReadBuffer_test.go | 943 +
plc4go/internal/plc4go/spi/utils/Utils.go | 1 +
plc4go/internal/plc4go/spi/utils/WriteBuffer.go | 68 +-
plc4go/internal/plc4go/spi/utils/asciiBox.go | 218 +
plc4go/internal/plc4go/spi/utils/asciiBox_test.go | 498 +
plc4go/internal/plc4go/spi/utils/hex.go | 127 +
plc4go/internal/plc4go/spi/utils/hex_test.go | 168 +
plc4go/internal/plc4go/spi/values/BINT.go | 145 +
plc4go/internal/plc4go/spi/values/BREAL.go | 173 +
.../plc4go/spi/values/IEC61131ValueHandler.go | 46 +-
plc4go/internal/plc4go/spi/values/PlcBitString.go | 9 +-
plc4go/internal/plc4go/spi/values/PlcList.go | 2 +-
plc4go/internal/plc4go/spi/values/PlcStruct.go | 2 +-
.../internal/plc4go/spi/values/PlcValueAdapter.go | 9 +-
plc4go/internal/plc4go/spi/values/RawPlcValue.go | 91 +
plc4go/pkg/plc4go/connection.go | 2 +
plc4go/pkg/plc4go/driverManager.go | 63 +-
plc4go/pkg/plc4go/drivers/drivers.go | 13 +-
.../plc4go/logging/init.go} | 40 +-
plc4go/pkg/plc4go/model/plc_browse.go | 17 +-
plc4go/pkg/plc4go/model/plc_field.go | 1 +
plc4go/pkg/plc4go/model/plc_read.go | 3 +-
plc4go/pkg/plc4go/model/plc_response_code.go | 8 +-
plc4go/pkg/plc4go/model/plc_subscription.go | 9 +-
plc4go/pkg/plc4go/model/plc_write.go | 7 +-
plc4go/pkg/plc4go/transports/transports.go | 4 +-
plc4go/pkg/plc4go/values/plc_value.go | 15 +
plc4go/pom.xml | 255 +-
.../plc4x/java/canopen/CANOpenPlcDriver.java | 2 +-
.../canopen/protocol/CANOpenProtocolLogic.java | 15 +
.../plc4x/java/eip/readwrite/field/EipField.java | 28 +-
.../readwrite/EIPParserSerializerTestsuite.java | 2 +-
.../readwrite/context/FirmataDriverContext.java | 11 +-
.../readwrite/protocol/FirmataProtocolLogic.java | 5 +-
.../knxnetip/protocol/KnxNetIpProtocolLogic.java | 23 +-
.../java/modbus/field/ModbusExtendedRegister.java | 9 +-
.../plc4x/java/modbus/field/ModbusField.java | 21 +-
.../plc4x/java/modbus/field/ModbusFieldCoil.java | 9 +-
.../modbus/field/ModbusFieldDiscreteInput.java | 9 +-
.../modbus/field/ModbusFieldHoldingRegister.java | 9 +-
.../modbus/field/ModbusFieldInputRegister.java | 9 +-
.../java/modbus/protocol/ModbusProtocolLogic.java | 12 +-
.../plc4x/java/modbus/ModbusFieldDataTypeTest.java | 10 +-
.../opcua/connection/OpcuaTcpPlcConnection.java | 919 +
.../apache/plc4x/java/opcua/field/OpcuaField.java | 15 +-
.../java/opcua/protocol/OpcuaProtocolLogic.java | 59 +-
.../opcua/protocol/OpcuaSubscriptionHandle.java | 175 +-
plc4j/drivers/s7/pom.xml | 4 +
.../plc4x/java/s7/readwrite/field/S7Field.java | 6 +-
.../s7/readwrite/protocol/S7ProtocolLogic.java | 201 +-
.../s7/src/{main => test}/resources/logback.xml | 0
.../hello-world-plc4x-subscription/pom.xml | 5 -
.../subscription/HelloPlc4xSubscription.java | 13 +-
plc4j/integrations/apache-kafka/pom.xml | 8 +-
.../plc4x/java/spi/optimizer/BaseOptimizer.java | 5 +-
plc4j/tools/connection-cache/pom.xml | 98 +
.../utils/connectionpool2/CachedDriverManager.java | 348 +
.../connectionpool2/CachedDriverManagerMBean.java | 26 +-
.../utils/connectionpool2/CachedPlcConnection.java | 227 +
.../utils/connectionpool2/CachedReadRequest.java | 71 +
.../connectionpool2/CachedReadRequestBuilder.java | 58 +
.../connectionpool2/PlcConnectionFactory.java | 28 +-
.../utils/connectionpool2/PooledDriverManager.java | 91 +
.../connectionpool2/PooledDriverManagerMBean.java | 13 +-
.../connectionpool2/CachedDriverManagerIT.java | 76 +
.../connectionpool2/CachedDriverManagerMT.java | 132 +
.../connectionpool2/CachedDriverManagerTest.java | 246 +
.../connectionpool2/CachedPlcConnectionTest.java | 106 +
.../connectionpool2/PooledDriverManagerTest.java | 53 +
.../connection-cache/src/test/resources/log4j2.xml | 34 +
plc4j/tools/pom.xml | 1 +
.../org/apache/plc4x/test/XmlTestsuiteRunner.java | 70 +
.../test/dom4j/LocationAwareDocumentFactory.java | 37 +-
.../plc4x/test/dom4j/LocationAwareElement.java | 33 +-
.../test/dom4j/LocationAwareSAXContentHandler.java | 49 +
.../plc4x/test/dom4j/LocationAwareSAXReader.java | 35 +-
.../plc4x/test/driver/DriverTestsuiteRunner.java | 57 +-
.../plc4x/test/driver/model/DriverTestsuite.java | 3 -
.../apache/plc4x/test/driver/model/TestStep.java | 15 +-
.../apache/plc4x/test/driver/model/Testcase.java | 16 +-
.../org/apache/plc4x/test/manual/ManualTest.java | 12 +-
.../plc4x/test/mapper/TestSuiteMappingModule.java | 105 +
.../java/org/apache/plc4x/test/model/Location.java | 34 +-
.../org/apache/plc4x/test/model/LocationAware.java | 33 +-
.../ParserSerializerTestsuiteRunner.java | 68 +-
.../test/parserserializer/model/Testcase.java | 14 +-
pom.xml | 168 +-
.../resources/protocols/ads/ads-discovery.mspec | 12 +-
.../ads/src/main/resources/protocols/ads/ads.mspec | 159 +-
.../protocols/ads/AdsDiscoverySerializerTest.xml | 32 +-
.../resources/protocols/ads/DriverTestsuite.xml | 18 +-
.../protocols/ads/ParserSerializerTestsuite.xml | 10 +-
.../src/main/resources/protocols/can/canopen.mspec | 111 +-
.../protocols/canopen/CANOpenDriverSDOIT.xml | 16 +-
.../protocols/canopen/CANOpenPayloadTestSuite.xml | 12 +-
.../canopen/CANOpenWiresharkTestSuite.xml | 6 +-
.../resources/protocols/eip/DriverTestsuite.xml | 41 +-
.../protocols/eip/ParserSerializerTestsuite.xml | 24 +-
.../firmata/ParserSerializerTestsuite.xml | 8 +-
protocols/knxnetip/pom.xml | 45 +-
.../plc4x/protocol/knxnetip/KnxNetIpProtocol.java | 10 +-
.../resources/protocols/knxnetip/device-info.mspec | 1745 ++
.../resources/protocols/knxnetip/knxnetip.mspec | 453 +-
.../src/main/script/getKnxMasterData.groovy | 63 +
protocols/knxnetip/src/main/xslt/knx-types.xsl | 172 +-
.../protocol/knxnetip/KnxDefinitionsGenerator.java | 141 +
.../knxnetip/KnxSpecificationStoreUpdater.java | 184 +
.../knxnetip/handlers/ManufacturerIdsHandler.java | 57 +
.../handlers/ProductDescriptionHandler.java | 64 +
.../knxnetip/ParserSerializerTestsuite.xml | 56 +-
.../main/resources/protocols/modbus/modbus.mspec | 126 +-
.../resources/protocols/modbus/DriverTestsuite.xml | 24 +-
.../protocols/modbus/ParserSerializerTestsuite.xml | 15 +-
protocols/opcua/src/main/xslt/opc-types.xsl | 55 +-
.../language-c => protocols/plc4x}/pom.xml | 25 +-
...e.plc4x.plugins.codegenerator.protocol.Protocol | 0
.../src/main/resources/protocols/plc4x/plc4x.mspec | 43 +-
protocols/pom.xml | 1 +
.../s7/src/main/resources/protocols/s7/s7.mspec | 62 +-
.../resources/protocols/s7/DriverTestsuite.xml | 8 +-
.../protocols/s7/ParserSerializerTestsuite.xml | 22 +-
.../resources/protocols/simulated/simulated.mspec | 4 +-
sandbox/plc4c/CMakeLists.txt | 2 +-
sandbox/plc4c/api/include/plc4c/data.h | 19 +
sandbox/plc4c/api/include/plc4c/types.h | 4 +-
sandbox/plc4c/api/include/plc4c/utils/list.h | 5 +-
.../drivers/modbus/include/plc4c/driver_modbus.h | 27 +
.../modbus/include/plc4c/driver_modbus_packets.h | 7 +-
.../modbus/include/plc4c/driver_s7_encode_decode.h | 2 +-
sandbox/plc4c/drivers/modbus/src/driver_modbus.c | 23 +-
.../modbus/src/driver_modbus_encode_decode.c | 138 +-
.../drivers/modbus/src/driver_modbus_packets.c | 116 +-
.../drivers/modbus/src/driver_modbus_sm_connect.c | 37 +-
.../drivers/modbus/src/driver_modbus_sm_read.c | 142 +-
sandbox/plc4c/drivers/s7/CMakeLists.txt | 18 +-
sandbox/plc4c/drivers/s7/src/driver_s7.c | 67 +-
.../plc4c/drivers/s7/src/driver_s7_encode_decode.c | 22 +-
sandbox/plc4c/drivers/s7/src/driver_s7_packets.c | 57 +-
sandbox/plc4c/drivers/s7/src/driver_s7_sm_read.c | 33 +-
sandbox/plc4c/examples/CMakeLists.txt | 5 +-
.../CMakeLists.txt | 17 +-
.../src/hello_subscriptions.c | 0
.../CMakeLists.txt | 33 +-
.../src/hello_world_modbus.c} | 235 +-
.../{hello-world => hello-world-s7}/CMakeLists.txt | 32 +-
.../src/hello_world_s7.c} | 245 +-
.../generated-sources/modbus/include/data_item.h | 3 +-
.../modbus/include/modbus_data_type.h | 56 +-
.../modbus/include/modbus_data_type_sizes.h | 76 -
.../generated-sources/modbus/include/modbus_pdu.h | 2 +-
.../plc4c/generated-sources/modbus/src/data_item.c | 432 +-
.../modbus/src/modbus_data_type.c | 165 +-
.../modbus/src/modbus_data_type_sizes.c | 296 -
.../modbus/src/modbus_error_code.c | 30 +-
.../generated-sources/modbus/src/modbus_pdu.c | 13 +-
.../generated-sources/s7/include/cotp_packet.h | 2 +-
.../generated-sources/s7/include/cotp_tpdu_size.h | 1 +
.../s7/include/data_transport_size.h | 1 +
.../generated-sources/s7/include/memory_area.h | 1 +
.../generated-sources/s7/include/s7_address.h | 2 +-
.../s7/include/s7_parameter_user_data_item.h | 4 +-
.../s7/include/s7_payload_user_data_item.h | 4 +-
.../plc4c/generated-sources/s7/include/szl_id.h | 2 +-
.../generated-sources/s7/include/transport_size.h | 63 +-
.../plc4c/generated-sources/s7/src/cotp_packet.c | 8 +-
.../generated-sources/s7/src/cotp_parameter.c | 6 +-
.../generated-sources/s7/src/cotp_tpdu_size.c | 29 +
sandbox/plc4c/generated-sources/s7/src/data_item.c | 205 +-
.../s7/src/data_transport_error_code.c | 16 +-
.../generated-sources/s7/src/data_transport_size.c | 14 +
.../plc4c/generated-sources/s7/src/memory_area.c | 30 +
.../plc4c/generated-sources/s7/src/s7_address.c | 22 +-
.../plc4c/generated-sources/s7/src/s7_message.c | 6 +-
.../plc4c/generated-sources/s7/src/s7_parameter.c | 6 +-
.../s7/src/s7_parameter_user_data_item.c | 10 +-
.../plc4c/generated-sources/s7/src/s7_payload.c | 1 +
.../s7/src/s7_payload_user_data_item.c | 3 +-
.../s7/src/s7_var_request_parameter_item.c | 6 +-
sandbox/plc4c/generated-sources/s7/src/szl_id.c | 2 +-
.../generated-sources/s7/src/transport_size.c | 1167 +-
sandbox/plc4c/pom.xml | 2 +-
sandbox/plc4c/spi/CMakeLists.txt | 12 +-
.../plc4c/spi/include/plc4c/spi/types_private.h | 4 +-
sandbox/plc4c/spi/src/data.c | 104 +-
sandbox/plc4c/spi/src/read.c | 6 +-
sandbox/plc4c/spi/src/system.c | 2 +-
sandbox/plc4c/spi/src/utils/list.c | 17 +
sandbox/plc4c/spi/test/read_buffer_test.c | 5 +-
.../transports/tcp/include/plc4c/transport_tcp.h | 6 +
sandbox/plc4c/transports/tcp/src/transport_tcp.c | 26 +-
src/site/asciidoc/index.adoc | 8 +-
src/site/asciidoc/users/adopters.adoc | 2 +
src/site/asciidoc/users/commercial-support.adoc | 4 +-
src/site/asciidoc/users/download.adoc | 4 +-
src/site/asciidoc/users/index.adoc | 2 +-
src/site/asciidoc/users/industry40.adoc | 32 +-
.../asciidoc/users/integrations/apache-iotdb.adoc | 4 +-
.../asciidoc/users/integrations/apache-kafka.adoc | 4 +-
.../asciidoc/users/tools/connection-cache.adoc | 86 +
src/site/asciidoc/users/tools/connection-pool.adoc | 10 +-
.../images/users/companies/logo-c-ware.png | Bin 0 -> 18489 bytes
.../companies/logo-lebbing-automation-drives.png | Bin 0 -> 13626 bytes
src/site/site.xml | 4 +-
832 files changed, 152726 insertions(+), 93320 deletions(-)
rename build-utils/language-c/src/main/resources/templates/c/{data-io-template-c.ftlh => data-io-template.c.ftlh} (60%)
rename build-utils/language-c/src/main/resources/templates/c/{data-io-template-h.ftlh => data-io-template.h.ftlh} (95%)
rename build-utils/language-c/src/main/resources/templates/c/{enum-template-c.ftlh => enum-template.c.ftlh} (67%)
rename build-utils/language-c/src/main/resources/templates/c/{enum-template-h.ftlh => enum-template.h.ftlh} (86%)
rename build-utils/language-c/src/main/resources/templates/c/{pojo-template-c.ftlh => pojo-template.c.ftlh} (87%)
rename build-utils/language-c/src/main/resources/templates/c/{pojo-template-h.ftlh => pojo-template.h.ftlh} (93%)
copy {sandbox/plc4c => build-utils/language-c/src/test/resources/integration-test}/CMakeLists.txt (94%)
copy {sandbox/plc4c/examples => build-utils/language-c/src/test/resources/integration-test/generated-sources}/CMakeLists.txt (92%)
copy {sandbox/plc4c/examples/hello-subsciptions => build-utils/language-c/src/test/resources/integration-test/generated-sources/test}/CMakeLists.txt (64%)
create mode 100644 build-utils/language-c/src/test/resources/integration-test/pom.xml
create mode 100644 build-utils/language-c/src/test/resources/settings.xml
delete mode 100644 build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
create mode 100644 build-utils/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
delete mode 100644 build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh
create mode 100644 build-utils/language-go/src/main/resources/templates/go/enum-template.go.ftlh
delete mode 100644 build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
create mode 100644 build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
rename build-utils/language-go/src/main/resources/templates/go/{parser-factory-template.ftlh => parser-factory-template.go.ftlh} (77%)
rename build-utils/language-go/src/main/resources/templates/go/{xml-parser-factory-template.ftlh => xml-parser-factory-template.go.ftlh} (85%)
copy {plc4go => build-utils/language-go/src/test/resources/plc4go}/go.mod (89%)
create mode 100644 build-utils/language-go/src/test/resources/plc4go/pom.xml
create mode 100644 build-utils/language-go/src/test/resources/settings.xml
rename build-utils/language-java/src/main/resources/templates/java/{data-io-template.ftlh => data-io-template.java.ftlh} (84%)
rename build-utils/language-java/src/main/resources/templates/java/{enum-package-info-template.ftlh => enum-package-info-template.java.ftlh} (100%)
rename build-utils/language-java/src/main/resources/templates/java/{enum-template.ftlh => enum-template.java.ftlh} (69%)
rename build-utils/language-java/src/main/resources/templates/java/{io-template.ftlh => io-template.java.ftlh} (86%)
rename build-utils/language-java/src/main/resources/templates/java/{pojo-template.ftlh => pojo-template.java.ftlh} (88%)
create mode 100644 build-utils/language-java/src/test/resources/integration-test/pom.xml
create mode 100644 build-utils/language-java/src/test/resources/settings.xml
create mode 100644 go.sum
create mode 100644 media/release-image-template.svg
create mode 100644 plc4go/Makefile
create mode 100644 plc4go/README
copy {protocols/ads/src/test/resources => plc4go/assets/testing}/protocols/ads/AdsDiscoverySerializerTest.xml (98%)
copy {protocols/ads/src/test/resources => plc4go/assets/testing}/protocols/ads/DriverTestsuite.xml (98%)
copy {protocols/ads/src/test/resources => plc4go/assets/testing}/protocols/ads/ParserSerializerTestsuite.xml (98%)
delete mode 100644 plc4go/cmd/main/drivers/knxnetip_test.go
delete mode 100644 plc4go/cmd/main/drivers/modbus_test.go
copy plc4go/cmd/main/drivers/tests/{modbus_parser_serializer_test.go => ads_driver_test.go} (71%)
copy plc4go/cmd/main/drivers/tests/{modbus_parser_serializer_test.go => ads_parser_serializer_test.go} (72%)
delete mode 100644 plc4go/cmd/main/drivers/tests/knx_discovery_test.go
copy plc4go/{pkg/plc4go/drivers/drivers.go => cmd/main/drivers/tests/knxnetip_driver_test.go} (70%)
copy plc4go/cmd/main/drivers/tests/{modbus_parser_serializer_test.go => knxnetip_parser_serializer_test.go} (71%)
create mode 100644 plc4go/cmd/main/drivers/tests/manual_ads_driver_test.go
copy plc4go/cmd/main/drivers/tests/{modbus_parser_serializer_test.go => s7_driver_test.go} (69%)
copy plc4go/cmd/main/drivers/tests/{modbus_parser_serializer_test.go => s7_parser_serializer_test.go} (72%)
copy plc4go/{internal/plc4go/modbus/ModbusValueHandler.go => cmd/main/initializetest/init.go} (68%)
create mode 100644 plc4go/examples/knx/discovery/hello_world_plc4go_knx_discovery.go
copy plc4go/examples/{read/hello_world_plc4go_read.go => knx/groupAddressRead/hello_world_plc4go_knx_read_group_address.go} (52%)
create mode 100644 plc4go/examples/knx/subscribe/hello_world_plc4go_knx_subscription.go
create mode 100644 plc4go/internal/plc4go/ads/Connection.go
copy plc4go/internal/plc4go/{modbus/ModbusDriver.go => ads/Driver.go} (50%)
create mode 100644 plc4go/internal/plc4go/ads/Field.go
create mode 100644 plc4go/internal/plc4go/ads/FieldHandler.go
create mode 100644 plc4go/internal/plc4go/ads/MessageCodec.go
create mode 100644 plc4go/internal/plc4go/ads/Reader.go
copy plc4go/internal/plc4go/{modbus/ModbusValueHandler.go => ads/ValueHandler.go} (98%)
create mode 100644 plc4go/internal/plc4go/ads/Writer.go
create mode 100644 plc4go/internal/plc4go/ads/fieldtype_string.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/ParserHelper.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
copy plc4go/internal/plc4go/{knxnetip/KnxNetIpValueHandler.go => ads/readwrite/model/AdsStaticHelper.go} (69%)
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
create mode 100644 plc4go/internal/plc4go/ads/readwrite/model/State.go
rename plc4go/internal/plc4go/bacnetip/{BacnetIpDriver.go => Driver.go} (95%)
create mode 100644 plc4go/internal/plc4go/knxnetip/Browser.go
create mode 100644 plc4go/internal/plc4go/knxnetip/Connection.go
rename plc4go/internal/plc4go/knxnetip/{KnxNetIpDiscoverer.go => Discoverer.go} (86%)
rename plc4go/internal/plc4go/knxnetip/{KnxNetIpDriver.go => Driver.go} (63%)
create mode 100644 plc4go/internal/plc4go/knxnetip/Field.go
create mode 100644 plc4go/internal/plc4go/knxnetip/FieldHandler.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpActiveReader.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpBrowser.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpConnection.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
rename plc4go/internal/plc4go/knxnetip/{KnxNetIpMessageCodec.go => MessageCodec.go} (62%)
create mode 100644 plc4go/internal/plc4go/knxnetip/Reader.go
create mode 100644 plc4go/internal/plc4go/knxnetip/Subscriber.go
rename plc4go/internal/plc4go/knxnetip/{KnxNetIpSubscriptionEvent.go => SubscriptionEvent.go} (83%)
rename plc4go/{cmd/main/drivers/bacnetip_test.go => internal/plc4go/knxnetip/ValueDecoder.go} (63%)
copy plc4go/internal/plc4go/knxnetip/{KnxNetIpValueHandler.go => ValueHandler.go} (76%)
rename plc4go/internal/plc4go/knxnetip/{KnxNetIpWriter.go => Writer.go} (76%)
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/AccessLevel.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableAddresses.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType6.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectValueType.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceDescriptor.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceDescriptorType0.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/GroupObjectDescriptorRealisationType1.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/GroupObjectDescriptorRealisationType2.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/GroupObjectDescriptorRealisationType6.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/GroupObjectDescriptorRealisationType7.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/GroupObjectDescriptorRealisationTypeB.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameData.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameDataExt.go
delete mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFramePollingData.go
create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
rename plc4go/internal/plc4go/modbus/{ModbusConnection.go => Connection.go} (56%)
rename plc4go/internal/plc4go/modbus/{ModbusDriver.go => Driver.go} (58%)
rename plc4go/internal/plc4go/modbus/{ModbusField.go => Field.go} (51%)
rename plc4go/internal/plc4go/modbus/{ModbusFieldHandler.go => FieldHandler.go} (62%)
create mode 100644 plc4go/internal/plc4go/modbus/MessageCodec.go
delete mode 100644 plc4go/internal/plc4go/modbus/ModbusMessageCodec.go
delete mode 100644 plc4go/internal/plc4go/modbus/ModbusReader.go
create mode 100644 plc4go/internal/plc4go/modbus/Reader.go
copy plc4go/internal/plc4go/modbus/{ModbusValueHandler.go => ValueHandler.go} (100%)
rename plc4go/internal/plc4go/modbus/{ModbusWriter.go => Writer.go} (61%)
create mode 100644 plc4go/internal/plc4go/modbus/fieldtype_string.go
create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusDataType.go
delete mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusDataTypeSizes.go
rename plc4go/internal/plc4go/s7/{S7Driver.go => Driver.go} (95%)
rename plc4go/internal/plc4go/{modbus/ModbusValueHandler.go => spi/plcerrors/TimeoutError.go} (74%)
create mode 100644 plc4go/internal/plc4go/spi/testutils/ManualTestRunner.go
create mode 100644 plc4go/internal/plc4go/spi/testutils/steptype_string.go
rename plc4go/internal/plc4go/spi/transports/tcp/{TcpTransport.go => Transport.go} (57%)
rename plc4go/internal/plc4go/spi/transports/test/{TestTransport.go => Transport.go} (51%)
rename plc4go/internal/plc4go/spi/transports/udp/{UdpTransport.go => Transport.go} (58%)
copy plc4go/internal/plc4go/spi/{PlcBrowser.go => utils/MultiError.go} (57%)
create mode 100644 plc4go/internal/plc4go/spi/utils/ReadBuffer_test.go
create mode 100644 plc4go/internal/plc4go/spi/utils/asciiBox.go
create mode 100644 plc4go/internal/plc4go/spi/utils/asciiBox_test.go
create mode 100644 plc4go/internal/plc4go/spi/utils/hex.go
create mode 100644 plc4go/internal/plc4go/spi/utils/hex_test.go
create mode 100644 plc4go/internal/plc4go/spi/values/BINT.go
create mode 100644 plc4go/internal/plc4go/spi/values/BREAL.go
create mode 100644 plc4go/internal/plc4go/spi/values/RawPlcValue.go
rename plc4go/{internal/plc4go/knxnetip/KnxNetIpValueHandler.go => pkg/plc4go/logging/init.go} (52%)
create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
rename plc4j/drivers/s7/src/{main => test}/resources/logback.xml (100%)
create mode 100644 plc4j/tools/connection-cache/pom.xml
create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManager.java
copy sandbox/plc4c/drivers/modbus/include/plc4c/driver_modbus.h => plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerMBean.java (72%)
create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedPlcConnection.java
create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedReadRequest.java
create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/CachedReadRequestBuilder.java
copy sandbox/plc4c/transports/tcp/include/plc4c/transport_tcp.h => plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PlcConnectionFactory.java (66%)
create mode 100644 plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManager.java
copy sandbox/plc4c/drivers/modbus/include/plc4c/driver_modbus.h => plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManagerMBean.java (78%)
create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerIT.java
create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerMT.java
create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedDriverManagerTest.java
create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/CachedPlcConnectionTest.java
create mode 100644 plc4j/tools/connection-cache/src/test/java/org/apache/plc4x/java/utils/connectionpool2/PooledDriverManagerTest.java
create mode 100644 plc4j/tools/connection-cache/src/test/resources/log4j2.xml
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/XmlTestsuiteRunner.java
copy build-utils/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/dom4j/LocationAwareDocumentFactory.java (52%)
copy build-utils/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/dom4j/LocationAwareElement.java (52%)
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/dom4j/LocationAwareSAXContentHandler.java
copy build-utils/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/dom4j/LocationAwareSAXReader.java (51%)
create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/mapper/TestSuiteMappingModule.java
copy build-utils/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/model/Location.java (52%)
copy build-utils/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/model/LocationAware.java (51%)
create mode 100644 protocols/knxnetip/src/main/resources/protocols/knxnetip/device-info.mspec
create mode 100644 protocols/knxnetip/src/main/script/getKnxMasterData.groovy
create mode 100644 protocols/knxnetip/src/test/java/org/apache/plc4x/protocol/knxnetip/KnxDefinitionsGenerator.java
create mode 100644 protocols/knxnetip/src/test/java/org/apache/plc4x/protocol/knxnetip/KnxSpecificationStoreUpdater.java
create mode 100644 protocols/knxnetip/src/test/java/org/apache/plc4x/protocol/knxnetip/handlers/ManufacturerIdsHandler.java
create mode 100644 protocols/knxnetip/src/test/java/org/apache/plc4x/protocol/knxnetip/handlers/ProductDescriptionHandler.java
copy {build-utils/language-c => protocols/plc4x}/pom.xml (63%)
copy protocols/{s7 => plc4x}/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.protocol.Protocol (100%)
copy plc4go/pkg/plc4go/model/plc_write.go => protocols/plc4x/src/main/resources/protocols/plc4x/plc4x.mspec (56%)
rename sandbox/plc4c/examples/{hello-subsciptions => hello-subscriptions}/CMakeLists.txt (74%)
rename sandbox/plc4c/examples/{hello-subsciptions => hello-subscriptions}/src/hello_subscriptions.c (100%)
copy sandbox/plc4c/examples/{hello-world => hello-world-modbus}/CMakeLists.txt (61%)
copy sandbox/plc4c/examples/{hello-world/src/hello_world.c => hello-world-modbus/src/hello_world_modbus.c} (63%)
rename sandbox/plc4c/examples/{hello-world => hello-world-s7}/CMakeLists.txt (61%)
rename sandbox/plc4c/examples/{hello-world/src/hello_world.c => hello-world-s7/src/hello_world_s7.c} (64%)
delete mode 100644 sandbox/plc4c/generated-sources/modbus/include/modbus_data_type_sizes.h
delete mode 100644 sandbox/plc4c/generated-sources/modbus/src/modbus_data_type_sizes.c
create mode 100644 src/site/asciidoc/users/tools/connection-cache.adoc
create mode 100644 src/site/resources/images/users/companies/logo-c-ware.png
create mode 100644 src/site/resources/images/users/companies/logo-lebbing-automation-drives.png
[plc4x] 01/02: Working on Subscriptions
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hutcheb pushed a commit to branch feature/native_opua_client
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit c48a0736ce1a3874762d1d7d69ab44e244f8d910
Author: hutcheb <be...@gmail.com>
AuthorDate: Sun Mar 7 06:57:52 2021 -0500
Working on Subscriptions
---
.../java/opcua/protocol/OpcuaProtocolLogic.java | 59 +++++--
.../opcua/protocol/OpcuaSubscriptionHandle.java | 175 ++++++++++++---------
protocols/opcua/src/main/xslt/opc-types.xsl | 55 ++++---
3 files changed, 184 insertions(+), 105 deletions(-)
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
index 2af8551..459b098 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
@@ -87,14 +87,14 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
private static final int VERSION = 0;
private static final String PASSWORD_ENCRYPTION_ALGORITHM = "http://www.w3.org/2001/04/xmlenc#rsa-oaep";
private static final PascalString SECURITY_POLICY_NONE = new PascalString("http://opcfoundation.org/UA/SecurityPolicy#None".length(), "http://opcfoundation.org/UA/SecurityPolicy#None");
- private static final PascalString NULL_STRING = new PascalString(-1, null);
+ protected static final PascalString NULL_STRING = new PascalString(-1, null);
private static final PascalByteString NULL_BYTE_STRING = new PascalByteString( -1, new byte[0]);
private static ExpandedNodeId NULL_EXPANDED_NODEID = new ExpandedNodeIdTwoByte(false,
false,
null,
null,
new TwoByteNodeId((short) 0));
- private static final ExtensionObject NULL_EXTENSION_OBJECT = new ExtensionObject(NULL_EXPANDED_NODEID,
+ protected static final ExtensionObject NULL_EXTENSION_OBJECT = new ExtensionObject(NULL_EXPANDED_NODEID,
(short) 0,
null, //Body Length
null); // Body
@@ -102,7 +102,7 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
private static final PascalString APPLICATION_URI = new PascalString("urn:apache:plc4x:client".length(), "urn:apache:plc4x:client");
private static final PascalString PRODUCT_URI = new PascalString("urn:apache:plc4x:client".length(), "urn:apache:plc4x:client");
private static final PascalString APPLICATION_TEXT = new PascalString("OPCUA client for the Apache PLC4X:PLC4J project".length(), "OPCUA client for the Apache PLC4X:PLC4J project");
- private static final String FINAL_CHUNK = "F";
+ public static final String FINAL_CHUNK = "F";
private static final String CONTINUATION_CHUNK = "C";
private static final String ABORT_CHUNK = "F";
@@ -179,6 +179,9 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
@Override
public void onDisconnect(ConversationContext<OpcuaAPU> context) {
+ for (Map.Entry<Long, OpcuaSubscriptionHandle> subscriber : subscriptions.entrySet()) {
+ subscriber.getValue().stopSubscriber();
+ }
int transactionId = getTransactionIdentifier();
int requestHandle = getRequestHandle();
@@ -1479,7 +1482,7 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
CreateSubscriptionResponse response = subscription.get(REQUEST_TIMEOUT_LONG, TimeUnit.MILLISECONDS);
//Store this somewhere safe
subscriptionId = response.getSubscriptionId();
- subscriptions.put(subscriptionId, new OpcuaSubscriptionHandle(this, subscriptionId, (OpcuaField) fieldDefaultPlcSubscription.getPlcField()));
+ subscriptions.put(subscriptionId, new OpcuaSubscriptionHandle(this, subscriptionId, (OpcuaField) fieldDefaultPlcSubscription.getPlcField(), cycleTime));
isFirst = false;
}
@@ -1488,11 +1491,9 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
values.put(fieldName, new ResponseItem<>(PlcResponseCode.INVALID_ADDRESS, null));
} else {
values.put(fieldName, new ResponseItem<>(PlcResponseCode.OK,
- new OpcuaSubscriptionHandle(this, subscriptionId, (OpcuaField) fieldDefaultPlcSubscription.getPlcField())));
+ new OpcuaSubscriptionHandle(this, subscriptionId, (OpcuaField) fieldDefaultPlcSubscription.getPlcField(), cycleTime)));
}
- System.out.println(((OpcuaField) fieldDefaultPlcSubscription.getPlcField()).toString());
-
NodeId idNode = generateNodeId((OpcuaField) fieldDefaultPlcSubscription.getPlcField());
ReadValueId readValueId = new ReadValueId(
@@ -1540,6 +1541,7 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
LOGGER.warn("Unable to subscribe Elements because of: {}", e.getMessage());
}
}
+
CreateMonitoredItemsResponse monitoredItemsResponse = null;
try {
CompletableFuture<CreateMonitoredItemsResponse> monitoredItemsResponseFuture = onSubscribeCreateMonitoredItemsRequest(requestList, subscriptionId);
@@ -1550,6 +1552,7 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
} catch (ExecutionException e) {
LOGGER.warn("Unable to subscribe Elements because of: {}", e.getMessage());
}
+ subscriptions.get(subscriptionId).startSubscriber();
/*
BiConsumer<UaMonitoredItem, Integer> onItemCreated =
(item, id) -> item.setValueConsumer(subscriptionHandle::onSubscriptionValue);
@@ -1762,11 +1765,49 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
return transactionId;
}
- private long getCurrentDateTime() {
+ /**
+ * Returns the authentication token for the current connection
+ *
+ * @return a NodeId Authentication token
+ */
+ public NodeId getAuthenticationToken() {
+ return this.authenticationToken;
+ }
+
+ /**
+ * Gets the Channel identifier for the current channel
+ *
+ * @return int representing the channel identifier
+ */
+ public int getChannelId() {
+ return this.channelId.get();
+ }
+
+ /**
+ * Gets the Token Identifier
+ *
+ * @return int representing the token identifier
+ */
+ public int getTokenId() {
+ return this.tokenId.get();
+ }
+
+ /**
+ * Gets the Conversation Context.
+ *
+ * @return int representing the token identifier
+ */
+ public ConversationContext<OpcuaAPU> getConversationContext() {
+ return this.context;
+ }
+
+
+
+ public static long getCurrentDateTime() {
return (System.currentTimeMillis() * 10000) + EPOCH_OFFSET;
}
- private long getDateTime(long dateTime) {
+ public static long getDateTime(long dateTime) {
return (dateTime - EPOCH_OFFSET) / 10000;
}
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
index 299de00..2679eb4 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
@@ -37,11 +37,14 @@ import org.apache.plc4x.java.spi.messages.utils.ResponseItem;
import org.apache.plc4x.java.spi.model.DefaultPlcConsumerRegistration;
import org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionHandle;
import org.apache.plc4x.java.spi.transaction.RequestTransactionManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.time.Instant;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
@@ -49,23 +52,27 @@ import java.util.function.Consumer;
*/
public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
+ private static final Logger LOGGER = LoggerFactory.getLogger(OpcuaSubscriptionHandle.class);
+
private Set<Consumer<PlcSubscriptionEvent>> consumers = new HashSet<>();
private OpcuaField field;
private long clientHandle;
- CompletableFuture<PlcSubscriptionResponse> future = null;
+
private AtomicBoolean destroy = new AtomicBoolean(false);
private OpcuaProtocolLogic plcSubscriber;
private Long subscriptionId;
+ private long cycleTime;
/**
* @param field corresponding map key in the PLC4X request/reply map
*
*/
- public OpcuaSubscriptionHandle(OpcuaProtocolLogic plcSubscriber, Long subscriptionId, OpcuaField field) {
+ public OpcuaSubscriptionHandle(OpcuaProtocolLogic plcSubscriber, Long subscriptionId, OpcuaField field, long cycleTime) {
super(plcSubscriber);
this.field = field;
this.subscriptionId = subscriptionId;
- startSubscriber();
+ this.plcSubscriber = plcSubscriber;
+ this.cycleTime = cycleTime;
}
/**
@@ -74,81 +81,105 @@ public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
*/
public void startSubscriber() {
CompletableFuture.supplyAsync(() -> {
- LinkedList<Long> outstandingAcknowledgements = new LinkedList<>();
- while (!this.destroy.get()) {
- int requestHandle = this.plcSubscriber.getRequestHandle();
-
- RequestHeader requestHeader = new RequestHeader(this.plcSubscriber.getAuthenticationToken(),
- OpcuaProtocolLogic.getCurrentDateTime(),
- requestHandle,
- 0L,
- OpcuaProtocolLogic.NULL_STRING,
- OpcuaProtocolLogic.REQUEST_TIMEOUT_LONG,
- OpcuaProtocolLogic.NULL_EXTENSION_OBJECT);
-
- SubscriptionAcknowledgement[] acks = null;
- int ackLength = outstandingAcknowledgements.size();
- if (outstandingAcknowledgements.size() > 0) {
- acks = new SubscriptionAcknowledgement[outstandingAcknowledgements.size()];
- for (int i = 0; i < outstandingAcknowledgements.size(); i++) {
- acks[i] = new SubscriptionAcknowledgement(this.subscriptionId, outstandingAcknowledgements.remove())
+ try {
+ RequestTransactionManager tm = new RequestTransactionManager(1);
+ LinkedList<Long> outstandingAcknowledgements = new LinkedList<>();
+ LinkedList<Long> outstandingRequests = new LinkedList<>();
+ AtomicInteger sequenceNumber = new AtomicInteger(1);
+ while (!this.destroy.get()) {
+ LOGGER.info("SubscriberLoop");
+ try {
+ Thread.sleep(this.cycleTime);
+ } catch (InterruptedException e) {
+ LOGGER.info("Interrupted Exception");
}
- }
-
- PublishRequest publishRequest = new PublishRequest((byte) 1,
- (byte) 0,
- requestHeader,
- ackLength,
- acks
- );
-
- //Pick up from here, also create a Utils class for static variables.
- try {
- WriteBuffer buffer = new WriteBuffer(createSubscriptionRequest.getLengthInBytes(), true);
- OpcuaMessageIO.staticSerialize(buffer, createSubscriptionRequest);
-
- int transactionId = getTransactionIdentifier();
-
- OpcuaMessageRequest createMessageRequest = new OpcuaMessageRequest(FINAL_CHUNK,
- channelId.get(),
- tokenId.get(),
- transactionId,
- transactionId,
- buffer.getData());
-
- RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
- transaction.submit(() -> context.sendRequest(new OpcuaAPU(createMessageRequest))
- .expectResponse(OpcuaAPU.class, REQUEST_TIMEOUT)
- .onTimeout(future::completeExceptionally)
- .onError((p, e) -> future.completeExceptionally(e))
- .check(p -> p.getMessage() instanceof OpcuaMessageResponse)
- .unwrap(p -> (OpcuaMessageResponse) p.getMessage())
- .handle(opcuaResponse -> {
- CreateSubscriptionResponse responseMessage = null;
- try {
- responseMessage = (CreateSubscriptionResponse) OpcuaMessageIO.staticParse(new ReadBuffer(opcuaResponse.getMessage(), true));
- } catch (ParseException e) {
- e.printStackTrace();
- }
-
- // Pass the response back to the application.
- future.complete(responseMessage);
-
- // Finish the request-transaction.
- transaction.endRequest();
- }));
- } catch (ParseException e) {
- LOGGER.info("Unable to serialize subscription request");
- }
- }
-
+ int requestHandle = sequenceNumber.getAndIncrement();
+
+ RequestHeader requestHeader = new RequestHeader(this.plcSubscriber.getAuthenticationToken(),
+ OpcuaProtocolLogic.getCurrentDateTime(),
+ requestHandle,
+ 0L,
+ OpcuaProtocolLogic.NULL_STRING,
+ OpcuaProtocolLogic.REQUEST_TIMEOUT_LONG,
+ OpcuaProtocolLogic.NULL_EXTENSION_OBJECT);
+
+ SubscriptionAcknowledgement[] acks = null;
+ int ackLength = -1;
+ LOGGER.info("-------------Oustanding Size1: - {}", outstandingAcknowledgements.size());
+ if (outstandingAcknowledgements.size() > 0) {
+ LOGGER.info("-------------Oustanding Size: - {}", outstandingAcknowledgements.size());
+ acks = new SubscriptionAcknowledgement[outstandingAcknowledgements.size()];
+ ackLength = outstandingAcknowledgements.size();
+ for (int i = 0; i < outstandingAcknowledgements.size(); i++) {
+ acks[i] = new SubscriptionAcknowledgement(this.subscriptionId, outstandingAcknowledgements.remove());
+ }
+ }
+ PublishRequest publishRequest = new PublishRequest((byte) 1,
+ (byte) 0,
+ requestHeader,
+ ackLength,
+ acks
+ );
+
+ try {
+ WriteBuffer buffer = new WriteBuffer(publishRequest.getLengthInBytes(), true);
+ OpcuaMessageIO.staticSerialize(buffer, publishRequest);
+
+ int transactionId = this.plcSubscriber.getTransactionIdentifier();
+
+ OpcuaMessageRequest createMessageRequest = new OpcuaMessageRequest(OpcuaProtocolLogic.FINAL_CHUNK,
+ this.plcSubscriber.getChannelId(),
+ this.plcSubscriber.getTokenId(),
+ transactionId,
+ transactionId,
+ buffer.getData());
+
+ RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
+ outstandingRequests.add((long) requestHandle);
+ transaction.submit(() -> this.plcSubscriber.getConversationContext().sendRequest(new OpcuaAPU(createMessageRequest))
+ .expectResponse(OpcuaAPU.class, OpcuaProtocolLogic.REQUEST_TIMEOUT)
+ .onError((p, e) -> LOGGER.error("Unable to maintain subscription"))
+ .check(p -> p.getMessage() instanceof OpcuaMessageResponse)
+ .unwrap(p -> (OpcuaMessageResponse) p.getMessage())
+ .handle(opcuaResponse -> {
+ PublishResponse responseMessage = null;
+ try {
+ responseMessage = (PublishResponse) OpcuaMessageIO.staticParse(new ReadBuffer(opcuaResponse.getMessage(), true));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ outstandingRequests.remove(responseMessage.getResponseHeader().getRequestHandle());
+ outstandingAcknowledgements.add(responseMessage.getResponseHeader().getRequestHandle());
+
+ if (responseMessage.getNotificationMessage().getNoOfNotificationData() > 0) {
+
+ }
+ for (ExtensionObject notifications : responseMessage.getNotificationMessage().getNotificationData()) {
+
+ }
+
+
+
+ // Pass the response back to the application.
+
+ // Finish the request-transaction.
+ transaction.endRequest();
+ }));
+ } catch (ParseException e) {
+ LOGGER.info("Unable to serialize subscription request");
+ }
+ }
- return;
+ } catch (Exception e) {
+ LOGGER.error("Failed :(");
+ e.printStackTrace();
+ }
+ return null;
});
-
+ return;
}
diff --git a/protocols/opcua/src/main/xslt/opc-types.xsl b/protocols/opcua/src/main/xslt/opc-types.xsl
index 95143d0..0bd8728 100644
--- a/protocols/opcua/src/main/xslt/opc-types.xsl
+++ b/protocols/opcua/src/main/xslt/opc-types.xsl
@@ -75,7 +75,19 @@
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='WriteRequest']"/>
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='WriteResponse']"/>
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='PublishRequest']"/>
- <xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='PublishResponse']"/>
+ ['829' PublishResponse
+ [simple ResponseHeader 'responseHeader']
+ [simple uint 32 'subscriptionId']
+ [simple int 32 'noOfAvailableSequenceNumbers']
+ [array uint 32 'availableSequenceNumbers' count 'noOfAvailableSequenceNumbers']
+ [reserved uint 7 '0x00']
+ [simple bit 'moreNotifications']
+ [simple NotificationMessage 'notificationMessage']
+ [simple int 32 'noOfResults']
+ [array StatusCode 'results' count 'noOfResults']
+ [simple int 32 'noOfDiagnosticInfos']
+ [array DiagnosticInfo 'diagnosticInfos' count 'noOfDiagnosticInfos']
+ ]
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='BrowseRequest']"/>
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='BrowseResponse']"/>
<xsl:apply-templates select="$file/node:UANodeSet/node:UADataType[@BrowseName='GetEndpointsRequest']"/>
@@ -399,40 +411,31 @@
]
]
-[discriminatedType 'ExpandedNodeId'
+[type 'ExpandedNodeId'
[simple bit 'namespaceURISpecified']
[simple bit 'serverIndexSpecified']
- [discriminator NodeIdType 'nodeIdType']
- [typeSwitch 'nodeIdType'
- ['NodeIdType.nodeIdTypeTwoByte' ExpandedNodeIdTwoByte
- [simple TwoByteNodeId 'id']
- ]
- ['NodeIdType.nodeIdTypeFourByte' ExpandedNodeIdFourByte
- [simple FourByteNodeId 'id']
- ]
- ['NodeIdType.nodeIdTypeNumeric' ExpandedNodeIdNumeric
- [simple NumericNodeId 'id']
- ]
- ['NodeIdType.nodeIdTypeString' ExpandedNodeIdString
- [simple StringNodeId 'id']
- ]
- ['NodeIdType.nodeIdTypeGuid' ExpandedNodeIdGuid
- [simple GuidNodeId 'id']
- ]
- ['NodeIdType.nodeIdTypeByteString' ExpandedNodeIdByteString
- [simple ByteStringNodeId 'id']
- ]
- ]
+ [simple NodeIdType 'nodeIdType']
+ [optional TwoByteNodeId 'idTwoByte' 'nodeIdType == NodeIdType.nodeIdTypeTwoByte']
+ [optional FourByteNodeId 'idFourByte' 'nodeIdType == NodeIdType.nodeIdTypeFourByte']
+ [optional NumericNodeId 'idNumeric' 'nodeIdType == NodeIdType.nodeIdTypeNumeric']
+ [optional StringNodeId 'idString' 'nodeIdType == NodeIdType.nodeIdTypeString']
+ [optional GuidNodeId 'idGuid' 'nodeIdType == NodeIdType.nodeIdTypeGuid']
+ [optional ByteStringNodeId 'idByteString' 'nodeIdType == NodeIdType.nodeIdTypeByteString']
[optional PascalString 'namespaceURI' 'namespaceURISpecified']
[optional uint 32 'serverIndex' 'serverIndexSpecified']
]
[discriminatedType 'ExtensionObject'
//A serialized object prefixed with its data type identifier.
- [simple ExpandedNodeId 'nodeId']
+ [discriminator ExpandedNodeId 'nodeId']
[simple uint 8 'encodingMask']
[optional int 32 'bodyLength' 'encodingMask > 0']
[array int 8 'body' count 'bodyLength == null ? 0 : bodyLength']
+ [typeSwitch 'nodeId.nodeIdType','nodeId.idTwoByte.identifier'
+ ['NodeIdType.nodeIdTypeTwoByte','811' DataChangeNotification
+ <xsl:apply-templates select="/opc:TypeDictionary/opc:StructuredType[@Name='DataChangeNotification']"/>
+ ]
+ ]
]
[type 'PascalString'
@@ -453,6 +456,10 @@
[optional PascalString 'Text' 'textSpecified']
]
+[type 'MonitoredItemNotification'
+ <xsl:apply-templates select="/opc:TypeDictionary/opc:StructuredType[@Name='MonitoredItemNotification']"/>
+]
+
[type 'QualifiedName'
<xsl:apply-templates select="/opc:TypeDictionary/opc:StructuredType[@Name='QualifiedName']"/>
]
[plc4x] 02/02: Merge branch 'develop' into
feature/native_opua_client
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hutcheb pushed a commit to branch feature/native_opua_client
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit dd0e3107a48f427088a895296cb1fbfc46831160
Merge: c48a073 e5b4b44
Author: hutcheb <be...@gmail.com>
AuthorDate: Wed Apr 7 06:58:27 2021 -0400
Merge branch 'develop' into feature/native_opua_client
.editorconfig | 18 +
.gitignore | 12 +
build-utils/language-base-freemarker/pom.xml | 6 +
.../BaseFreemarkerLanguageTemplateHelper.java | 217 +-
build-utils/language-c/pom.xml | 35 +-
.../apache/plc4x/language/c/CLanguageOutput.java | 12 +-
.../plc4x/language/c/CLanguageTemplateHelper.java | 142 +-
...-io-template-c.ftlh => data-io-template.c.ftlh} | 146 +-
...-io-template-h.ftlh => data-io-template.h.ftlh} | 2 +-
.../{enum-template-c.ftlh => enum-template.c.ftlh} | 27 +-
.../{enum-template-h.ftlh => enum-template.h.ftlh} | 3 +-
.../{pojo-template-c.ftlh => pojo-template.c.ftlh} | 122 +-
.../{pojo-template-h.ftlh => pojo-template.h.ftlh} | 11 +
.../resources/integration-test}/CMakeLists.txt | 8 +-
.../generated-sources}/CMakeLists.txt | 5 +-
.../generated-sources/test}/CMakeLists.txt | 14 +-
.../src/test/resources/integration-test/pom.xml | 387 +
.../language-c/src/test/resources/settings.xml | 51 +
build-utils/language-go/pom.xml | 94 +-
.../apache/plc4x/language/go/GoLanguageOutput.java | 10 +-
.../language/go/GoLanguageTemplateHelper.java | 196 +-
.../resources/templates/go/data-io-template.ftlh | 228 -
.../templates/go/data-io-template.go.ftlh | 243 +
.../main/resources/templates/go/enum-template.ftlh | 159 -
.../resources/templates/go/enum-template.go.ftlh | 190 +
.../resources/templates/go/model-template.ftlh | 1048 -
.../resources/templates/go/model-template.go.ftlh | 1132 +
...mplate.ftlh => parser-factory-template.go.ftlh} | 47 +-
...te.ftlh => xml-parser-factory-template.go.ftlh} | 33 +-
.../language-go/src/test/resources/plc4go}/go.mod | 4 +-
.../language-go/src/test/resources/plc4go/pom.xml | 291 +
.../language-go/src/test/resources/settings.xml | 51 +
build-utils/language-java/pom.xml | 81 +-
.../plc4x/language/java/JavaLanguageOutput.java | 10 +-
.../language/java/JavaLanguageTemplateHelper.java | 179 +-
...io-template.ftlh => data-io-template.java.ftlh} | 45 +-
...e.ftlh => enum-package-info-template.java.ftlh} | 0
...{enum-template.ftlh => enum-template.java.ftlh} | 23 +-
.../{io-template.ftlh => io-template.java.ftlh} | 74 +-
...{pojo-template.ftlh => pojo-template.java.ftlh} | 17 +-
.../src/test/resources/integration-test/pom.xml | 205 +
.../language-java/src/test/resources/settings.xml | 51 +
build-utils/pom.xml | 23 +-
.../plugins/codegenerator/language/mspec/MSpec.g4 | 2 +-
.../definitions/DefaultDataIoTypeDefinition.java | 7 +
.../mspec/model/fields/DefaultEnumField.java | 8 +-
.../mspec/parser/MessageFormatListener.java | 28 +-
.../mspec/parser/MessageFormatParserTest.java | 3 +
.../src/test/resources/mspec.example | 47 +-
build-utils/protocol-test/pom.xml | 176 +-
.../src/main/resources/protocols/test/test.mspec | 337 +-
.../protocol-test/src/site/asciidoc/index.adoc | 4 +
go.mod | 5 +
go.sum | 100 +
media/release-image-template.svg | 879 +
plc4go/Makefile | 105 +
plc4go/README | 0
.../protocols/ads/AdsDiscoverySerializerTest.xml | 32 +-
.../testing}/protocols/ads/DriverTestsuite.xml | 18 +-
.../protocols/ads/ParserSerializerTestsuite.xml | 10 +-
.../knxnetip/ParserSerializerTestsuite.xml | 56 +-
.../testing/protocols/modbus/DriverTestsuite.xml | 24 +-
.../protocols/modbus/ParserSerializerTestsuite.xml | 15 +-
.../testing/protocols/s7/DriverTestsuite.xml | 8 +-
.../protocols/s7/ParserSerializerTestsuite.xml | 22 +-
plc4go/cmd/main/drivers/knxnetip_test.go | 320 -
plc4go/cmd/main/drivers/modbus_test.go | 213 -
plc4go/cmd/main/drivers/s7_test.go | 1 +
...arser_serializer_test.go => ads_driver_test.go} | 12 +-
...lizer_test.go => ads_parser_serializer_test.go} | 12 +-
.../cmd/main/drivers/tests/knx_discovery_test.go | 619 -
.../main/drivers/tests/knxnetip_driver_test.go} | 16 +-
..._test.go => knxnetip_parser_serializer_test.go} | 12 +-
.../main/drivers/tests/manual_ads_driver_test.go | 100 +
.../cmd/main/drivers/tests/modbus_driver_test.go | 11 +-
.../drivers/tests/modbus_parser_serializer_test.go | 9 +-
...parser_serializer_test.go => s7_driver_test.go} | 13 +-
...alizer_test.go => s7_parser_serializer_test.go} | 12 +-
.../main/initializetest/init.go} | 20 +-
.../discovery/hello_world_plc4go_knx_discovery.go | 165 +
.../hello_world_plc4go_knx_read_group_address.go} | 50 +-
.../hello_world_plc4go_knx_subscription.go | 114 +
plc4go/examples/read/hello_world_plc4go_read.go | 37 +-
plc4go/examples/write/hello_world_plc4go_write.go | 41 +-
plc4go/go.mod | 7 +-
plc4go/go.sum | 85 +-
plc4go/internal/plc4go/ads/Connection.go | 265 +
.../{modbus/ModbusDriver.go => ads/Driver.go} | 90 +-
plc4go/internal/plc4go/ads/Field.go | 208 +
plc4go/internal/plc4go/ads/FieldHandler.go | 161 +
plc4go/internal/plc4go/ads/MessageCodec.go | 217 +
plc4go/internal/plc4go/ads/Reader.go | 430 +
.../ModbusValueHandler.go => ads/ValueHandler.go} | 2 +-
plc4go/internal/plc4go/ads/Writer.go | 214 +
plc4go/internal/plc4go/ads/fieldtype_string.go | 54 +
.../internal/plc4go/ads/readwrite/ParserHelper.go | 67 +
.../plc4go/ads/readwrite/XmlParserHelper.go | 113 +
.../model/AdsAddDeviceNotificationRequest.go | 353 +
.../model/AdsAddDeviceNotificationResponse.go | 209 +
.../internal/plc4go/ads/readwrite/model/AdsData.go | 468 +
.../plc4go/ads/readwrite/model/AdsDataType.go | 723 +
.../model/AdsDeleteDeviceNotificationRequest.go | 181 +
.../model/AdsDeleteDeviceNotificationResponse.go | 180 +
.../model/AdsDeviceNotificationRequest.go | 259 +
.../model/AdsDeviceNotificationResponse.go | 151 +
.../ads/readwrite/model/AdsInvalidRequest.go | 151 +
.../ads/readwrite/model/AdsInvalidResponse.go | 151 +
.../ads/readwrite/model/AdsMultiRequestItem.go | 229 +
.../ads/readwrite/model/AdsMultiRequestItemRead.go | 235 +
.../model/AdsMultiRequestItemReadWrite.go | 264 +
.../readwrite/model/AdsMultiRequestItemWrite.go | 235 +
.../ads/readwrite/model/AdsNotificationSample.go | 228 +
.../readwrite/model/AdsReadDeviceInfoRequest.go | 151 +
.../readwrite/model/AdsReadDeviceInfoResponse.go | 315 +
.../plc4go/ads/readwrite/model/AdsReadRequest.go | 239 +
.../plc4go/ads/readwrite/model/AdsReadResponse.go | 245 +
.../ads/readwrite/model/AdsReadStateRequest.go | 151 +
.../ads/readwrite/model/AdsReadStateResponse.go | 238 +
.../ads/readwrite/model/AdsReadWriteRequest.go | 363 +
.../ads/readwrite/model/AdsReadWriteResponse.go | 245 +
.../plc4go/ads/readwrite/model/AdsStampHeader.go | 229 +
.../readwrite/model/AdsStaticHelper.go} | 17 +-
.../ads/readwrite/model/AdsWriteControlRequest.go | 275 +
.../ads/readwrite/model/AdsWriteControlResponse.go | 180 +
.../plc4go/ads/readwrite/model/AdsWriteRequest.go | 275 +
.../plc4go/ads/readwrite/model/AdsWriteResponse.go | 180 +
.../plc4go/ads/readwrite/model/AmsNetId.go | 290 +
.../plc4go/ads/readwrite/model/AmsPacket.go | 383 +
.../readwrite/model/AmsSerialAcknowledgeFrame.go | 290 +
.../plc4go/ads/readwrite/model/AmsSerialFrame.go | 316 +
.../ads/readwrite/model/AmsSerialResetFrame.go | 290 +
.../plc4go/ads/readwrite/model/AmsTCPPacket.go | 197 +
.../plc4go/ads/readwrite/model/CommandId.go | 174 +
.../plc4go/ads/readwrite/model/DataItem.go | 356 +
.../ads/readwrite/model/ReservedIndexGroups.go | 314 +
.../plc4go/ads/readwrite/model/ReturnCode.go | 958 +
.../internal/plc4go/ads/readwrite/model/State.go | 397 +
.../bacnetip/{BacnetIpDriver.go => Driver.go} | 2 +-
.../plc4go/bacnetip/readwrite/ParserHelper.go | 105 +-
.../plc4go/bacnetip/readwrite/XmlParserHelper.go | 185 +-
.../plc4go/bacnetip/readwrite/model/APDU.go | 457 +-
.../plc4go/bacnetip/readwrite/model/APDUAbort.go | 363 +-
.../bacnetip/readwrite/model/APDUComplexAck.go | 562 +-
.../readwrite/model/APDUConfirmedRequest.go | 727 +-
.../plc4go/bacnetip/readwrite/model/APDUError.go | 306 +-
.../plc4go/bacnetip/readwrite/model/APDUReject.go | 308 +-
.../bacnetip/readwrite/model/APDUSegmentAck.go | 473 +-
.../bacnetip/readwrite/model/APDUSimpleAck.go | 308 +-
.../readwrite/model/APDUUnconfirmedRequest.go | 251 +-
.../bacnetip/readwrite/model/ApplicationTag.go | 261 +-
.../bacnetip/readwrite/model/BACnetAddress.go | 249 +-
.../readwrite/model/BACnetConfirmedServiceACK.go | 625 +-
.../BACnetConfirmedServiceACKAtomicReadFile.go | 142 +-
.../BACnetConfirmedServiceACKAtomicWriteFile.go | 142 +-
...tConfirmedServiceACKConfirmedPrivateTransfer.go | 142 +-
.../model/BACnetConfirmedServiceACKCreateObject.go | 142 +-
.../BACnetConfirmedServiceACKGetAlarmSummary.go | 142 +-
...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 142 +-
...BACnetConfirmedServiceACKGetEventInformation.go | 142 +-
.../model/BACnetConfirmedServiceACKReadProperty.go | 142 +-
...ACnetConfirmedServiceACKReadPropertyMultiple.go | 142 +-
.../model/BACnetConfirmedServiceACKReadRange.go | 142 +-
...BACnetConfirmedServiceACKRemovedAuthenticate.go | 142 +-
...rmedServiceACKRemovedReadPropertyConditional.go | 142 +-
.../model/BACnetConfirmedServiceACKVTData.go | 142 +-
.../model/BACnetConfirmedServiceACKVTOpen.go | 142 +-
.../model/BACnetConfirmedServiceRequest.go | 1101 +-
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 142 +-
.../BACnetConfirmedServiceRequestAddListElement.go | 142 +-
.../BACnetConfirmedServiceRequestAtomicReadFile.go | 142 +-
...BACnetConfirmedServiceRequestAtomicWriteFile.go | 142 +-
...firmedServiceRequestConfirmedCOVNotification.go | 873 +-
...rviceRequestConfirmedCOVNotificationMultiple.go | 142 +-
...rmedServiceRequestConfirmedEventNotification.go | 142 +-
...firmedServiceRequestConfirmedPrivateTransfer.go | 142 +-
...tConfirmedServiceRequestConfirmedTextMessage.go | 142 +-
.../BACnetConfirmedServiceRequestCreateObject.go | 142 +-
.../BACnetConfirmedServiceRequestDeleteObject.go | 142 +-
...rmedServiceRequestDeviceCommunicationControl.go | 142 +-
...tConfirmedServiceRequestGetEnrollmentSummary.go | 142 +-
...etConfirmedServiceRequestGetEventInformation.go | 142 +-
...etConfirmedServiceRequestLifeSafetyOperation.go | 142 +-
.../BACnetConfirmedServiceRequestReadProperty.go | 475 +-
...tConfirmedServiceRequestReadPropertyMultiple.go | 142 +-
.../BACnetConfirmedServiceRequestReadRange.go | 142 +-
...netConfirmedServiceRequestReinitializeDevice.go | 142 +-
...CnetConfirmedServiceRequestRemoveListElement.go | 142 +-
...etConfirmedServiceRequestRemovedAuthenticate.go | 142 +-
...ServiceRequestRemovedReadPropertyConditional.go | 142 +-
...CnetConfirmedServiceRequestRemovedRequestKey.go | 142 +-
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 687 +-
...tConfirmedServiceRequestSubscribeCOVProperty.go | 142 +-
...edServiceRequestSubscribeCOVPropertyMultiple.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTClose.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTData.go | 142 +-
.../model/BACnetConfirmedServiceRequestVTOpen.go | 142 +-
.../BACnetConfirmedServiceRequestWriteProperty.go | 677 +-
...ConfirmedServiceRequestWritePropertyMultiple.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BACnetError.go | 625 +-
.../readwrite/model/BACnetErrorAtomicReadFile.go | 142 +-
.../readwrite/model/BACnetErrorAtomicWriteFile.go | 142 +-
.../model/BACnetErrorConfirmedPrivateTransfer.go | 142 +-
.../readwrite/model/BACnetErrorCreateObject.go | 142 +-
.../readwrite/model/BACnetErrorGetAlarmSummary.go | 142 +-
.../model/BACnetErrorGetEnrollmentSummary.go | 142 +-
.../model/BACnetErrorGetEventInformation.go | 142 +-
.../readwrite/model/BACnetErrorReadProperty.go | 509 +-
.../model/BACnetErrorReadPropertyMultiple.go | 142 +-
.../readwrite/model/BACnetErrorReadRange.go | 142 +-
.../model/BACnetErrorRemovedAuthenticate.go | 142 +-
.../BACnetErrorRemovedReadPropertyConditional.go | 142 +-
.../bacnetip/readwrite/model/BACnetErrorVTData.go | 142 +-
.../bacnetip/readwrite/model/BACnetErrorVTOpen.go | 142 +-
.../bacnetip/readwrite/model/BACnetNetworkType.go | 233 +-
.../bacnetip/readwrite/model/BACnetNodeType.go | 387 +-
.../bacnetip/readwrite/model/BACnetNotifyType.go | 121 +-
.../bacnetip/readwrite/model/BACnetObjectType.go | 905 +-
.../bacnetip/readwrite/model/BACnetServiceAck.go | 625 +-
.../model/BACnetServiceAckAtomicReadFile.go | 142 +-
.../model/BACnetServiceAckAtomicWriteFile.go | 142 +-
.../BACnetServiceAckConfirmedPrivateTransfer.go | 142 +-
.../model/BACnetServiceAckCreateObject.go | 142 +-
.../model/BACnetServiceAckGetAlarmSummary.go | 142 +-
.../model/BACnetServiceAckGetEnrollmentSummary.go | 142 +-
.../model/BACnetServiceAckGetEventInformation.go | 142 +-
.../model/BACnetServiceAckReadProperty.go | 596 +-
.../model/BACnetServiceAckReadPropertyMultiple.go | 142 +-
.../readwrite/model/BACnetServiceAckReadRange.go | 142 +-
.../model/BACnetServiceAckRemovedAuthenticate.go | 142 +-
...CnetServiceAckRemovedReadPropertyConditional.go | 142 +-
.../readwrite/model/BACnetServiceAckVTData.go | 142 +-
.../readwrite/model/BACnetServiceAckVTOpen.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BACnetTag.go | 873 +-
.../model/BACnetTagApplicationBitString.go | 305 +-
.../readwrite/model/BACnetTagApplicationBoolean.go | 150 +-
.../model/BACnetTagApplicationCharacterString.go | 150 +-
.../readwrite/model/BACnetTagApplicationDate.go | 150 +-
.../readwrite/model/BACnetTagApplicationDouble.go | 209 +-
.../model/BACnetTagApplicationEnumerated.go | 250 +-
.../readwrite/model/BACnetTagApplicationNull.go | 150 +-
.../model/BACnetTagApplicationObjectIdentifier.go | 150 +-
.../model/BACnetTagApplicationOctetString.go | 150 +-
.../readwrite/model/BACnetTagApplicationReal.go | 209 +-
.../model/BACnetTagApplicationSignedInteger.go | 250 +-
.../readwrite/model/BACnetTagApplicationTime.go | 150 +-
.../model/BACnetTagApplicationUnsignedInteger.go | 250 +-
.../bacnetip/readwrite/model/BACnetTagContext.go | 250 +-
.../readwrite/model/BACnetTagWithContent.go | 612 +-
.../model/BACnetUnconfirmedServiceRequest.go | 569 +-
.../model/BACnetUnconfirmedServiceRequestIAm.go | 653 +-
.../model/BACnetUnconfirmedServiceRequestIHave.go | 142 +-
...UnconfirmedServiceRequestTimeSynchronization.go | 142 +-
...onfirmedServiceRequestUTCTimeSynchronization.go | 142 +-
...rmedServiceRequestUnconfirmedCOVNotification.go | 142 +-
...iceRequestUnconfirmedCOVNotificationMultiple.go | 142 +-
...edServiceRequestUnconfirmedEventNotification.go | 142 +-
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 492 +-
...onfirmedServiceRequestUnconfirmedTextMessage.go | 142 +-
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 544 +-
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 509 +-
.../BACnetUnconfirmedServiceRequestWriteGroup.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BVLC.go | 672 +-
.../model/BVLCDeleteForeignDeviceTableEntry.go | 142 +-
.../model/BVLCDistributeBroadcastToNetwork.go | 142 +-
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 337 +-
.../readwrite/model/BVLCOriginalBroadcastNPDU.go | 197 +-
.../readwrite/model/BVLCOriginalUnicastNPDU.go | 197 +-
.../model/BVLCReadBroadcastDistributionTable.go | 142 +-
.../model/BVLCReadBroadcastDistributionTableAck.go | 142 +-
.../readwrite/model/BVLCReadForeignDeviceTable.go | 142 +-
.../model/BVLCReadForeignDeviceTableAck.go | 142 +-
.../readwrite/model/BVLCRegisterForeignDevice.go | 142 +-
.../plc4go/bacnetip/readwrite/model/BVLCResult.go | 142 +-
.../bacnetip/readwrite/model/BVLCSecureBVLL.go | 142 +-
.../model/BVLCWideBroadcastDistributionTable.go | 142 +-
.../plc4go/bacnetip/readwrite/model/NLM.go | 360 +-
.../readwrite/model/NLMIAmRouterToNetwork.go | 233 +-
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 233 +-
.../plc4go/bacnetip/readwrite/model/NPDU.go | 1162 +-
plc4go/internal/plc4go/knxnetip/Browser.go | 690 +
plc4go/internal/plc4go/knxnetip/Connection.go | 2068 ++
.../{KnxNetIpDiscoverer.go => Discoverer.go} | 26 +-
.../knxnetip/{KnxNetIpDriver.go => Driver.go} | 35 +-
plc4go/internal/plc4go/knxnetip/Field.go | 467 +
plc4go/internal/plc4go/knxnetip/FieldHandler.go | 146 +
.../plc4go/knxnetip/KnxNetIpActiveReader.go | 67 -
plc4go/internal/plc4go/knxnetip/KnxNetIpBrowser.go | 190 -
.../internal/plc4go/knxnetip/KnxNetIpConnection.go | 1244 --
plc4go/internal/plc4go/knxnetip/KnxNetIpField.go | 370 -
.../plc4go/knxnetip/KnxNetIpFieldHandler.go | 94 -
plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go | 246 -
.../internal/plc4go/knxnetip/KnxNetIpSubscriber.go | 167 -
.../{KnxNetIpMessageCodec.go => MessageCodec.go} | 105 +-
plc4go/internal/plc4go/knxnetip/Reader.go | 338 +
plc4go/internal/plc4go/knxnetip/Subscriber.go | 177 +
...IpSubscriptionEvent.go => SubscriptionEvent.go} | 20 +-
plc4go/internal/plc4go/knxnetip/Utils.go | 68 +-
.../plc4go/knxnetip/ValueDecoder.go} | 33 +-
.../{KnxNetIpValueHandler.go => ValueHandler.go} | 10 +-
.../knxnetip/{KnxNetIpWriter.go => Writer.go} | 17 +-
.../plc4go/knxnetip/readwrite/ParserHelper.go | 182 +-
.../plc4go/knxnetip/readwrite/XmlParserHelper.go | 465 +-
.../plc4go/knxnetip/readwrite/model/AccessLevel.go | 198 +
.../plc4go/knxnetip/readwrite/model/Apdu.go | 431 +-
.../plc4go/knxnetip/readwrite/model/ApduControl.go | 349 +-
.../knxnetip/readwrite/model/ApduControlAck.go | 142 +-
.../knxnetip/readwrite/model/ApduControlConnect.go | 142 +-
.../readwrite/model/ApduControlContainer.go | 204 +-
.../readwrite/model/ApduControlDisconnect.go | 142 +-
.../knxnetip/readwrite/model/ApduControlNack.go | 142 +-
.../plc4go/knxnetip/readwrite/model/ApduData.go | 681 +-
.../knxnetip/readwrite/model/ApduDataAdcRead.go | 142 +-
.../readwrite/model/ApduDataAdcResponse.go | 142 +-
.../knxnetip/readwrite/model/ApduDataContainer.go | 204 +-
.../model/ApduDataDeviceDescriptorRead.go | 203 +-
.../model/ApduDataDeviceDescriptorResponse.go | 295 +-
.../plc4go/knxnetip/readwrite/model/ApduDataExt.go | 1381 +-
.../readwrite/model/ApduDataExtAuthorizeRequest.go | 215 +-
.../model/ApduDataExtAuthorizeResponse.go | 176 +-
.../model/ApduDataExtDomainAddressRead.go | 142 +-
.../model/ApduDataExtDomainAddressResponse.go | 142 +-
.../model/ApduDataExtDomainAddressSelectiveRead.go | 142 +-
.../ApduDataExtDomainAddressSerialNumberRead.go | 142 +-
...ApduDataExtDomainAddressSerialNumberResponse.go | 142 +-
.../ApduDataExtDomainAddressSerialNumberWrite.go | 142 +-
.../model/ApduDataExtDomainAddressWrite.go | 142 +-
.../model/ApduDataExtFileStreamInfoReport.go | 142 +-
.../ApduDataExtGroupPropertyValueInfoReport.go | 142 +-
.../model/ApduDataExtGroupPropertyValueRead.go | 142 +-
.../model/ApduDataExtGroupPropertyValueResponse.go | 142 +-
.../model/ApduDataExtGroupPropertyValueWrite.go | 142 +-
...ApduDataExtIndividualAddressSerialNumberRead.go | 142 +-
...DataExtIndividualAddressSerialNumberResponse.go | 142 +-
...pduDataExtIndividualAddressSerialNumberWrite.go | 142 +-
.../readwrite/model/ApduDataExtKeyResponse.go | 142 +-
.../readwrite/model/ApduDataExtKeyWrite.go | 142 +-
.../readwrite/model/ApduDataExtLinkRead.go | 142 +-
.../readwrite/model/ApduDataExtLinkResponse.go | 142 +-
.../readwrite/model/ApduDataExtLinkWrite.go | 142 +-
.../readwrite/model/ApduDataExtMemoryBitWrite.go | 142 +-
.../model/ApduDataExtNetworkParameterRead.go | 142 +-
.../model/ApduDataExtNetworkParameterResponse.go | 142 +-
.../model/ApduDataExtNetworkParameterWrite.go | 142 +-
.../model/ApduDataExtOpenRoutingTableRequest.go | 142 +-
.../model/ApduDataExtPropertyDescriptionRead.go | 234 +-
.../ApduDataExtPropertyDescriptionResponse.go | 425 +-
.../model/ApduDataExtPropertyValueRead.go | 368 +-
.../model/ApduDataExtPropertyValueResponse.go | 449 +-
.../model/ApduDataExtPropertyValueWrite.go | 302 +-
.../model/ApduDataExtReadRouterMemoryRequest.go | 142 +-
.../model/ApduDataExtReadRouterMemoryResponse.go | 142 +-
.../model/ApduDataExtReadRouterStatusRequest.go | 142 +-
.../model/ApduDataExtReadRouterStatusResponse.go | 142 +-
.../model/ApduDataExtReadRoutingTableRequest.go | 142 +-
.../model/ApduDataExtReadRoutingTableResponse.go | 142 +-
.../model/ApduDataExtWriteRouterMemoryRequest.go | 142 +-
.../model/ApduDataExtWriteRouterStatusRequest.go | 142 +-
.../model/ApduDataExtWriteRoutingTableRequest.go | 142 +-
.../readwrite/model/ApduDataGroupValueRead.go | 171 +-
.../readwrite/model/ApduDataGroupValueResponse.go | 228 +-
.../readwrite/model/ApduDataGroupValueWrite.go | 295 +-
.../model/ApduDataIndividualAddressRead.go | 142 +-
.../model/ApduDataIndividualAddressResponse.go | 142 +-
.../model/ApduDataIndividualAddressWrite.go | 142 +-
.../knxnetip/readwrite/model/ApduDataMemoryRead.go | 205 +-
.../readwrite/model/ApduDataMemoryResponse.go | 232 +-
.../readwrite/model/ApduDataMemoryWrite.go | 142 +-
.../knxnetip/readwrite/model/ApduDataOther.go | 197 +-
.../knxnetip/readwrite/model/ApduDataRestart.go | 142 +-
.../readwrite/model/ApduDataUserMessage.go | 142 +-
.../plc4go/knxnetip/readwrite/model/CEMI.go | 877 +-
.../readwrite/model/CEMIAdditionalInformation.go | 293 +-
.../CEMIAdditionalInformationBusmonitorInfo.go | 514 +-
.../CEMIAdditionalInformationRelativeTimestamp.go | 237 +-
.../knxnetip/readwrite/model/CEMIPriority.go | 135 +-
.../knxnetip/readwrite/model/ChannelInformation.go | 219 +-
.../knxnetip/readwrite/model/ComObjectTable.go | 229 +
.../readwrite/model/ComObjectTableAddresses.go | 18879 ++++++++++++++++
.../model/ComObjectTableRealisationType1.go | 255 +
.../model/ComObjectTableRealisationType2.go | 255 +
.../model/ComObjectTableRealisationType6.go | 176 +
.../knxnetip/readwrite/model/ComObjectValueType.go | 278 +
.../knxnetip/readwrite/model/ConnectionRequest.go | 307 +-
.../model/ConnectionRequestInformation.go | 322 +-
...ConnectionRequestInformationDeviceManagement.go | 142 +-
...ConnectionRequestInformationTunnelConnection.go | 251 +-
.../knxnetip/readwrite/model/ConnectionResponse.go | 402 +-
.../readwrite/model/ConnectionResponseDataBlock.go | 322 +-
.../ConnectionResponseDataBlockDeviceManagement.go | 142 +-
.../ConnectionResponseDataBlockTunnelConnection.go | 197 +-
.../readwrite/model/ConnectionStateRequest.go | 306 +-
.../readwrite/model/ConnectionStateResponse.go | 256 +-
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 670 +-
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 306 +-
.../knxnetip/readwrite/model/DescriptionRequest.go | 197 +-
.../readwrite/model/DescriptionResponse.go | 254 +-
.../readwrite/model/DeviceConfigurationAck.go | 197 +-
.../model/DeviceConfigurationAckDataBlock.go | 303 +-
.../readwrite/model/DeviceConfigurationRequest.go | 254 +-
.../model/DeviceConfigurationRequestDataBlock.go | 304 +-
.../knxnetip/readwrite/model/DeviceDescriptor.go | 558 +
.../readwrite/model/DeviceDescriptorMediumType.go | 163 +-
.../readwrite/model/DeviceDescriptorType0.go | 476 -
.../readwrite/model/DeviceDescriptorType2.go | 623 +-
.../knxnetip/readwrite/model/DeviceStatus.go | 222 +-
.../knxnetip/readwrite/model/DisconnectRequest.go | 306 +-
.../knxnetip/readwrite/model/DisconnectResponse.go | 256 +-
.../knxnetip/readwrite/model/FirmwareType.go | 334 +-
.../model/GroupObjectDescriptorRealisationType1.go | 368 +
.../model/GroupObjectDescriptorRealisationType2.go | 369 +
.../model/GroupObjectDescriptorRealisationType6.go | 127 +
.../model/GroupObjectDescriptorRealisationType7.go | 369 +
.../model/GroupObjectDescriptorRealisationTypeB.go | 342 +
.../readwrite/model/HPAIControlEndpoint.go | 301 +-
.../knxnetip/readwrite/model/HPAIDataEndpoint.go | 301 +-
.../readwrite/model/HPAIDiscoveryEndpoint.go | 301 +-
.../knxnetip/readwrite/model/HostProtocolCode.go | 107 +-
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 209 +-
.../plc4go/knxnetip/readwrite/model/KnxAddress.go | 274 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 22317 +++++++++----------
.../readwrite/model/KnxDatapointMainType.go | 2139 +-
.../knxnetip/readwrite/model/KnxDatapointType.go | 11883 +++++-----
.../knxnetip/readwrite/model/KnxGroupAddress.go | 291 +-
.../readwrite/model/KnxGroupAddress2Level.go | 258 +-
.../readwrite/model/KnxGroupAddress3Level.go | 313 +-
.../readwrite/model/KnxGroupAddressFreeLevel.go | 203 +-
.../readwrite/model/KnxInterfaceObjectProperty.go | 9204 ++++----
.../readwrite/model/KnxInterfaceObjectType.go | 806 +-
.../plc4go/knxnetip/readwrite/model/KnxLayer.go | 121 +-
.../knxnetip/readwrite/model/KnxManufacturer.go | 15320 +++++++------
.../plc4go/knxnetip/readwrite/model/KnxMedium.go | 163 +-
.../knxnetip/readwrite/model/KnxNetIpCore.go | 203 +-
.../readwrite/model/KnxNetIpDeviceManagement.go | 203 +-
.../knxnetip/readwrite/model/KnxNetIpMessage.go | 787 +-
.../knxnetip/readwrite/model/KnxNetIpRouting.go | 177 +
.../knxnetip/readwrite/model/KnxNetIpTunneling.go | 203 +-
.../knxnetip/readwrite/model/KnxNetObjectServer.go | 203 +-
.../model/KnxNetRemoteConfigurationAndDiagnosis.go | 203 +-
.../readwrite/model/KnxNetRemoteLogging.go | 203 +-
.../plc4go/knxnetip/readwrite/model/KnxProperty.go | 2778 +--
.../readwrite/model/KnxPropertyDataType.go | 1869 +-
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 438 +-
.../plc4go/knxnetip/readwrite/model/LDataCon.go | 365 +-
.../knxnetip/readwrite/model/LDataExtended.go | 365 +
.../plc4go/knxnetip/readwrite/model/LDataFrame.go | 618 +-
.../knxnetip/readwrite/model/LDataFrameACK.go | 156 +
.../knxnetip/readwrite/model/LDataFrameData.go | 301 -
.../knxnetip/readwrite/model/LDataFrameDataExt.go | 329 -
.../readwrite/model/LDataFramePollingData.go | 272 -
.../plc4go/knxnetip/readwrite/model/LDataInd.go | 365 +-
.../plc4go/knxnetip/readwrite/model/LDataReq.go | 365 +-
.../plc4go/knxnetip/readwrite/model/LPollData.go | 288 +
.../knxnetip/readwrite/model/LPollDataCon.go | 142 +-
.../knxnetip/readwrite/model/LPollDataReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawCon.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawInd.go | 142 +-
.../plc4go/knxnetip/readwrite/model/LRawReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 209 +-
.../readwrite/model/MFuncPropCommandReq.go | 142 +-
.../knxnetip/readwrite/model/MFuncPropCon.go | 142 +-
.../readwrite/model/MFuncPropStateReadReq.go | 142 +-
.../knxnetip/readwrite/model/MPropInfoInd.go | 142 +-
.../knxnetip/readwrite/model/MPropReadCon.go | 478 +-
.../knxnetip/readwrite/model/MPropReadReq.go | 423 +-
.../knxnetip/readwrite/model/MPropWriteCon.go | 142 +-
.../knxnetip/readwrite/model/MPropWriteReq.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MResetInd.go | 142 +-
.../plc4go/knxnetip/readwrite/model/MResetReq.go | 142 +-
.../model/ProjectInstallationIdentifier.go | 219 +-
.../knxnetip/readwrite/model/RelativeTimestamp.go | 168 +-
.../knxnetip/readwrite/model/RoutingIndication.go | 142 +-
.../knxnetip/readwrite/model/SearchRequest.go | 197 +-
.../knxnetip/readwrite/model/SearchResponse.go | 307 +-
.../plc4go/knxnetip/readwrite/model/ServiceId.go | 415 +-
.../plc4go/knxnetip/readwrite/model/Status.go | 247 +-
.../readwrite/model/SupportedPhysicalMedia.go | 694 +-
.../knxnetip/readwrite/model/TDataConnectedInd.go | 142 +-
.../knxnetip/readwrite/model/TDataConnectedReq.go | 142 +-
.../knxnetip/readwrite/model/TDataIndividualInd.go | 142 +-
.../knxnetip/readwrite/model/TDataIndividualReq.go | 142 +-
.../knxnetip/readwrite/model/TunnelingRequest.go | 254 +-
.../readwrite/model/TunnelingRequestDataBlock.go | 304 +-
.../knxnetip/readwrite/model/TunnelingResponse.go | 197 +-
.../readwrite/model/TunnelingResponseDataBlock.go | 303 +-
.../knxnetip/readwrite/model/UnknownMessage.go | 240 +-
.../modbus/{ModbusConnection.go => Connection.go} | 88 +-
.../plc4go/modbus/{ModbusDriver.go => Driver.go} | 47 +-
.../plc4go/modbus/{ModbusField.go => Field.go} | 53 +-
.../{ModbusFieldHandler.go => FieldHandler.go} | 57 +-
plc4go/internal/plc4go/modbus/MessageCodec.go | 216 +
.../internal/plc4go/modbus/ModbusMessageCodec.go | 184 -
plc4go/internal/plc4go/modbus/ModbusReader.go | 194 -
plc4go/internal/plc4go/modbus/Reader.go | 216 +
.../{ModbusValueHandler.go => ValueHandler.go} | 0
.../plc4go/modbus/{ModbusWriter.go => Writer.go} | 121 +-
plc4go/internal/plc4go/modbus/fieldtype_string.go | 58 +
.../plc4go/modbus/readwrite/ParserHelper.go | 73 +-
.../plc4go/modbus/readwrite/XmlParserHelper.go | 129 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 1244 +-
.../modbus/readwrite/model/ModbusConstants.go | 155 +-
.../modbus/readwrite/model/ModbusDataType.go | 410 +
.../modbus/readwrite/model/ModbusDataTypeSizes.go | 348 -
.../modbus/readwrite/model/ModbusErrorCode.go | 219 +-
.../plc4go/modbus/readwrite/model/ModbusPDU.go | 1357 +-
.../readwrite/model/ModbusPDUDiagnosticRequest.go | 262 +-
.../readwrite/model/ModbusPDUDiagnosticResponse.go | 262 +-
.../modbus/readwrite/model/ModbusPDUError.go | 207 +-
.../model/ModbusPDUGetComEventCounterRequest.go | 146 +-
.../model/ModbusPDUGetComEventCounterResponse.go | 262 +-
.../model/ModbusPDUGetComEventLogRequest.go | 146 +-
.../model/ModbusPDUGetComEventLogResponse.go | 440 +-
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 317 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 317 +-
.../readwrite/model/ModbusPDUReadCoilsRequest.go | 262 +-
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 275 +-
.../ModbusPDUReadDeviceIdentificationRequest.go | 146 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 146 +-
.../model/ModbusPDUReadDiscreteInputsRequest.go | 262 +-
.../model/ModbusPDUReadDiscreteInputsResponse.go | 275 +-
.../model/ModbusPDUReadExceptionStatusRequest.go | 146 +-
.../model/ModbusPDUReadExceptionStatusResponse.go | 207 +-
.../model/ModbusPDUReadFifoQueueRequest.go | 207 +-
.../model/ModbusPDUReadFifoQueueResponse.go | 295 +-
.../model/ModbusPDUReadFileRecordRequest.go | 294 +-
.../model/ModbusPDUReadFileRecordRequestItem.go | 325 +-
.../model/ModbusPDUReadFileRecordResponse.go | 294 +-
.../model/ModbusPDUReadFileRecordResponseItem.go | 295 +-
.../model/ModbusPDUReadHoldingRegistersRequest.go | 262 +-
.../model/ModbusPDUReadHoldingRegistersResponse.go | 275 +-
.../model/ModbusPDUReadInputRegistersRequest.go | 262 +-
.../model/ModbusPDUReadInputRegistersResponse.go | 275 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 495 +-
...PDUReadWriteMultipleHoldingRegistersResponse.go | 275 +-
.../model/ModbusPDUReportServerIdRequest.go | 146 +-
.../model/ModbusPDUReportServerIdResponse.go | 275 +-
.../model/ModbusPDUWriteFileRecordRequest.go | 294 +-
.../model/ModbusPDUWriteFileRecordRequestItem.go | 397 +-
.../model/ModbusPDUWriteFileRecordResponse.go | 294 +-
.../model/ModbusPDUWriteFileRecordResponseItem.go | 397 +-
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 385 +-
.../model/ModbusPDUWriteMultipleCoilsResponse.go | 262 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 385 +-
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 262 +-
.../model/ModbusPDUWriteSingleCoilRequest.go | 262 +-
.../model/ModbusPDUWriteSingleCoilResponse.go | 262 +-
.../model/ModbusPDUWriteSingleRegisterRequest.go | 262 +-
.../model/ModbusPDUWriteSingleRegisterResponse.go | 262 +-
.../modbus/readwrite/model/ModbusSerialADU.go | 373 +-
.../plc4go/modbus/readwrite/model/ModbusTcpADU.go | 339 +-
.../internal/plc4go/s7/{S7Driver.go => Driver.go} | 2 +-
.../internal/plc4go/s7/readwrite/ParserHelper.go | 123 +-
.../plc4go/s7/readwrite/XmlParserHelper.go | 213 +-
.../plc4go/s7/readwrite/model/COTPPacket.go | 626 +-
.../readwrite/model/COTPPacketConnectionRequest.go | 315 +-
.../model/COTPPacketConnectionResponse.go | 315 +-
.../plc4go/s7/readwrite/model/COTPPacketData.go | 260 +-
.../readwrite/model/COTPPacketDisconnectRequest.go | 315 +-
.../model/COTPPacketDisconnectResponse.go | 260 +-
.../s7/readwrite/model/COTPPacketTpduError.go | 260 +-
.../plc4go/s7/readwrite/model/COTPParameter.go | 400 +-
.../s7/readwrite/model/COTPParameterCalledTsap.go | 203 +-
.../s7/readwrite/model/COTPParameterCallingTsap.go | 203 +-
.../s7/readwrite/model/COTPParameterChecksum.go | 203 +-
...COTPParameterDisconnectAdditionalInformation.go | 229 +-
.../s7/readwrite/model/COTPParameterTpduSize.go | 203 +-
.../plc4go/s7/readwrite/model/COTPProtocolClass.go | 149 +-
.../plc4go/s7/readwrite/model/COTPTpduSize.go | 240 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 944 +-
.../s7/readwrite/model/DataTransportErrorCode.go | 163 +-
.../plc4go/s7/readwrite/model/DataTransportSize.go | 240 +-
.../plc4go/s7/readwrite/model/DeviceGroup.go | 121 +-
.../plc4go/s7/readwrite/model/MemoryArea.go | 282 +-
.../plc4go/s7/readwrite/model/S7Address.go | 265 +-
.../plc4go/s7/readwrite/model/S7AddressAny.go | 528 +-
.../plc4go/s7/readwrite/model/S7Message.go | 690 +-
.../plc4go/s7/readwrite/model/S7MessageRequest.go | 148 +-
.../plc4go/s7/readwrite/model/S7MessageResponse.go | 262 +-
.../s7/readwrite/model/S7MessageResponseData.go | 262 +-
.../plc4go/s7/readwrite/model/S7MessageUserData.go | 148 +-
.../plc4go/s7/readwrite/model/S7Parameter.go | 403 +-
.../readwrite/model/S7ParameterReadVarRequest.go | 286 +-
.../readwrite/model/S7ParameterReadVarResponse.go | 205 +-
.../model/S7ParameterSetupCommunication.go | 365 +-
.../s7/readwrite/model/S7ParameterUserData.go | 286 +-
.../s7/readwrite/model/S7ParameterUserDataItem.go | 265 +-
.../model/S7ParameterUserDataItemCPUFunctions.go | 673 +-
.../readwrite/model/S7ParameterWriteVarRequest.go | 286 +-
.../readwrite/model/S7ParameterWriteVarResponse.go | 205 +-
.../plc4go/s7/readwrite/model/S7Payload.go | 321 +-
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 253 +-
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 255 +-
.../s7/readwrite/model/S7PayloadUserDataItem.go | 498 +-
...PayloadUserDataItemCpuFunctionReadSzlRequest.go | 150 +-
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 314 +-
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 253 +-
.../readwrite/model/S7PayloadWriteVarResponse.go | 243 +-
.../s7/readwrite/model/S7VarPayloadDataItem.go | 402 +-
.../s7/readwrite/model/S7VarPayloadStatusItem.go | 168 +-
.../readwrite/model/S7VarRequestParameterItem.go | 265 +-
.../model/S7VarRequestParameterItemAddress.go | 232 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 413 +-
plc4go/internal/plc4go/s7/readwrite/model/SzlId.go | 274 +-
.../s7/readwrite/model/SzlModuleTypeClass.go | 135 +-
.../plc4go/s7/readwrite/model/SzlSublist.go | 345 +-
.../plc4go/s7/readwrite/model/TPKTPacket.go | 287 +-
.../plc4go/s7/readwrite/model/TransportSize.go | 2078 +-
plc4go/internal/plc4go/spi/MessageCodec.go | 7 +-
plc4go/internal/plc4go/spi/PlcBrowser.go | 9 +
.../interceptors/SingleItemRequestInterceptor.go | 26 +-
.../plc4go/spi/model/DefaultBrowseRequest.go | 7 +-
.../plc4go/spi/model/DefaultPlcReadRequest.go | 92 +-
.../plc4go/spi/model/DefaultPlcReadResponse.go | 8 +-
.../spi/model/DefaultPlcSubscriptionEvent.go | 3 +-
.../spi/model/DefaultPlcSubscriptionRequest.go | 70 +-
.../spi/model/DefaultPlcSubscriptionResponse.go | 12 +-
.../plc4go/spi/model/DefaultPlcWriteRequest.go | 68 +-
.../plc4go/spi/model/DefaultPlcWriteResponse.go | 8 +-
.../plcerrors/TimeoutError.go} | 17 +-
.../plc4go/spi/testutils/DriverTestRunner.go | 307 +-
.../plc4go/spi/testutils/ManualTestRunner.go | 170 +
.../spi/testutils/ParserSerializerTestRunner.go | 164 +-
plc4go/internal/plc4go/spi/testutils/TestUtils.go | 10 +-
.../plc4go/spi/testutils/steptype_string.go | 48 +
.../tcp/{TcpTransport.go => Transport.go} | 118 +-
.../test/{TestTransport.go => Transport.go} | 55 +-
.../udp/{UdpTransport.go => Transport.go} | 123 +-
plc4go/internal/plc4go/spi/utils/CastUtils.go | 25 +
.../spi/{PlcBrowser.go => utils/MultiError.go} | 29 +-
plc4go/internal/plc4go/spi/utils/ReadBuffer.go | 164 +-
.../internal/plc4go/spi/utils/ReadBuffer_test.go | 943 +
plc4go/internal/plc4go/spi/utils/Utils.go | 1 +
plc4go/internal/plc4go/spi/utils/WriteBuffer.go | 68 +-
plc4go/internal/plc4go/spi/utils/asciiBox.go | 218 +
plc4go/internal/plc4go/spi/utils/asciiBox_test.go | 498 +
plc4go/internal/plc4go/spi/utils/hex.go | 127 +
plc4go/internal/plc4go/spi/utils/hex_test.go | 168 +
plc4go/internal/plc4go/spi/values/BINT.go | 145 +
plc4go/internal/plc4go/spi/values/BREAL.go | 173 +
.../plc4go/spi/values/IEC61131ValueHandler.go | 46 +-
plc4go/internal/plc4go/spi/values/PlcBitString.go | 9 +-
plc4go/internal/plc4go/spi/values/PlcList.go | 2 +-
plc4go/internal/plc4go/spi/values/PlcStruct.go | 2 +-
.../internal/plc4go/spi/values/PlcValueAdapter.go | 9 +-
plc4go/internal/plc4go/spi/values/RawPlcValue.go | 91 +
plc4go/pkg/plc4go/connection.go | 2 +
plc4go/pkg/plc4go/driverManager.go | 63 +-
plc4go/pkg/plc4go/drivers/drivers.go | 13 +-
.../plc4go/logging/init.go} | 40 +-
plc4go/pkg/plc4go/model/plc_browse.go | 17 +-
plc4go/pkg/plc4go/model/plc_field.go | 1 +
plc4go/pkg/plc4go/model/plc_read.go | 3 +-
plc4go/pkg/plc4go/model/plc_response_code.go | 8 +-
plc4go/pkg/plc4go/model/plc_subscription.go | 9 +-
plc4go/pkg/plc4go/model/plc_write.go | 7 +-
plc4go/pkg/plc4go/transports/transports.go | 4 +-
plc4go/pkg/plc4go/values/plc_value.go | 15 +
plc4go/pom.xml | 255 +-
.../plc4x/java/canopen/CANOpenPlcDriver.java | 2 +-
.../canopen/protocol/CANOpenProtocolLogic.java | 15 +
.../plc4x/java/eip/readwrite/field/EipField.java | 28 +-
.../readwrite/EIPParserSerializerTestsuite.java | 2 +-
.../readwrite/context/FirmataDriverContext.java | 11 +-
.../readwrite/protocol/FirmataProtocolLogic.java | 5 +-
.../knxnetip/protocol/KnxNetIpProtocolLogic.java | 23 +-
.../java/modbus/field/ModbusExtendedRegister.java | 9 +-
.../plc4x/java/modbus/field/ModbusField.java | 21 +-
.../plc4x/java/modbus/field/ModbusFieldCoil.java | 9 +-
.../modbus/field/ModbusFieldDiscreteInput.java | 9 +-
.../modbus/field/ModbusFieldHoldingRegister.java | 9 +-
.../modbus/field/ModbusFieldInputRegister.java | 9 +-
.../java/modbus/protocol/ModbusProtocolLogic.java | 12 +-
.../plc4x/java/modbus/ModbusFieldDataTypeTest.java | 10 +-
.../opcua/connection/OpcuaTcpPlcConnection.java | 919 +
.../apache/plc4x/java/opcua/field/OpcuaField.java | 15 +-
plc4j/drivers/s7/pom.xml | 4 +
.../plc4x/java/s7/readwrite/field/S7Field.java | 6 +-
.../s7/readwrite/protocol/S7ProtocolLogic.java | 201 +-
.../s7/src/{main => test}/resources/logback.xml | 0
.../hello-world-plc4x-subscription/pom.xml | 5 -
.../subscription/HelloPlc4xSubscription.java | 13 +-
plc4j/integrations/apache-kafka/pom.xml | 8 +-
.../plc4x/java/spi/optimizer/BaseOptimizer.java | 5 +-
plc4j/tools/connection-cache/pom.xml | 98 +
.../utils/connectionpool2/CachedDriverManager.java | 348 +
.../connectionpool2/CachedDriverManagerMBean.java | 26 +-
.../utils/connectionpool2/CachedPlcConnection.java | 227 +
.../utils/connectionpool2/CachedReadRequest.java | 71 +
.../connectionpool2/CachedReadRequestBuilder.java | 58 +
.../connectionpool2/PlcConnectionFactory.java | 28 +-
.../utils/connectionpool2/PooledDriverManager.java | 91 +
.../connectionpool2/PooledDriverManagerMBean.java | 13 +-
.../connectionpool2/CachedDriverManagerIT.java | 76 +
.../connectionpool2/CachedDriverManagerMT.java | 132 +
.../connectionpool2/CachedDriverManagerTest.java | 246 +
.../connectionpool2/CachedPlcConnectionTest.java | 106 +
.../connectionpool2/PooledDriverManagerTest.java | 53 +
.../connection-cache/src/test/resources/log4j2.xml | 34 +
plc4j/tools/pom.xml | 1 +
.../org/apache/plc4x/test/XmlTestsuiteRunner.java | 70 +
.../test/dom4j/LocationAwareDocumentFactory.java | 37 +-
.../plc4x/test/dom4j/LocationAwareElement.java | 33 +-
.../test/dom4j/LocationAwareSAXContentHandler.java | 49 +
.../plc4x/test/dom4j/LocationAwareSAXReader.java | 35 +-
.../plc4x/test/driver/DriverTestsuiteRunner.java | 57 +-
.../plc4x/test/driver/model/DriverTestsuite.java | 3 -
.../apache/plc4x/test/driver/model/TestStep.java | 15 +-
.../apache/plc4x/test/driver/model/Testcase.java | 16 +-
.../org/apache/plc4x/test/manual/ManualTest.java | 12 +-
.../plc4x/test/mapper/TestSuiteMappingModule.java | 105 +
.../java/org/apache/plc4x/test/model/Location.java | 34 +-
.../org/apache/plc4x/test/model/LocationAware.java | 33 +-
.../ParserSerializerTestsuiteRunner.java | 68 +-
.../test/parserserializer/model/Testcase.java | 14 +-
pom.xml | 168 +-
.../resources/protocols/ads/ads-discovery.mspec | 12 +-
.../ads/src/main/resources/protocols/ads/ads.mspec | 159 +-
.../protocols/ads/AdsDiscoverySerializerTest.xml | 32 +-
.../resources/protocols/ads/DriverTestsuite.xml | 18 +-
.../protocols/ads/ParserSerializerTestsuite.xml | 10 +-
.../src/main/resources/protocols/can/canopen.mspec | 111 +-
.../protocols/canopen/CANOpenDriverSDOIT.xml | 16 +-
.../protocols/canopen/CANOpenPayloadTestSuite.xml | 12 +-
.../canopen/CANOpenWiresharkTestSuite.xml | 6 +-
.../resources/protocols/eip/DriverTestsuite.xml | 41 +-
.../protocols/eip/ParserSerializerTestsuite.xml | 24 +-
.../firmata/ParserSerializerTestsuite.xml | 8 +-
protocols/knxnetip/pom.xml | 45 +-
.../plc4x/protocol/knxnetip/KnxNetIpProtocol.java | 10 +-
.../resources/protocols/knxnetip/device-info.mspec | 1745 ++
.../resources/protocols/knxnetip/knxnetip.mspec | 453 +-
.../src/main/script/getKnxMasterData.groovy | 63 +
protocols/knxnetip/src/main/xslt/knx-types.xsl | 172 +-
.../protocol/knxnetip/KnxDefinitionsGenerator.java | 141 +
.../knxnetip/KnxSpecificationStoreUpdater.java | 184 +
.../knxnetip/handlers/ManufacturerIdsHandler.java | 57 +
.../handlers/ProductDescriptionHandler.java | 64 +
.../knxnetip/ParserSerializerTestsuite.xml | 56 +-
.../main/resources/protocols/modbus/modbus.mspec | 126 +-
.../resources/protocols/modbus/DriverTestsuite.xml | 24 +-
.../protocols/modbus/ParserSerializerTestsuite.xml | 15 +-
.../language-c => protocols/plc4x}/pom.xml | 25 +-
...e.plc4x.plugins.codegenerator.protocol.Protocol | 19 +
.../src/main/resources/protocols/plc4x/plc4x.mspec | 43 +-
protocols/pom.xml | 1 +
.../s7/src/main/resources/protocols/s7/s7.mspec | 62 +-
.../resources/protocols/s7/DriverTestsuite.xml | 8 +-
.../protocols/s7/ParserSerializerTestsuite.xml | 22 +-
.../resources/protocols/simulated/simulated.mspec | 4 +-
sandbox/plc4c/CMakeLists.txt | 2 +-
sandbox/plc4c/api/include/plc4c/data.h | 19 +
sandbox/plc4c/api/include/plc4c/types.h | 4 +-
sandbox/plc4c/api/include/plc4c/utils/list.h | 5 +-
.../drivers/modbus/include/plc4c/driver_modbus.h | 27 +
.../modbus/include/plc4c/driver_modbus_packets.h | 7 +-
.../modbus/include/plc4c/driver_s7_encode_decode.h | 2 +-
sandbox/plc4c/drivers/modbus/src/driver_modbus.c | 23 +-
.../modbus/src/driver_modbus_encode_decode.c | 138 +-
.../drivers/modbus/src/driver_modbus_packets.c | 116 +-
.../drivers/modbus/src/driver_modbus_sm_connect.c | 37 +-
.../drivers/modbus/src/driver_modbus_sm_read.c | 142 +-
sandbox/plc4c/drivers/s7/CMakeLists.txt | 18 +-
sandbox/plc4c/drivers/s7/src/driver_s7.c | 67 +-
.../plc4c/drivers/s7/src/driver_s7_encode_decode.c | 22 +-
sandbox/plc4c/drivers/s7/src/driver_s7_packets.c | 57 +-
sandbox/plc4c/drivers/s7/src/driver_s7_sm_read.c | 33 +-
sandbox/plc4c/examples/CMakeLists.txt | 5 +-
.../CMakeLists.txt | 17 +-
.../src/hello_subscriptions.c | 0
.../CMakeLists.txt | 33 +-
.../src/hello_world_modbus.c} | 235 +-
.../{hello-world => hello-world-s7}/CMakeLists.txt | 32 +-
.../src/hello_world_s7.c} | 245 +-
.../generated-sources/modbus/include/data_item.h | 3 +-
.../modbus/include/modbus_data_type.h | 56 +-
.../modbus/include/modbus_data_type_sizes.h | 76 -
.../generated-sources/modbus/include/modbus_pdu.h | 2 +-
.../plc4c/generated-sources/modbus/src/data_item.c | 432 +-
.../modbus/src/modbus_data_type.c | 165 +-
.../modbus/src/modbus_data_type_sizes.c | 296 -
.../modbus/src/modbus_error_code.c | 30 +-
.../generated-sources/modbus/src/modbus_pdu.c | 13 +-
.../generated-sources/s7/include/cotp_packet.h | 2 +-
.../generated-sources/s7/include/cotp_tpdu_size.h | 1 +
.../s7/include/data_transport_size.h | 1 +
.../generated-sources/s7/include/memory_area.h | 1 +
.../generated-sources/s7/include/s7_address.h | 2 +-
.../s7/include/s7_parameter_user_data_item.h | 4 +-
.../s7/include/s7_payload_user_data_item.h | 4 +-
.../plc4c/generated-sources/s7/include/szl_id.h | 2 +-
.../generated-sources/s7/include/transport_size.h | 63 +-
.../plc4c/generated-sources/s7/src/cotp_packet.c | 8 +-
.../generated-sources/s7/src/cotp_parameter.c | 6 +-
.../generated-sources/s7/src/cotp_tpdu_size.c | 29 +
sandbox/plc4c/generated-sources/s7/src/data_item.c | 205 +-
.../s7/src/data_transport_error_code.c | 16 +-
.../generated-sources/s7/src/data_transport_size.c | 14 +
.../plc4c/generated-sources/s7/src/memory_area.c | 30 +
.../plc4c/generated-sources/s7/src/s7_address.c | 22 +-
.../plc4c/generated-sources/s7/src/s7_message.c | 6 +-
.../plc4c/generated-sources/s7/src/s7_parameter.c | 6 +-
.../s7/src/s7_parameter_user_data_item.c | 10 +-
.../plc4c/generated-sources/s7/src/s7_payload.c | 1 +
.../s7/src/s7_payload_user_data_item.c | 3 +-
.../s7/src/s7_var_request_parameter_item.c | 6 +-
sandbox/plc4c/generated-sources/s7/src/szl_id.c | 2 +-
.../generated-sources/s7/src/transport_size.c | 1167 +-
sandbox/plc4c/pom.xml | 2 +-
sandbox/plc4c/spi/CMakeLists.txt | 12 +-
.../plc4c/spi/include/plc4c/spi/types_private.h | 4 +-
sandbox/plc4c/spi/src/data.c | 104 +-
sandbox/plc4c/spi/src/read.c | 6 +-
sandbox/plc4c/spi/src/system.c | 2 +-
sandbox/plc4c/spi/src/utils/list.c | 17 +
sandbox/plc4c/spi/test/read_buffer_test.c | 5 +-
.../transports/tcp/include/plc4c/transport_tcp.h | 6 +
sandbox/plc4c/transports/tcp/src/transport_tcp.c | 26 +-
src/site/asciidoc/index.adoc | 8 +-
src/site/asciidoc/users/adopters.adoc | 2 +
src/site/asciidoc/users/commercial-support.adoc | 4 +-
src/site/asciidoc/users/download.adoc | 4 +-
src/site/asciidoc/users/index.adoc | 2 +-
src/site/asciidoc/users/industry40.adoc | 32 +-
.../asciidoc/users/integrations/apache-iotdb.adoc | 4 +-
.../asciidoc/users/integrations/apache-kafka.adoc | 4 +-
.../asciidoc/users/tools/connection-cache.adoc | 86 +
src/site/asciidoc/users/tools/connection-pool.adoc | 10 +-
.../images/users/companies/logo-c-ware.png | Bin 0 -> 18489 bytes
.../companies/logo-lebbing-automation-drives.png | Bin 0 -> 13626 bytes
src/site/site.xml | 4 +-
829 files changed, 152561 insertions(+), 93215 deletions(-)
diff --cc build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
index d75f6c4,413f5fa..be4731b
--- a/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
+++ b/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
@@@ -253,16 -259,8 +259,16 @@@ public abstract class BaseFreemarkerLan
final ImplicitField implicitField = implicitFieldOptional.get();
return Optional.of(implicitField.getType());
}
+ // Check if the expression is a VirtualField
+ final Optional<VirtualField> virtualFieldOptional = baseType.getFields().stream().filter(
+ field -> field instanceof VirtualField).map(field -> (VirtualField) field).filter(
+ virtualField -> virtualField.getName().equals(propertyName)).findFirst();
+ if(virtualFieldOptional.isPresent()) {
+ final VirtualField virtualField = virtualFieldOptional.get();
+ return Optional.of(virtualField.getType());
+ }
// Check if the expression root is referencing an argument
- if(baseType.getParserArguments() != null) {
+ if (baseType.getParserArguments() != null) {
final Optional<Argument> argumentOptional = Arrays.stream(baseType.getParserArguments()).filter(
argument -> argument.getName().equals(propertyName)).findFirst();
if (argumentOptional.isPresent()) {
diff --cc build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
index 3c423fb,bde0f7e..4879a84
--- a/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
@@@ -89,9 -89,9 +89,10 @@@ public class ${type.name}IO
private static final Logger LOGGER = LoggerFactory.getLogger(${type.name}IO.class);
public static PlcValue staticParse(ReadBuffer io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
<#assign defaultCaseOutput=false>
- <#list type.switchField.cases as case><#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#else>${discriminatorValue}</#if>)<#sep> && </#s [...]
+ <#list type.switchField.cases as case>
+ <#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserArguments[discriminatorValue?inde [...]
<#assign valueDefined=false>
+
<#list case.fields as field>
<#switch field.typeName>
<#case "array">
@@@ -112,10 -112,9 +113,10 @@@
int itemCount = (int) ${helper.toParseExpression(field, field.loopExpression, type.parserArguments)};
${field.name} = new LinkedList<>();
for(int curItem = 0; curItem < itemCount; curItem++) {
- ${field.name}.add(new ${helper.getPlcValueTypeForTypeReference(field.type)}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)})<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toPars [...]
+ ${field.name}.add(new ${helper.getPlcValueTypeForTypeReference(field.type)}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)})<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${he [...]
}
}
+ LOGGER.info("${field.name} - {}", ${field.name});
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
<#else>
<#-- For a length array, we read data till the read position of the buffer reaches a given position -->
diff --cc build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
index 2514145,6ac4162..5557aa5
--- a/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/io-template.java.ftlh
@@@ -169,11 -169,9 +169,11 @@@ public class ${type.name}IO implements
for(int curItem = 0; curItem < itemCount; curItem++) {
<#-- When parsing simple types, there is nothing that could require the "lastItem" -->
<#if !helper.isSimpleTypeReference(arrayField.type)>boolean lastItem = curItem == (itemCount - 1);</#if>
- ${arrayField.name}[curItem] = <#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall(simpleTypeReference)}<#else>${arrayField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayField, parserArgument, [...]
+ ${arrayField.name}[curItem] = <#if helper.isSimpleTypeReference(arrayField.type)><#assign simpleTypeReference = arrayField.type>${helper.getReadBufferReadMethodCall(simpleTypeReference, "", arrayField)}<#else>${arrayField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(arrayField.type, parserArgument?index), true)}) (${helper.toParseExpression(arrayField, [...]
}
}
+ LOGGER.info("${arrayField.name} - {}", ${arrayField.name});
+
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
<#else>
<#-- For a length array, we read data till the read position of the buffer reaches a given position -->
@@@ -348,12 -345,11 +350,12 @@@
${helper.getLanguageTypeNameForField(field)} ${optionalField.name} = null;
if(${helper.toParseExpression(optionalField, optionalField.conditionExpression, type.parserArguments)}) {
<#if helper.isEnumField(field)>
- ${optionalField.name} = ${helper.getLanguageTypeNameForField(optionalField)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(optionalField.type))});
+ ${optionalField.name} = ${helper.getLanguageTypeNameForField(optionalField)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(optionalField.type), "", optionalField)});
<#else>
- ${optionalField.name} = <#if helper.isSimpleTypeReference(optionalField.type)>${helper.getReadBufferReadMethodCall(optionalField.type)}<#else>${optionalField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(optionalField.type, parserArgument?index), true)}) (${helper.toParseExpression(optionalField, parserArgument, type.parserArguments)})<#sep>, </#sep></#list [...]
+ ${optionalField.name} = <#if helper.isSimpleTypeReference(optionalField.type)>${helper.getReadBufferReadMethodCall(optionalField.type, "", optionalField)}<#else>${optionalField.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(optionalField.type, parserArgument?index), true)}) (${helper.toParseExpression(optionalField, parserArgument, type.parserArguments)})<#s [...]
</#if>
}
+ LOGGER.info("${optionalField.name} - {}", ${optionalField.name});
<#break>
<#case "padding">
<#assign paddingField = field>
@@@ -385,11 -381,10 +387,11 @@@
// Simple Field (${simpleField.name})
<#if helper.isEnumField(field)>
- ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = ${helper.getLanguageTypeNameForField(simpleField)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(simpleField.type))});
+ ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = ${helper.getLanguageTypeNameForField(simpleField)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(simpleField.type), "", simpleField)});
<#else>
- ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = <#if helper.isSimpleTypeReference(simpleField.type)><#assign simpleTypeReference = simpleField.type>${helper.getReadBufferReadMethodCall(simpleTypeReference)}<#else><#assign complexTypeReference = simpleField.type>${complexTypeReference.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(simpleField. [...]
+ ${helper.getLanguageTypeNameForField(simpleField)} ${simpleField.name} = <#if helper.isSimpleTypeReference(simpleField.type)><#assign simpleTypeReference = simpleField.type>${helper.getReadBufferReadMethodCall(simpleTypeReference, "", simpleField)}<#else><#assign complexTypeReference = simpleField.type>${complexTypeReference.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgument [...]
</#if>
+ LOGGER.info("${simpleField.name} - {}", ${simpleField.name});
<#break>
<#case "switch">
<#assign switchField = field>
@@@ -621,4 -623,4 +629,4 @@@
</#if>
}
--</#outputformat>
++</#outputformat>
diff --cc build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
index ee1ebe7,ee64ef5..0ec9324
--- a/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/pojo-template.java.ftlh
@@@ -93,11 -93,13 +93,15 @@@ public<#if helper.isDiscriminatedParent
<#list helper.getDiscriminatorValues(discriminatedChildType) as discriminatorName, discriminatorValue>
<#-- If the discriminator name matches that of another field, suppress the methods generation -->
<#if !helper.isNonDiscriminatorField(discriminatorName)>
+ <#if discriminatorValue??>//${discriminatorValue}</#if>
+ //${discriminatorName}
@JsonIgnore
public ${helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])} get${discriminatorName?cap_first}() {
- return <#if helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]) = "String"><#if discriminatorValue??>"${discriminatorValue}"<#else>${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}</#if><#else><#if discriminatorValue??>${discriminatorValue}<#else>${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}</#if></#if>;
+ <#if !helper.isComplexTypeReference(helper.getDiscriminatorTypes()[discriminatorName])>
+ return <#if helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]) = "String"><#if discriminatorValue??>"${discriminatorValue}"<#else>${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}</#if><#else><#if discriminatorValue??>${helper.adjustLiterals(helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]),discriminatorValue)}<#else>${helper.getNullValueForTypeR [...]
+ <#else>
+ return <#if helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName]) = "String"><#if discriminatorValue??>"${discriminatorValue}"<#else>${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}</#if><#else><#if discriminatorValue??>${helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}.${discriminatorValue}<#else>${helper.getLanguageTypeNameForTypeReference(help [...]
+ </#if>
}
</#if>
</#list>