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

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


    from cef1c19  Merge tag 'release/0.2.0'
     add fca1b78  [maven-release-plugin] prepare for next development iteration
     add 77ffb14  - Added some documentation on the branching model
     add e9b3e9d  - Documentation on the new release process ..
     add 7ae072b  - Fixed the linking of generated images.
     add 9079be4  - Updated RELEASE_NOTES in preparation for release 0.2.0
     add de01c66  - Removed an element that was not actually implemented yet
     add 33b2dd3  - Removed the MD5 verification as we no longer have MD5 files
     add e3f3936  - Minor update of the release.adoc to use a different tag 
name as the original version was causing problems during the release. - 
Manually added a mention of the MqttExampleOptions.java being copyrighted by 
Google to the main LICENSE file.
     add d33bfbd  - Fixed the MQTT example after API changes in the MQTT-Bee 
project
     add d9d2503  - Unified the way the examples are configured.
     add 6bf1908  - Unified the way the examples are configured even more.
     add cc4cf37  - Removed the LICENSE file addition - Updated the README.md
     add 9e82c12  - Fixed a small typo in the RELEASE_NOTES
     add a08cfb4  - First attempt to separate the protocol and driver parts - 
Split up the different levels of the S7 driver into 3 separate protocol layers
     add 1243e20  - Split up the modbus driver into driver and protocol
     add 1d555bf  - Split up the modbus driver into driver and protocol
     add b87edb1  [OPM] Added Timeout Test for PlcEntityManager.read(...).
     add 285f600  Merge remote-tracking branch 'origin/develop' into develop
     add 5e1bd12  - Switched the output for the site generation to our new repo 
at https://gitbox.apache.org/repos/asf/incubator-plc4x-website.git
     add d9e475e  - Fixed some issues reported during our 0.2.0 release
     add 52b9351  - Added some more exclusions to the gitignore file
     add e0b067b  [OPM] Added AliasRegistry and SimpleAliasRegistry as default 
impl.
     add 95f2d3d  [OPM] Refactoring + Added timeout / cache to PlcField.java 
Annotation / added the functionality of the annotation.
     add 6e02169  [OPM] Refactoring, added comments from Sebastian.
     add fef24a7  Merge remote-tracking branch 'origin/develop' into develop
     add fad07e2  - Added some more exclusions to the gitignore file
     add e891cc7  - Added some more exclusions to the gitignore file
     add 561abb5   deleted DS_Store file
     add 47eccb1  - Testfix in OPM. - Fix in PlcMockDriver.
     add 65ce7d8  Fixed Sonar Bug.
     add 90b6f36  Changed Squid Number in PlcEntityInterceptor.java.
     add d8b26f9  Merge branch 'develop' of 
https://gitbox.apache.org/repos/asf/incubator-plc4x into develop
     add 2c7287d   deleted DS_Store file
     add 3f24b82  [plc4j-simulated] added subscription support on simulated 
driver
     add 5d2903c  - Added support for Siemens LOGO PLCs
     add 643f4ac  [plc4j-driver-base] fixed getFieldNames() on 
DefaultPlcSubscriptionEvent
     add 1e94c1e  temporarily switched to offline build ...
     add 15a8f41  temporarily switched to offline build ...
     add 12986db  Re-enabled the deployment
     add 2dfbbe4  Added some documentation on changes important to users.
     add 2d045f6  Re-enabled the deployment
     add 4c79f29  Fixed some failing tests
     add a1f50a3  - Split up the ADS Driver the same way the others are split up
     add 4e236b7  - Split up the ADS Driver the same way the others are split up
     add 6fa99c2  [plc4j-opm] enable write support (PLC4X-70)
     add 78c7562  [OPM] Added OPM Documentation.
     add abcda3b  [plc4j-pool] Fixed visibility of Interface.
     add 90b7f10  [plc4j-opm] fixed issue with detached entity.
     add 8013c09  [plc4j-opm] deactivate caching by default and fixed test
     add 70445ae  [plc4j-opm] fixed some sonar issues.
     add d1bcb67  [plc4j-opm] fixed tests
     add f29f791  [plc4j-opm] added some tests for entity interceptor
     add 11e4e8f  [plc4j] cleanup mock code and moved it completely to 
driver-bases-test
     add b7c907f  [plc4j-driver-bases-test] added some tests.
     add 2852c41  [plc4j-driver-bases-test] enabled some tests.
     add 33d5983  [plc4j-driver-simulated] added tests and fixed bugs.
     add 8955a23  [plc4j-opm] Minor test coverage.
     add 2b4dfb6  [plc4x] enable global osgi manifest generation
     add 1e2263f  [plc4j-scraper] Added module, initial tests.
     add 3fabc85  [plc4j-scraper] Added another test + logback.
     add 95cde8e  [plc4j-scraper] Added a tet with "guarding" runnable that 
cancels tests and decreases performance massive.
     add 57efa48  [plc4j-scraper] Improvements.
     add 79c06aa  [plc4j-scraper] Added tests.
     add 07886c2  [plc4j-scraper] Current state.
     add 1463e49  [plc4j-scraper] Fix for S7 Connection. Further implementation.
     add ad3a136  [plc4j-scraper] Working state.
     add 78e1d31  [plc4j-scraper] Increased tests coverage for Scraper.java.
     add d4143ea  [plc4j-scraper] Test fix.
     add 5820835  [plc4j-scraper] Minor fixes. Added commons-pool2 versioning.
     add 6edb3f8  - Fixed some typos in the script
     add 8587eb6  PLC4X-58 - [S7] Reading more then PDU with one request blocks 
calling thread indefinitely
     add 6cfccbd  - Improved the test coverage
     add be1ea77  - Fixed a compilation error as 
InternalPlcConsumerRegistration was not extending InternalPlcMessage
     add 92604c0  [plc4j-scraper] Added configuration with yml / json support.
     add 1c2a5e4  [plc4j-scraper] Added complete example.
     add eca6fc3  [plc4x-osgi] fixed complains about missing plugin version
     add 5e7c6c0  [plc4x-karaf] added new karaf-integration
     add 3d30794  - Added a RAT exclusion for JSON files.
     add 58d05a1  - Added license headers.
     add f1561bd  - Added min to the stats.
     add fd78316  - Resolved some build issues.
     add 93a8094  - Fixed an issue in a test.
     add edbf0c8  [plc4j-scraper] Extended ResultHandler.java to also pass 
jobname and connection alias.
     add 777829a  [plc4j-scraper] Added javadoc.
     add 0abbdd0  [plc4j-scraper] Added Builder for Job / Scraper config.
     add fe8e751  [plc4j-scraper] Fix in Builder.
     add 0ec10f8  [plc4j-scraper] Added assertions in test. renamed test.
     add 826fc1d  [PLC4X-75] - Fixing dependency to the wrap url-handler
     add fac1b5d  Merge pull request #42 from ANierbeck/develop
     add 6e78786  - Extended the size of the byte-offset to allow 5 digit 
offsets.
     add 39e69b0  - Fixed a bug in the processing of real responses.
     add 50f020a  - Added name and description to the pom.xml
     add dcca499  PLC4X-76 - When receiving responses with more than 512 byte, 
the IsoOnTcp protocol doesn't work
     add 829cbae  - Added profiling to the edgent adapter.
     add 85e1cc4  - Added a cleanup before un-stashing the snapshots to 
hopefully reduce the deploy-time as currently all previous snapshot versions 
were deployed too.
     add a1b3bd4  adjusted connector implementation
     add 5806147  Made the example take multiple addresses as input
     add 5d03591  PLC4X-77 - When the last item in a request is a DINT, the 
DefaultS7MessageProcessor dies with an ArrayIndexOutOfFoundsException
     add cc5fce9  PLC4X-77 - When the last item in a request is a DINT, the 
DefaultS7MessageProcessor dies with an ArrayIndexOutOfFoundsException
     add fbb8b98  Removed some now obsolete comment.
     add 32b0a87  Fixed some textual errors.
     add e7cfa1a  Made the constructor public so it can also be configured 
programmatically.
     add d248967  - Added name and description so the build displays the 
scraper the same way as all the other modules.
     add cc7c3c9  Merge branch 'develop' of 
https://gitbox.apache.org/repos/asf/incubator-plc4x into develop
     add 3d0222c  - Fixed the build by adding a missing dependency.
     add 099c1a7  - Added the new release.
     add d401780  - Fixed some things SonarQube was complaining about. - Tried 
to get the deleting of the "local-snapshots-dir" working.
     add 4a0709e  - Removed the commented out slackSending
     add 3ef1a1d  - Fixed the guava version as there were CVEs reported with 
the 18.0 version transitively referenced from the ethernet-ip module.
     add 79c57bf  [plc4x-karaf] remove duplicated plugin management
     add 6fb2583  Tried figuring out how to clear the stash
     add 26ca89b  Tried figuring out how to clear the stash
     add f293a86  Tried figuring out how to clear the stash
     add 6a41048  PLC4X-78 - Write operations seem to fail - Continued work on 
the write operations
     add e192c64  PLC4X-78 - Write operations seem to fail - Fixed a problem 
that was causing a test to fail
     add 3d9ba43  PLC4X-78 - Write operations seem to fail - Fixed a problem 
that was causing a test to fail / Extended the S7PlcTestConnection to dump the 
content of packets not matching the expected packet
     add b28d4a0  Try to get the email sending working - Intentionally added a 
test-failure
     add 5d8237c  PLC4X-78 - Write operations seem to fail - Made it stable 
again
     add 1712ddb  PLC4X-78 - Write operations seem to fail - Inserted a failure 
- Finetuned the Jenkinsfile to send nicer formatted emails and one email if the 
build is back to normal
     add 81fa0bd  PLC4X-78 - Write operations seem to fail - Tried fixing the 
pipeline syntax.
     add 630e8ba  PLC4X-78 - Write operations seem to fail - Another try of 
fixing the syntax ...
     add a5aa4d0  PLC4X-78 - Write operations seem to fail - And another ...
     add 359c7b0  PLC4X-78 - Write operations seem to fail - And another ...
     add acb7388  PLC4X-78 - Write operations seem to fail - And another ...
     add 009a924  PLC4X-78 - Write operations seem to fail - And another ...
     add 9fb6273  PLC4X-78 - Write operations seem to fail - And another ...
     add 6c1d5da  PLC4X-78 - Write operations seem to fail - And another ...
     add 07c5234  PLC4X-78 - Write operations seem to fail - And another ...
     add c9b39f7  PLC4X-78 - Write operations seem to fail - And another ...
     add 4dcffa2  PLC4X-78 - Write operations seem to fail - And another ... - 
Intentionally breaking the API module to get faster results ...
     add b2f5e9b  PLC4X-78 - Write operations seem to fail - And another ...
     add 96baaa0  PLC4X-78 - Write operations seem to fail - And another ...
     add aa0c6df  PLC4X-78 - Write operations seem to fail - And another ...
     add e9d2ad7  Fixed the compilation error ... now the build should be 
unstable due to a failing test ...
     add 967b6ca  Fixed the build again ...
     add 8c96312  Adjusted the content of the unstable-email
     add 8d190c2  Adjusted the content of the failure-email
     add b054c6e  [OPM] Improved logging, better Exception handling.
     add 2cb21bc  Added some Logging for Diagnostics in PlcDriverManager.
     add a67f311  [OPM,POOL] Added better defaults for Scrapers 
PlcPooledDriverManager.
     add bf5f708  Make the email code only send emails for develop.
     add 2fefd99  Added a section that reports commits made to the master 
branch.
     add 5768c8a  Streamlined the Jenkinsfile to use the jenkins.pom for 
deploying the site the same way we are doing this in the deploy-snapshots phase.
     add c9278a7  Removed an unneeded variable assignment.
     add e1dcefe  Fixed some typos ...
     add 4d4612a  Initial commit C++ API
     add d3e6a58  [CALCITE] Started implementation for the Calcite Integration.
     add df1a6db  [CALCITE] Running Version.
     add 06ea388  [CALCITE] Some refactoring.
     add 69a003e  [CALCITE] Some refactoring.
     add acfdb79  Merge branch 'feature/calcite-adapter' into develop
     add 44401f4  [CALCITE] Fixed Snapshot dependency.
     add 4def181  [CALCITE] Fixed failing test (moved calcite model.yml to 
json).
     add 1165d9a  Initial commit C++ API
     add c6c536b  Finished a version of the code donated by Markus Sommer that 
is buildable with Maven and works on Mac, Linux and Windows 64bit machines.
     add 73456be  Cleaning up in the poms and documenting some of the settings.
     add c657a31  Configured the Jenkinsfile to cleanup the deployment 
directories for snapshots and the site after deployment (Freeing up more space 
on the normal build nodes)
     add 8666051  Added a workspace-wipe at the end of a successful build.
     add 4dcf1da  Made the jenkins job discard build logs and artifacts earlier.
     add 1f2778b  [CALCITE] Fixed sonar issues.
     add 3c38bb2  - Made the C++ build run faster (Boost now builds the 
"system" library) - Fixed a problem with the Windows build (the boost build 
adds an additional directory when building on windows)
     add 1ff2614  Adjusted the example to match some API changes in the 
upstream cloud-bee library.
     add dc22e1c  - Cleaned up the properties - Made the CMakeLists.txt no 
longer contain two versions of the include path - Integrated the C++ module 
into the main build (but is only included, if the "with-cpp" profile is 
manually enabled)
     add a9412d3  - Moved the enforcer-checks to a dedicated "development" 
profile as they only make sense there and could otherwise cause problems when 
building previous releases.
     add 4b3a57d  S7: fix of array acquirement, fix of String aquirement, added 
additional scraper yml
     add e8d0a7b  Extended RELEASE_NOTES for Release 0.3.0
     add f8270e2  Changed Copyright info in NOTICE.
     add 87f6c1a  [maven-release-plugin] prepare branch rel/0.3
     add fd7842f  Fixed failing Test.
     add dc4d601  Replaced the old dependency (after renaming).
     add b0a46fa  - Manually removed the "-SNAPSHOT" suffix from modules not 
part of the normal build in preparation of the upcoming release.
     add 26bbf9d  [maven-release-plugin] prepare for next development iteration
     add 92084ec  Fixed failing Test.
     add 333656e  - Updated the pom versions of modules excluded from the build.
     add 2696c89  - Fixed an invalid dependency
     add 0d03828  - Added DFDL Schema for S7 Protocol.
     add 8076766  - Added two more DFDL schemas for ISO-TP and ISO-on-TCP
     add 46d5d93  S7: fix of array acquirement, fix of String aquirement, added 
additional scraper yml
     add 704f989  Merge pull request #43 from timbo2k/s7_array_stuff
     add 980c069  S7: changed byteLength and blockNumber from short to int
     add 7031908  Merge pull request #44 from timbo2k/too_short_range_for_offset
     add 972188f  - Resolved merge conflicts..
     add 248068e  - Fixed some tests now failling due to the tape change of 
blockNumber and byteOffset
     add aebdb7e  - Added some more documentation on things we noticed when 
preparing the last release branch
     add 3bf21b0  - Made the TcpSocketChannelFactory wrap any exception into a 
Plc4xException in order to fix issues with some tests which would fail for 
people with DNS providers with capture-all responses.
     add 4f94262  - Added "name" tags to the projects poms that were missing 
them ... now the output of the reactor sumary looks nice again.
     add 9db9e6b  - Found another place where tests fail on systems with DNS 
providers that return default IPs
     add 232bef5  - Disabled one test we simply can't check reliably in case of 
DNS providers returning default IP addresses for unknown domain names
     add 316fdbd  - Replaced the hostname we expect not to exist with one a 
little more obvious.
     add 297b090  - Defined a new Annotation "RequirePcapNg" you can annotate 
Junit5 tests with to automatically disable tests, if the libpcap requirement is 
not met (Especially on Windows)
     add d8588bf  README - Updated the integration module list - Updated the 
requirements - Added information on installing libpcap/WinPcap - Added a 
section on building with C++
     add 1fca054  - Added a new RequirePcap for general libpcap requiring tests
     add 0a9c0c1  - Bumped the artifact version to a newer one due to CVEs
     add 83747fb  - Excluded the plexus-utils dependency.
     add e853c79  - Fixed some SonarQube findings
     add 6fb54d7  - Cleaned up the dependency versions
     add 1a09a0a  - Hopefully fixed the Scraper test that was failing on some 
systems.
     add 9313aa8  - Changed the way we do the Vulnerability checks for our 
referenced libraries. - Improved the documentation in our README
     add 29b0cef  - Commented in the commented out line back.
     add 5c896fe  - Changed the dependencyManagement to use version-properties 
for every dependency.
     add c32afe3  - Added a annotation to prevent Mockito unnecessary-stubbing 
exceptions
     add 3b736d7  - Further attempts to get the ScraperTaskTest running on all 
platforms
     add 717cdd4  - Moved the JAR related plugin configuration to the 
java-module profile to reduce the number of warnings in the build
     add ad84572  - Updated the JQAssistant version and removed a now obsolete 
setting from the Jenkinsfile
     add 9570de7  - Converted the test-data from pcapng files to pcap files as 
on some systems there were issues reading them.
     add f71b59f  - Converted the test-data from pcapng files to pcap files as 
on some systems there were issues reading them.
     add 8ff9546  - Removed an unneeded utility class.
     add a05c0f4  - Bumped the karaf plugin to a newer version - Bumped the 
maven sonar plugin to a newer version - Merged the wireshark-utils with the 
test-utils - Added JUnit5 annotations for detecting an active internet 
connection - Added JUnit5 annotations for detecting an capture-all DNS service
     add 556518a  - Reassigned the features generate-descriptor and verify goal 
executions of the karaf plugin to the package phase of the build.
     add 4b1bf59  - Removed some unused imports.
     add cecf75e  - Added a first Daffodil testcase for the cotp protocol
     add 7a93015  - Managed to get the Daffodil testcase working.
     add be30559  - Got the testsuite working for the protocols module (Was 
missing a "src/main/java" directory, which activates the "java-module" profile)
     add 54f4269  - Added tests to fully test the tpkt protocol.
     add 7c843a2  - Simplified the way test-suites are defined
     add 58cd74a  Merge branch 'develop' into rel/0.3
     add ef3ec76  Fixed all versions after merging master to prepare RC.
     add 0190e77  Fixed all versions after merging master to prepare RC.
     add bc61d51  Commented out mqtt support due to SNAPSHOT dependency on 
mqtt-bee
     add a7b8fdf  [maven-release-plugin] prepare for next development iteration
     add 3754811  [maven-release-plugin] rollback the release of release/0.3.0
     add 696bd0d  Reverted previous release commits, restarting release cycle.
     add 7e4b25d  [maven-release-plugin] prepare for next development iteration
     add f270609  [maven-release-plugin] rollback the release of release/0.3.0
     add 904eba4  [maven-release-plugin] prepare release release/0.3.0
     add 9298697  [maven-release-plugin] prepare for next development iteration
     add ac40415  Fixed issue in RELEASE_NOTES
     add 2baacd7  Going back to status before rc1 release.
     add 6f2ee1c  Fixed issue in RELEASE_NOTES
     add ed21ab1  [maven-release-plugin] prepare release release/0.3.0
     new 7392cd5  [maven-release-plugin] copy for tag release/0.3.0

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                                         |  15 +-
 DEVELOPMENT.md                                     |   2 +-
 Jenkinsfile                                        | 118 ++++-
 LICENSE                                            |  11 +-
 NOTICE                                             |   9 +-
 README                                             |  41 +-
 RELEASE_NOTES                                      |  44 +-
 plc4s/pom.xml => Sometimes-Failling-Tests.md       |  28 +-
 examples/dummy-driver/pom.xml                      |   8 +-
 examples/hello-cloud-azure/pom.xml                 |  21 +-
 .../java/examples/cloud/azure/CliOptions.java      |  99 ++++
 .../cloud/azure/S7PlcToAzureIoTHubSample.java      |  23 +-
 examples/hello-cloud-google/README.md              |  14 +-
 examples/hello-cloud-google/pom.xml                |  63 +--
 .../java/examples/cloud/google/CliOptions.java     | 222 ++++++++
 .../examples/cloud/google/MqttExampleOptions.java  | 164 ------
 .../cloud/google/S7PlcToGoogleIoTCoreSample.java   |  29 +-
 .../src/remote-resources/META-INF/LICENSE          |   5 -
 examples/hello-connectivity-kafka/pom.xml          |  21 +-
 examples/hello-connectivity-mqtt/pom.xml           |  24 +-
 .../examples/connectivity/mqtt/MqttConnector.java  |  18 +-
 examples/hello-integration-edgent/pom.xml          |  16 +-
 .../examples/integration/edgent/CliOptions.java    |  99 ++++
 .../examples/integration/edgent/PlcLogger.java     |  18 +-
 examples/hello-opm/pom.xml                         |  18 +-
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java | 110 ----
 examples/hello-storage-elasticsearch/pom.xml       |  18 +-
 examples/hello-world-plc4x/pom.xml                 |  26 +-
 .../plc4x/java/examples/helloplc4x/CliOptions.java |  84 +++
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |  15 +-
 examples/pom.xml                                   |   7 +-
 integrations/apache-brooklyn/pom.xml               |   2 +-
 .../apache-calcite}/pom.xml                        |  73 +--
 .../main/java/org/apache/plc4x/Plc4xBaseTable.java | 198 +++++++
 .../main/java/org/apache/plc4x/Plc4xSchema.java    | 103 ++++
 .../java/org/apache/plc4x/Plc4xSchemaFactory.java  |  58 ++
 .../java/org/apache/plc4x/Plc4xStreamTable.java    |  33 +-
 .../src/main/java/org/apache/plc4x/Plc4xTable.java |  23 +-
 .../java/org/apache/plc4x/DriverManagerTest.java   |  85 +++
 .../java/org/apache/plc4x/Plc4XBaseTableTest.java  |  48 ++
 .../org/apache/plc4x/Plc4xSchemaFactoryTest.java   |  25 +-
 .../apache-calcite/src/test/resources/example.yml  |  21 +-
 .../apache-calcite}/src/test/resources/logback.xml |   0
 .../apache-calcite/src/test/resources/model.json   |  40 ++
 integrations/apache-camel/pom.xml                  |  18 +-
 integrations/apache-edgent/pom.xml                 |  16 +-
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |  10 +-
 integrations/apache-kafka/pom.xml                  |  17 +-
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |  84 ++-
 .../apache-karaf/karaf-ads-feature/pom.xml         |  52 ++
 .../apache-karaf/karaf-demo-server}/pom.xml        |  92 ++--
 .../apache-karaf/karaf-ethernet-ip-feature/pom.xml |  52 ++
 .../apache-karaf/karaf-modbus-feature/pom.xml      |  52 ++
 integrations/apache-karaf/karaf-s7-feature/pom.xml |  52 ++
 .../apache-karaf/karaf-simulated-feature/pom.xml   |  52 ++
 integrations/apache-karaf/pom.xml                  |  88 +++
 integrations/apache-mynewt/pom.xml                 |   2 +-
 integrations/apache-nifi/nifi-plc4x-nar/pom.xml    |  33 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |  11 +-
 integrations/apache-nifi/pom.xml                   |   2 +-
 integrations/pom.xml                               |   4 +-
 jenkins.pom                                        |  24 +
 plc4c/pom.xml                                      |   4 +-
 plc4cpp/README.md                                  |  31 ++
 plc4cpp/api/pom.xml                                |  50 ++
 plc4cpp/api/src/main/cmake/CMakeLists.txt          |  76 +++
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp |  20 +-
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.h   | 112 ++++
 .../cpp/api/authentication/PlcAuthentication.cpp   |  39 +-
 .../cpp/api/authentication/PlcAuthentication.h     |  38 +-
 .../PlcUsernamePasswordAuthentication.cpp          |  97 ++++
 .../PlcUsernamePasswordAuthentication.h            |  65 +++
 .../cpp/api/exceptions/PlcConnectionException.cpp  |  29 +-
 .../cpp/api/exceptions/PlcConnectionException.h    |  53 ++
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |  58 +-
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |  58 ++
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |  31 +-
 .../cpp/api/exceptions/PlcFieldRangeException.h    |  37 +-
 .../PlcIncompatibleDatatypeException.cpp           |  31 +-
 .../exceptions/PlcIncompatibleDatatypeException.h  |  50 +-
 .../api/exceptions/PlcInvalidFieldException.cpp    |  63 +++
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |  57 ++
 .../plc4x/cpp/api/exceptions/PlcIoException.cpp    |  30 +-
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |  55 ++
 .../api/exceptions/PlcNotImplementedException.cpp  |  27 +-
 .../api/exceptions/PlcNotImplementedException.h    |  55 +-
 .../cpp/api/exceptions/PlcProtocolException.cpp    |  27 +-
 .../cpp/api/exceptions/PlcProtocolException.h      |  58 ++
 .../PlcProtocolPayloadTooBigException.cpp          |  69 +++
 .../exceptions/PlcProtocolPayloadTooBigException.h |  64 +++
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |  53 +-
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |  59 +++
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |  53 +-
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |  69 +++
 .../exceptions/PlcUnsupportedDataTypeException.cpp |  27 +-
 .../exceptions/PlcUnsupportedDataTypeException.h   |  54 ++
 .../PlcUnsupportedOperationException.cpp           |  27 +-
 .../exceptions/PlcUnsupportedOperationException.h  |  55 ++
 .../plc4x/cpp/api/messages/PlcFieldRequest.cpp     |  27 +-
 .../plc4x/cpp/api/messages/PlcFieldRequest.h       |  61 +++
 .../plc4x/cpp/api/messages/PlcFieldResponse.cpp    |  27 +-
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |  67 +++
 .../apache/plc4x/cpp/api/messages/PlcMessage.cpp   |  27 +-
 .../org/apache/plc4x/cpp/api/messages/PlcMessage.h |  42 +-
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |  39 +-
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |  64 ++-
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |  27 +-
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |  57 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.cpp     |  27 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.h       | 136 +++++
 .../apache/plc4x/cpp/api/messages/PlcRequest.cpp   |  27 +-
 .../org/apache/plc4x/cpp/api/messages/PlcRequest.h |  45 +-
 .../plc4x/cpp/api/messages/PlcRequestBuilder.cpp   |  27 +-
 .../plc4x/cpp/api/messages/PlcRequestBuilder.h     |  55 +-
 .../apache/plc4x/cpp/api/messages/PlcResponse.cpp  |  27 +-
 .../apache/plc4x/cpp/api/messages/PlcResponse.h    |  58 +-
 .../cpp/api/messages/PlcSubscriptionEvent.cpp      |  27 +-
 .../plc4x/cpp/api/messages/PlcSubscriptionEvent.h  |  58 +-
 .../cpp/api/messages/PlcSubscriptionRequest.cpp    |  27 +-
 .../cpp/api/messages/PlcSubscriptionRequest.h      |  88 +++
 .../cpp/api/messages/PlcSubscriptionResponse.cpp   |  27 +-
 .../cpp/api/messages/PlcSubscriptionResponse.h     |  62 +++
 .../cpp/api/messages/PlcUnsubscriptionRequest.cpp  |  27 +-
 .../cpp/api/messages/PlcUnsubscriptionRequest.h    |  61 +++
 .../cpp/api/messages/PlcUnsubscriptionResponse.cpp |  27 +-
 .../cpp/api/messages/PlcUnsubscriptionResponse.h   |  41 +-
 .../plc4x/cpp/api/messages/PlcWriteRequest.cpp     |  27 +-
 .../plc4x/cpp/api/messages/PlcWriteRequest.h       |  86 +++
 .../plc4x/cpp/api/messages/PlcWriteResponse.cpp    |  27 +-
 .../plc4x/cpp/api/messages/PlcWriteResponse.h      |  45 +-
 .../org/apache/plc4x/cpp/api/messages/REQUEST.cpp  |  28 +-
 .../org/apache/plc4x/cpp/api/messages/REQUEST.h    |  37 +-
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.cpp |  28 +-
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.h   |  38 +-
 .../plc4x/cpp/api/messages/RequestTemplate.cpp     |  28 +-
 .../plc4x/cpp/api/messages/RequestTemplate.h       |  36 +-
 .../plc4x/cpp/api/messages/ResponseTemplate.cpp    |  28 +-
 .../plc4x/cpp/api/messages/ResponseTemplate.h      |  37 +-
 .../cpp/api/metadata/PlcConnectionMetadata.cpp     |  28 +-
 .../plc4x/cpp/api/metadata/PlcConnectionMetadata.h |  66 +++
 .../org/apache/plc4x/cpp/api/model/Consumer.cpp    |  27 +-
 .../cpp/org/apache/plc4x/cpp/api/model/Consumer.h  |  62 +++
 .../cpp/api/model/PlcConsumerRegistration.cpp      |  27 +-
 .../plc4x/cpp/api/model/PlcConsumerRegistration.h  |  37 +-
 .../org/apache/plc4x/cpp/api/model/PlcField.cpp    |  27 +-
 .../cpp/org/apache/plc4x/cpp/api/model/PlcField.h  |  60 +++
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.cpp  |  27 +-
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.h    |  62 +++
 .../plc4x/cpp/api/types/PlcClientDataType.cpp      |  27 +-
 .../apache/plc4x/cpp/api/types/PlcClientDataType.h |  46 +-
 .../apache/plc4x/cpp/api/types/PlcResponseCode.cpp |  27 +-
 .../apache/plc4x/cpp/api/types/PlcResponseCode.h   |  41 +-
 .../plc4x/cpp/api/types/PlcSubscriptionType.cpp    |  27 +-
 .../plc4x/cpp/api/types/PlcSubscriptionType.h      |  61 ++-
 .../apache/plc4x/cpp/api/types/ValueTypeObject.cpp |  30 +-
 .../apache/plc4x/cpp/api/types/ValueTypeObject.h   |  38 +-
 plc4cpp/libs/pom.xml                               | 152 ++++++
 plc4cpp/pom.xml                                    | 221 ++++++++
 plc4j/api/pom.xml                                  |   5 +-
 .../org/apache/plc4x/java/PlcDriverManager.java    |   7 +
 .../api/exceptions/PlcInvalidFieldException.java   |   1 +
 .../apache/plc4x/java/PlcDriverManagerTest.java    |   7 +-
 .../exceptions/PlcFieldRangeExceptionTest.java}    |  18 +-
 .../exceptions/PlcInvalidFieldExceptionTest.java   |   8 +
 .../plc4x/java/mock/DuplicateMockDriver.java}      |  11 +-
 .../org/apache/plc4x/java/mock/MockDriver.java     |  55 ++
 .../apache/plc4x/java/mock/MockPlcConnection.java} |  11 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   2 +-
 plc4j/core/pom.xml                                 |  71 ---
 .../org/apache/plc4x/java/mock/MockConnection.java |  52 --
 .../apache/plc4x/java/mock/PlcMockDriverTest.java  |  74 ---
 plc4j/{utils/opm => drivers/ads}/pom.xml           |  86 +--
 .../org/apache/plc4x/java/ads/AdsPlcDriver.java    |  34 +-
 .../ads/connection/AdsAbstractPlcConnection.java   |   4 +-
 .../java/ads/connection/AdsConnectionFactory.java  |   0
 .../ads/connection/AdsSerialPlcConnection.java     |   0
 .../java/ads/connection/AdsTcpPlcConnection.java   |  39 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../apache/plc4x/java/ads/AdsPlcDriverTest.java    |  36 +-
 .../ads/adslib/ADSClientNotificationExample.java   |   0
 .../org/apache/plc4x/java/ads/adslib/AdsLib.java   |   0
 .../apache/plc4x/java/ads/adslib/AmsRequest.java   |   4 +-
 .../apache/plc4x/java/ads/adslib/AmsRouter.java    |   0
 .../org/apache/plc4x/java/ads/adslib/Output.java   |   0
 .../apache/plc4x/java/ads/adslib/package-info.java |   0
 .../connection/AdsAbstractPlcConnectionTest.java   |  13 +-
 .../ads/connection/AdsConnectionFactoryTest.java   |   9 +-
 .../ads/connection/AdsSerialPlcConnectionTest.java |   9 +-
 .../ads/connection/AdsTcpPlcConnectionTests.java   |  45 +-
 plc4j/drivers/delta-v/pom.xml                      |  37 ++
 plc4j/{utils/opm => drivers/ethernet-ip}/pom.xml   | 101 ++--
 .../plc4x/java/ethernetip/EtherNetIpPlcDriver.java |   4 +-
 .../connection/BaseEtherNetIpPlcConnection.java    |   2 +-
 .../connection/EtherNetIpTcpPlcConnection.java     |   0
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../org/apache/plc4x/java/ethernetip/EnipTest.java |  24 +-
 .../java/ethernetip/ManualPlc4XEtherNetIpTest.java |   0
 .../src/test/resources/read-attribute.pcap         | Bin 0 -> 258 bytes
 plc4j/{utils/opm => drivers/modbus}/pom.xml        |  88 ++-
 .../apache/plc4x/java/modbus/ModbusPlcDriver.java  |  38 +-
 .../modbus/connection/BaseModbusPlcConnection.java |  32 +-
 .../modbus/connection/ModbusConnectionFactory.java |   0
 .../connection/ModbusSerialPlcConnection.java      |   0
 .../modbus/connection/ModbusTcpPlcConnection.java  |  30 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../plc4x/java/modbus/ModbusPlcDriverTest.java     |  10 +-
 .../connection/BaseModbusPlcConnectionTest.java    |   4 +-
 .../connection/ModbusConnectionFactoryTest.java    |   2 +-
 .../connection/ModbusSerialPlcConnectionTest.java  |   0
 .../connection/ModbusTcpPlcConnectionTests.java    |   0
 plc4j/drivers/pom.xml                              |  44 ++
 plc4s/pom.xml => plc4j/drivers/s7/README.md        |  27 +-
 plc4j/{protocols => drivers}/s7/pom.xml            | 103 ++--
 .../java/org/apache/plc4x/java/s7/S7PlcDriver.java |   6 +-
 .../plc4x/java/s7/connection/S7PlcConnection.java  |  89 ++--
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../org/apache/plc4x/java/s7/S7PlcDriverTest.java  |   2 +
 .../java/s7/connection/S7PlcConnectionIT.java      |  45 +-
 .../java/s7/connection/S7PlcConnectionTests.java   |  47 +-
 .../java/s7/connection/S7PlcTestConnection.java    |  50 +-
 .../java/s7/connection}/issues/PLC4X47Test.java    |   2 +-
 .../s7/connection/iso-tp-connect-response.pcap     | Bin
 .../s7/connection/s7-cpu-functions-response.pcap   | Bin
 .../java/s7/connection/s7-read-large-response.pcap | Bin 0 -> 652 bytes
 .../java/s7/connection/s7-read-var-request.pcap    | Bin 0 -> 125 bytes
 .../java/s7/connection/s7-read-var-response.pcap   | Bin 0 -> 120 bytes
 .../s7-setup-communication-response.pcap           | Bin
 .../java/s7/connection/s7-write-var-request.pcap   | Bin 0 -> 130 bytes
 .../java/s7/connection/s7-write-var-response.pcap  | Bin 0 -> 116 bytes
 plc4j/drivers/simulated/pom.xml                    |  61 +++
 .../plc4x/java/simulated/SimulatedPlcDriver.java}  |  46 +-
 .../connection/SimulatedPlcConnection.java         | 219 ++++++++
 .../java/simulated/connection/TestDevice.java      | 199 +++++++
 .../java/simulated/connection}/TestField.java      |  99 ++--
 .../simulated/connection}/TestFieldHandler.java    |   8 +-
 .../java/simulated/connection}/TestFieldItem.java  |   4 +-
 .../plc4x/java/simulated/connection}/TestType.java |   2 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |  38 ++
 .../java/simulated/SimulatedPlcDriverTest.java     |  57 ++
 .../connection/SimulatedPlcConnectionTest.java     | 245 +++++++++
 .../java/simulated/connection}/TestDeviceTest.java |   6 +-
 .../simulated/connection/TestFieldHandlerTest.java | 133 +++++
 .../simulated/connection/TestFieldItemTest.java}   |  15 +-
 .../java/simulated/connection/TestFieldTest.java   |  61 +++
 plc4j/pom.xml                                      |   4 +-
 plc4j/protocols/ads/pom.xml                        |  32 +-
 .../java/ads/api/commands/types/LengthTest.java    |   2 +-
 .../ads/api/commands/types/ReadLengthTest.java     |   2 +-
 .../ads/api/commands/types/SampleSizeTest.java     |   2 +-
 .../java/ads/api/commands/types/SamplesTest.java   |   2 +-
 .../ads/api/commands/types/WriteLengthTest.java    |   2 +-
 .../java/ads/api/generic/types/AmsPortTest.java    |   2 +-
 .../java/ads/api/generic/types/DataLengthTest.java |   2 +-
 .../java/ads/api/generic/types/TcpLengthTest.java  |   2 +-
 plc4j/protocols/benchmarks/pom.xml                 |   6 +-
 plc4j/protocols/delta-v/pom.xml                    |  10 +-
 plc4j/protocols/driver-bases/base/pom.xml          |   6 +-
 .../plc4x/java/base/PlcByteToMessageCodec.java     |  59 +++
 .../base/connection/AbstractPlcConnection.java     |  20 +
 .../java/base/connection/NettyPlcConnection.java   |  20 +-
 .../java/base/messages/DefaultPlcReadResponse.java |  13 +-
 .../base/messages/DefaultPlcSubscriptionEvent.java |   5 +-
 .../java/base/messages/InternalPlcMessage.java}    |  11 +-
 .../java/base/messages/InternalPlcRequest.java     |   2 +-
 .../base/model/DefaultPlcSubscriptionHandle.java   |  17 +-
 .../model/InternalPlcConsumerRegistration.java     |   3 +-
 .../base/model/InternalPlcSubscriptionHandle.java  |   3 +-
 .../base/connection/AbstractPlcConnectionTest.java |  16 +
 .../base/connection/NettyPlcConnectionTest.java    |  78 +++
 .../messages/DefaultPlcSubscriptionEventTest.java  |   8 +-
 .../model/DefaultPlcSubscriptionHandleTest.java    |   5 +-
 plc4j/protocols/driver-bases/pom.xml               |   2 +-
 plc4j/protocols/driver-bases/raw-socket/pom.xml    |   6 +-
 plc4j/protocols/driver-bases/serial/pom.xml        |   7 +-
 plc4j/protocols/driver-bases/tcp/pom.xml           |   6 +-
 .../base/connection/TcpSocketChannelFactory.java   |   2 +
 plc4j/protocols/driver-bases/test/pom.xml          |   6 +-
 .../plc4x/java/base/util/Junit5Backport.java       |  41 --
 .../org/apache/plc4x/java/mock/MockDevice.java     |  18 +-
 .../java/org/apache/plc4x/java/mock/MockField.java |  13 +
 .../apache/plc4x/java/mock/MockFieldHandler.java   |  70 +++
 .../org/apache/plc4x/java/mock/MockFieldItem.java} |   9 +-
 .../org/apache/plc4x/java/mock/MockReader.java     |  51 --
 .../apache/plc4x/java/mock/PlcMockConnection.java  | 111 +++-
 .../org/apache/plc4x/java/mock/PlcMockDriver.java  |  22 +-
 .../plc4x/java/mock/MockFieldHandlerTest.java      | 111 ++++
 .../apache/plc4x/java/mock/MockFieldItemTest.java} |  15 +-
 .../org/apache/plc4x/java/mock/MockFieldTest.java} |  34 +-
 .../plc4x/java/mock/PlcMockConnectionTest.java     | 164 ++++++
 .../apache/plc4x/java/mock/PlcMockDriverTest.java  |  53 +-
 .../protocols/{ethernetip => ethernet-ip}/pom.xml  |  36 +-
 .../java/ethernetip/model/EtherNetIpField.java     |   0
 .../plc4x/java/ethernetip/netty/EnipCodec.java     |   0
 .../ethernetip/netty/Plc4XEtherNetIpProtocol.java  |   0
 .../netty/events/EtherNetIpConnectedEvent.java     |   0
 .../ethernetip/netty/util/EnipPlcFieldHandler.java |   0
 .../src/site/asciidoc/index.adoc                   |   0
 .../src/site/resources/img/WAGO_enip_exporer.png   | Bin
 .../src/test/resources/read-attribute.pcapng       | Bin 664 -> 0 bytes
 plc4j/{utils/opm => protocols/iso-on-tcp}/pom.xml  |  66 +--
 .../java/isoontcp/protocol}/IsoOnTcpProtocol.java  |  63 +--
 .../isoontcp/protocol/model/IsoOnTcpMessage.java}  |  12 +-
 .../isoontcp/protocol}/IsoOnTcpProtocolTest.java   |  41 +-
 plc4j/{utils/opm => protocols/iso-tp}/pom.xml      |  69 +--
 .../plc4x/java/isotp/protocol}/IsoTPProtocol.java  |  50 +-
 .../protocol}/events/IsoTPConnectedEvent.java      |   2 +-
 .../java/isotp/protocol}/model/IsoTPMessage.java   |   4 +-
 .../model/params/CalledTsapParameter.java          |   4 +-
 .../model/params/CallingTsapParameter.java         |   4 +-
 .../protocol}/model/params/ChecksumParameter.java  |   4 +-
 .../DisconnectAdditionalInformationParameter.java  |   4 +-
 .../isotp/protocol}/model/params/Parameter.java    |   4 +-
 .../protocol}/model/params/TpduSizeParameter.java  |   6 +-
 .../protocol}/model/params/TsapParameter.java      |   2 +-
 .../model/tpdus/ConnectionConfirmTpdu.java         |   8 +-
 .../model/tpdus/ConnectionRequestTpdu.java         |   8 +-
 .../protocol}/model/tpdus/ConnectionTpdu.java      |   8 +-
 .../isotp/protocol}/model/tpdus/CustomTpdu.java    |   6 +-
 .../java/isotp/protocol}/model/tpdus/DataTpdu.java |   6 +-
 .../model/tpdus/DisconnectConfirmTpdu.java         |   6 +-
 .../model/tpdus/DisconnectRequestTpdu.java         |   8 +-
 .../protocol}/model/tpdus/DisconnectTpdu.java      |   6 +-
 .../isotp/protocol}/model/tpdus/ErrorTpdu.java     |   8 +-
 .../java/isotp/protocol}/model/tpdus/Tpdu.java     |   6 +-
 .../isotp/protocol}/model/types/DeviceGroup.java   |   2 +-
 .../protocol}/model/types/DisconnectReason.java    |   2 +-
 .../isotp/protocol}/model/types/ParameterCode.java |   2 +-
 .../isotp/protocol}/model/types/ProtocolClass.java |   2 +-
 .../isotp/protocol}/model/types/RejectCause.java   |   2 +-
 .../java/isotp/protocol}/model/types/TpduCode.java |   2 +-
 .../java/isotp/protocol}/model/types/TpduSize.java |   2 +-
 .../java/isotp/protocol}/IsoTPProtocolTest.java    |  65 +--
 .../isotp/protocol}/model/IsoTPMessageTests.java   |  46 +-
 .../protocol}/model/params/ParameterTests.java     |  44 +-
 .../protocol}/model/params/TsapParameterTests.java |  42 +-
 .../protocol}/model/tpdus/IsotpModelTests.java     |  48 +-
 .../protocol}/model/types/IsotpTypeTests.java      |  38 +-
 plc4j/protocols/modbus/pom.xml                     |  34 +-
 .../java/modbus/netty/Plc4XModbusProtocol.java     |  30 +-
 plc4j/protocols/pom.xml                            |   7 +-
 plc4j/protocols/s7/pom.xml                         |  61 +--
 .../org/apache/plc4x/java/s7/model/S7Field.java    |  75 ++-
 .../plc4x/java/s7/netty/Plc4XS7Protocol.java       |   7 +-
 .../org/apache/plc4x/java/s7/netty/S7Protocol.java |  61 ++-
 .../model/params/items/S7AnyVarParameterItem.java  |  12 +-
 .../netty/model/types/DataTransportErrorCode.java  |   4 +-
 .../s7/netty/model/types/DataTransportSize.java    |   6 +-
 .../java/s7/netty/model/types/MemoryArea.java      |   3 +-
 .../java/s7/netty/model/types/MessageType.java     |   2 +-
 .../java/s7/netty/model/types/ParameterType.java   |   2 +-
 .../s7/netty/model/types/SpecificationType.java    |   2 +-
 .../java/s7/netty/model/types/TransportSize.java   |  30 +-
 .../netty/model/types/VariableAddressingMode.java  |   2 +-
 .../strategies/DefaultS7MessageProcessor.java      | 243 +++++----
 .../java/s7/netty/util/S7PlcFieldHandler.java      |   2 -
 .../s7/netty/util/S7RequestSizeCalculator.java     |   1 +
 .../plc4x/java/s7/types/S7ControllerType.java      |   5 +-
 .../plc4x/java/s7/utils/S7TsapIdEncoder.java       |   2 +-
 .../plc4x/java/s7/netty/Plc4XS7ProtocolSpec.groovy |   2 +-
 .../java/org/apache/plc4x/java/issues/PLC4X56.java |  42 +-
 .../org/apache/plc4x/java/s7/PcapGenerator.java    |   6 +-
 .../org/apache/plc4x/java/s7/S7PlcScanner.java     |  86 ---
 .../org/apache/plc4x/java/s7/S7PlcTestConsole.java |  69 ---
 .../apache/plc4x/java/s7/S7PlcWriterSample.java    |  63 ---
 .../apache/plc4x/java/s7/model/S7FieldTests.java   |   8 +-
 .../plc4x/java/s7/netty/Plc4XS7ProtocolTest.java   |  11 +-
 .../apache/plc4x/java/s7/netty/S7ProtocolTest.java |   8 +-
 .../s7/netty/model/messages/S7MessageTests.java    |   9 +-
 .../strategies/DefaultS7MessageProcessorTest.java  | 221 +++++++-
 .../plc4x/java/s7/utils/S7TsapIdEncoderTest.java   |   2 +-
 ...spockframework.report.IReportCreator.properties |   0
 .../java/s7/connection/s7-read-var-request.pcapng  | Bin 400 -> 0 bytes
 .../java/s7/connection/s7-read-var-response.pcapng | Bin 392 -> 0 bytes
 .../java/s7/connection/s7-write-var-request.pcapng | Bin 404 -> 0 bytes
 .../s7/connection/s7-write-var-response.pcapng     | Bin 388 -> 0 bytes
 plc4j/protocols/test/pom.xml                       |  56 --
 .../apache/plc4x/java/mock/MockFieldHandler.java   |  33 --
 .../apache/plc4x/java/mock/PlcMockConnection.java  | 127 -----
 .../org/apache/plc4x/java/mock/PlcMockDriver.java  |  62 ---
 .../org/apache/plc4x/java/test/TestConnection.java | 127 -----
 .../org/apache/plc4x/java/test/TestDevice.java     | 118 -----
 .../services/org.apache.plc4x.java.spi.PlcDriver   |  20 -
 plc4j/utils/connection-pool/pom.xml                |  10 +-
 .../java/utils/connectionpool/PoolKeyFactory.java  |   1 +
 .../connectionpool/PooledPlcDriverManager.java     |   2 +-
 plc4j/utils/opm/pom.xml                            |  24 +-
 .../org/apache/plc4x/java/opm/AliasRegistry.java}  |  34 +-
 .../java/org/apache/plc4x/java/opm/OpmUtils.java   |  49 +-
 .../plc4x/java/opm/PlcEntityInterceptor.java       | 309 +++++++++--
 .../apache/plc4x/java/opm/PlcEntityManager.java    | 143 ++---
 .../java/org/apache/plc4x/java/opm/PlcField.java   |   6 +-
 .../apache/plc4x/java/opm/SimpleAliasRegistry.java |  75 +++
 .../apache/plc4x/java/opm/ConnectedEntityTest.java | 119 +++++
 .../org/apache/plc4x/java/opm/OpmUtilsTest.java    |  66 +++
 .../plc4x/java/opm/PlcEntityInterceptorTest.java   | 181 +++++--
 .../java/opm/PlcEntityManagerComplexTest.java      |  41 +-
 .../plc4x/java/opm/PlcEntityManagerTest.java       | 314 ++++++++---
 .../plc4x/java/opm/SimpleAliasRegistryTest.java    |  79 +++
 plc4j/utils/pom.xml                                |   4 +-
 plc4j/utils/raw-sockets/pom.xml                    |  10 +-
 .../java/utils/rawsockets/RawIpSocketTest.java     |   2 +
 plc4j/utils/scraper/pom.xml                        | 121 +++++
 .../apache/plc4x/java/scraper/ResultHandler.java}  |  23 +-
 .../org/apache/plc4x/java/scraper/ScrapeJob.java   |  64 +++
 .../org/apache/plc4x/java/scraper/Scraper.java     | 174 ++++++
 .../org/apache/plc4x/java/scraper/ScraperTask.java | 197 +++++++
 .../java/scraper/config/JobConfiguration.java      |  71 +++
 .../scraper/config/JobConfigurationBuilder.java    |  60 +++
 .../java/scraper/config/ScraperConfiguration.java  | 131 +++++
 .../config/ScraperConfigurationBuilder.java        |  48 ++
 .../config/ScraperConfigurationException.java}     |  33 +-
 .../scraper/util/PercentageAboveThreshold.java     |  58 ++
 .../apache/plc4x/java/s7/ManualS7PlcDriverMT.java  | 205 +++++++
 .../java/scraper/ScraperConfigurationTest.java     | 202 +++++++
 .../apache/plc4x/java/scraper/ScraperRunner.java}  |  22 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java | 113 ++++
 .../org/apache/plc4x/java/scraper/ScraperTest.java | 175 ++++++
 .../config/ScraperConfigurationBuilderTest.java    |  72 +++
 plc4j/utils/scraper/src/test/resources/config.json |  18 +
 .../scraper/src/test/resources/config.yml}         |  18 +-
 .../scraper/src/test/resources/example.yml}        |  33 +-
 .../src/test/resources/example_with_strings.yml    |  41 ++
 .../scraper/src/test/resources/logback-test.xml    |  36 ++
 plc4j/utils/scraper/src/test/resources/logback.xml |  36 ++
 plc4j/utils/test-utils/pom.xml                     |  22 +-
 .../plc4x/test/RequireInternetConnection.java}     |  18 +-
 .../test/RequireInternetConnectionCondition.java   |  45 ++
 .../plc4x/test/RequireNonCaptureAllDns.java}       |  18 +-
 .../test/RequireNonCaptureAllDnsCondition.java}    |  21 +-
 .../java/org/apache/plc4x/test/RequirePcap.java}   |  18 +-
 .../apache/plc4x/test/RequirePcapCondition.java    |  57 ++
 .../java/org/apache/plc4x/test/RequirePcapNg.java} |  18 +-
 .../apache/plc4x/test/RequirePcapNgCondition.java  |  69 +++
 plc4j/utils/wireshark-utils/pom.xml                |  42 --
 .../org/apache/plc4x/java/utils/PcapngUtils.java   | 106 ----
 plc4s/pom.xml                                      |   2 +-
 pom.xml                                            | 582 ++++++++++++++++----
 protocols/pom.xml                                  |  62 +++
 .../src/main/dfdl/daffodil-built-in-catalog.xml    |  31 +-
 .../apache/plc4x/protocols/cotp-protocol.dfdl.xsd  | 213 ++++++++
 .../apache/plc4x/protocols/s7-protocol.dfdl.xsd    | 587 +++++++++++++++++++++
 .../apache/plc4x/protocols/tpkt-protocol.dfdl.xsd  |  87 +++
 plc4s/pom.xml => protocols/src/main/java/.keepMe   |  24 -
 .../plc4x/protocols/AbstractProtocolTest.java      |  56 ++
 .../apache/plc4x/protocols/TpktProtocolTest.java   |  13 +-
 .../org/apache/plc4x/protocols/tpkt-protocol.tdml  | 112 ++++
 src/site/asciidoc/developers/contributing.adoc     |  80 +++
 src/site/asciidoc/developers/release.adoc          | 121 ++++-
 src/site/asciidoc/index.adoc                       |   4 +-
 src/site/asciidoc/protocols/s7/s7comm.adoc         |   2 +-
 src/site/asciidoc/users/download.adoc              |  13 +
 src/site/asciidoc/users/opm.adoc                   |  73 +++
 src/site/site.xml                                  |   1 +
 tools/check_sigs.sh                                |  11 -
 tools/common.sh                                    |  14 +-
 456 files changed, 14768 insertions(+), 4593 deletions(-)
 copy plc4s/pom.xml => Sometimes-Failling-Tests.md (55%)
 create mode 100644 
examples/hello-cloud-azure/src/main/java/org/apache/plc4x/java/examples/cloud/azure/CliOptions.java
 create mode 100644 
examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/CliOptions.java
 delete mode 100644 
examples/hello-cloud-google/src/main/java/org/apache/plc4x/java/examples/cloud/google/MqttExampleOptions.java
 delete mode 100644 
examples/hello-cloud-google/src/remote-resources/META-INF/LICENSE
 create mode 100644 
examples/hello-integration-edgent/src/main/java/org/apache/plc4x/java/examples/integration/edgent/CliOptions.java
 delete mode 100644 
examples/hello-plc4x/src/main/java/org/apache/plc4x/java/examples/helloplc4x/HelloPlc4x.java
 create mode 100644 
examples/hello-world-plc4x/src/main/java/org/apache/plc4x/java/examples/helloplc4x/CliOptions.java
 copy {examples/hello-cloud-azure => integrations/apache-calcite}/pom.xml (60%)
 create mode 100644 
integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xBaseTable.java
 create mode 100644 
integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xSchema.java
 create mode 100644 
integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xSchemaFactory.java
 rename plc4j/core/src/test/java/org/apache/plc4x/java/mock/MockDriver.java => 
integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xStreamTable.java
 (53%)
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => integrations/apache-calcite/src/main/java/org/apache/plc4x/Plc4xTable.java 
(57%)
 create mode 100644 
integrations/apache-calcite/src/test/java/org/apache/plc4x/DriverManagerTest.java
 create mode 100644 
integrations/apache-calcite/src/test/java/org/apache/plc4x/Plc4XBaseTableTest.java
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/CalledTsapParameter.java
 => 
integrations/apache-calcite/src/test/java/org/apache/plc4x/Plc4xSchemaFactoryTest.java
 (58%)
 copy 
plc4j/protocols/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 => integrations/apache-calcite/src/test/resources/example.yml (64%)
 copy {plc4j/protocols/ads => 
integrations/apache-calcite}/src/test/resources/logback.xml (100%)
 create mode 100644 integrations/apache-calcite/src/test/resources/model.json
 create mode 100644 integrations/apache-karaf/karaf-ads-feature/pom.xml
 copy {plc4j/utils/opm => integrations/apache-karaf/karaf-demo-server}/pom.xml 
(50%)
 create mode 100644 integrations/apache-karaf/karaf-ethernet-ip-feature/pom.xml
 create mode 100644 integrations/apache-karaf/karaf-modbus-feature/pom.xml
 create mode 100644 integrations/apache-karaf/karaf-s7-feature/pom.xml
 create mode 100644 integrations/apache-karaf/karaf-simulated-feature/pom.xml
 create mode 100644 integrations/apache-karaf/pom.xml
 create mode 100644 plc4cpp/README.md
 create mode 100644 plc4cpp/api/pom.xml
 create mode 100644 plc4cpp/api/src/main/cmake/CMakeLists.txt
 rename 
plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/NettyTestBase.java 
=> plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp (78%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp
 (56%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h
 (64%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp
 (74%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp 
(52%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp
 (59%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h
 (61%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp
 (59%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h
 (58%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp 
(72%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp
 (74%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h
 (54%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp
 (75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp
 (53%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp
 (58%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp
 (74%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp
 (74%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp 
(75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp 
(75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/CalledTsapParameter.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h 
(62%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp 
(57%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/DisconnectAdditionalInformationParameter.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h 
(51%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp
 (75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h
 (54%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp 
(75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/CalledTsapParameter.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h 
(60%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp
 (75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h 
(58%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h 
(55%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp
 (75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h
 (53%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp
 (75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp
 (74%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp
 (74%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp
 (74%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/tpdus/CustomTpdu.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h
 (57%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp 
(75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h 
(60%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp (76%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h (69%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp 
(76%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h (68%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h 
(66%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h 
(66%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp
 (75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp (76%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp
 (75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h
 (63%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp (76%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp
 (75%)
 mode change 100644 => 100755
 create mode 100755 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h 
(60%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h 
(62%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp 
(75%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/params/ChecksumParameter.java
 => 
plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h 
(50%)
 mode change 100644 => 100755
 copy 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/types/S7ControllerType.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp 
(74%)
 mode change 100644 => 100755
 rename 
plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isoontcp/netty/model/IsoOnTcpMessage.java
 => plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h 
(64%)
 mode change 100644 => 100755
 create mode 100644 plc4cpp/libs/pom.xml
 create mode 100644 plc4cpp/pom.xml
 rename plc4j/{core => 
api}/src/main/java/org/apache/plc4x/java/PlcDriverManager.java (89%)
 rename plc4j/{core => 
api}/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java (93%)
 copy 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test/TestFieldItem.java
 => 
api/src/test/java/org/apache/plc4x/java/api/exceptions/PlcFieldRangeExceptionTest.java}
 (68%)
 rename 
plc4j/{protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/package-info.java
 => api/src/test/java/org/apache/plc4x/java/mock/DuplicateMockDriver.java} (79%)
 create mode 100644 
plc4j/api/src/test/java/org/apache/plc4x/java/mock/MockDriver.java
 copy 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test/TestType.java => 
api/src/test/java/org/apache/plc4x/java/mock/MockPlcConnection.java} (75%)
 copy plc4j/{core => 
api}/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver 
(100%)
 rename plc4j/{core => 
api}/src/test/resources/test/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 (94%)
 delete mode 100644 plc4j/core/pom.xml
 delete mode 100644 
plc4j/core/src/test/java/org/apache/plc4x/java/mock/MockConnection.java
 delete mode 100644 
plc4j/core/src/test/java/org/apache/plc4x/java/mock/PlcMockDriverTest.java
 copy plc4j/{utils/opm => drivers/ads}/pom.xml (56%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/java/org/apache/plc4x/java/ads/AdsPlcDriver.java (83%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java
 (99%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsConnectionFactory.java
 (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsSerialPlcConnection.java
 (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsTcpPlcConnection.java
 (95%)
 rename plc4j/{protocols => 
drivers}/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/AdsPlcDriverTest.java (85%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/ADSClientNotificationExample.java
 (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/AdsLib.java (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/AmsRequest.java 
(97%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/AmsRouter.java 
(100%)
 copy plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/Output.java (100%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/adslib/package-info.java 
(100%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnectionTest.java
 (96%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/connection/AdsConnectionFactoryTest.java
 (96%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/connection/AdsSerialPlcConnectionTest.java
 (97%)
 rename plc4j/{protocols => 
drivers}/ads/src/test/java/org/apache/plc4x/java/ads/connection/AdsTcpPlcConnectionTests.java
 (84%)
 create mode 100644 plc4j/drivers/delta-v/pom.xml
 copy plc4j/{utils/opm => drivers/ethernet-ip}/pom.xml (51%)
 rename plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/EtherNetIpPlcDriver.java
 (100%)
 rename plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/connection/BaseEtherNetIpPlcConnection.java
 (100%)
 rename plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/connection/EtherNetIpTcpPlcConnection.java
 (100%)
 copy plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 (100%)
 rename plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/test/java/org/apache/plc4x/java/ethernetip/EnipTest.java
 (97%)
 rename plc4j/{protocols/ethernetip => 
drivers/ethernet-ip}/src/test/java/org/apache/plc4x/java/ethernetip/ManualPlc4XEtherNetIpTest.java
 (100%)
 create mode 100644 
plc4j/drivers/ethernet-ip/src/test/resources/read-attribute.pcap
 copy plc4j/{utils/opm => drivers/modbus}/pom.xml (56%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/java/org/apache/plc4x/java/modbus/ModbusPlcDriver.java 
(79%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnection.java
 (81%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactory.java
 (100%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnection.java
 (100%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnection.java
 (77%)
 rename plc4j/{protocols => 
drivers}/modbus/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 (100%)
 rename plc4j/{protocols => 
drivers}/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusPlcDriverTest.java
 (93%)
 rename plc4j/{protocols => 
drivers}/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/BaseModbusPlcConnectionTest.java
 (96%)
 rename plc4j/{protocols => 
drivers}/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusConnectionFactoryTest.java
 (98%)
 rename plc4j/{protocols => 
drivers}/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusSerialPlcConnectionTest.java
 (100%)
 rename plc4j/{protocols => 
drivers}/modbus/src/test/java/org/apache/plc4x/java/modbus/connection/ModbusTcpPlcConnectionTests.java
 (100%)
 create mode 100644 plc4j/drivers/pom.xml
 copy plc4s/pom.xml => plc4j/drivers/s7/README.md (55%)
 copy plc4j/{protocols => drivers}/s7/pom.xml (62%)
 rename plc4j/{protocols => 
drivers}/s7/src/main/java/org/apache/plc4x/java/s7/S7PlcDriver.java (96%)
 rename plc4j/{protocols => 
drivers}/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
 (79%)
 rename plc4j/{protocols => 
drivers}/s7/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 (100%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java (96%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java
 (75%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionTests.java
 (54%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java
 (82%)
 rename plc4j/{protocols/s7/src/test/java/org/apache/plc4x/java/s7 => 
drivers/s7/src/test/java/org/apache/plc4x/java/s7/connection}/issues/PLC4X47Test.java
 (97%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/resources/org/apache/plc4x/java/s7/connection/iso-tp-connect-response.pcap
 (100%)
 rename plc4j/{protocols => 
drivers}/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-cpu-functions-response.pcap
 (100%)
 create mode 100644 
plc4j/drivers/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-read-large-response.pcap
 create mode 100644 
plc4j/drivers/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-read-var-request.pcap
 create mode 100644 
plc4j/drivers/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-read-var-response.pcap
 rename plc4j/{protocols => 
drivers}/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-setup-communication-response.pcap
 (100%)
 create mode 100644 
plc4j/drivers/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-write-var-request.pcap
 create mode 100644 
plc4j/drivers/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-write-var-response.pcap
 create mode 100644 plc4j/drivers/simulated/pom.xml
 rename 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test/TestPlcDriver.java
 => 
drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedPlcDriver.java}
 (57%)
 create mode 100644 
plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedPlcConnection.java
 create mode 100644 
plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/TestDevice.java
 rename plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test => 
drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection}/TestField.java
 (55%)
 rename plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test => 
drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection}/TestFieldHandler.java
 (96%)
 copy plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test => 
drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection}/TestFieldItem.java
 (91%)
 copy plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test => 
drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection}/TestType.java
 (94%)
 create mode 100644 
plc4j/drivers/simulated/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 create mode 100644 
plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/SimulatedPlcDriverTest.java
 create mode 100644 
plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/SimulatedPlcConnectionTest.java
 rename plc4j/{protocols/test/src/test/java/org/apache/plc4x/java/test => 
drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection}/TestDeviceTest.java
 (92%)
 create mode 100644 
plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldHandlerTest.java
 copy 
plc4j/{protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/model/InternalPlcSubscriptionHandle.java
 => 
drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldItemTest.java}
 (72%)
 create mode 100644 
plc4j/drivers/simulated/src/test/java/org/apache/plc4x/java/simulated/connection/TestFieldTest.java
 create mode 100644 
plc4j/protocols/driver-bases/base/src/main/java/org/apache/plc4x/java/base/PlcByteToMessageCodec.java
 rename 
plc4j/protocols/{ads/src/main/java/org/apache/plc4x/java/ads/package-info.java 
=> 
driver-bases/base/src/main/java/org/apache/plc4x/java/base/messages/InternalPlcMessage.java}
 (83%)
 create mode 100644 
plc4j/protocols/driver-bases/base/src/test/java/org/apache/plc4x/java/base/connection/NettyPlcConnectionTest.java
 delete mode 100644 
plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/base/util/Junit5Backport.java
 copy 
plc4j/protocols/{test/src/main/java/org/apache/plc4x/java/test/TestFieldItem.java
 => 
driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockFieldItem.java} 
(82%)
 delete mode 100644 
plc4j/protocols/driver-bases/test/src/main/java/org/apache/plc4x/java/mock/MockReader.java
 create mode 100644 
plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/MockFieldHandlerTest.java
 copy 
plc4j/protocols/driver-bases/{base/src/main/java/org/apache/plc4x/java/base/model/InternalPlcSubscriptionHandle.java
 => test/src/test/java/org/apache/plc4x/java/mock/MockFieldItemTest.java} (73%)
 rename 
plc4j/protocols/{ads/src/test/java/org/apache/plc4x/java/ads/adslib/Output.java 
=> 
driver-bases/test/src/test/java/org/apache/plc4x/java/mock/MockFieldTest.java} 
(56%)
 create mode 100644 
plc4j/protocols/driver-bases/test/src/test/java/org/apache/plc4x/java/mock/PlcMockConnectionTest.java
 rename plc4j/protocols/{ => 
driver-bases}/test/src/test/java/org/apache/plc4x/java/mock/PlcMockDriverTest.java
 (71%)
 rename plc4j/protocols/{ethernetip => ethernet-ip}/pom.xml (78%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/model/EtherNetIpField.java
 (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/netty/EnipCodec.java
 (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/netty/Plc4XEtherNetIpProtocol.java
 (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/netty/events/EtherNetIpConnectedEvent.java
 (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/main/java/org/apache/plc4x/java/ethernetip/netty/util/EnipPlcFieldHandler.java
 (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/site/asciidoc/index.adoc (100%)
 rename plc4j/protocols/{ethernetip => 
ethernet-ip}/src/site/resources/img/WAGO_enip_exporer.png (100%)
 delete mode 100644 
plc4j/protocols/ethernetip/src/test/resources/read-attribute.pcapng
 copy plc4j/{utils/opm => protocols/iso-on-tcp}/pom.xml (53%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isoontcp/netty 
=> 
iso-on-tcp/src/main/java/org/apache/plc4x/java/isoontcp/protocol}/IsoOnTcpProtocol.java
 (70%)
 copy 
plc4j/protocols/{test/src/main/java/org/apache/plc4x/java/test/TestType.java => 
iso-on-tcp/src/main/java/org/apache/plc4x/java/isoontcp/protocol/model/IsoOnTcpMessage.java}
 (73%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isoontcp/netty 
=> 
iso-on-tcp/src/test/java/org/apache/plc4x/java/isoontcp/protocol}/IsoOnTcpProtocolTest.java
 (86%)
 copy plc4j/{utils/opm => protocols/iso-tp}/pom.xml (53%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/IsoTPProtocol.java 
(93%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/events/IsoTPConnectedEvent.java
 (93%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/IsoTPMessage.java
 (90%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/CalledTsapParameter.java
 (88%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/CallingTsapParameter.java
 (88%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/ChecksumParameter.java
 (89%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/DisconnectAdditionalInformationParameter.java
 (89%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/Parameter.java
 (86%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/TpduSizeParameter.java
 (85%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/params/TsapParameter.java
 (94%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/ConnectionConfirmTpdu.java
 (81%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/ConnectionRequestTpdu.java
 (81%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/ConnectionTpdu.java
 (86%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/CustomTpdu.java
 (84%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/DataTpdu.java
 (88%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/DisconnectConfirmTpdu.java
 (85%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/DisconnectRequestTpdu.java
 (83%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/DisconnectTpdu.java
 (88%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/ErrorTpdu.java
 (84%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/Tpdu.java
 (91%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/DeviceGroup.java
 (95%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/DisconnectReason.java
 (97%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/ParameterCode.java
 (97%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/ProtocolClass.java
 (96%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/RejectCause.java
 (96%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/TpduCode.java
 (96%)
 rename plc4j/protocols/{s7/src/main/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/main/java/org/apache/plc4x/java/isotp/protocol}/model/types/TpduSize.java
 (97%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/IsoTPProtocolTest.java
 (93%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/model/IsoTPMessageTests.java
 (53%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/model/params/ParameterTests.java
 (60%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/model/params/TsapParameterTests.java
 (55%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/model/tpdus/IsotpModelTests.java
 (86%)
 rename plc4j/protocols/{s7/src/test/java/org/apache/plc4x/java/isotp/netty => 
iso-tp/src/test/java/org/apache/plc4x/java/isotp/protocol}/model/types/IsotpTypeTests.java
 (87%)
 delete mode 100644 
plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcScanner.java
 delete mode 100644 
plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java
 delete mode 100644 
plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcWriterSample.java
 copy plc4j/protocols/{driver-bases/test/src/main => 
s7/src/test}/resources/META-INF/services/com.athaydes.spockframework.report.IReportCreator.properties
 (100%)
 delete mode 100644 
plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-read-var-request.pcapng
 delete mode 100644 
plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-read-var-response.pcapng
 delete mode 100644 
plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-write-var-request.pcapng
 delete mode 100644 
plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-write-var-response.pcapng
 delete mode 100644 plc4j/protocols/test/pom.xml
 delete mode 100644 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/mock/MockFieldHandler.java
 delete mode 100644 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/mock/PlcMockConnection.java
 delete mode 100644 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/mock/PlcMockDriver.java
 delete mode 100644 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/test/TestConnection.java
 delete mode 100644 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/test/TestDevice.java
 delete mode 100644 
plc4j/protocols/test/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 copy 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/mock/MockDevice.java 
=> utils/opm/src/main/java/org/apache/plc4x/java/opm/AliasRegistry.java} (50%)
 create mode 100644 
plc4j/utils/opm/src/main/java/org/apache/plc4x/java/opm/SimpleAliasRegistry.java
 create mode 100644 
plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/ConnectedEntityTest.java
 create mode 100644 
plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/OpmUtilsTest.java
 create mode 100644 
plc4j/utils/opm/src/test/java/org/apache/plc4x/java/opm/SimpleAliasRegistryTest.java
 create mode 100644 plc4j/utils/scraper/pom.xml
 rename 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/mock/MockDevice.java 
=> 
utils/scraper/src/main/java/org/apache/plc4x/java/scraper/ResultHandler.java} 
(62%)
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/ScrapeJob.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/Scraper.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/ScraperTask.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfiguration.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/JobConfigurationBuilder.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfiguration.java
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationBuilder.java
 rename 
plc4j/{core/src/test/java/org/apache/plc4x/java/mock/DoubleMockDriver.java => 
utils/scraper/src/main/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationException.java}
 (52%)
 create mode 100644 
plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/util/PercentageAboveThreshold.java
 create mode 100644 
plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
 create mode 100644 
plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperConfigurationTest.java
 rename 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/mock/MockField.java 
=> 
utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperRunner.java} 
(56%)
 create mode 100644 
plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTaskTest.java
 create mode 100644 
plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/ScraperTest.java
 create mode 100644 
plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/config/ScraperConfigurationBuilderTest.java
 create mode 100644 plc4j/utils/scraper/src/test/resources/config.json
 rename 
plc4j/{core/src/test/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 => utils/scraper/src/test/resources/config.yml} (68%)
 rename 
plc4j/{protocols/ethernetip/src/main/resources/META-INF/services/org.apache.plc4x.java.spi.PlcDriver
 => utils/scraper/src/test/resources/example.yml} (53%)
 create mode 100644 
plc4j/utils/scraper/src/test/resources/example_with_strings.yml
 create mode 100644 plc4j/utils/scraper/src/test/resources/logback-test.xml
 create mode 100644 plc4j/utils/scraper/src/test/resources/logback.xml
 copy plc4j/utils/{opm/src/main/java/org/apache/plc4x/java/opm/PlcField.java => 
test-utils/src/main/java/org/apache/plc4x/test/RequireInternetConnection.java} 
(71%)
 create mode 100644 
plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/RequireInternetConnectionCondition.java
 copy plc4j/utils/{opm/src/main/java/org/apache/plc4x/java/opm/PlcField.java => 
test-utils/src/main/java/org/apache/plc4x/test/RequireNonCaptureAllDns.java} 
(71%)
 rename 
plc4j/{protocols/test/src/main/java/org/apache/plc4x/java/test/TestFieldItem.java
 => 
utils/test-utils/src/main/java/org/apache/plc4x/test/RequireNonCaptureAllDnsCondition.java}
 (50%)
 copy plc4j/utils/{opm/src/main/java/org/apache/plc4x/java/opm/PlcField.java => 
test-utils/src/main/java/org/apache/plc4x/test/RequirePcap.java} (71%)
 create mode 100644 
plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/RequirePcapCondition.java
 copy plc4j/utils/{opm/src/main/java/org/apache/plc4x/java/opm/PlcField.java => 
test-utils/src/main/java/org/apache/plc4x/test/RequirePcapNg.java} (71%)
 create mode 100644 
plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/RequirePcapNgCondition.java
 delete mode 100644 plc4j/utils/wireshark-utils/pom.xml
 delete mode 100644 
plc4j/utils/wireshark-utils/src/main/java/org/apache/plc4x/java/utils/PcapngUtils.java
 create mode 100644 protocols/pom.xml
 copy plc4s/pom.xml => protocols/src/main/dfdl/daffodil-built-in-catalog.xml 
(57%)
 create mode 100644 
protocols/src/main/dfdl/org/apache/plc4x/protocols/cotp-protocol.dfdl.xsd
 create mode 100644 
protocols/src/main/dfdl/org/apache/plc4x/protocols/s7-protocol.dfdl.xsd
 create mode 100644 
protocols/src/main/dfdl/org/apache/plc4x/protocols/tpkt-protocol.dfdl.xsd
 copy plc4s/pom.xml => protocols/src/main/java/.keepMe (54%)
 create mode 100644 
protocols/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
 rename 
plc4j/protocols/test/src/main/java/org/apache/plc4x/java/test/TestType.java => 
protocols/src/test/java/org/apache/plc4x/protocols/TpktProtocolTest.java (74%)
 create mode 100644 
protocols/src/test/resources/org/apache/plc4x/protocols/tpkt-protocol.tdml
 create mode 100644 src/site/asciidoc/users/opm.adoc

Reply via email to