You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/05/26 14:24:10 UTC

[plc4x] branch master updated (295b71f -> 6e7f505)

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

cdutz pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from 295b71f  Merge tag 'release/0.3.1'
     add 4f22368  - Added the testsuite name to the test-name output
     add db108f7  - Added a first test to the cotp protocol testsuite - Aligned the cotp schema with the tpkt protocol structure
     add 572a7f4  - Introduced some "enum"-like construct for the message- and parameter-types.
     add 7e49754  - Fixed some problems in the cotp dfdl schema - Implemented a lot of COTP tests
     add 0d51987  - Disabled the timeout in order to find out if this was killing our jobs.
     add ecb5e6c  - Added a little more documentation on things to check when performing a release.
     add 6ef0491  - Finished the last missing part in the COTP protocol.
     add d3d2cde  - Added a merged dfdl schema joining TPKT, COTP and S7 schema.develop - Started creating a testsuite for this merged schema.
     add 1699d4b  - Fixed the handling of empty elements in the S7 protocol (Setup-Communication Request Payload and Read Var Request Payload)
     add f106c25  - removed the downloading of the MD5 hashes
     add 15ba63c  - Fixed the handling of "CPU Function" packets. - Added a lot of S7 test with real-world packet captures.
     add c2006fa  - Undid some line-breaks.
     add 1f06c0d  - Updated the "release:prepare" command to also include the c++ modules.
     add 1aedf61  - Implemented the "fillingByte" functionality needed for 1-byte payloads.
     add d95081a  - Fixed a problem with the S7 not correctly handling fill-bytes in multi-item read-responses and write-requests.
     add 98fca57  - Disabled the deployment of all c++ modules as well as the examples.
     add e6ff5f9  - Updated the plugin and dependency versions for the used plugins. - Added some git exclusions for CLion - Added some documentation on building with the C++ modules enabled.
     add c4d24c5  - Moved the S7 protocol specs into a dedicated s7-protocol module
     add 841554b  - Cleaned up the structure of the s7 protocol module - Removed the duplicate definitions for the separate protocol layers - Added a dummy SCXML definition of the S7 protocol
     add 6f1201d  - Added a "sandbox" module
     add 315c1bf  - Added a new talk (Changed the sorting to have newest on the top)
     add ced3a50  - Added a multi-module example consisting of an Apache Royale JavaScript frontend, a Spring service module and a Spring-Boot WAR application bundling everything together.
     add f4406f9  - updated the Royale version to the last released version
     add c212f77  - Added a first poc on a purely xml dynamic plc4x driver
     add 54b9f9c  - Fixed some sonarqube findings
     add e920496  - Enabled the sandbox profile for the develop branch build.
     add de02436  - Fixing more sonarqube findings
     add 644d586  Updated the release website and developer documentation.
     add 5cb9242  Improved download.adoc site.
     add 8489b9f  - Updated to the newest reflow-maven-skin - Suppressed the project version in the generated site
     add f0e7d31  - Fixed a bug in the SCXML template making the S7 not respond correctly - Started implementing the processing of responses in SCXML
     add 3a0dd78  - Added a missing "usedDepencency" entry to the dependenc plugin
     add 4d7ff5a  Commented the timeout back in again (Wasn't reducing the number of kills) .. I am assuming it's due to some OS limitation and usually occurs with parallel executed builds.
     add 66aebb3  - Continued working on the dynamic s7 driver
     add 6c49277  - Continued working on the dynamic s7 driver
     add 54115fc  - Forcefully ensured the scala compilation is done before the java compilation.
     add fc06b65  - Cleaned up findings of the dependency plugin.
     add c57e078  - Cleaned up findings of the dependency plugin.
     add e3cb295  - Finished a fist version of the dynamic driver that is able to read a single item from a remote S7 device. - Placed the word "Eventually" with something that comes closer to the german "Eventuell"
     add 4ece82b  - Added a missing dependency declaration.
     add 9688502  - Fixed a bug only inserting a fill byte by 1 byte payloads, but it must have been in case of an uneven number of bytes.
     add cbf2f75  - Fixed a bug only inserting a fill byte by 1 byte payloads, but it must have been in case of an uneven number of bytes.
     add 30e31fa  Added one step to release documentation.
     add 6f50a4d  - Renamed the FLAGS constant to FLAGS_MARKERS and changed the short name to "M" which seems to be the usually used one.
     add 4cc87d5  - Updated the maven-wrapper to latest changes to avoid problems with invalid headers. - Added attribution to the maven-wrapper project to the LICENSE file.
     add 06a7c56  - fixed NPE when reading odd-length array of one-byte base types
     add 9410ae3  PLC4X-82 - java.lang.IndexOutOfBoundsException
     add 78f84b4  PLC4X-84 - NPE when reading Marker
     add b799c2f  - Fixed a bug in the code
     add 1c85380  - Fixed a problem with the logging setup of the elastic example
     add ef76a91  - Added the commits mailinglist to the "mailinglists" section of the pom (In order to have it listed in the generated site)
     add 6ba4b8f  - Updated the MQTTBee dependency to the released version of the hivemq-mqtt-client (library was renamed)
     add 49a6a16  - Updated the
     add 85f9a74  - Finished adapting the DFDL schemas and TDML testsuite to Daffodil 2.3.0
     add 7ca44d9  - Fine-tuned the pom to satisfy the dependency checker
     add a4ae1b8  - Updated the
     add 8a7d5cf  - Added a first KNX driver commit ... huge work in progress ...
     add 6df09b7  - Added a section on cleaning up old releases to the release documentation.
     add cdcded4  Merge branches 'develop' and 'feature/daffodil-2.3.0' of https://gitbox.apache.org/repos/asf/incubator-plc4x into feature/daffodil-2.3.0
     add 8b29bb5  - Started with the plc4x-maven-plugin
     add 539521b  - Got a first version of the tests running ...
     add 9169c3c  - First version using Dom4J and Freemarker to actually generate something ...
     add 9ecbc55  - Hopefully last thing the build is complaining about.
     add 3b90448  - Added the "Apache" section to the bottom navigation - Added a Apache Trademark disclaimer text to the site - Added TM to the Apache product mentions
     add 32d8876  - Moved the AbstractProtocolTest to a new "plc4-protocols-test-utils" module - Continued implementing the KNXNet/IP Protocol -- Finished decoding messages captured on my own KNX bus -- Implemented a testsuite for all of these messages
     add e504030  PLC4X-1 - Fix the diagram generation with asciidoctor
     add 05fd2e6  - Added a first draft of the decision-making guidelines
     add e4d847f  - Fixed a little typo in the table syntax
     add a28c567  - Made the numeric list appear nicely formatted.
     add 0918547  modified Release-Notes to be ensure consistency with 0.3.1 (RC/Release)
     add 22b44fe  PLC4X-67 - Build fails with OpenJDK 11 reference build - Updated some dependencies to newer versions - Temporarily disabled some test that were causing problems with Java 11
     add 4d9b408  PLC4X-87 - Reduce the number of exception during site generation - Moved the declaration of the fake lifecycle-mapping plugin into a dedicated profile
     add 8059426  PLC4X-87 - Reduce the number of exception during site generation - Fixed some CVE errors by updating dependency versions - Set the build to fail if a CVE score above 8 is detected
     add a89ecef  Minor changes on getting-involved.adoc
     add 9d113ee  Minor Changes
     add a89626c  Merge pull request #45 from cptblaubaer/develop
     add 527ae1b  PLC4X-88: - introduced TriggeredScraper and belonging classes - made classes of old scraper deprecated - added scheduled and S7-variable trigger (boolean and numeric) - java-docs - tests for regex pattern of trigger strategy added - added ToDos
     add ee46d30  Merge pull request #46 from timbo2k/scraper-extention
     add dc5b884  Add Class PlcDriver
     add 8c1d0be  Changes to the classes of   Authentification   Exceptions
     add dec6ec2  - Fixed some java comment which was causing the site generation to fail
     add 4e99caa  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/incubator-plc4x into develop
     add f31bf79  Necessary changes to make the (new) plc scraper driver agnostic: * The PlcField interface has a (default) method to return the expected java type (to know this upfront) * The PlcConnection interface has a new "parse()" method which allows to explicitly create a Field instance for a given type. * Integration of java-type into TriggeredScraper * Tested and added a TriggeredScraper for Modbus
     add eb92a28  [RELEASE] Added download link for Release 0.3.1.
     add 1438150  Added PLC4X Banner and download link
     add de8877f  fixed sonar bugs
     add c95f302  fixed one more sonar-bug
     add 67c4372  fixed a TriggeredScraper Bug
     add 4d6883f  Removed dependency check on Jenkins until NVS CVE issue is fixed.
     add 53bd914  Removed skip of dependency-check... give build 2 hours.
     add a4b403a  Site fixes for PLC4X-96, PLC4X-97, PLC4X-98 and PLC4X-99.
     add 96899cc  Site fixes for PLC4X-96, PLC4X-97, PLC4X-98 and PLC4X-99.
     add b04fb86  Site fix for PLC4X-98 (thanks to Sebb for reporting).
     add 11d2b20  Necessary changes to make the (new) plc scraper driver agnostic: * The PlcField interface has a (default) method to return the expected java type (to know this upfront) * The PlcConnection interface has a new "parse()" method which allows to explicitly create a Field instance for a given type. * Integration of java-type into TriggeredScraper * Tested and added a TriggeredScraper for Modbus
     add 22d573e  Merge pull request #47 from apache/extend-Field-with-type-information
     add 70258eb  Merged GitHub and GitBox
     add 2002830  PLC4X-105 - Website has Parent menu that does nothing - Removed the empty "Parent" menu
     add 785c364  PLC4X-97 - Anchors display under the page heading - Increased the space before an anchor by 20 pixels
     add f041d77  PLC4X-97 - Anchors display under the page heading - Changed the distance for h2 headers
     add 55377ec  Moved the inheritance suppression into the execution definition
     add bcb037a  NO JIRA - Added a script for cleaning up the staged site before deploying it
     add 21b8017  NO JIRA - Make the cleanup script executable (Try nr. 2)
     add 2377fda  NO JIRA - Added a page on the Apache Maturity Model - Added a team page - Added some documentation on how to contribute - Added the page on "Decision Making" to the menu
     add f30a113  Correcting two typos in contributing.adoc
     add 7ec820a  Merge pull request #48 from cptblaubaer/develop
     add 4f33f8c  NO JIRA - Continued documenting the apache maturity model compliance.
     add 8731e0e  Added jfeinauer to team page.
     add 2b204ca  Slight correction of jfeinauer team page.
     add 1a7a853  NO JIRA - Finished the maturity page ...
     add d84c0cd  NO JIRA - Added some more conference appearances
     add fd86308  NO JIRA - Fixed allotta typoz ;-)
     add 1a082cb  Some further work on the KNXNet/IP protocol state-machine.
     add fc3e100  Merge remote-tracking branch 'upstream/develop' into develop
     add 1c14d2e  added tmitsch to team page
     add 34a4d97  INFRA-18056
     add 7a61fa3  Merge pull request #49 from clambertus/develop
     add a39e3c8  Preparing a little more complex PR for figguring out the Sync issues.
     add 5317c56  Merge pull request #50 from chrisdutz/develop
     add 4992d3f  Added the content for Sebastian Rühl to the team page.
     add 1fb8e53  Removed PLC4S module (another test for PR support)
     add cdb2e6d  Merge pull request #51 from chrisdutz/develop
     add 3ffbd3c  Merge branch 'develop' of github.com:apache/incubator-plc4x into develop
     add 22908d9  Changed the unpacking of the web-client from the generate-resources to the prepare-package phase.
     add 4fbfabf  Merge pull request #52 from chrisdutz/develop
     add e43d62f  Merge branch 'develop' of github.com:apache/incubator-plc4x into develop
     add 227a316  - Fixed a link to the conferenced page - Added the meetup in Nürtingen in February
     add a769b3c  Merge pull request #53 from chrisdutz/develop
     add 2bd6952  Merge branch 'develop' of github.com:apache/incubator-plc4x into develop
     add 00e0716  Add Classes from Folders Messages, Events and Connection (in part)
     add 74a23ad  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/incubator-plc4x into develop
     add e144909  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/incubator-plc4x into develop
     add 1c8ca9e  Added a first draft of maven support for Cpp driver base
     add 0ffd479  Merge pull request #54 from chrisdutz/develop
     add cc3a9f5  - Removed plc4c as this is empty - Added the driber bases to the build
     add 1896354  Merge pull request #55 from chrisdutz/develop
     add ec7a096  Continued working on getting the C++ driver base to compile with maven: - Renamed the DefaultLocalDateTimeFieldItem.cpp (the "Item" was spelled with an "l" letter L) - Added missing classes to the CMakeLists.txt - Added a rat-exception to prevent usage of CLion (C++ IDE) from breaking the build
     add 336ff46  Got the C++ working.
     add e10fccc  Feature/plc4 x 108 ping method (#57)
     add fdb2b6b  Fixed the build / changed DynamicS7Connection in accordance with PLC4X-108.
     add 08dfd9e  Small refactoring.
     add f7acdb9  Added some documentation of how to start a local Kafka system ... not 100% finished with the Kafka-Connect part though.
     add 77a9676  removed unnecessary sandbox dependency
     add 1ef81b0  - Adjusting the website to no longer be an incubating podlings website. - Adjusted the release documentation to TLP release processed. - Adjusted the build to produce TLP release artifacts.
     add 3fa9bee  - Added two rdp files for the project and the committee (PMC)
     add 811a683  - Updated the meetups (Added the IoT Thüringen meetup in June)
     add 4192825  - Finished a first operational version of the quickstart for the kafka-connect adapter.
     add 3755211  - Added documentation on how to build with Visual Studio. - Added some of the Visual Studio project files to the gitignore list.
     add 783a7bc  Merge branches 'develop' and 'feature/graduation-adjustments' of https://gitbox.apache.org/repos/asf/incubator-plc4x into feature/graduation-adjustments
     add 2aff98f  - Undoing some of the changes as the git repos are not yet migrated.
     add 9327ea0  Update README
     add 14c408b  PLC4X-108 - Add ping() method to PlcConnection
     add cc7bc95  PLC4X-108 - Add ping() method to PlcConnection
     add 2cfe5f2  PLC4X-108 - Add ping() method to PlcConnection
     add e5ca759  Merge pull request #59 from apache/feature/alternate-PLC4X-108
     add f617792  - Finished the graduation-tasks after the git repos were renamed
     add c4d7c22  - Try suppressing the false positive "commit to master" emails.
     add 74bfe18  - Finalized the committee and project RDP files.
     add 7f6749d  Add Logger-Folder with following Blogger, DatDmp, DbgTrace, ErrorCategory, ErrorInfoException, ExLog, CMakeLists Modify TopLevel CMakeLists
     add f89fafa  Add PlcDriverManager for dynamic Loading PLCDrivers
     add 4753c55  Bugfixes for Debug-Mode
     add 9f936ee  Bugfix double word PUBLIC
     add 42f1d2c  PLC4X-111 Add initial implementation of the interop server.
     add 550d351  PLC4X-111 Imported Python support for the Interop Server. Currently possible for S7.
     add 085bcad  PLC4X-111 Added Readme and renamed the INIT Script.
     add 0f3d363  PLC4X-111 Added Readme and renamed the INIT Script.
     add de3a0c1  PLC4X-111 Fixed several scripts.
     add 7246345  PLC4X-111 Added meaningful test with assert.
     add 7cdd06d  PLC4X-111 Minor fix, seems necessary.
     add 1eb5b17  Remove temporary stuff from Python via gitignore
     add 667e887  PLC4X-111 Rat fixes.. added maven module.
     add 2d24599  PLC4X-111 Add initial implementation of the interop server.
     add 11b7f14  PLC4X-111 Imported Python support for the Interop Server. Currently possible for S7.
     add 87ddc84  PLC4X-111 Added Readme and renamed the INIT Script.
     add 7aeefaf  PLC4X-111 Added Readme and renamed the INIT Script.
     add 0719484  PLC4X-111 Fixed several scripts.
     add 82be59e  PLC4X-111 Added meaningful test with assert.
     add f2246c1  PLC4X-111 Minor fix, seems necessary.
     add 5151d28  Remove temporary stuff from Python via gitignore
     add 5e848c9  PLC4X-111 Rat fixes.. added maven module.
     add de3eba5  Merge branch 'feature/PLC4X-111-interop-server' of https://gitbox.apache.org/repos/asf/plc4x into feature/PLC4X-111-interop-server
     add 2371678  - Added a universal build for Boost and Thrift in the tools module.
     add c7f32e9  - Got the build working on Mac (unless you use Java 12 .. then you're still fu**ed up ;-))
     add 6de3c36  - Added documentation for Windows
     add 42ed4c3  - Made the interop server generate the thrift sources with the thrift compiler build as part of the build.
     add ce4955a  - Made the assembly plugin package the thrift compiler
     add 74a7ffe  - Added the dependency back in so maven builds the thrift compiler first (I had assumed maven understood that becaue of the dependency plugin)
     add 9704f90  PLC4X-111 Kind of works again... kind of, at least...
     add deeb08d  PLC4X-111 Last test passes.
     add 4dda932  PLC4X-111 Removed unnecessary sh skript.
     add e22c020  - Streamlined the cpp compilations to package zips and to use the maven dependency mechanism and not rely on relative paths
     add 174143a  - Continued steamlineing the builds for c++ modules - Adjusted the python build
     add dfcadc1  - Working on the windows build
     add aca23a4  - Added the original logo variants
     add fa2dbe4  Merge branches 'develop' and 'feature/PLC4X-111-interop-server' of github.com:apache/plc4x into feature/PLC4X-111-interop-server
     add 6c44c7e  - Even more optimization of the build - Disabled some tests causing problems with Java 12
     add a54b713  - Some missing documentation parts detected when building on an empty ubuntu node.
     add 6d9dc4b  - Updated the general setup requirements (Git seems to be required for building Apache NiFi module) - Added missing Python 2.7 installation to the Mac setup requirements
     add 009a846  - Updated the DOAP file to include python and c++
     add 4e53dc4  - Added the setup prerequisites for a full build of PLC4X to the main README - Removed obsolete parts from the plc4cpp README - Added some more instructions to the tools README
     add 725a66e  - Updated the starting page
     add 0a34e43  - Added missing profiles to the Jenkinsfile
     add 0414ac9  - Added python and c++ modules to the SonarQube analysis
     add 4ede511  PLC4X-114 - Some tests fail starting with Java 12 - Seems for the modbus driver the code was not needed (Removed the code in question)
     add 809de68  - Refactroed the structure of the python module to be more like the other modules
     add f375795  - Added the maven-assembly-plugin to package assemblies.
     add ef5c829  - Tried to tell sonarqube about c++ and python
     add bff2e39  - Disabled forcing the language in Python and C++ as Apache's SonarQube currently doesn't support these languages.
     add 174afb5  - Added a first trivial setup.py that gets the important parts from loading the pom.xml in the same directory.
     add 1ffe05a  Fixed mailto: bug for subscribe links on the mailing-list side.
     add 580a9a2  Revert "Fixed mailto: bug for subscribe links on the mailing-list side."
     add 60640ec  PLC4X-117 - Subscription links on the website not working - Fixed the links
     add 894dead  - Integrated the call to setup.py to maven - Made sure the python build is run inside target/python directory and not in the module root
     add 44bd9d0  PLC4X-117 - Subscription links on the website not working - Added the mailto to the post email address - Added the issues list
     add 003477d  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into develop
     add 1800d4b  Nested Classes for Builder, PLcConnection modified CMakelists with central import of Boost
     add 1d86db6  CMakelists with central import of Boost
     add 2ab73c3  Nested Class Builder CMakelists with central import of Boost
     add bfe56b0  CMakelists with central import of Boost
     add 5bb6338  - Refactored the project structure to include examples and integration modules to the plc4x language they are based on.
     add 616c3d6  - Streamlined the calls to run python to be equal for compile and package
     add f37a80e  - Removed the double import of plc4py
     add a1caea1  - Added a new exclusion for Eclipse settings files ".factorypath"
     add 51f8781  [PLC4X-110] Added VS solution and project
     add 738f5ac  [PLC4X-110] Added core class implementation
     add 70cffb1  [PLC4X-110] Implemented messages and builders
     add a0948e6  Added vscode files to gitignore
     add a458f64  Merge branch 'feature/plc4net' of https://github.com/bjoernhoeper/incubator-plc4x into bjoernhoeper-feature/plc4net
     add 01fc7a4  - Fine tuned the build and integrated it to maven
     add 2e6085f  Merge branch 'bjoernhoeper-feature/plc4net' into develop
     add f6548ed  - Moved up the format descriptor to the top or visual studio won't be able to read the solution.
     add c59147b  - Added some documentation on how to use PLC4J - Added a warning to the windows installation guide (If you don't run the setup, things will be problematic)
     add 68bf9f2  - Enabled the .Net build in the Jenkinsfile
     add 2e439a3  Fix link to material
     add 3e712a6  Merge pull request #62 from NiklasMerz/fix-link
     add d7598ad  - Added support for intel based mac systems
     add b3555d4  - Updated the banch with latest changed from develop ...
     add 68154c4  - Introduced the with-java profile
     add e59d737  - Added some imports back, that IntelliJ seems to think are not needed (Had to add them for the second time now)
     add dbaab76  - Changed the API to make the code compatible with Java 8 (Constructor version used was marked as "Available since Java 10")
     add 9a5c88f  Add FOSSA hackathon to event list
     add 7ee17df  - Enable all modules in site-generation
     add ac506ff  - Adjusted the README to work after the introduction of the 'with-java' profile.
     add 315a769  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into develop
     add fd40493  Revert: Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into develop
     add 85c3a78  - Added some documentation on how to prepare your development environment.
     add 8a490a2  - Fixed a wrong dependency name.
     add 6925936  - Added skeleton of a groovy based prerequisite check script.
     add 9246ef7  [Fixed] DefaultPlcWriteRequest returns for the types Byte[] and byte[] the wrong handle function "encodeDateTime" it become changed to "encodeByteArray"
     add 7f94d6c  fixed typo in S7PlcConnection
     add 3d8a7e6  Add initial OPC UA project. This is a raw version of the project without any tests or refactoring in a first fully functional state.
     add 2801e63  Added NOTICE entry for the use of Milo
     add 98c62d0  Added Author field
     add b8c09b5  [Fixed] Failure while Timeout of write request [Added] requestTimeout field for variable timeouts
     add 2b98afa  Added test class bodies and renamed consistently
     add 21da7e6  [Fixed] JavaDoc formatting [Added] Warning messages at exception points with the consideration of adding later some run-time exceptions
     add 3c00fa3  [Added] descriptive class comments to ManualPLC4XOpcua
     add da9ac33  [Fixed] wrong regex description space
     add f832e53  PLC4X-125 - Update the ElasticSearch example to a more recent ElasticSearch version
     add 03d2469  PLC4X-125 - Update the ElasticSearch example to a more recent ElasticSearch version
     add 7e19d81  Updated the status of the languages and drivers on the website.
     add 1d6985a  Started updating the RELEASE_NOTES for the next release
     add 42e3d17  Started updating the RELEASE_NOTES for the next release
     add 467bd3f  Prepared the RELEASE_NOTES for the next release
     add 14f22ab  [maven-release-plugin] prepare branch rel/0.4
     add 614a35e  [maven-release-plugin] prepare for next development iteration
     add 9b29e84  Revert "[maven-release-plugin] prepare for next development iteration"
     add 7c607de  Manually undid some changed the revert missed.
     add f9c7707  [maven-release-plugin] prepare branch rel/0.4
     add 751c931  [maven-release-plugin] prepare for next development iteration
     add 3e425b4  Revert "[maven-release-plugin] prepare for next development iteration"
     add 52833f7  Fixed some issues with the build that surfaced during the last release attempt.
     add d8ecf5d  Changed the way the compilation is supressed as this way the pom is updated during a release.
     add e84a660  Fixed some issues with the build that surfaced during the last release attempt.
     add cedc9a4  Finished resolving the last issues.
     add df8d315  Changed a place the version was not automatically updated.
     add 39837c3  Removed some references to "incubating"
     add 9c8e30d  Moved the definition of the scxml2 dependency into the sandbox.
     add d22daab  Chenged the dependency to scxml2 to a materialized snapshot version.
     add 1b8b993  Added some more documentation to the release documentation.
     add f635ba4  Made sure the thrift generation is executed after the unpacking.
     add b71c856  [maven-release-plugin] rollback the release of release/0.4.0
     add 4924d0a  Hopefully finally made the change find it's way into the repo.
     add 10739fd  [maven-release-plugin] prepare release release/0.4.0
     new 6e7f505  - Merged release 0.4.0 to master

The 1 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:
 .gitignore                                         |   13 +-
 .mvn/wrapper/MavenWrapperDownloader.java           |   57 +-
 .mvn/wrapper/maven-wrapper.properties              |    5 +-
 .vscode/settings.json                              |    8 +
 DISCLAIMER                                         |    7 -
 Jenkinsfile                                        |   32 +-
 LICENSE                                            |    9 +-
 NOTICE                                             |    3 +
 README                                             |  114 +-
 RELEASE_NOTES                                      |   30 +
 jenkins.pom                                        |    2 +-
 .../300ppi/PLC4X logo without mascot@300x.png      |  Bin 0 -> 18418 bytes
 media/logos/300ppi/PLC4X.png                       |  Bin 0 -> 87342 bytes
 media/logos/300ppi/logo PLC4X black line@300x.png  |  Bin 0 -> 50768 bytes
 media/logos/300ppi/logo PLC4X color CMYK@300x.png  |  Bin 0 -> 87342 bytes
 media/logos/300ppi/logo PLC4X on dark bg@300x.png  |  Bin 0 -> 86925 bytes
 media/logos/300ppi/logo PLC4X white line@300x.png  |  Bin 0 -> 46417 bytes
 .../mascot color with apache feather@300x.png      |  Bin 0 -> 127847 bytes
 .../300ppi/mascot color without feather@300x.png   |  Bin 0 -> 91523 bytes
 media/logos/PDF/PLC4X logo without mascot.pdf      |  Bin 0 -> 66597 bytes
 media/logos/PDF/logo PLC4X black line.pdf          |  Bin 0 -> 123655 bytes
 media/logos/PDF/logo PLC4X color CMYK@300x.pdf     |  Bin 0 -> 252702 bytes
 media/logos/PDF/logo PLC4X on dark bg.pdf          |  Bin 0 -> 252970 bytes
 media/logos/PDF/logo PLC4X white line.pdf          |  Bin 0 -> 123558 bytes
 .../logos/PDF/mascot color with apache feather.pdf |  Bin 0 -> 271570 bytes
 media/logos/PDF/mascot color without feather.pdf   |  Bin 0 -> 249178 bytes
 media/logos/SVG/PLC4X logo without mascot.svg      |   59 +
 media/logos/SVG/logo PLC4X black line.svg          | 1598 ++++++++++
 media/logos/SVG/logo PLC4X color CMYK@300x.svg     | 1492 +++++++++
 media/logos/SVG/logo PLC4X on dark bg.svg          | 1492 +++++++++
 media/logos/SVG/logo PLC4X white line.svg          | 1598 ++++++++++
 .../logos/SVG/mascot color with apache feather.svg | 2462 ++++++++++++++
 media/logos/SVG/mascot color without feather.svg   | 1403 ++++++++
 mvnw                                               |   67 +-
 mvnw.cmd                                           |   25 +-
 .../delta-v/pom.xml => plc4cpp/CMakeLists.txt      |   31 +-
 plc4cpp/README.md                                  |   14 +-
 plc4cpp/api/CMakeLists.txt                         |   76 +
 plc4cpp/api/pom.xml                                |  106 +-
 plc4cpp/api/src/assembly/cpp.xml                   |   47 +
 plc4cpp/api/src/main/cmake/CMakeLists.txt          |   76 -
 .../PlcUsernamePasswordAuthentication.cpp          |   14 +-
 .../PlcUsernamePasswordAuthentication.h            |    4 +-
 .../cpp/api/exceptions/PlcConnectionException.h    |    6 +-
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |    6 +-
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |    6 +-
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |    4 +-
 .../PlcIncompatibleDatatypeException.cpp           |    4 +-
 .../exceptions/PlcIncompatibleDatatypeException.h  |    2 +-
 .../api/exceptions/PlcInvalidFieldException.cpp    |   20 +-
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |    8 +-
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |    6 +-
 .../api/exceptions/PlcNotImplementedException.h    |    2 +-
 .../cpp/api/exceptions/PlcProtocolException.h      |    6 +-
 .../PlcProtocolPayloadTooBigException.cpp          |   20 +-
 .../exceptions/PlcProtocolPayloadTooBigException.h |   10 +-
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |    6 +-
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |    6 +-
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |    8 +-
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |    4 +-
 .../exceptions/PlcUnsupportedDataTypeException.h   |    6 +-
 .../exceptions/PlcUnsupportedOperationException.h  |    6 +-
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |    4 +-
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |    4 +-
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |    2 +-
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |    0
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |    2 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.h       |  144 +-
 .../PlcDriver.cpp}                                 |    8 +-
 .../main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h  |   85 +
 .../pom.xml => plc4cpp/examples/CMakeLists.txt     |   23 +-
 plc4cpp/{api => examples}/pom.xml                  |   37 +-
 .../pom.xml => plc4cpp/integrations/CMakeLists.txt |   24 +-
 .../integrations/apache-mynewt/CMakeLists.txt      |   23 +-
 .../integrations}/apache-mynewt/pom.xml            |    8 +-
 .../integrations/edgex-foundry/CMakeLists.txt      |   23 +-
 .../integrations/edgex-foundry}/pom.xml            |   15 +-
 {integrations => plc4cpp/integrations}/pom.xml     |   16 +-
 plc4cpp/libs/boost/pom.xml                         |  158 +
 plc4cpp/libs/boost/src/assembly/cpp-windows.xml    |   47 +
 .../libs/boost/src/assembly/cpp.xml                |   37 +-
 plc4cpp/libs/pom.xml                               |  124 +-
 plc4cpp/pom.xml                                    |  204 +-
 .../pom.xml => plc4cpp/protocols/CMakeLists.txt    |   23 +-
 .../protocols/driver-bases/CMakeLists.txt          |   23 +-
 plc4cpp/protocols/driver-bases/base/CMakeLists.txt |   65 +
 plc4cpp/protocols/driver-bases/base/pom.xml        |  149 +
 .../driver-bases/base/src/assembly/cpp.xml         |   47 +
 .../cpp/base/connection/AbstractPlcConnection.cpp} |   28 +-
 .../cpp/base/connection/AbstractPlcConnection.h    |   79 +
 .../plc4x/cpp/base/connection/ChannelFactory.cpp}  |   11 +-
 .../plc4x/cpp/base/connection/ChannelFactory.h}    |   34 +-
 .../cpp/base/connection/DefaultPlcFieldHandler.cpp |  111 +
 .../cpp/base/connection/DefaultPlcFieldHandler.h   |   96 +
 .../plc4x/cpp/base/connection/PlcFieldHandler.cpp} |    9 +-
 .../plc4x/cpp/base/connection/PlcFieldHandler.h    |   99 +
 .../apache/plc4x/cpp/base/events/ConnectEvent.cpp} |    9 +-
 .../apache/plc4x/cpp/base/events/ConnectEvent.h}   |   18 +-
 .../plc4x/cpp/base/events/ConnectedEvent.cpp}      |    9 +-
 .../apache/plc4x/cpp/base/events/ConnectedEvent.h} |   17 +-
 .../cpp/base/messages/DefaultPlcReadRequest.cpp    |  122 +
 .../cpp/base/messages/DefaultPlcReadRequest.h      |   81 +
 .../cpp/base/messages/DefaultPlcWriteRequest.cpp   |  120 +
 .../cpp/base/messages/DefaultPlcWriteRequest.h     |   81 +
 .../cpp/base/messages/InternalPlcFieldRequest.cpp} |   10 +-
 .../cpp/base/messages/InternalPlcFieldRequest.h}   |   29 +-
 .../base/messages/InternalPlcFieldResponse.cpp}    |    7 +-
 .../cpp/base/messages/InternalPlcFieldResponse.h}  |   23 +-
 .../messages/InternalPlcProprietaryRequest.cpp}    |    6 +-
 .../base/messages/InternalPlcProprietaryRequest.h} |   31 +-
 .../messages/InternalPlcProprietaryResponse.cpp}   |    6 +-
 .../messages/InternalPlcProprietaryResponse.h}     |   31 +-
 .../cpp/base/messages/InternalPlcReadRequest.cpp}  |    7 +-
 .../cpp/base/messages/InternalPlcReadRequest.h}    |   33 +-
 .../cpp/base/messages/InternalPlcRequest.cpp}      |    7 +-
 .../plc4x/cpp/base/messages/InternalPlcRequest.h}  |   21 +-
 .../cpp/base/messages/InternalPlcResponse.cpp}     |    7 +-
 .../plc4x/cpp/base/messages/InternalPlcResponse.h} |   21 +-
 .../cpp/base/messages/InternalPlcWriteRequest.cpp} |    7 +-
 .../cpp/base/messages/InternalPlcWriteRequest.h}   |   43 +-
 .../cpp/base/messages/PlcProprietaryRequest.cpp}   |    7 +-
 .../cpp/base/messages/PlcProprietaryRequest.h}     |   29 +-
 .../cpp/base/messages/PlcProprietaryResponse.cpp}  |    6 +-
 .../cpp/base/messages/PlcProprietaryResponse.h}    |   28 +-
 .../apache/plc4x/cpp/base/messages/PlcReader.cpp}  |    7 +-
 .../apache/plc4x/cpp/base/messages/PlcReader.h}    |   17 +-
 .../apache/plc4x/cpp/base/messages/PlcWriter.cpp}  |    7 +-
 .../apache/plc4x/cpp/base/messages/PlcWriter.h}    |   34 +-
 .../base/messages/items/BaseDefaultFieldItem.cpp}  |   11 +-
 .../cpp/base/messages/items/BaseDefaultFieldItem.h |  136 +
 .../messages/items/DefaultBigDecimalFieldItem.cpp  |  196 ++
 .../messages/items/DefaultBigDecimalFieldItem.h    |   83 +
 .../messages/items/DefaultBigIntegerFieldItem.cpp  |  201 ++
 .../messages/items/DefaultBigIntegerFieldItem.h    |   84 +
 .../messages/items/DefaultBooleanFieldItem.cpp     |  196 ++
 .../base/messages/items/DefaultBooleanFieldItem.h  |   80 +
 .../messages/items/DefaultByteArrayFieldItem.cpp   |  196 ++
 .../messages/items/DefaultByteArrayFieldItem.h     |   81 +
 .../base/messages/items/DefaultByteFieldItem.cpp   |  196 ++
 .../cpp/base/messages/items/DefaultByteFieldItem.h |   81 +
 .../base/messages/items/DefaultDoubleFieldItem.cpp |  196 ++
 .../base/messages/items/DefaultDoubleFieldItem.h   |   81 +
 .../base/messages/items/DefaultFloatFieldItem.cpp  |  196 ++
 .../base/messages/items/DefaultFloatFieldItem.h    |   81 +
 .../messages/items/DefaultIntegerFieldItem.cpp     |  196 ++
 .../base/messages/items/DefaultIntegerFieldItem.h  |   81 +
 .../messages/items/DefaultLocalDateFieldItem.cpp   |  196 ++
 .../messages/items/DefaultLocalDateFieldItem.h     |   81 +
 .../items/DefaultLocalDateTimeFieldItem.cpp        |   95 +
 .../messages/items/DefaultLocalDateTimeFieldItem.h |   71 +
 .../messages/items/DefaultLocalTimeFieldItem.cpp   |   95 +
 .../messages/items/DefaultLocalTimeFieldItem.h     |   71 +
 .../base/messages/items/DefaultLongFieldItem.cpp   |  196 ++
 .../cpp/base/messages/items/DefaultLongFieldItem.h |   82 +
 .../base/messages/items/DefaultShortFieldItem.cpp  |  196 ++
 .../base/messages/items/DefaultShortFieldItem.h    |   82 +
 .../messages/items/DefaultStringFieldItem.cpp}     |   32 +-
 .../base/messages/items/DefaultStringFieldItem.h}  |   53 +-
 .../protocols/driver-bases}/pom.xml                |   12 +-
 {plc4c => plc4cpp/protocols}/pom.xml               |   14 +-
 .../pom.xml => plc4cpp/utils/CMakeLists.txt        |   23 +-
 .../pom.xml => plc4cpp/utils/logger/CMakeLists.txt |   36 +-
 plc4cpp/utils/logger/pom.xml                       |  150 +
 plc4cpp/utils/logger/src/assembly/cpp.xml          |   47 +
 .../org/apache/plc4x/cpp/utils/logger/BLogger.cpp  |  475 +++
 .../org/apache/plc4x/cpp/utils/logger/BLogger.h    |  157 +
 .../org/apache/plc4x/cpp/utils/logger/DatDmp.cpp   |  143 +
 .../cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h |   88 +
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp |   64 +-
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.h   |   54 +
 .../plc4x/cpp/utils/logger/ErrorCategory.cpp       |   71 +
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |  125 +
 .../plc4x/cpp/utils/logger/ErrorInfoException.cpp  |  171 +
 .../plc4x/cpp/utils/logger/ErrorInfoException.h    |   83 +
 .../org/apache/plc4x/cpp/utils/logger/ExLog.cpp    |  143 +
 .../cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h  |   71 +
 {plc4j/drivers/delta-v => plc4cpp/utils}/pom.xml   |   19 +-
 plc4j/api/pom.xml                                  |    4 +-
 .../org/apache/plc4x/java/api/PlcConnection.java   |   21 +
 .../PlcUnsupportedProtocolException.java           |   21 +-
 .../org/apache/plc4x/java/api/model/PlcField.java  |   16 +
 .../plc4x/java/api/types/PlcResponseCode.java      |    1 +
 plc4j/drivers/ads/pom.xml                          |   16 +-
 .../connection/AdsAbstractPlcConnectionTest.java   |   13 +-
 .../ads/connection/AdsTcpPlcConnectionTests.java   |   19 +-
 plc4j/drivers/ethernet-ip/pom.xml                  |   10 +-
 plc4j/drivers/modbus/pom.xml                       |   14 +-
 plc4j/drivers/{simulated => opcua}/pom.xml         |   51 +-
 .../apache/plc4x/java/opcua/OpcuaPlcDriver.java    |   94 +
 .../opcua/connection/BaseOpcuaPlcConnection.java   |   95 +
 .../opcua/connection/OpcuaConnectionFactory.java   |   52 +-
 .../opcua/connection/OpcuaTcpPlcConnection.java    |  464 +++
 .../plc4x/java/opcua/protocol/OpcuaField.java      |  118 +
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java  |  151 +
 .../opcua/protocol/OpcuaSubsriptionHandle.java     |   81 +
 .../java/opcua/protocol/model/OpcuaDataTypes.java  |   63 +-
 .../opcua/protocol/model/OpcuaIdentifierType.java  |   50 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    2 +-
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |  145 +
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |   67 +
 .../org/apache/plc4x/java/opcua/UtilsTest.java     |   35 +-
 .../connection/OpcuaTcpPlcConnectionTest.java      |   23 +-
 .../plc4x/java/opcua/protocol/OpcuaFieldTest.java  |   51 +
 .../opcua/protocol/OpcuaPlcFieldHandlerTest.java   |   23 +-
 .../protocol/OpcuaSubscriptionHandleTest.java      |   23 +-
 plc4j/drivers/pom.xml                              |    3 +-
 plc4j/drivers/s7/pom.xml                           |   24 +-
 .../plc4x/java/s7/connection/S7PlcConnection.java  |   10 +-
 .../java/s7/connection/S7PlcConnectionIT.java      |    2 +
 .../java/s7/connection/S7PlcConnectionTests.java   |   15 +
 plc4j/drivers/simulated/pom.xml                    |    6 +-
 {examples => plc4j/examples}/dummy-driver/pom.xml  |   14 +-
 .../java/examples/dummydriver/DummyDriver.java     |    4 +-
 .../dummydriver/connection/DummyConnection.java    |    0
 .../examples/dummydriver/model/DummyField.java     |    0
 .../examples/dummydriver/netty/DummyProtocol.java  |    0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 .../examples}/hello-cloud-azure/pom.xml            |   14 +-
 .../java/examples/cloud/azure/CliOptions.java      |    0
 .../cloud/azure/S7PlcToAzureIoTHubSample.java      |    0
 .../examples}/hello-cloud-google/README.md         |    0
 .../examples}/hello-cloud-google/pom.xml           |   12 +-
 .../java/examples/cloud/google/CliOptions.java     |    0
 .../cloud/google/S7PlcToGoogleIoTCoreSample.java   |    0
 .../src/main/resources/logback.xml                 |    0
 .../hello-connectivity-kafka/kafka-connector.yml   |    0
 .../examples}/hello-connectivity-kafka/pom.xml     |   18 +-
 .../examples}/hello-connectivity-kafka/server.sh   |    0
 .../connectivity/kafka/KafkaConnector.java         |    0
 .../connectivity/kafka/model/Configuration.java    |    0
 .../connectivity/kafka/model/KafkaConfig.java      |    0
 .../connectivity/kafka/model/PlcConfig.java        |    0
 .../connectivity/kafka/model/PlcFieldConfig.java   |    0
 .../connectivity/kafka/model/PlcMemoryBlock.java   |    0
 .../src/main/resources/logback.xml                 |    0
 .../hello-connectivity-mqtt/mqtt-connector.yml     |    0
 .../examples}/hello-connectivity-mqtt/pom.xml      |   21 +-
 .../examples/connectivity/mqtt/MqttConnector.java  |   12 +-
 .../connectivity/mqtt/model/Configuration.java     |    0
 .../connectivity/mqtt/model/MqttConfig.java        |    0
 .../connectivity/mqtt/model/PlcConfig.java         |    0
 .../connectivity/mqtt/model/PlcFieldConfig.java    |    0
 .../connectivity/mqtt/model/PlcMemoryBlock.java    |    0
 .../src/main/resources/logback.xml                 |    0
 .../examples}/hello-integration-edgent/pom.xml     |   14 +-
 .../examples/integration/edgent/CliOptions.java    |    0
 .../examples/integration/edgent/PlcLogger.java     |    0
 .../src/main/resources/logback.xml                 |    0
 {examples => plc4j/examples}/hello-opm/pom.xml     |   16 +-
 .../plc4x/java/examples/helloopm/HelloOpm.java     |    0
 .../hello-opm/src/main/resources/logback.xml       |    0
 .../hello-storage-elasticsearch/README.adoc        |    0
 .../examples}/hello-storage-elasticsearch/pom.xml  |   34 +-
 .../elasticsearch/ElasticsearchStorage.java        |    5 +-
 .../src/main/resources/log4j2.xml                  |    0
 .../src/main/resources/logback.xml                 |    0
 plc4j/examples/hello-webapp/client/pom.xml         |  136 +
 .../client/src/main/royale/HelloPLC4X.mxml         |  104 +
 .../client/src/main/royale/service/RobotService.as |   92 +
 plc4j/examples/hello-webapp/pom.xml                |   78 +
 .../hello-webapp/service}/pom.xml                  |   62 +-
 .../robot/controllers/RobotController.java         |  105 +
 plc4j/examples/hello-webapp/webapp/pom.xml         |  148 +
 .../apache/plc4x/examples/robot/Application.java   |   15 +-
 .../src/main/resources/application.properties      |   10 +-
 .../examples}/hello-world-plc4x/pom.xml            |   14 +-
 .../plc4x/java/examples/helloplc4x/CliOptions.java |    0
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |    0
 .../src/main/resources/logback.xml                 |    0
 {examples => plc4j/examples}/pom.xml               |   63 +-
 .../integrations}/apache-calcite/pom.xml           |   14 +-
 .../main/java/org/apache/plc4x/Plc4xBaseTable.java |    0
 .../main/java/org/apache/plc4x/Plc4xSchema.java    |    6 +-
 .../java/org/apache/plc4x/Plc4xSchemaFactory.java  |   12 +-
 .../java/org/apache/plc4x/Plc4xStreamTable.java    |    0
 .../src/main/java/org/apache/plc4x/Plc4xTable.java |    0
 .../java/org/apache/plc4x/DriverManagerTest.java   |    3 +-
 .../java/org/apache/plc4x/Plc4XBaseTableTest.java  |    4 +-
 .../org/apache/plc4x/Plc4xSchemaFactoryTest.java   |    2 -
 .../apache-calcite/src/test/resources/example.yml  |    0
 .../apache-calcite}/src/test/resources/logback.xml |    0
 .../apache-calcite/src/test/resources/model.json   |    0
 .../integrations}/apache-camel/pom.xml             |   23 +-
 .../apache-camel/src/main/docs/PLC4X.adoc          |    0
 .../java/org/apache/plc4x/camel/Constants.java     |    0
 .../org/apache/plc4x/camel/Plc4XComponent.java     |    0
 .../java/org/apache/plc4x/camel/Plc4XConsumer.java |    0
 .../java/org/apache/plc4x/camel/Plc4XEndpoint.java |    0
 .../apache/plc4x/camel/Plc4XPollingConsumer.java   |    0
 .../java/org/apache/plc4x/camel/Plc4XProducer.java |    0
 .../services/org/apache/camel/component/plc4x      |    0
 .../java/org/apache/plc4x/camel/ConstantsTest.java |    0
 .../java/org/apache/plc4x/camel/ManualTest.java    |    0
 .../java/org/apache/plc4x/camel/MockDriver.java    |    0
 .../org/apache/plc4x/camel/Plc4XComponentTest.java |    0
 .../org/apache/plc4x/camel/Plc4XConsumerTest.java  |    0
 .../org/apache/plc4x/camel/Plc4XEndpointTest.java  |    0
 .../plc4x/camel/Plc4XPollingConsumerTest.java      |    0
 .../org/apache/plc4x/camel/Plc4XProducerTest.java  |    8 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 .../src/test/resources/log4j2.properties           |    0
 .../apache-camel}/src/test/resources/logback.xml   |    0
 .../integrations}/apache-edgent/pom.xml            |   17 +-
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |    0
 .../java/org/apache/plc4x/edgent/PlcFunctions.java |    0
 .../java/org/apache/plc4x/edgent/package-info.java |    0
 .../plc4x/edgent/PlcConnectionAdapterTest.java     |    0
 .../org/apache/plc4x/edgent/PlcFunctionsTest.java  |    0
 .../apache/plc4x/edgent/mock/MockConnection.java   |    0
 .../org/apache/plc4x/edgent/mock/MockDriver.java   |    4 +-
 .../org/apache/plc4x/edgent/mock/MockField.java    |    0
 .../apache/plc4x/edgent/mock/MockFieldHandler.java |    0
 .../apache/plc4x/edgent/mock/MockFieldItem.java    |    0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 plc4j/integrations/apache-kafka/README.md          |   63 +
 .../apache-kafka/config/sink.properties            |    0
 .../apache-kafka/config/source.properties          |    0
 .../integrations}/apache-kafka/pom.xml             |    9 +-
 .../org/apache/plc4x/kafka/Plc4xSinkConnector.java |    5 +-
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |    0
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |    3 +-
 .../org/apache/plc4x/kafka/Plc4xSourceTask.java    |    0
 .../org/apache/plc4x/kafka/util/VersionUtil.java   |    0
 .../apache-karaf/karaf-ads-feature/pom.xml         |   19 +-
 .../apache-karaf/karaf-demo-server/pom.xml         |   50 +-
 .../apache-karaf/karaf-ethernet-ip-feature/pom.xml |   19 +-
 .../apache-karaf/karaf-modbus-feature/pom.xml      |   19 +-
 .../apache-karaf/karaf-s7-feature/pom.xml          |   19 +-
 .../apache-karaf/karaf-simulated-feature/pom.xml   |   19 +-
 .../integrations}/apache-karaf/pom.xml             |   18 +-
 .../nifi-plc4x-nar/false-positives.xml}            |   26 +-
 .../apache-nifi/nifi-plc4x-nar/pom.xml             |   53 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |   12 +-
 .../org/apache/plc4x/nifi/BasePlc4xProcessor.java  |    0
 .../org/apache/plc4x/nifi/Plc4xSinkProcessor.java  |    0
 .../apache/plc4x/nifi/Plc4xSourceProcessor.java    |    0
 .../services/org.apache.nifi.processor.Processor   |    0
 .../plc4x4nifi/Plc4xSinkProcessorTest.java         |    0
 .../plc4x4nifi/Plc4xSourceProcessorTest.java       |    0
 .../integrations}/apache-nifi/pom.xml              |   32 +-
 plc4j/{drivers => integrations}/pom.xml            |   24 +-
 plc4j/pom.xml                                      |  298 +-
 plc4j/protocols/ads/pom.xml                        |    8 +-
 plc4j/protocols/ads/src/site/asciidoc/index.adoc   |    2 +-
 .../ads/api/commands/CommandFactoryMethodTest.java |    7 +-
 .../ads/api/generic/GenericFactoryMethodTest.java  |    7 +-
 .../ads/api/serial/SerialFactoryMethodTest.java    |    7 +-
 .../java/ads/api/tcp/TcpFactoryMethodTest.java     |    7 +-
 .../java/ads/protocol/Plc4x2AdsProtocolTest.java   |    3 +
 plc4j/protocols/benchmarks/pom.xml                 |    4 +-
 plc4j/protocols/delta-v/pom.xml                    |   19 +-
 .../java/org/apache/plc4x/java/deltav/PoCES.java   |    5 +-
 plc4j/protocols/driver-bases/base/pom.xml          |    4 +-
 .../base/connection/AbstractPlcConnection.java     |    8 +
 .../plc4x/java/base/connection/ChannelFactory.java |    3 +
 .../java/base/connection/NettyPlcConnection.java   |   20 +
 .../java/base/messages/DefaultPlcWriteRequest.java |    4 +-
 .../base/connection/NettyPlcConnectionTest.java    |   16 +-
 plc4j/protocols/driver-bases/pom.xml               |    2 +-
 plc4j/protocols/driver-bases/raw-socket/pom.xml    |    6 +-
 .../base/connection/RawSocketChannelFactory.java   |   26 +
 plc4j/protocols/driver-bases/serial/pom.xml        |    6 +-
 .../java/base/connection/SerialChannelFactory.java |    5 +
 plc4j/protocols/driver-bases/tcp/pom.xml           |    6 +-
 .../base/connection/TcpSocketChannelFactory.java   |   19 +
 plc4j/protocols/driver-bases/test/pom.xml          |    6 +-
 .../java/base/connection/TestChannelFactory.java   |    5 +
 .../apache/plc4x/java/mock/PlcMockConnection.java  |    7 +
 plc4j/protocols/ethernet-ip/pom.xml                |    6 +-
 .../ethernetip/netty/Plc4XEtherNetIpProtocol.java  |    2 +-
 .../{img => images}/WAGO_enip_exporer.png          |  Bin
 plc4j/protocols/iso-on-tcp/pom.xml                 |    8 +-
 plc4j/protocols/iso-tp/pom.xml                     |   10 +-
 plc4j/protocols/modbus/pom.xml                     |    8 +-
 .../java/modbus/netty/Plc4XModbusProtocolTest.java |   17 -
 plc4j/protocols/pom.xml                            |    2 +-
 plc4j/protocols/s7/pom.xml                         |   10 +-
 .../org/apache/plc4x/java/s7/model/S7Field.java    |   31 +
 .../org/apache/plc4x/java/s7/netty/S7Protocol.java |    4 +-
 .../java/s7/netty/model/types/TransportSize.java   |    4 +-
 plc4j/protocols/s7/src/site/asciidoc/index.adoc    |    2 +-
 .../apache/plc4x/java/s7/model/S7FieldTests.java   |    8 +
 .../asciidoc/developers/implementing-drivers.adoc  |    4 +-
 plc4j/src/site/asciidoc/index.adoc                 |    2 +-
 plc4j/src/site/asciidoc/users/gettingstarted.adoc  |  178 ++
 plc4j/utils/connection-pool/pom.xml                |    4 +-
 .../connectionpool/PooledPlcDriverManagerTest.java |    7 +
 plc4j/utils/interop/pom.xml                        |  217 ++
 plc4j/utils/interop/src/assembly/assembly.xml      |   41 +
 .../java/org/apache/plc4x/interop/impl/Client.java |   60 +
 .../org/apache/plc4x/interop/impl/Handler.java     |  160 +
 .../java/org/apache/plc4x/interop/impl/Server.java |   91 +
 plc4j/utils/opm/pom.xml                            |   10 +-
 plc4j/utils/pom.xml                                |   11 +-
 plc4j/utils/raw-sockets/pom.xml                    |    4 +-
 plc4j/utils/scraper/pom.xml                        |   56 +-
 .../org/apache/plc4x/java/scraper/ScrapeJob.java   |   35 +-
 .../scraper/{ScrapeJob.java => ScrapeJobImpl.java} |   27 +-
 .../org/apache/plc4x/java/scraper/Scraper.java     |  151 +-
 .../scraper/{Scraper.java => ScraperImpl.java}     |   52 +-
 .../org/apache/plc4x/java/scraper/ScraperTask.java |  170 +-
 .../{ScraperTask.java => ScraperTaskImpl.java}     |   32 +-
 .../java/scraper/config/JobConfiguration.java      |   47 +-
 ...onfiguration.java => JobConfigurationImpl.java} |   21 +-
 ...ilder.java => JobConfigurationImplBuilder.java} |   16 +-
 .../java/scraper/config/ScraperConfiguration.java  |   47 +-
 .../config/ScraperConfigurationBuilder.java        |   12 +-
 .../TriggeredJobConfiguration.java}                |   29 +-
 .../TriggeredJobConfigurationBuilder.java}         |   34 +-
 .../TriggeredScraperConfiguration.java}            |   62 +-
 .../TriggeredScraperConfigurationBuilder.java}     |   18 +-
 .../ScraperConfigurationException.java             |    2 +-
 .../java/scraper/exception/ScraperException.java}  |   31 +-
 .../triggeredscraper/TriggeredScrapeJobImpl.java   |   73 +
 .../TriggeredScraperImpl.java}                     |   91 +-
 .../triggeredscraper/TriggeredScraperTask.java     |  225 ++
 .../triggerhandler/TriggerConfiguration.java       |  412 +++
 .../triggerhandler/TriggerHandler.java             |  131 +
 .../java/scraper/ScraperConfigurationTest.java     |   10 +-
 .../apache/plc4x/java/scraper/ScraperRunner.java   |    5 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |    8 +-
 .../org/apache/plc4x/java/scraper/ScraperTest.java |   18 +-
 ...aperRunner.java => TriggeredScraperRunner.java} |   19 +-
 .../java/scraper/TriggeredScraperRunnerModbus.java |   60 +
 .../config/ScraperConfigurationBuilderTest.java    |   13 +-
 .../triggerhandler/TriggerConfigurationTest.java   |  118 +
 .../test/resources/example_triggered_scraper.yml   |   40 +-
 .../resources/example_triggered_scraper_modbus.yml |   14 +-
 plc4j/utils/test-utils/pom.xml                     |    2 +-
 plc4net/.gitignore                                 |  344 ++
 plc4net/api/PlcDriverManager.cs                    |  104 +
 .../delta-v/pom.xml => plc4net/api/api.csproj      |   24 +-
 plc4net/api/api/IPlcConnection.cs                  |   89 +
 plc4net/api/api/IPlcDriver.cs                      |   57 +
 .../api/api/authentication/IPlcAuthentication.cs   |   21 +-
 .../PlcUsernamePasswordAuthentication.cs           |   48 +
 .../api/api/metadata/IPlcConnectionMetadata.cs     |   38 +-
 .../api/exceptions/PlcConnectionException.cs       |   37 +-
 .../api/exceptions/PlcException.cs                 |   39 +-
 .../api/exceptions/PlcInvalidFieldException.cs     |   33 +-
 plc4net/api/messages/IPlcFieldRequest.cs           |   52 +
 plc4net/api/messages/IPlcFieldResponse.cs          |   49 +
 .../api/messages/IPlcMessage.cs                    |   21 +-
 .../api/messages/IPlcReadRequest.cs                |   21 +-
 .../api/messages/IPlcReadRequestBuilder.cs         |   34 +-
 .../api/messages/IPlcReadResponse.cs               |   19 +-
 .../api/messages/IPlcRequest.cs                    |   23 +-
 .../api/messages/IPlcRequestBuilder.cs             |   23 +-
 .../api/messages/IPlcResponse.cs                   |   28 +-
 .../api/messages/IPlcSubscriptionEventArgs.cs      |   30 +-
 .../api/messages/IPlcSubscriptionRequest.cs        |   19 +-
 .../api/messages/IPlcSubscriptionRequestBuilder.cs |   54 +
 .../api/messages/IPlcSubscriptionResponse.cs       |   33 +-
 .../api/messages/IPlcUnsubscriptionRequest.cs      |   21 +-
 .../messages/IPlcUnsubscriptionRequestBuilder.cs   |   45 +
 .../api/messages/IPlcUnsubscriptionResponse.cs     |   21 +-
 .../api/messages/IPlcWriteRequest.cs               |   21 +-
 plc4net/api/messages/IPlcWriteRequestBuilder.cs    |  134 +
 plc4net/api/model/IPlcField.cs                     |   39 +
 .../api/model/IPlcSubscriptionHandle.cs            |   22 +-
 plc4net/api/pom.xml                                |   72 +
 .../api/types/PlcResponseCode.cs                   |   24 +-
 .../plc4net.driver/plc4net.driver.csproj           |   26 +-
 plc4net/plc4net.driver/pom.xml                     |   68 +
 plc4net/plc4net.sln                                |   44 +
 {plc4j/drivers => plc4net}/pom.xml                 |   24 +-
 plc4py/README.md                                   |   58 +
 plc4py/pom.xml                                     |  219 ++
 plc4py/setup.py                                    |   67 +
 plc4py/src/assembly/python.xml                     |   47 +
 plc4py/src/main/python/__init__.py                 |   26 +
 plc4py/src/main/python/org/__init__.py             |   17 +
 plc4py/src/main/python/org/apache/__init__.py      |   17 +
 .../main/python/org/apache/plc4x/InteropClient.py  |   45 +
 .../main/python/org/apache/plc4x/PlcConnection.py  |   75 +
 .../python/org/apache/plc4x/PlcDriverManager.py    |   79 +
 .../src/main/python/org/apache/plc4x/__init__.py   |   17 +
 plc4py/src/main/resources/lib/log4j2.xml           |   32 +
 plc4py/src/test/python/__init__.py                 |   26 +
 plc4py/src/test/python/org/__init__.py             |   26 +
 plc4py/src/test/python/org/apache/__init__.py      |   26 +
 .../src/test/python/org/apache/plc4x/__init__.py   |   17 +
 .../org/apache/plc4x/test_PlcDriverManager.py      |  143 +
 plc4s/pom.xml                                      |   40 -
 pom.xml                                            |  899 +++---
 .../delta-v => protocols/knxnet-ip}/pom.xml        |   17 +-
 protocols/{ => knxnet-ip}/src/main/java/.keepMe    |    4 +
 .../main/resources/daffodil-built-in-catalog.xml   |   22 +-
 .../plc4x/protocols/knxnetip/protocol.dfdl.xsd     |  582 ++++
 .../plc4x/protocols/knxnetip/protocol.scxml.xml    |  253 ++
 protocols/knxnet-ip/src/site/asciidoc/index.adoc   |   57 +
 .../plc4x/protocols/knxnetip/ProtocolTest.java}    |   10 +-
 .../apache/plc4x/protocols/knxnetip/protocol.tdml  |  604 ++++
 protocols/pom.xml                                  |   53 +-
 {plc4j/drivers/delta-v => protocols/proxy}/pom.xml |   12 +-
 .../src/main/java/.keepMe}                         |   17 +-
 .../apache/plc4x/protocols/proxy/interop.thrift    |   93 +
 protocols/{ => s7}/pom.xml                         |   36 +-
 protocols/{ => s7}/src/main/java/.keepMe           |    4 +
 .../main/resources/daffodil-built-in-catalog.xml   |   19 +-
 .../apache/plc4x/protocols/s7/protocol.dfdl.xsd}   |  596 +++-
 .../apache/plc4x/protocols/s7/protocol.scxml.xml   |  524 +++
 .../org/apache/plc4x/protocols/s7/ManualTest.java  |   82 +
 .../apache/plc4x/protocols/s7/ProtocolTest.java}   |   10 +-
 .../org/apache/plc4x/protocols/s7/protocol.tdml    | 2446 ++++++++++++++
 .../apache/plc4x/protocols/cotp-protocol.dfdl.xsd  |  213 --
 .../org/apache/plc4x/protocols/tpkt-protocol.tdml  |  112 -
 protocols/{ => test-utils}/pom.xml                 |   46 +-
 .../plc4x/protocols/AbstractProtocolTest.java      |   11 +-
 sandbox/dynamic-driver-base/pom.xml                |  126 +
 .../java/dynamic/actions/BaseConnectedAction.java  |   17 +-
 .../java/dynamic/actions/BaseDaffodilAction.java   |   56 +
 .../java/dynamic/actions/BasePlc4xAction.java      |   52 +
 .../java/dynamic/actions/ConnectAction.java        |   81 +
 .../java/dynamic/actions/InitContextAction.java    |  106 +
 .../java/dynamic/actions/ReceiveAction.java        |  201 ++
 .../actions/ReceiveExtractVerifyAction.java        |  114 +
 .../java/dynamic/actions/ReceiveRequestAction.java |   42 +-
 .../dynamic/actions/ReceiveResponseAction.java     |   65 +
 .../sandbox/java/dynamic/actions/SendAction.java   |  101 +
 .../java/dynamic/actions/SendRequestAction.java    |   57 +
 .../connection/DynamicDriverConnectionBase.java    |  153 +
 .../java/dynamic/utils/RequestRegistry.java        |   66 +
 .../utils/JDOMTemplateInfosetInputter.scala        |   45 +
 .../opm => sandbox/dynamic-driver-s7}/pom.xml      |   74 +-
 .../sandbox/java/dynamic/s7/DynamicS7Driver.java   |   80 +
 .../dynamic/s7/actions/S7DecodeArticleNumber.java  |   91 +
 .../s7/actions/S7DecodeReadResponseAction.java     |  315 ++
 .../s7/actions/S7DecodeWriteResponseAction.java    |   23 +-
 .../dynamic/s7/connection/DynamicS7Connection.java |  186 ++
 .../dynamic/s7/types/DataTransportErrorCode.java   |   62 +
 .../java/dynamic/s7/types/DataTransportSize.java   |   64 +
 .../sandbox/java/dynamic/s7/types/MemoryArea.java  |   83 +
 .../java/dynamic/s7/types/S7ControllerType.java    |   17 +-
 .../java/dynamic/s7}/types/TransportSize.java      |    8 +-
 .../sandbox/java/dynamic/s7/utils}/S7Field.java    |   40 +-
 .../java/dynamic/s7/utils/S7PlcFieldHandler.java   |  569 ++++
 .../java/dynamic/s7/utils/S7TsapIdEncoder.java     |   28 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   38 +
 sandbox/plc4x-maven-plugin/pom.xml                 |  225 ++
 sandbox/plc4x-maven-plugin/src/it/settings.xml     |   53 +
 .../plc4x-maven-plugin/src/it/simple-it/pom.xml    |   67 +
 .../src/main/resources/test/protocol.dfdl.xsd      |   67 +-
 .../src/it/simple-it/verify.groovy                 |   13 +-
 .../plc4x/plugins/codegenerator/GenerateMojo.java  |  208 ++
 .../plugins/codegenerator/GenerateMojoTest.java    |   68 +
 .../test/projects/simple-embedded-schema}/pom.xml  |   41 +-
 .../src/main/resources/protocol.dfdl.xsd           |   67 +-
 .../src/main/resources/template.ftlh               |   22 +-
 {plc4j/drivers => sandbox}/pom.xml                 |   37 +-
 .../main/script/prerequisite-check.groovy          |   50 +-
 src/site/asciidoc/community/getting-involved.adoc  |  102 -
 src/site/asciidoc/developers/building.adoc         |   38 +-
 src/site/asciidoc/developers/ci.adoc               |    4 +-
 .../{community => developers}/conferences.adoc     |   28 +-
 src/site/asciidoc/developers/contributing.adoc     |  101 +-
 src/site/asciidoc/developers/decisions.adoc        |   66 +
 src/site/asciidoc/developers/jqassistant.adoc      |    2 +-
 src/site/asciidoc/developers/maturity.adoc         |   76 +
 src/site/asciidoc/developers/preparing.adoc        |  391 +++
 src/site/asciidoc/developers/release.adoc          |  253 +-
 src/site/asciidoc/developers/team.adoc             |   55 +
 src/site/asciidoc/developers/vpn.adoc              |    2 +-
 src/site/asciidoc/incubation-proposal.adoc         |  227 --
 src/site/asciidoc/index.adoc                       |   43 +-
 src/site/asciidoc/protocols/delta-v/index.adoc     |    2 +-
 src/site/asciidoc/protocols/delta-v/read-data.adoc |    2 +-
 .../protocols/delta-v/reverse-engineering.adoc     |    4 +-
 src/site/asciidoc/protocols/s7/index.adoc          |    2 +-
 src/site/asciidoc/protocols/s7/s7comm-plus.adoc    |    4 +-
 src/site/asciidoc/protocols/s7/s7comm.adoc         |    2 +-
 src/site/asciidoc/users/download.adoc              |   64 +-
 src/site/asciidoc/users/gettingstarted.adoc        |    3 +
 src/site/asciidoc/users/industry40.adoc            |    2 +-
 src/site/resources/css/site.css                    |   27 +-
 .../images/PLC4X_rollup_83x237cm-final.pdf         | 3347 ++++++++++++++++++++
 .../{img => images}/apache_brooklyn_logo.png       |  Bin
 .../{img => images}/apache_camel_logo.png          |  Bin
 .../{img => images}/apache_edgent_logo.png         |  Bin
 .../{img => images}/apache_kafka_logo.png          |  Bin
 src/site/resources/images/apache_logo.png          |  Bin 0 -> 16457 bytes
 .../{img => images}/apache_mynewt_logo.png         |  Bin
 .../resources/{img => images}/apache_nifi_logo.svg |    0
 .../{img => images}/apache_plc4x_logo.png          |  Bin
 .../{img => images}/community-contribute-fork.png  |  Bin
 .../contributing-github-create-pull-request.png    |  Bin 0 -> 112177 bytes
 .../resources/images/contributing-github-fork.png  |  Bin 0 -> 96553 bytes
 src/site/resources/{img => images}/iot-lab.jpg     |  Bin
 .../neo4j-intellij-database-connections-view.png   |  Bin
 .../neo4j-intellij-query-results.png               |  Bin
 .../{img => images}/neo4j-intellij-settings.png    |  Bin
 .../{img => images}/neo4j-web-console.png          |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-1.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-2.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-3.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff.jpg         |  Bin
 .../{img => images}/plc4x-vpn-client-download.png  |  Bin
 .../resources/{img => images}/plc4x-vpn-fatek.jpg  |  Bin
 .../{img => images}/plc4x-vpn-siemens-hmi.jpg      |  Bin
 .../{img => images}/plc4x-vpn-siemens-s7.jpg       |  Bin
 .../resources/{img => images}/plc4x-vpn-wago.jpg   |  Bin
 ...release-git-diff-next-development-iteration.png |  Bin 0 -> 134548 bytes
 .../images/release-git-diff-prepare-release.png    |  Bin 0 -> 132752 bytes
 src/site/resources/images/release-git-history.png  |  Bin 0 -> 160255 bytes
 src/site/resources/images/team/cdutz.png           |  Bin 0 -> 27791 bytes
 src/site/resources/images/team/jfeinauer.jpg       |  Bin 0 -> 24689 bytes
 src/site/resources/images/team/sruehl.jpg          |  Bin 0 -> 15008 bytes
 src/site/resources/images/team/tmitsch.png         |  Bin 0 -> 33005 bytes
 src/site/resources/plc4x-doap.rdf                  |  111 +
 src/site/resources/plc4x-pmc.rdf                   |   74 +
 src/site/site.xml                                  |   53 +-
 tools/README.md                                    |   72 +
 tools/clean-site.sh                                |   35 +
 tools/common.sh                                    |   14 +-
 tools/download_staged_release.sh                   |   11 +-
 {plc4j/drivers/delta-v => tools}/pom.xml           |   21 +-
 tools/thrift/pom.xml                               |  246 ++
 .../thrift/src/assembly/compiler.xml               |   34 +-
 .../pom.xml => tools/thrift/src/assembly/cpp.xml   |   34 +-
 tools/thrift/src/assembly/python.xml               |   61 +
 620 files changed, 40157 insertions(+), 4774 deletions(-)
 create mode 100644 .vscode/settings.json
 delete mode 100644 DISCLAIMER
 create mode 100644 media/logos/300ppi/PLC4X logo without mascot@300x.png
 create mode 100644 media/logos/300ppi/PLC4X.png
 create mode 100644 media/logos/300ppi/logo PLC4X black line@300x.png
 create mode 100644 media/logos/300ppi/logo PLC4X color CMYK@300x.png
 create mode 100644 media/logos/300ppi/logo PLC4X on dark bg@300x.png
 create mode 100644 media/logos/300ppi/logo PLC4X white line@300x.png
 create mode 100644 media/logos/300ppi/mascot color with apache feather@300x.png
 create mode 100644 media/logos/300ppi/mascot color without feather@300x.png
 create mode 100644 media/logos/PDF/PLC4X logo without mascot.pdf
 create mode 100644 media/logos/PDF/logo PLC4X black line.pdf
 create mode 100644 media/logos/PDF/logo PLC4X color CMYK@300x.pdf
 create mode 100644 media/logos/PDF/logo PLC4X on dark bg.pdf
 create mode 100644 media/logos/PDF/logo PLC4X white line.pdf
 create mode 100644 media/logos/PDF/mascot color with apache feather.pdf
 create mode 100644 media/logos/PDF/mascot color without feather.pdf
 create mode 100644 media/logos/SVG/PLC4X logo without mascot.svg
 create mode 100644 media/logos/SVG/logo PLC4X black line.svg
 create mode 100644 media/logos/SVG/logo PLC4X color CMYK@300x.svg
 create mode 100644 media/logos/SVG/logo PLC4X on dark bg.svg
 create mode 100644 media/logos/SVG/logo PLC4X white line.svg
 create mode 100644 media/logos/SVG/mascot color with apache feather.svg
 create mode 100644 media/logos/SVG/mascot color without feather.svg
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/CMakeLists.txt (53%)
 create mode 100644 plc4cpp/api/CMakeLists.txt
 create mode 100644 plc4cpp/api/src/assembly/cpp.xml
 delete mode 100644 plc4cpp/api/src/main/cmake/CMakeLists.txt
 mode change 100755 => 100644 plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp
 mode change 100755 => 100644 plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h
 copy plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/{api/messages/PlcReadRequestBuilder.cpp => spi/PlcDriver.cpp} (90%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/examples/CMakeLists.txt (53%)
 copy plc4cpp/{api => examples}/pom.xml (64%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/integrations/CMakeLists.txt (53%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/integrations/apache-mynewt/CMakeLists.txt (53%)
 rename {integrations => plc4cpp/integrations}/apache-mynewt/pom.xml (87%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/integrations/edgex-foundry/CMakeLists.txt (53%)
 copy {plc4j/drivers/delta-v => plc4cpp/integrations/edgex-foundry}/pom.xml (78%)
 rename {integrations => plc4cpp/integrations}/pom.xml (76%)
 create mode 100644 plc4cpp/libs/boost/pom.xml
 create mode 100644 plc4cpp/libs/boost/src/assembly/cpp-windows.xml
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/libs/boost/src/assembly/cpp.xml (51%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/protocols/CMakeLists.txt (53%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/protocols/driver-bases/CMakeLists.txt (53%)
 create mode 100644 plc4cpp/protocols/driver-bases/base/CMakeLists.txt
 create mode 100644 plc4cpp/protocols/driver-bases/base/pom.xml
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/assembly/cpp.xml
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.cpp} (66%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.h
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.cpp} (86%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.h} (63%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.h
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.cpp} (87%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.h
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.cpp} (87%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.h} (80%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.cpp} (87%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.h} (81%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.h
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.cpp} (83%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.h} (66%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.h} (70%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.cpp} (88%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.h} (66%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.cpp} (88%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.h} (66%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.h} (67%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.h} (71%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.h} (71%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.h} (53%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.h} (63%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.h} (63%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.h} (79%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.cpp} (89%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.h} (63%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.cpp} (85%)
 mode change 100755 => 100644
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.h
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.cpp
 create mode 100644 plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.h
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.cpp} (59%)
 mode change 100755 => 100644
 copy plc4cpp/{api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h => protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.h} (51%)
 mode change 100755 => 100644
 rename {integrations/apache-brooklyn => plc4cpp/protocols/driver-bases}/pom.xml (79%)
 rename {plc4c => plc4cpp/protocols}/pom.xml (81%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/utils/CMakeLists.txt (53%)
 copy plc4j/drivers/delta-v/pom.xml => plc4cpp/utils/logger/CMakeLists.txt (52%)
 create mode 100644 plc4cpp/utils/logger/pom.xml
 create mode 100644 plc4cpp/utils/logger/src/assembly/cpp.xml
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.cpp
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.h
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.cpp
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h
 copy src/site/resources/css/site.css => plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp (54%)
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.h
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.cpp
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.h
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp
 create mode 100644 plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h
 copy {plc4j/drivers/delta-v => plc4cpp/utils}/pom.xml (78%)
 copy examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/PlcMemoryBlock.java => plc4j/api/src/main/java/org/apache/plc4x/java/api/exceptions/PlcUnsupportedProtocolException.java (66%)
 copy plc4j/drivers/{simulated => opcua}/pom.xml (60%)
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XConsumerTest.java => plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java (55%)
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaField.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubsriptionHandle.java
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XConsumerTest.java => plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaDataTypes.java (62%)
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XConsumerTest.java => plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/model/OpcuaIdentifierType.java (50%)
 copy {integrations/apache-edgent/src/test => plc4j/drivers/opcua/src/main}/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver (94%)
 create mode 100644 plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/ManualPLC4XOpcua.java
 create mode 100644 plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/OpcuaPlcDriverTest.java
 copy examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/PlcMemoryBlock.java => plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/UtilsTest.java (56%)
 copy protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnectionTest.java (65%)
 create mode 100644 plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaFieldTest.java
 copy protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandlerTest.java (65%)
 copy protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => plc4j/drivers/opcua/src/test/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandleTest.java (65%)
 rename {examples => plc4j/examples}/dummy-driver/pom.xml (90%)
 rename {examples => plc4j/examples}/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/DummyDriver.java (100%)
 rename {examples => plc4j/examples}/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/connection/DummyConnection.java (100%)
 copy {examples => plc4j/examples}/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/model/DummyField.java (100%)
 rename {examples => plc4j/examples}/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/netty/DummyProtocol.java (100%)
 rename {examples => plc4j/examples}/dummy-driver/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver (100%)
 rename {examples => plc4j/examples}/hello-cloud-azure/pom.xml (90%)
 rename {examples => plc4j/examples}/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/CliOptions.java (100%)
 rename {examples => plc4j/examples}/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/S7PlcToAzureIoTHubSample.java (100%)
 rename {examples => plc4j/examples}/hello-cloud-google/README.md (100%)
 rename {examples => plc4j/examples}/hello-cloud-google/pom.xml (93%)
 rename {examples => plc4j/examples}/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/CliOptions.java (100%)
 rename {examples => plc4j/examples}/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/S7PlcToGoogleIoTCoreSample.java (100%)
 rename {examples => plc4j/examples}/hello-cloud-google/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/kafka-connector.yml (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/pom.xml (93%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/server.sh (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/KafkaConnector.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/Configuration.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/KafkaConfig.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/PlcConfig.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/PlcFieldConfig.java (100%)
 copy {examples => plc4j/examples}/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/PlcMemoryBlock.java (100%)
 rename {examples/hello-connectivity-mqtt => plc4j/examples/hello-connectivity-kafka}/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/mqtt-connector.yml (100%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/pom.xml (87%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/MqttConnector.java (94%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/Configuration.java (100%)
 copy {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/MqttConfig.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/PlcConfig.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/PlcFieldConfig.java (100%)
 rename {examples => plc4j/examples}/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/PlcMemoryBlock.java (100%)
 rename {examples/hello-connectivity-kafka => plc4j/examples/hello-connectivity-mqtt}/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/hello-integration-edgent/pom.xml (90%)
 rename {examples => plc4j/examples}/hello-integration-edgent/src/main/java/org/apache/plc4x/java/examples/integration/edgent/CliOptions.java (100%)
 rename {examples => plc4j/examples}/hello-integration-edgent/src/main/java/org/apache/plc4x/java/examples/integration/edgent/PlcLogger.java (100%)
 rename {examples/hello-world-plc4x => plc4j/examples/hello-integration-edgent}/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/hello-opm/pom.xml (90%)
 rename {examples => plc4j/examples}/hello-opm/src/main/java/org/apache/plc4x/java/examples/helloopm/HelloOpm.java (100%)
 rename {examples => plc4j/examples}/hello-opm/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/hello-storage-elasticsearch/README.adoc (100%)
 rename {examples => plc4j/examples}/hello-storage-elasticsearch/pom.xml (81%)
 rename {examples => plc4j/examples}/hello-storage-elasticsearch/src/main/java/org/apache/plc4x/java/examples/storage/elasticsearch/ElasticsearchStorage.java (98%)
 rename {examples => plc4j/examples}/hello-storage-elasticsearch/src/main/resources/log4j2.xml (100%)
 rename {examples => plc4j/examples}/hello-storage-elasticsearch/src/main/resources/logback.xml (100%)
 create mode 100644 plc4j/examples/hello-webapp/client/pom.xml
 create mode 100644 plc4j/examples/hello-webapp/client/src/main/royale/HelloPLC4X.mxml
 create mode 100644 plc4j/examples/hello-webapp/client/src/main/royale/service/RobotService.as
 create mode 100644 plc4j/examples/hello-webapp/pom.xml
 copy plc4j/{protocols/iso-on-tcp => examples/hello-webapp/service}/pom.xml (58%)
 create mode 100644 plc4j/examples/hello-webapp/service/src/main/java/org/apache/plc4x/examples/robot/controllers/RobotController.java
 create mode 100644 plc4j/examples/hello-webapp/webapp/pom.xml
 copy protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => plc4j/examples/hello-webapp/webapp/src/main/java/org/apache/plc4x/examples/robot/Application.java (71%)
 copy integrations/apache-camel/src/main/resources/META-INF/services/org/apache/camel/component/plc4x => plc4j/examples/hello-webapp/webapp/src/main/resources/application.properties (76%)
 rename {examples => plc4j/examples}/hello-world-plc4x/pom.xml (91%)
 rename {examples => plc4j/examples}/hello-world-plc4x/src/main/java/org/apache/plc4x/java/examples/helloplc4x/CliOptions.java (100%)
 rename {examples => plc4j/examples}/hello-world-plc4x/src/main/java/org/apache/plc4x/java/examples/helloplc4x/HelloPlc4x.java (100%)
 rename {examples/hello-integration-edgent => plc4j/examples/hello-world-plc4x}/src/main/resources/logback.xml (100%)
 rename {examples => plc4j/examples}/pom.xml (66%)
 rename {integrations => plc4j/integrations}/apache-calcite/pom.xml (91%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/main/java/org/apache/plc4x/Plc4xBaseTable.java (100%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/main/java/org/apache/plc4x/Plc4xSchema.java (94%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/main/java/org/apache/plc4x/Plc4xSchemaFactory.java (81%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/main/java/org/apache/plc4x/Plc4xStreamTable.java (100%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/main/java/org/apache/plc4x/Plc4xTable.java (100%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/test/java/org/apache/plc4x/DriverManagerTest.java (95%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/test/java/org/apache/plc4x/Plc4XBaseTableTest.java (94%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/test/java/org/apache/plc4x/Plc4xSchemaFactoryTest.java (96%)
 copy {integrations => plc4j/integrations}/apache-calcite/src/test/resources/example.yml (100%)
 rename {integrations/apache-camel => plc4j/integrations/apache-calcite}/src/test/resources/logback.xml (100%)
 rename {integrations => plc4j/integrations}/apache-calcite/src/test/resources/model.json (100%)
 rename {integrations => plc4j/integrations}/apache-camel/pom.xml (91%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/docs/PLC4X.adoc (100%)
 copy {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XComponent.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XConsumer.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XEndpoint.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XPollingConsumer.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XProducer.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/main/resources/META-INF/services/org/apache/camel/component/plc4x (100%)
 copy {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/ConstantsTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/ManualTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/MockDriver.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XComponentTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XConsumerTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XEndpointTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XPollingConsumerTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XProducerTest.java (93%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver (100%)
 rename {integrations => plc4j/integrations}/apache-camel/src/test/resources/log4j2.properties (100%)
 rename {integrations/apache-calcite => plc4j/integrations/apache-camel}/src/test/resources/logback.xml (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/pom.xml (88%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcConnectionAdapter.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcFunctions.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/main/java/org/apache/plc4x/edgent/package-info.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcConnectionAdapterTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/PlcFunctionsTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockField.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockFieldHandler.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockFieldItem.java (100%)
 rename {integrations => plc4j/integrations}/apache-edgent/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver (100%)
 create mode 100644 plc4j/integrations/apache-kafka/README.md
 rename {integrations => plc4j/integrations}/apache-kafka/config/sink.properties (100%)
 rename {integrations => plc4j/integrations}/apache-kafka/config/source.properties (100%)
 rename {integrations => plc4j/integrations}/apache-kafka/pom.xml (93%)
 rename {integrations => plc4j/integrations}/apache-kafka/src/main/java/org/apache/plc4x/kafka/Plc4xSinkConnector.java (95%)
 rename {integrations => plc4j/integrations}/apache-kafka/src/main/java/org/apache/plc4x/kafka/Plc4xSinkTask.java (100%)
 rename {integrations => plc4j/integrations}/apache-kafka/src/main/java/org/apache/plc4x/kafka/Plc4xSourceConnector.java (98%)
 rename {integrations => plc4j/integrations}/apache-kafka/src/main/java/org/apache/plc4x/kafka/Plc4xSourceTask.java (100%)
 rename {integrations => plc4j/integrations}/apache-kafka/src/main/java/org/apache/plc4x/kafka/util/VersionUtil.java (100%)
 rename {integrations => plc4j/integrations}/apache-karaf/karaf-ads-feature/pom.xml (73%)
 rename {integrations => plc4j/integrations}/apache-karaf/karaf-demo-server/pom.xml (62%)
 rename {integrations => plc4j/integrations}/apache-karaf/karaf-ethernet-ip-feature/pom.xml (72%)
 copy {integrations => plc4j/integrations}/apache-karaf/karaf-modbus-feature/pom.xml (73%)
 rename {integrations => plc4j/integrations}/apache-karaf/karaf-s7-feature/pom.xml (73%)
 rename {integrations => plc4j/integrations}/apache-karaf/karaf-simulated-feature/pom.xml (72%)
 rename {integrations => plc4j/integrations}/apache-karaf/pom.xml (85%)
 copy plc4j/{drivers/delta-v/pom.xml => integrations/apache-nifi/nifi-plc4x-nar/false-positives.xml} (57%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-nar/pom.xml (56%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/pom.xml (87%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/main/java/org/apache/plc4x/nifi/BasePlc4xProcessor.java (100%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/main/java/org/apache/plc4x/nifi/Plc4xSinkProcessor.java (100%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/main/java/org/apache/plc4x/nifi/Plc4xSourceProcessor.java (100%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor (100%)
 rename {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/test/java/org/apache/plc4x/processors/plc4x4nifi/Plc4xSinkProcessorTest.java (100%)
 copy {integrations => plc4j/integrations}/apache-nifi/nifi-plc4x-processors/src/test/java/org/apache/plc4x/processors/plc4x4nifi/Plc4xSourceProcessorTest.java (100%)
 rename {integrations => plc4j/integrations}/apache-nifi/pom.xml (79%)
 copy plc4j/{drivers => integrations}/pom.xml (62%)
 rename plc4j/protocols/ethernet-ip/src/site/resources/{img => images}/WAGO_enip_exporer.png (100%)
 create mode 100644 plc4j/src/site/asciidoc/users/gettingstarted.adoc
 create mode 100644 plc4j/utils/interop/pom.xml
 create mode 100644 plc4j/utils/interop/src/assembly/assembly.xml
 create mode 100644 plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Client.java
 create mode 100644 plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
 create mode 100644 plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/{ScrapeJob.java => ScrapeJobImpl.java} (65%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/{Scraper.java => ScraperImpl.java} (84%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/{ScraperTask.java => ScraperTaskImpl.java} (85%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{JobConfiguration.java => JobConfigurationImpl.java} (66%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{JobConfigurationBuilder.java => JobConfigurationImplBuilder.java} (69%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{JobConfiguration.java => triggeredscraper/TriggeredJobConfiguration.java} (59%)
 rename plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{JobConfigurationBuilder.java => triggeredscraper/TriggeredJobConfigurationBuilder.java} (51%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{ScraperConfiguration.java => triggeredscraper/TriggeredScraperConfiguration.java} (58%)
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/{ScraperConfigurationBuilder.java => triggeredscraper/TriggeredScraperConfigurationBuilder.java} (62%)
 rename plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/{config => exception}/ScraperConfigurationException.java (96%)
 copy plc4j/utils/scraper/src/{test/java/org/apache/plc4x/java/scraper/ScraperRunner.java => main/java/org/apache/plc4x/java/scraper/exception/ScraperException.java} (55%)
 create mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScrapeJobImpl.java
 copy plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/{Scraper.java => triggeredscraper/TriggeredScraperImpl.java} (63%)
 create mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
 create mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
 create mode 100644 plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerHandler.java
 copy plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/{ScraperRunner.java => TriggeredScraperRunner.java} (57%)
 create mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunnerModbus.java
 create mode 100644 plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfigurationTest.java
 copy integrations/apache-calcite/src/test/resources/example.yml => plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml (53%)
 rename integrations/apache-calcite/src/test/resources/example.yml => plc4j/utils/scraper/src/test/resources/example_triggered_scraper_modbus.yml (84%)
 create mode 100644 plc4net/.gitignore
 create mode 100644 plc4net/api/PlcDriverManager.cs
 copy plc4j/drivers/delta-v/pom.xml => plc4net/api/api.csproj (56%)
 create mode 100644 plc4net/api/api/IPlcConnection.cs
 create mode 100644 plc4net/api/api/IPlcDriver.cs
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/api/authentication/IPlcAuthentication.cs (77%)
 create mode 100644 plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
 copy plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/base/connection/TestChannelFactory.java => plc4net/api/api/metadata/IPlcConnectionMetadata.cs (58%)
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ConstantsTest.java => plc4net/api/exceptions/PlcConnectionException.cs (53%)
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ConstantsTest.java => plc4net/api/exceptions/PlcException.cs (53%)
 copy integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ConstantsTest.java => plc4net/api/exceptions/PlcInvalidFieldException.cs (56%)
 create mode 100644 plc4net/api/messages/IPlcFieldRequest.cs
 create mode 100644 plc4net/api/messages/IPlcFieldResponse.cs
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcMessage.cs (80%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcReadRequest.cs (78%)
 copy plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/base/connection/TestChannelFactory.java => plc4net/api/messages/IPlcReadRequestBuilder.cs (56%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcReadResponse.cs (78%)
 copy integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java => plc4net/api/messages/IPlcRequest.cs (62%)
 copy integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java => plc4net/api/messages/IPlcRequestBuilder.cs (61%)
 copy examples/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/model/DummyField.java => plc4net/api/messages/IPlcResponse.cs (70%)
 rename examples/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/model/DummyField.java => plc4net/api/messages/IPlcSubscriptionEventArgs.cs (68%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcSubscriptionRequest.cs (78%)
 create mode 100644 plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
 rename integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ConstantsTest.java => plc4net/api/messages/IPlcSubscriptionResponse.cs (51%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcUnsubscriptionRequest.cs (78%)
 create mode 100644 plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => plc4net/api/messages/IPlcUnsubscriptionResponse.cs (77%)
 copy integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java => plc4net/api/messages/IPlcWriteRequest.cs (71%)
 create mode 100644 plc4net/api/messages/IPlcWriteRequestBuilder.cs
 create mode 100644 plc4net/api/model/IPlcField.cs
 copy integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java => plc4net/api/model/IPlcSubscriptionHandle.cs (65%)
 create mode 100644 plc4net/api/pom.xml
 rename integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Constants.java => plc4net/api/types/PlcResponseCode.cs (72%)
 copy plc4j/drivers/delta-v/pom.xml => plc4net/plc4net.driver/plc4net.driver.csproj (56%)
 create mode 100644 plc4net/plc4net.driver/pom.xml
 create mode 100644 plc4net/plc4net.sln
 copy {plc4j/drivers => plc4net}/pom.xml (72%)
 create mode 100644 plc4py/README.md
 create mode 100644 plc4py/pom.xml
 create mode 100644 plc4py/setup.py
 create mode 100644 plc4py/src/assembly/python.xml
 create mode 100644 plc4py/src/main/python/__init__.py
 create mode 100644 plc4py/src/main/python/org/__init__.py
 create mode 100644 plc4py/src/main/python/org/apache/__init__.py
 create mode 100644 plc4py/src/main/python/org/apache/plc4x/InteropClient.py
 create mode 100644 plc4py/src/main/python/org/apache/plc4x/PlcConnection.py
 create mode 100644 plc4py/src/main/python/org/apache/plc4x/PlcDriverManager.py
 create mode 100644 plc4py/src/main/python/org/apache/plc4x/__init__.py
 create mode 100644 plc4py/src/main/resources/lib/log4j2.xml
 create mode 100644 plc4py/src/test/python/__init__.py
 create mode 100644 plc4py/src/test/python/org/__init__.py
 create mode 100644 plc4py/src/test/python/org/apache/__init__.py
 create mode 100644 plc4py/src/test/python/org/apache/plc4x/__init__.py
 create mode 100644 plc4py/src/test/python/org/apache/plc4x/test_PlcDriverManager.py
 delete mode 100644 plc4s/pom.xml
 copy {plc4j/drivers/delta-v => protocols/knxnet-ip}/pom.xml (72%)
 copy protocols/{ => knxnet-ip}/src/main/java/.keepMe (81%)
 copy plc4j/drivers/delta-v/pom.xml => protocols/knxnet-ip/src/main/resources/daffodil-built-in-catalog.xml (57%)
 create mode 100644 protocols/knxnet-ip/src/main/resources/org/apache/plc4x/protocols/knxnetip/protocol.dfdl.xsd
 create mode 100644 protocols/knxnet-ip/src/main/resources/org/apache/plc4x/protocols/knxnetip/protocol.scxml.xml
 create mode 100644 protocols/knxnet-ip/src/site/asciidoc/index.adoc
 copy protocols/{src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => knxnet-ip/src/test/java/org/apache/plc4x/protocols/knxnetip/ProtocolTest.java} (77%)
 create mode 100644 protocols/knxnet-ip/src/test/resources/org/apache/plc4x/protocols/knxnetip/protocol.tdml
 copy {plc4j/drivers/delta-v => protocols/proxy}/pom.xml (78%)
 rename protocols/{src/main/dfdl/daffodil-built-in-catalog.xml => proxy/src/main/java/.keepMe} (63%)
 create mode 100644 protocols/proxy/src/main/resources/org/apache/plc4x/protocols/proxy/interop.thrift
 copy protocols/{ => s7}/pom.xml (68%)
 rename protocols/{ => s7}/src/main/java/.keepMe (81%)
 rename integrations/apache-kafka/README.md => protocols/s7/src/main/resources/daffodil-built-in-catalog.xml (73%)
 rename protocols/{src/main/dfdl/org/apache/plc4x/protocols/s7-protocol.dfdl.xsd => s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd} (50%)
 create mode 100644 protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.scxml.xml
 create mode 100644 protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java
 copy protocols/{src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => s7/src/test/java/org/apache/plc4x/protocols/s7/ProtocolTest.java} (77%)
 create mode 100644 protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
 delete mode 100644 protocols/src/main/dfdl/org/apache/plc4x/protocols/cotp-protocol.dfdl.xsd
 delete mode 100644 protocols/src/test/resources/org/apache/plc4x/protocols/tpkt-protocol.tdml
 copy protocols/{ => test-utils}/pom.xml (61%)
 rename protocols/{src/test => test-utils/src/main}/java/org/apache/plc4x/protocols/AbstractProtocolTest.java (79%)
 create mode 100644 sandbox/dynamic-driver-base/pom.xml
 copy protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/BaseConnectedAction.java (65%)
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/BaseDaffodilAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/BasePlc4xAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/ConnectAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/InitContextAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/ReceiveAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/ReceiveExtractVerifyAction.java
 rename examples/hello-connectivity-mqtt/src/main/java/org/apache/plc4x/java/examples/connectivity/mqtt/model/MqttConfig.java => sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/ReceiveRequestAction.java (50%)
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/ReceiveResponseAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/SendAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/actions/SendRequestAction.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/connection/DynamicDriverConnectionBase.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/java/org/apache/plc4x/sandbox/java/dynamic/utils/RequestRegistry.java
 create mode 100644 sandbox/dynamic-driver-base/src/main/scala/org/apache/plc4x/sandbox/java/dynamic/utils/JDOMTemplateInfosetInputter.scala
 copy {plc4j/utils/opm => sandbox/dynamic-driver-s7}/pom.xml (60%)
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/DynamicS7Driver.java
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/actions/S7DecodeArticleNumber.java
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/actions/S7DecodeReadResponseAction.java
 copy examples/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/PlcMemoryBlock.java => sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/actions/S7DecodeWriteResponseAction.java (62%)
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/connection/DynamicS7Connection.java
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/types/DataTransportErrorCode.java
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/types/DataTransportSize.java
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/types/MemoryArea.java
 rename protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java => sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/types/S7ControllerType.java (74%)
 copy {plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model => sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7}/types/TransportSize.java (97%)
 copy {plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/model => sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/utils}/S7Field.java (88%)
 create mode 100644 sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/utils/S7PlcFieldHandler.java
 rename examples/hello-connectivity-kafka/src/main/java/org/apache/plc4x/java/examples/connectivity/kafka/model/PlcMemoryBlock.java => sandbox/dynamic-driver-s7/src/main/java/org/apache/plc4x/sandbox/java/dynamic/s7/utils/S7TsapIdEncoder.java (54%)
 create mode 100644 sandbox/dynamic-driver-s7/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 create mode 100644 sandbox/plc4x-maven-plugin/pom.xml
 create mode 100644 sandbox/plc4x-maven-plugin/src/it/settings.xml
 create mode 100644 sandbox/plc4x-maven-plugin/src/it/simple-it/pom.xml
 copy protocols/src/main/dfdl/org/apache/plc4x/protocols/tpkt-protocol.dfdl.xsd => sandbox/plc4x-maven-plugin/src/it/simple-it/src/main/resources/test/protocol.dfdl.xsd (50%)
 copy plc4j/api/src/main/java/org/apache/plc4x/java/api/types/PlcResponseCode.java => sandbox/plc4x-maven-plugin/src/it/simple-it/verify.groovy (80%)
 create mode 100644 sandbox/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/GenerateMojo.java
 create mode 100644 sandbox/plc4x-maven-plugin/src/test/java/org/apache/plc4x/plugins/codegenerator/GenerateMojoTest.java
 rename {integrations/apache-karaf/karaf-modbus-feature => sandbox/plc4x-maven-plugin/src/test/projects/simple-embedded-schema}/pom.xml (50%)
 rename protocols/src/main/dfdl/org/apache/plc4x/protocols/tpkt-protocol.dfdl.xsd => sandbox/plc4x-maven-plugin/src/test/projects/simple-embedded-schema/src/main/resources/protocol.dfdl.xsd (50%)
 copy plc4j/drivers/delta-v/pom.xml => sandbox/plc4x-maven-plugin/src/test/projects/simple-embedded-schema/src/main/resources/template.ftlh (54%)
 copy {plc4j/drivers => sandbox}/pom.xml (57%)
 rename integrations/apache-nifi/nifi-plc4x-processors/src/test/java/org/apache/plc4x/processors/plc4x4nifi/Plc4xSourceProcessorTest.java => src/main/script/prerequisite-check.groovy (58%)
 delete mode 100644 src/site/asciidoc/community/getting-involved.adoc
 rename src/site/asciidoc/{community => developers}/conferences.adoc (72%)
 create mode 100644 src/site/asciidoc/developers/decisions.adoc
 create mode 100644 src/site/asciidoc/developers/maturity.adoc
 create mode 100644 src/site/asciidoc/developers/preparing.adoc
 create mode 100644 src/site/asciidoc/developers/team.adoc
 delete mode 100644 src/site/asciidoc/incubation-proposal.adoc
 create mode 100644 src/site/resources/images/PLC4X_rollup_83x237cm-final.pdf
 rename src/site/resources/{img => images}/apache_brooklyn_logo.png (100%)
 rename src/site/resources/{img => images}/apache_camel_logo.png (100%)
 rename src/site/resources/{img => images}/apache_edgent_logo.png (100%)
 rename src/site/resources/{img => images}/apache_kafka_logo.png (100%)
 create mode 100644 src/site/resources/images/apache_logo.png
 rename src/site/resources/{img => images}/apache_mynewt_logo.png (100%)
 rename src/site/resources/{img => images}/apache_nifi_logo.svg (100%)
 rename src/site/resources/{img => images}/apache_plc4x_logo.png (100%)
 rename src/site/resources/{img => images}/community-contribute-fork.png (100%)
 create mode 100644 src/site/resources/images/contributing-github-create-pull-request.png
 create mode 100644 src/site/resources/images/contributing-github-fork.png
 rename src/site/resources/{img => images}/iot-lab.jpg (100%)
 rename src/site/resources/{img => images}/neo4j-intellij-database-connections-view.png (100%)
 rename src/site/resources/{img => images}/neo4j-intellij-query-results.png (100%)
 rename src/site/resources/{img => images}/neo4j-intellij-settings.png (100%)
 rename src/site/resources/{img => images}/neo4j-web-console.png (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-beckhoff-route-1.png (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-beckhoff-route-2.png (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-beckhoff-route-3.png (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-beckhoff.jpg (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-client-download.png (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-fatek.jpg (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-siemens-hmi.jpg (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-siemens-s7.jpg (100%)
 rename src/site/resources/{img => images}/plc4x-vpn-wago.jpg (100%)
 create mode 100644 src/site/resources/images/release-git-diff-next-development-iteration.png
 create mode 100644 src/site/resources/images/release-git-diff-prepare-release.png
 create mode 100644 src/site/resources/images/release-git-history.png
 create mode 100644 src/site/resources/images/team/cdutz.png
 create mode 100644 src/site/resources/images/team/jfeinauer.jpg
 create mode 100644 src/site/resources/images/team/sruehl.jpg
 create mode 100644 src/site/resources/images/team/tmitsch.png
 create mode 100644 src/site/resources/plc4x-doap.rdf
 create mode 100644 src/site/resources/plc4x-pmc.rdf
 create mode 100644 tools/README.md
 create mode 100644 tools/clean-site.sh
 copy {plc4j/drivers/delta-v => tools}/pom.xml (78%)
 create mode 100644 tools/thrift/pom.xml
 copy plc4j/drivers/delta-v/pom.xml => tools/thrift/src/assembly/compiler.xml (53%)
 rename plc4j/drivers/delta-v/pom.xml => tools/thrift/src/assembly/cpp.xml (54%)
 create mode 100644 tools/thrift/src/assembly/python.xml


[plc4x] 01/01: - Merged release 0.4.0 to master

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 6e7f5055370816313a32c112d74b03b2dc49b7cc
Merge: 295b71f 10739fd
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun May 26 16:23:57 2019 +0200

    - Merged release 0.4.0 to master

 .gitignore                                         |   13 +-
 .mvn/wrapper/MavenWrapperDownloader.java           |   57 +-
 .mvn/wrapper/maven-wrapper.properties              |    5 +-
 .vscode/settings.json                              |    8 +
 DISCLAIMER                                         |    7 -
 Jenkinsfile                                        |   32 +-
 LICENSE                                            |    9 +-
 NOTICE                                             |    3 +
 README                                             |  114 +-
 RELEASE_NOTES                                      |   30 +
 jenkins.pom                                        |    2 +-
 .../300ppi/PLC4X logo without mascot@300x.png      |  Bin 0 -> 18418 bytes
 media/logos/300ppi/PLC4X.png                       |  Bin 0 -> 87342 bytes
 media/logos/300ppi/logo PLC4X black line@300x.png  |  Bin 0 -> 50768 bytes
 media/logos/300ppi/logo PLC4X color CMYK@300x.png  |  Bin 0 -> 87342 bytes
 media/logos/300ppi/logo PLC4X on dark bg@300x.png  |  Bin 0 -> 86925 bytes
 media/logos/300ppi/logo PLC4X white line@300x.png  |  Bin 0 -> 46417 bytes
 .../mascot color with apache feather@300x.png      |  Bin 0 -> 127847 bytes
 .../300ppi/mascot color without feather@300x.png   |  Bin 0 -> 91523 bytes
 media/logos/PDF/PLC4X logo without mascot.pdf      |  Bin 0 -> 66597 bytes
 media/logos/PDF/logo PLC4X black line.pdf          |  Bin 0 -> 123655 bytes
 media/logos/PDF/logo PLC4X color CMYK@300x.pdf     |  Bin 0 -> 252702 bytes
 media/logos/PDF/logo PLC4X on dark bg.pdf          |  Bin 0 -> 252970 bytes
 media/logos/PDF/logo PLC4X white line.pdf          |  Bin 0 -> 123558 bytes
 .../logos/PDF/mascot color with apache feather.pdf |  Bin 0 -> 271570 bytes
 media/logos/PDF/mascot color without feather.pdf   |  Bin 0 -> 249178 bytes
 media/logos/SVG/PLC4X logo without mascot.svg      |   59 +
 media/logos/SVG/logo PLC4X black line.svg          | 1598 ++++++++++
 media/logos/SVG/logo PLC4X color CMYK@300x.svg     | 1492 +++++++++
 media/logos/SVG/logo PLC4X on dark bg.svg          | 1492 +++++++++
 media/logos/SVG/logo PLC4X white line.svg          | 1598 ++++++++++
 .../logos/SVG/mascot color with apache feather.svg | 2462 ++++++++++++++
 media/logos/SVG/mascot color without feather.svg   | 1403 ++++++++
 mvnw                                               |   67 +-
 mvnw.cmd                                           |   25 +-
 .../delta-v/pom.xml => plc4cpp/CMakeLists.txt      |   31 +-
 plc4cpp/README.md                                  |   14 +-
 plc4cpp/api/CMakeLists.txt                         |   76 +
 plc4cpp/api/pom.xml                                |  106 +-
 plc4cpp/api/src/assembly/cpp.xml                   |   47 +
 plc4cpp/api/src/main/cmake/CMakeLists.txt          |   76 -
 .../PlcUsernamePasswordAuthentication.cpp          |   14 +-
 .../PlcUsernamePasswordAuthentication.h            |    4 +-
 .../cpp/api/exceptions/PlcConnectionException.h    |    6 +-
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |    6 +-
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |    6 +-
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |    4 +-
 .../PlcIncompatibleDatatypeException.cpp           |    4 +-
 .../exceptions/PlcIncompatibleDatatypeException.h  |    2 +-
 .../api/exceptions/PlcInvalidFieldException.cpp    |   20 +-
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |    8 +-
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |    6 +-
 .../api/exceptions/PlcNotImplementedException.h    |    2 +-
 .../cpp/api/exceptions/PlcProtocolException.h      |    6 +-
 .../PlcProtocolPayloadTooBigException.cpp          |   20 +-
 .../exceptions/PlcProtocolPayloadTooBigException.h |   10 +-
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |    6 +-
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |    6 +-
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |    8 +-
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |    4 +-
 .../exceptions/PlcUnsupportedDataTypeException.h   |    6 +-
 .../exceptions/PlcUnsupportedOperationException.h  |    6 +-
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |    4 +-
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |    4 +-
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |    2 +-
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |    0
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |    2 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.h       |  144 +-
 .../PlcDriver.cpp}                                 |    8 +-
 .../main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h  |   85 +
 .../pom.xml => plc4cpp/examples/CMakeLists.txt     |   23 +-
 plc4cpp/{api => examples}/pom.xml                  |   37 +-
 .../pom.xml => plc4cpp/integrations/CMakeLists.txt |   24 +-
 .../integrations/apache-mynewt/CMakeLists.txt      |   23 +-
 .../integrations}/apache-mynewt/pom.xml            |    8 +-
 .../integrations/edgex-foundry/CMakeLists.txt      |   23 +-
 .../integrations/edgex-foundry}/pom.xml            |   15 +-
 {integrations => plc4cpp/integrations}/pom.xml     |   16 +-
 plc4cpp/libs/boost/pom.xml                         |  158 +
 plc4cpp/libs/boost/src/assembly/cpp-windows.xml    |   47 +
 .../libs/boost/src/assembly/cpp.xml                |   37 +-
 plc4cpp/libs/pom.xml                               |  124 +-
 plc4cpp/pom.xml                                    |  204 +-
 .../pom.xml => plc4cpp/protocols/CMakeLists.txt    |   23 +-
 .../protocols/driver-bases/CMakeLists.txt          |   23 +-
 plc4cpp/protocols/driver-bases/base/CMakeLists.txt |   65 +
 plc4cpp/protocols/driver-bases/base/pom.xml        |  149 +
 .../driver-bases/base/src/assembly/cpp.xml         |   47 +
 .../cpp/base/connection/AbstractPlcConnection.cpp} |   28 +-
 .../cpp/base/connection/AbstractPlcConnection.h    |   79 +
 .../plc4x/cpp/base/connection/ChannelFactory.cpp}  |   11 +-
 .../plc4x/cpp/base/connection/ChannelFactory.h}    |   34 +-
 .../cpp/base/connection/DefaultPlcFieldHandler.cpp |  111 +
 .../cpp/base/connection/DefaultPlcFieldHandler.h   |   96 +
 .../plc4x/cpp/base/connection/PlcFieldHandler.cpp} |    9 +-
 .../plc4x/cpp/base/connection/PlcFieldHandler.h    |   99 +
 .../apache/plc4x/cpp/base/events/ConnectEvent.cpp} |    9 +-
 .../apache/plc4x/cpp/base/events/ConnectEvent.h}   |   18 +-
 .../plc4x/cpp/base/events/ConnectedEvent.cpp}      |    9 +-
 .../apache/plc4x/cpp/base/events/ConnectedEvent.h} |   17 +-
 .../cpp/base/messages/DefaultPlcReadRequest.cpp    |  122 +
 .../cpp/base/messages/DefaultPlcReadRequest.h      |   81 +
 .../cpp/base/messages/DefaultPlcWriteRequest.cpp   |  120 +
 .../cpp/base/messages/DefaultPlcWriteRequest.h     |   81 +
 .../cpp/base/messages/InternalPlcFieldRequest.cpp} |   10 +-
 .../cpp/base/messages/InternalPlcFieldRequest.h}   |   29 +-
 .../base/messages/InternalPlcFieldResponse.cpp}    |    7 +-
 .../cpp/base/messages/InternalPlcFieldResponse.h}  |   23 +-
 .../messages/InternalPlcProprietaryRequest.cpp}    |    6 +-
 .../base/messages/InternalPlcProprietaryRequest.h} |   31 +-
 .../messages/InternalPlcProprietaryResponse.cpp}   |    6 +-
 .../messages/InternalPlcProprietaryResponse.h}     |   31 +-
 .../cpp/base/messages/InternalPlcReadRequest.cpp}  |    7 +-
 .../cpp/base/messages/InternalPlcReadRequest.h}    |   33 +-
 .../cpp/base/messages/InternalPlcRequest.cpp}      |    7 +-
 .../plc4x/cpp/base/messages/InternalPlcRequest.h}  |   21 +-
 .../cpp/base/messages/InternalPlcResponse.cpp}     |    7 +-
 .../plc4x/cpp/base/messages/InternalPlcResponse.h} |   21 +-
 .../cpp/base/messages/InternalPlcWriteRequest.cpp} |    7 +-
 .../cpp/base/messages/InternalPlcWriteRequest.h}   |   43 +-
 .../cpp/base/messages/PlcProprietaryRequest.cpp}   |    7 +-
 .../cpp/base/messages/PlcProprietaryRequest.h}     |   29 +-
 .../cpp/base/messages/PlcProprietaryResponse.cpp}  |    6 +-
 .../cpp/base/messages/PlcProprietaryResponse.h}    |   28 +-
 .../apache/plc4x/cpp/base/messages/PlcReader.cpp}  |    7 +-
 .../apache/plc4x/cpp/base/messages/PlcReader.h}    |   17 +-
 .../apache/plc4x/cpp/base/messages/PlcWriter.cpp}  |    7 +-
 .../apache/plc4x/cpp/base/messages/PlcWriter.h}    |   34 +-
 .../base/messages/items/BaseDefaultFieldItem.cpp}  |   11 +-
 .../cpp/base/messages/items/BaseDefaultFieldItem.h |  136 +
 .../messages/items/DefaultBigDecimalFieldItem.cpp  |  196 ++
 .../messages/items/DefaultBigDecimalFieldItem.h    |   83 +
 .../messages/items/DefaultBigIntegerFieldItem.cpp  |  201 ++
 .../messages/items/DefaultBigIntegerFieldItem.h    |   84 +
 .../messages/items/DefaultBooleanFieldItem.cpp     |  196 ++
 .../base/messages/items/DefaultBooleanFieldItem.h  |   80 +
 .../messages/items/DefaultByteArrayFieldItem.cpp   |  196 ++
 .../messages/items/DefaultByteArrayFieldItem.h     |   81 +
 .../base/messages/items/DefaultByteFieldItem.cpp   |  196 ++
 .../cpp/base/messages/items/DefaultByteFieldItem.h |   81 +
 .../base/messages/items/DefaultDoubleFieldItem.cpp |  196 ++
 .../base/messages/items/DefaultDoubleFieldItem.h   |   81 +
 .../base/messages/items/DefaultFloatFieldItem.cpp  |  196 ++
 .../base/messages/items/DefaultFloatFieldItem.h    |   81 +
 .../messages/items/DefaultIntegerFieldItem.cpp     |  196 ++
 .../base/messages/items/DefaultIntegerFieldItem.h  |   81 +
 .../messages/items/DefaultLocalDateFieldItem.cpp   |  196 ++
 .../messages/items/DefaultLocalDateFieldItem.h     |   81 +
 .../items/DefaultLocalDateTimeFieldItem.cpp        |   95 +
 .../messages/items/DefaultLocalDateTimeFieldItem.h |   71 +
 .../messages/items/DefaultLocalTimeFieldItem.cpp   |   95 +
 .../messages/items/DefaultLocalTimeFieldItem.h     |   71 +
 .../base/messages/items/DefaultLongFieldItem.cpp   |  196 ++
 .../cpp/base/messages/items/DefaultLongFieldItem.h |   82 +
 .../base/messages/items/DefaultShortFieldItem.cpp  |  196 ++
 .../base/messages/items/DefaultShortFieldItem.h    |   82 +
 .../messages/items/DefaultStringFieldItem.cpp}     |   32 +-
 .../base/messages/items/DefaultStringFieldItem.h}  |   53 +-
 .../protocols/driver-bases}/pom.xml                |   12 +-
 {plc4c => plc4cpp/protocols}/pom.xml               |   14 +-
 .../pom.xml => plc4cpp/utils/CMakeLists.txt        |   23 +-
 .../pom.xml => plc4cpp/utils/logger/CMakeLists.txt |   36 +-
 plc4cpp/utils/logger/pom.xml                       |  150 +
 plc4cpp/utils/logger/src/assembly/cpp.xml          |   47 +
 .../org/apache/plc4x/cpp/utils/logger/BLogger.cpp  |  475 +++
 .../org/apache/plc4x/cpp/utils/logger/BLogger.h    |  157 +
 .../org/apache/plc4x/cpp/utils/logger/DatDmp.cpp   |  143 +
 .../cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h |   88 +
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp |   64 +-
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.h   |   54 +
 .../plc4x/cpp/utils/logger/ErrorCategory.cpp       |   71 +
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |  125 +
 .../plc4x/cpp/utils/logger/ErrorInfoException.cpp  |  171 +
 .../plc4x/cpp/utils/logger/ErrorInfoException.h    |   83 +
 .../org/apache/plc4x/cpp/utils/logger/ExLog.cpp    |  143 +
 .../cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h  |   71 +
 {plc4j/drivers/delta-v => plc4cpp/utils}/pom.xml   |   19 +-
 plc4j/api/pom.xml                                  |    4 +-
 .../org/apache/plc4x/java/api/PlcConnection.java   |   21 +
 .../PlcUnsupportedProtocolException.java           |   21 +-
 .../org/apache/plc4x/java/api/model/PlcField.java  |   16 +
 .../plc4x/java/api/types/PlcResponseCode.java      |    1 +
 plc4j/drivers/ads/pom.xml                          |   16 +-
 .../connection/AdsAbstractPlcConnectionTest.java   |   13 +-
 .../ads/connection/AdsTcpPlcConnectionTests.java   |   19 +-
 plc4j/drivers/ethernet-ip/pom.xml                  |   10 +-
 plc4j/drivers/modbus/pom.xml                       |   14 +-
 plc4j/drivers/{simulated => opcua}/pom.xml         |   51 +-
 .../apache/plc4x/java/opcua/OpcuaPlcDriver.java    |   94 +
 .../opcua/connection/BaseOpcuaPlcConnection.java   |   95 +
 .../opcua/connection/OpcuaConnectionFactory.java   |   52 +-
 .../opcua/connection/OpcuaTcpPlcConnection.java    |  464 +++
 .../plc4x/java/opcua/protocol/OpcuaField.java      |  118 +
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java  |  151 +
 .../opcua/protocol/OpcuaSubsriptionHandle.java     |   81 +
 .../java/opcua/protocol/model/OpcuaDataTypes.java  |   63 +-
 .../opcua/protocol/model/OpcuaIdentifierType.java  |   50 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    2 +-
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |  145 +
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |   67 +
 .../org/apache/plc4x/java/opcua/UtilsTest.java     |   35 +-
 .../connection/OpcuaTcpPlcConnectionTest.java      |   23 +-
 .../plc4x/java/opcua/protocol/OpcuaFieldTest.java  |   51 +
 .../opcua/protocol/OpcuaPlcFieldHandlerTest.java   |   23 +-
 .../protocol/OpcuaSubscriptionHandleTest.java      |   23 +-
 plc4j/drivers/pom.xml                              |    3 +-
 plc4j/drivers/s7/pom.xml                           |   24 +-
 .../plc4x/java/s7/connection/S7PlcConnection.java  |   10 +-
 .../java/s7/connection/S7PlcConnectionIT.java      |    2 +
 .../java/s7/connection/S7PlcConnectionTests.java   |   15 +
 plc4j/drivers/simulated/pom.xml                    |    6 +-
 {examples => plc4j/examples}/dummy-driver/pom.xml  |   14 +-
 .../java/examples/dummydriver/DummyDriver.java     |    4 +-
 .../dummydriver/connection/DummyConnection.java    |    0
 .../examples/dummydriver/model/DummyField.java     |    0
 .../examples/dummydriver/netty/DummyProtocol.java  |    0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 .../examples}/hello-cloud-azure/pom.xml            |   14 +-
 .../java/examples/cloud/azure/CliOptions.java      |    0
 .../cloud/azure/S7PlcToAzureIoTHubSample.java      |    0
 .../examples}/hello-cloud-google/README.md         |    0
 .../examples}/hello-cloud-google/pom.xml           |   12 +-
 .../java/examples/cloud/google/CliOptions.java     |    0
 .../cloud/google/S7PlcToGoogleIoTCoreSample.java   |    0
 .../src/main/resources/logback.xml                 |    0
 .../hello-connectivity-kafka/kafka-connector.yml   |    0
 .../examples}/hello-connectivity-kafka/pom.xml     |   18 +-
 .../examples}/hello-connectivity-kafka/server.sh   |    0
 .../connectivity/kafka/KafkaConnector.java         |    0
 .../connectivity/kafka/model/Configuration.java    |    0
 .../connectivity/kafka/model/KafkaConfig.java      |    0
 .../connectivity/kafka/model/PlcConfig.java        |    0
 .../connectivity/kafka/model/PlcFieldConfig.java   |    0
 .../connectivity/kafka/model/PlcMemoryBlock.java   |    0
 .../src/main/resources/logback.xml                 |    0
 .../hello-connectivity-mqtt/mqtt-connector.yml     |    0
 .../examples}/hello-connectivity-mqtt/pom.xml      |   21 +-
 .../examples/connectivity/mqtt/MqttConnector.java  |   12 +-
 .../connectivity/mqtt/model/Configuration.java     |    0
 .../connectivity/mqtt/model/MqttConfig.java        |    0
 .../connectivity/mqtt/model/PlcConfig.java         |    0
 .../connectivity/mqtt/model/PlcFieldConfig.java    |    0
 .../connectivity/mqtt/model/PlcMemoryBlock.java    |    0
 .../src/main/resources/logback.xml                 |    0
 .../examples}/hello-integration-edgent/pom.xml     |   14 +-
 .../examples/integration/edgent/CliOptions.java    |    0
 .../examples/integration/edgent/PlcLogger.java     |    0
 .../src/main/resources/logback.xml                 |    0
 {examples => plc4j/examples}/hello-opm/pom.xml     |   16 +-
 .../plc4x/java/examples/helloopm/HelloOpm.java     |    0
 .../hello-opm/src/main/resources/logback.xml       |    0
 .../hello-storage-elasticsearch/README.adoc        |    0
 .../examples}/hello-storage-elasticsearch/pom.xml  |   34 +-
 .../elasticsearch/ElasticsearchStorage.java        |    5 +-
 .../src/main/resources/log4j2.xml                  |    0
 .../src/main/resources/logback.xml                 |    0
 plc4j/examples/hello-webapp/client/pom.xml         |  136 +
 .../client/src/main/royale/HelloPLC4X.mxml         |  104 +
 .../client/src/main/royale/service/RobotService.as |   92 +
 plc4j/examples/hello-webapp/pom.xml                |   78 +
 .../hello-webapp/service}/pom.xml                  |   62 +-
 .../robot/controllers/RobotController.java         |  105 +
 plc4j/examples/hello-webapp/webapp/pom.xml         |  148 +
 .../apache/plc4x/examples/robot/Application.java   |   15 +-
 .../src/main/resources/application.properties      |   10 +-
 .../examples}/hello-world-plc4x/pom.xml            |   14 +-
 .../plc4x/java/examples/helloplc4x/CliOptions.java |    0
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |    0
 .../src/main/resources/logback.xml                 |    0
 {examples => plc4j/examples}/pom.xml               |   63 +-
 .../integrations}/apache-calcite/pom.xml           |   14 +-
 .../main/java/org/apache/plc4x/Plc4xBaseTable.java |    0
 .../main/java/org/apache/plc4x/Plc4xSchema.java    |    6 +-
 .../java/org/apache/plc4x/Plc4xSchemaFactory.java  |   12 +-
 .../java/org/apache/plc4x/Plc4xStreamTable.java    |    0
 .../src/main/java/org/apache/plc4x/Plc4xTable.java |    0
 .../java/org/apache/plc4x/DriverManagerTest.java   |    3 +-
 .../java/org/apache/plc4x/Plc4XBaseTableTest.java  |    4 +-
 .../org/apache/plc4x/Plc4xSchemaFactoryTest.java   |    2 -
 .../apache-calcite/src/test/resources/example.yml  |    0
 .../apache-calcite}/src/test/resources/logback.xml |    0
 .../apache-calcite/src/test/resources/model.json   |    0
 .../integrations}/apache-camel/pom.xml             |   23 +-
 .../apache-camel/src/main/docs/PLC4X.adoc          |    0
 .../java/org/apache/plc4x/camel/Constants.java     |    0
 .../org/apache/plc4x/camel/Plc4XComponent.java     |    0
 .../java/org/apache/plc4x/camel/Plc4XConsumer.java |    0
 .../java/org/apache/plc4x/camel/Plc4XEndpoint.java |    0
 .../apache/plc4x/camel/Plc4XPollingConsumer.java   |    0
 .../java/org/apache/plc4x/camel/Plc4XProducer.java |    0
 .../services/org/apache/camel/component/plc4x      |    0
 .../java/org/apache/plc4x/camel/ConstantsTest.java |    0
 .../java/org/apache/plc4x/camel/ManualTest.java    |    0
 .../java/org/apache/plc4x/camel/MockDriver.java    |    0
 .../org/apache/plc4x/camel/Plc4XComponentTest.java |    0
 .../org/apache/plc4x/camel/Plc4XConsumerTest.java  |    0
 .../org/apache/plc4x/camel/Plc4XEndpointTest.java  |    0
 .../plc4x/camel/Plc4XPollingConsumerTest.java      |    0
 .../org/apache/plc4x/camel/Plc4XProducerTest.java  |    8 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 .../src/test/resources/log4j2.properties           |    0
 .../apache-camel}/src/test/resources/logback.xml   |    0
 .../integrations}/apache-edgent/pom.xml            |   17 +-
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |    0
 .../java/org/apache/plc4x/edgent/PlcFunctions.java |    0
 .../java/org/apache/plc4x/edgent/package-info.java |    0
 .../plc4x/edgent/PlcConnectionAdapterTest.java     |    0
 .../org/apache/plc4x/edgent/PlcFunctionsTest.java  |    0
 .../apache/plc4x/edgent/mock/MockConnection.java   |    0
 .../org/apache/plc4x/edgent/mock/MockDriver.java   |    4 +-
 .../org/apache/plc4x/edgent/mock/MockField.java    |    0
 .../apache/plc4x/edgent/mock/MockFieldHandler.java |    0
 .../apache/plc4x/edgent/mock/MockFieldItem.java    |    0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |    0
 plc4j/integrations/apache-kafka/README.md          |   63 +
 .../apache-kafka/config/sink.properties            |    0
 .../apache-kafka/config/source.properties          |    0
 .../integrations}/apache-kafka/pom.xml             |    9 +-
 .../org/apache/plc4x/kafka/Plc4xSinkConnector.java |    5 +-
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |    0
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |    3 +-
 .../org/apache/plc4x/kafka/Plc4xSourceTask.java    |    0
 .../org/apache/plc4x/kafka/util/VersionUtil.java   |    0
 .../apache-karaf/karaf-ads-feature/pom.xml         |   19 +-
 .../apache-karaf/karaf-demo-server/pom.xml         |   50 +-
 .../apache-karaf/karaf-ethernet-ip-feature/pom.xml |   19 +-
 .../apache-karaf/karaf-modbus-feature/pom.xml      |   19 +-
 .../apache-karaf/karaf-s7-feature/pom.xml          |   19 +-
 .../apache-karaf/karaf-simulated-feature/pom.xml   |   19 +-
 .../integrations}/apache-karaf/pom.xml             |   18 +-
 .../nifi-plc4x-nar/false-positives.xml}            |   26 +-
 .../apache-nifi/nifi-plc4x-nar/pom.xml             |   53 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |   12 +-
 .../org/apache/plc4x/nifi/BasePlc4xProcessor.java  |    0
 .../org/apache/plc4x/nifi/Plc4xSinkProcessor.java  |    0
 .../apache/plc4x/nifi/Plc4xSourceProcessor.java    |    0
 .../services/org.apache.nifi.processor.Processor   |    0
 .../plc4x4nifi/Plc4xSinkProcessorTest.java         |    0
 .../plc4x4nifi/Plc4xSourceProcessorTest.java       |    0
 .../integrations}/apache-nifi/pom.xml              |   32 +-
 plc4j/{drivers => integrations}/pom.xml            |   24 +-
 plc4j/pom.xml                                      |  298 +-
 plc4j/protocols/ads/pom.xml                        |    8 +-
 plc4j/protocols/ads/src/site/asciidoc/index.adoc   |    2 +-
 .../ads/api/commands/CommandFactoryMethodTest.java |    7 +-
 .../ads/api/generic/GenericFactoryMethodTest.java  |    7 +-
 .../ads/api/serial/SerialFactoryMethodTest.java    |    7 +-
 .../java/ads/api/tcp/TcpFactoryMethodTest.java     |    7 +-
 .../java/ads/protocol/Plc4x2AdsProtocolTest.java   |    3 +
 plc4j/protocols/benchmarks/pom.xml                 |    4 +-
 plc4j/protocols/delta-v/pom.xml                    |   19 +-
 .../java/org/apache/plc4x/java/deltav/PoCES.java   |    5 +-
 plc4j/protocols/driver-bases/base/pom.xml          |    4 +-
 .../base/connection/AbstractPlcConnection.java     |    8 +
 .../plc4x/java/base/connection/ChannelFactory.java |    3 +
 .../java/base/connection/NettyPlcConnection.java   |   20 +
 .../java/base/messages/DefaultPlcWriteRequest.java |    4 +-
 .../base/connection/NettyPlcConnectionTest.java    |   16 +-
 plc4j/protocols/driver-bases/pom.xml               |    2 +-
 plc4j/protocols/driver-bases/raw-socket/pom.xml    |    6 +-
 .../base/connection/RawSocketChannelFactory.java   |   26 +
 plc4j/protocols/driver-bases/serial/pom.xml        |    6 +-
 .../java/base/connection/SerialChannelFactory.java |    5 +
 plc4j/protocols/driver-bases/tcp/pom.xml           |    6 +-
 .../base/connection/TcpSocketChannelFactory.java   |   19 +
 plc4j/protocols/driver-bases/test/pom.xml          |    6 +-
 .../java/base/connection/TestChannelFactory.java   |    5 +
 .../apache/plc4x/java/mock/PlcMockConnection.java  |    7 +
 plc4j/protocols/ethernet-ip/pom.xml                |    6 +-
 .../ethernetip/netty/Plc4XEtherNetIpProtocol.java  |    2 +-
 .../{img => images}/WAGO_enip_exporer.png          |  Bin
 plc4j/protocols/iso-on-tcp/pom.xml                 |    8 +-
 plc4j/protocols/iso-tp/pom.xml                     |   10 +-
 plc4j/protocols/modbus/pom.xml                     |    8 +-
 .../java/modbus/netty/Plc4XModbusProtocolTest.java |   17 -
 plc4j/protocols/pom.xml                            |    2 +-
 plc4j/protocols/s7/pom.xml                         |   10 +-
 .../org/apache/plc4x/java/s7/model/S7Field.java    |   31 +
 .../org/apache/plc4x/java/s7/netty/S7Protocol.java |    4 +-
 .../java/s7/netty/model/types/TransportSize.java   |    4 +-
 plc4j/protocols/s7/src/site/asciidoc/index.adoc    |    2 +-
 .../apache/plc4x/java/s7/model/S7FieldTests.java   |    8 +
 .../asciidoc/developers/implementing-drivers.adoc  |    4 +-
 plc4j/src/site/asciidoc/index.adoc                 |    2 +-
 plc4j/src/site/asciidoc/users/gettingstarted.adoc  |  178 ++
 plc4j/utils/connection-pool/pom.xml                |    4 +-
 .../connectionpool/PooledPlcDriverManagerTest.java |    7 +
 plc4j/utils/interop/pom.xml                        |  217 ++
 plc4j/utils/interop/src/assembly/assembly.xml      |   41 +
 .../java/org/apache/plc4x/interop/impl/Client.java |   60 +
 .../org/apache/plc4x/interop/impl/Handler.java     |  160 +
 .../java/org/apache/plc4x/interop/impl/Server.java |   91 +
 plc4j/utils/opm/pom.xml                            |   10 +-
 plc4j/utils/pom.xml                                |   11 +-
 plc4j/utils/raw-sockets/pom.xml                    |    4 +-
 plc4j/utils/scraper/pom.xml                        |   56 +-
 .../org/apache/plc4x/java/scraper/ScrapeJob.java   |   35 +-
 .../scraper/{ScrapeJob.java => ScrapeJobImpl.java} |   27 +-
 .../org/apache/plc4x/java/scraper/Scraper.java     |  151 +-
 .../scraper/{Scraper.java => ScraperImpl.java}     |   52 +-
 .../org/apache/plc4x/java/scraper/ScraperTask.java |  170 +-
 .../{ScraperTask.java => ScraperTaskImpl.java}     |   32 +-
 .../java/scraper/config/JobConfiguration.java      |   47 +-
 ...onfiguration.java => JobConfigurationImpl.java} |   21 +-
 ...ilder.java => JobConfigurationImplBuilder.java} |   16 +-
 .../java/scraper/config/ScraperConfiguration.java  |   47 +-
 .../config/ScraperConfigurationBuilder.java        |   12 +-
 .../TriggeredJobConfiguration.java}                |   29 +-
 .../TriggeredJobConfigurationBuilder.java}         |   34 +-
 .../TriggeredScraperConfiguration.java}            |   62 +-
 .../TriggeredScraperConfigurationBuilder.java}     |   18 +-
 .../ScraperConfigurationException.java             |    2 +-
 .../java/scraper/exception/ScraperException.java}  |   31 +-
 .../triggeredscraper/TriggeredScrapeJobImpl.java   |   73 +
 .../TriggeredScraperImpl.java}                     |   91 +-
 .../triggeredscraper/TriggeredScraperTask.java     |  225 ++
 .../triggerhandler/TriggerConfiguration.java       |  412 +++
 .../triggerhandler/TriggerHandler.java             |  131 +
 .../java/scraper/ScraperConfigurationTest.java     |   10 +-
 .../apache/plc4x/java/scraper/ScraperRunner.java   |    5 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |    8 +-
 .../org/apache/plc4x/java/scraper/ScraperTest.java |   18 +-
 ...aperRunner.java => TriggeredScraperRunner.java} |   19 +-
 .../java/scraper/TriggeredScraperRunnerModbus.java |   60 +
 .../config/ScraperConfigurationBuilderTest.java    |   13 +-
 .../triggerhandler/TriggerConfigurationTest.java   |  118 +
 .../test/resources/example_triggered_scraper.yml   |   40 +-
 .../resources/example_triggered_scraper_modbus.yml |   14 +-
 plc4j/utils/test-utils/pom.xml                     |    2 +-
 plc4net/.gitignore                                 |  344 ++
 plc4net/api/PlcDriverManager.cs                    |  104 +
 .../delta-v/pom.xml => plc4net/api/api.csproj      |   24 +-
 plc4net/api/api/IPlcConnection.cs                  |   89 +
 plc4net/api/api/IPlcDriver.cs                      |   57 +
 .../api/api/authentication/IPlcAuthentication.cs   |   21 +-
 .../PlcUsernamePasswordAuthentication.cs           |   48 +
 .../api/api/metadata/IPlcConnectionMetadata.cs     |   38 +-
 .../api/exceptions/PlcConnectionException.cs       |   37 +-
 .../api/exceptions/PlcException.cs                 |   39 +-
 .../api/exceptions/PlcInvalidFieldException.cs     |   33 +-
 plc4net/api/messages/IPlcFieldRequest.cs           |   52 +
 plc4net/api/messages/IPlcFieldResponse.cs          |   49 +
 .../api/messages/IPlcMessage.cs                    |   21 +-
 .../api/messages/IPlcReadRequest.cs                |   21 +-
 .../api/messages/IPlcReadRequestBuilder.cs         |   34 +-
 .../api/messages/IPlcReadResponse.cs               |   19 +-
 .../api/messages/IPlcRequest.cs                    |   23 +-
 .../api/messages/IPlcRequestBuilder.cs             |   23 +-
 .../api/messages/IPlcResponse.cs                   |   28 +-
 .../api/messages/IPlcSubscriptionEventArgs.cs      |   30 +-
 .../api/messages/IPlcSubscriptionRequest.cs        |   19 +-
 .../api/messages/IPlcSubscriptionRequestBuilder.cs |   54 +
 .../api/messages/IPlcSubscriptionResponse.cs       |   33 +-
 .../api/messages/IPlcUnsubscriptionRequest.cs      |   21 +-
 .../messages/IPlcUnsubscriptionRequestBuilder.cs   |   45 +
 .../api/messages/IPlcUnsubscriptionResponse.cs     |   21 +-
 .../api/messages/IPlcWriteRequest.cs               |   21 +-
 plc4net/api/messages/IPlcWriteRequestBuilder.cs    |  134 +
 plc4net/api/model/IPlcField.cs                     |   39 +
 .../api/model/IPlcSubscriptionHandle.cs            |   22 +-
 plc4net/api/pom.xml                                |   72 +
 .../api/types/PlcResponseCode.cs                   |   24 +-
 .../plc4net.driver/plc4net.driver.csproj           |   26 +-
 plc4net/plc4net.driver/pom.xml                     |   68 +
 plc4net/plc4net.sln                                |   44 +
 {plc4j/drivers => plc4net}/pom.xml                 |   24 +-
 plc4py/README.md                                   |   58 +
 plc4py/pom.xml                                     |  219 ++
 plc4py/setup.py                                    |   67 +
 plc4py/src/assembly/python.xml                     |   47 +
 plc4py/src/main/python/__init__.py                 |   26 +
 plc4py/src/main/python/org/__init__.py             |   17 +
 plc4py/src/main/python/org/apache/__init__.py      |   17 +
 .../main/python/org/apache/plc4x/InteropClient.py  |   45 +
 .../main/python/org/apache/plc4x/PlcConnection.py  |   75 +
 .../python/org/apache/plc4x/PlcDriverManager.py    |   79 +
 .../src/main/python/org/apache/plc4x/__init__.py   |   17 +
 plc4py/src/main/resources/lib/log4j2.xml           |   32 +
 plc4py/src/test/python/__init__.py                 |   26 +
 plc4py/src/test/python/org/__init__.py             |   26 +
 plc4py/src/test/python/org/apache/__init__.py      |   26 +
 .../src/test/python/org/apache/plc4x/__init__.py   |   17 +
 .../org/apache/plc4x/test_PlcDriverManager.py      |  143 +
 plc4s/pom.xml                                      |   40 -
 pom.xml                                            |  899 +++---
 .../delta-v => protocols/knxnet-ip}/pom.xml        |   17 +-
 protocols/{ => knxnet-ip}/src/main/java/.keepMe    |    4 +
 .../main/resources/daffodil-built-in-catalog.xml   |   22 +-
 .../plc4x/protocols/knxnetip/protocol.dfdl.xsd     |  582 ++++
 .../plc4x/protocols/knxnetip/protocol.scxml.xml    |  253 ++
 protocols/knxnet-ip/src/site/asciidoc/index.adoc   |   57 +
 .../plc4x/protocols/knxnetip/ProtocolTest.java}    |   10 +-
 .../apache/plc4x/protocols/knxnetip/protocol.tdml  |  604 ++++
 protocols/pom.xml                                  |   53 +-
 {plc4j/drivers/delta-v => protocols/proxy}/pom.xml |   12 +-
 .../src/main/java/.keepMe}                         |   17 +-
 .../apache/plc4x/protocols/proxy/interop.thrift    |   93 +
 protocols/{ => s7}/pom.xml                         |   36 +-
 protocols/{ => s7}/src/main/java/.keepMe           |    4 +
 .../main/resources/daffodil-built-in-catalog.xml   |   19 +-
 .../apache/plc4x/protocols/s7/protocol.dfdl.xsd}   |  596 +++-
 .../apache/plc4x/protocols/s7/protocol.scxml.xml   |  524 +++
 .../org/apache/plc4x/protocols/s7/ManualTest.java  |   82 +
 .../apache/plc4x/protocols/s7/ProtocolTest.java}   |   10 +-
 .../org/apache/plc4x/protocols/s7/protocol.tdml    | 2446 ++++++++++++++
 .../apache/plc4x/protocols/cotp-protocol.dfdl.xsd  |  213 --
 .../org/apache/plc4x/protocols/tpkt-protocol.tdml  |  112 -
 protocols/{ => test-utils}/pom.xml                 |   46 +-
 .../plc4x/protocols/AbstractProtocolTest.java      |   11 +-
 sandbox/dynamic-driver-base/pom.xml                |  126 +
 .../java/dynamic/actions/BaseConnectedAction.java  |   17 +-
 .../java/dynamic/actions/BaseDaffodilAction.java   |   56 +
 .../java/dynamic/actions/BasePlc4xAction.java      |   52 +
 .../java/dynamic/actions/ConnectAction.java        |   81 +
 .../java/dynamic/actions/InitContextAction.java    |  106 +
 .../java/dynamic/actions/ReceiveAction.java        |  201 ++
 .../actions/ReceiveExtractVerifyAction.java        |  114 +
 .../java/dynamic/actions/ReceiveRequestAction.java |   42 +-
 .../dynamic/actions/ReceiveResponseAction.java     |   65 +
 .../sandbox/java/dynamic/actions/SendAction.java   |  101 +
 .../java/dynamic/actions/SendRequestAction.java    |   57 +
 .../connection/DynamicDriverConnectionBase.java    |  153 +
 .../java/dynamic/utils/RequestRegistry.java        |   66 +
 .../utils/JDOMTemplateInfosetInputter.scala        |   45 +
 .../opm => sandbox/dynamic-driver-s7}/pom.xml      |   74 +-
 .../sandbox/java/dynamic/s7/DynamicS7Driver.java   |   80 +
 .../dynamic/s7/actions/S7DecodeArticleNumber.java  |   91 +
 .../s7/actions/S7DecodeReadResponseAction.java     |  315 ++
 .../s7/actions/S7DecodeWriteResponseAction.java    |   23 +-
 .../dynamic/s7/connection/DynamicS7Connection.java |  186 ++
 .../dynamic/s7/types/DataTransportErrorCode.java   |   62 +
 .../java/dynamic/s7/types/DataTransportSize.java   |   64 +
 .../sandbox/java/dynamic/s7/types/MemoryArea.java  |   83 +
 .../java/dynamic/s7/types/S7ControllerType.java    |   17 +-
 .../java/dynamic/s7}/types/TransportSize.java      |    8 +-
 .../sandbox/java/dynamic/s7/utils}/S7Field.java    |   40 +-
 .../java/dynamic/s7/utils/S7PlcFieldHandler.java   |  569 ++++
 .../java/dynamic/s7/utils/S7TsapIdEncoder.java     |   28 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   38 +
 sandbox/plc4x-maven-plugin/pom.xml                 |  225 ++
 sandbox/plc4x-maven-plugin/src/it/settings.xml     |   53 +
 .../plc4x-maven-plugin/src/it/simple-it/pom.xml    |   67 +
 .../src/main/resources/test/protocol.dfdl.xsd      |   67 +-
 .../src/it/simple-it/verify.groovy                 |   13 +-
 .../plc4x/plugins/codegenerator/GenerateMojo.java  |  208 ++
 .../plugins/codegenerator/GenerateMojoTest.java    |   68 +
 .../test/projects/simple-embedded-schema}/pom.xml  |   41 +-
 .../src/main/resources/protocol.dfdl.xsd           |   67 +-
 .../src/main/resources/template.ftlh               |   22 +-
 {plc4j/drivers => sandbox}/pom.xml                 |   37 +-
 .../main/script/prerequisite-check.groovy          |   50 +-
 src/site/asciidoc/community/getting-involved.adoc  |  102 -
 src/site/asciidoc/developers/building.adoc         |   38 +-
 src/site/asciidoc/developers/ci.adoc               |    4 +-
 .../{community => developers}/conferences.adoc     |   28 +-
 src/site/asciidoc/developers/contributing.adoc     |  101 +-
 src/site/asciidoc/developers/decisions.adoc        |   66 +
 src/site/asciidoc/developers/jqassistant.adoc      |    2 +-
 src/site/asciidoc/developers/maturity.adoc         |   76 +
 src/site/asciidoc/developers/preparing.adoc        |  391 +++
 src/site/asciidoc/developers/release.adoc          |  253 +-
 src/site/asciidoc/developers/team.adoc             |   55 +
 src/site/asciidoc/developers/vpn.adoc              |    2 +-
 src/site/asciidoc/incubation-proposal.adoc         |  227 --
 src/site/asciidoc/index.adoc                       |   43 +-
 src/site/asciidoc/protocols/delta-v/index.adoc     |    2 +-
 src/site/asciidoc/protocols/delta-v/read-data.adoc |    2 +-
 .../protocols/delta-v/reverse-engineering.adoc     |    4 +-
 src/site/asciidoc/protocols/s7/index.adoc          |    2 +-
 src/site/asciidoc/protocols/s7/s7comm-plus.adoc    |    4 +-
 src/site/asciidoc/protocols/s7/s7comm.adoc         |    2 +-
 src/site/asciidoc/users/download.adoc              |   64 +-
 src/site/asciidoc/users/gettingstarted.adoc        |    3 +
 src/site/asciidoc/users/industry40.adoc            |    2 +-
 src/site/resources/css/site.css                    |   27 +-
 .../images/PLC4X_rollup_83x237cm-final.pdf         | 3347 ++++++++++++++++++++
 .../{img => images}/apache_brooklyn_logo.png       |  Bin
 .../{img => images}/apache_camel_logo.png          |  Bin
 .../{img => images}/apache_edgent_logo.png         |  Bin
 .../{img => images}/apache_kafka_logo.png          |  Bin
 src/site/resources/images/apache_logo.png          |  Bin 0 -> 16457 bytes
 .../{img => images}/apache_mynewt_logo.png         |  Bin
 .../resources/{img => images}/apache_nifi_logo.svg |    0
 .../{img => images}/apache_plc4x_logo.png          |  Bin
 .../{img => images}/community-contribute-fork.png  |  Bin
 .../contributing-github-create-pull-request.png    |  Bin 0 -> 112177 bytes
 .../resources/images/contributing-github-fork.png  |  Bin 0 -> 96553 bytes
 src/site/resources/{img => images}/iot-lab.jpg     |  Bin
 .../neo4j-intellij-database-connections-view.png   |  Bin
 .../neo4j-intellij-query-results.png               |  Bin
 .../{img => images}/neo4j-intellij-settings.png    |  Bin
 .../{img => images}/neo4j-web-console.png          |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-1.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-2.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff-route-3.png |  Bin
 .../{img => images}/plc4x-vpn-beckhoff.jpg         |  Bin
 .../{img => images}/plc4x-vpn-client-download.png  |  Bin
 .../resources/{img => images}/plc4x-vpn-fatek.jpg  |  Bin
 .../{img => images}/plc4x-vpn-siemens-hmi.jpg      |  Bin
 .../{img => images}/plc4x-vpn-siemens-s7.jpg       |  Bin
 .../resources/{img => images}/plc4x-vpn-wago.jpg   |  Bin
 ...release-git-diff-next-development-iteration.png |  Bin 0 -> 134548 bytes
 .../images/release-git-diff-prepare-release.png    |  Bin 0 -> 132752 bytes
 src/site/resources/images/release-git-history.png  |  Bin 0 -> 160255 bytes
 src/site/resources/images/team/cdutz.png           |  Bin 0 -> 27791 bytes
 src/site/resources/images/team/jfeinauer.jpg       |  Bin 0 -> 24689 bytes
 src/site/resources/images/team/sruehl.jpg          |  Bin 0 -> 15008 bytes
 src/site/resources/images/team/tmitsch.png         |  Bin 0 -> 33005 bytes
 src/site/resources/plc4x-doap.rdf                  |  111 +
 src/site/resources/plc4x-pmc.rdf                   |   74 +
 src/site/site.xml                                  |   53 +-
 tools/README.md                                    |   72 +
 tools/clean-site.sh                                |   35 +
 tools/common.sh                                    |   14 +-
 tools/download_staged_release.sh                   |   11 +-
 {plc4j/drivers/delta-v => tools}/pom.xml           |   21 +-
 tools/thrift/pom.xml                               |  246 ++
 .../thrift/src/assembly/compiler.xml               |   34 +-
 .../pom.xml => tools/thrift/src/assembly/cpp.xml   |   34 +-
 tools/thrift/src/assembly/python.xml               |   61 +
 620 files changed, 40157 insertions(+), 4774 deletions(-)