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

[plc4x] 01/01: Merge branches 'develop' and 'feature/new-site-skin' of https://gitbox.apache.org/repos/asf/plc4x into feature/new-site-skin

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

cdutz pushed a commit to branch feature/new-site-skin
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 008046e19f12a90a1fbc98c85c17a5cae06d3642
Merge: 847f113 d1629cb
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sat Oct 26 17:40:23 2019 +0200

    Merge branches 'develop' and 'feature/new-site-skin' of https://gitbox.apache.org/repos/asf/plc4x into feature/new-site-skin

 LICENSE                                            |   7 +-
 README => README.md                                | 199 ++++++++----
 RELEASE_NOTES                                      |  34 ++-
 build-utils/language-base-freemarker/pom.xml       |   2 +-
 build-utils/language-java/pom.xml                  |   4 +-
 .../language/java/JavaLanguageTemplateHelper.java  |  14 +
 .../main/resources/templates/java/io-template.ftlh |   6 +-
 .../resources/templates/java/pojo-template.ftlh    |  11 +-
 build-utils/pom.xml                                |   2 +-
 build-utils/protocol-base-mspec/pom.xml            |   2 +-
 .../language/mspec/expression/Expression.g4        |  14 +-
 .../mspec/expression/ExpressionStringListener.java | 101 +++++-
 .../mspec/expression/ExpressionStringParser.java   |   1 -
 .../mspec/parser/MessageFormatListener.java        |  20 +-
 build-utils/protocol-test/pom.xml                  |  10 +-
 plc4cpp/pom.xml                                    |  12 +-
 plc4j/api/pom.xml                                  |   4 +-
 .../drivers/ab-eth}/pom.xml                        |  57 ++--
 .../org/apache/plc4x/java/abeth/AbEthDriver.java   |   0
 .../java/abeth/connection/AbEthFieldHandler.java   |   0
 .../java/abeth/connection/AbEthPlcConnection.java  |   3 +-
 .../apache/plc4x/java/abeth/model/AbEthField.java  |  17 +-
 .../plc4x/java/abeth/model/types/FileType.java     |   4 +-
 .../plc4x/java/abeth/protocol/AbEthProtocol.java   |   0
 .../java/abeth/protocol/Plc4xAbEthProtocol.java    |  25 +-
 .../services/org.apache.plc4x.java.spi.PlcDriver   |   0
 .../org/apache/plc4x/protocol/abeth/AbEthTest.java |   0
 .../test/resources/testsuite/AbEthTestsuite.xml    |  15 +-
 plc4j/drivers/ads/pom.xml                          |  25 +-
 .../org/apache/plc4x/java/ads/AdsPlcDriver.java    |   2 +
 .../ads/connection/AdsSerialPlcConnection.java     |   2 +-
 .../java/ads/connection/AdsTcpPlcConnection.java   |   3 +-
 .../apache/plc4x/java/ads/AdsPlcDriverTest.java    |   2 +-
 .../ads/connection/AdsConnectionFactoryTest.java   |   4 +-
 .../ads/connection/AdsSerialPlcConnectionTest.java |   4 +-
 plc4j/drivers/ethernet-ip/pom.xml                  |  17 +-
 .../plc4x/java/ethernetip/EtherNetIpPlcDriver.java |   2 +
 .../connection/EtherNetIpTcpPlcConnection.java     |   3 +-
 plc4j/drivers/modbus/pom.xml                       |  21 +-
 .../apache/plc4x/java/modbus/ModbusPlcDriver.java  |   2 +
 .../connection/ModbusSerialPlcConnection.java      |   2 +-
 .../modbus/connection/ModbusTcpPlcConnection.java  |   3 +-
 .../plc4x/java/modbus/ModbusPlcDriverTest.java     |   2 +-
 .../connection/ModbusConnectionFactoryTest.java    |   4 +-
 .../connection/ModbusSerialPlcConnectionTest.java  |   4 +-
 plc4j/drivers/opcua/pom.xml                        |  12 +-
 .../apache/plc4x/java/opcua/OpcuaPlcDriver.java    |   2 +
 plc4j/drivers/pom.xml                              |   3 +-
 plc4j/drivers/s7/pom.xml                           |  24 +-
 .../java/org/apache/plc4x/java/s7/S7PlcDriver.java |   2 +
 .../plc4x/java/s7/connection/S7PlcConnection.java  |   2 +-
 .../java/s7/connection/S7PlcTestConnection.java    |   2 +-
 plc4j/drivers/simulated/pom.xml                    |  13 +-
 .../plc4x/java/simulated/SimulatedPlcDriver.java   |   2 +
 plc4j/examples/dummy-driver/pom.xml                |   8 +-
 .../dummydriver/connection/DummyConnection.java    |   2 +-
 plc4j/examples/hello-cloud-azure/pom.xml           |  16 +-
 plc4j/examples/hello-cloud-google/pom.xml          |  16 +-
 plc4j/examples/hello-connectivity-kafka/pom.xml    |  18 +-
 plc4j/examples/hello-connectivity-mqtt/pom.xml     |  16 +-
 plc4j/examples/hello-integration-edgent/pom.xml    |  16 +-
 plc4j/examples/hello-opm/pom.xml                   |  18 +-
 plc4j/examples/hello-storage-elasticsearch/pom.xml |  24 +-
 plc4j/examples/hello-webapp/client/pom.xml         |   2 +-
 plc4j/examples/hello-webapp/pom.xml                |   2 +-
 plc4j/examples/hello-webapp/service/pom.xml        |  16 +-
 plc4j/examples/hello-webapp/webapp/pom.xml         |   6 +-
 plc4j/examples/hello-world-plc4x/pom.xml           |  16 +-
 plc4j/examples/pom.xml                             |   2 +-
 plc4j/integrations/apache-calcite/pom.xml          |  10 +-
 plc4j/integrations/apache-camel/pom.xml            |  10 +-
 plc4j/integrations/apache-edgent/pom.xml           |  10 +-
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |  37 +--
 .../apache/plc4x/edgent/mock/MockConnection.java   |   2 +-
 plc4j/integrations/apache-kafka/pom.xml            |  20 +-
 .../apache-karaf/karaf-ads-feature/pom.xml         |  61 ----
 .../apache-karaf/karaf-demo-server/pom.xml         | 127 --------
 .../apache-karaf/karaf-ethernet-ip-feature/pom.xml |  61 ----
 .../apache-karaf/karaf-modbus-feature/pom.xml      |  61 ----
 .../apache-karaf/karaf-s7-feature/pom.xml          |  61 ----
 .../apache-karaf/karaf-simulated-feature/pom.xml   |  61 ----
 plc4j/integrations/apache-karaf/pom.xml            |  98 ------
 .../apache-nifi/nifi-plc4x-nar/pom.xml             |  16 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |   4 +-
 plc4j/integrations/apache-nifi/pom.xml             |   2 +-
 plc4j/integrations/logstash-plugin/README.md       |  18 +-
 plc4j/integrations/logstash-plugin/pom.xml         |  25 +-
 .../main/java/org/apache/plc4x/logstash/Plc4x.java |  23 +-
 plc4j/integrations/pom.xml                         |   3 +-
 plc4j/karaf-features/README.md                     |  42 +++
 plc4j/karaf-features/karaf-itest/pom.xml           | 188 ++++++++++++
 .../java/org/apache/plc4x/karaf/FeatureIT.java     | 100 ++++++
 .../test/resources/etc/org.ops4j.pax.logging.cfg   |  71 +++++
 .../{utils/pcap-sockets => karaf-features}/pom.xml |  81 +++--
 plc4j/karaf-features/s7/pom.xml                    | 102 +++++++
 .../karaf-features/s7/src/main/feature/feature.xml |  48 +++
 .../java/org/apache/plc4x/karaf/FeatureTest.java   |  91 ++++++
 plc4j/pom.xml                                      |   9 +-
 plc4j/protocols/ads/pom.xml                        |   8 +-
 .../java/org/apache/plc4x/java/ads/AdsDumper.java  |   2 +-
 .../commands/types/AdsNotificationSampleTest.java  |   2 +-
 .../ads/api/commands/types/AdsStampHeaderTest.java |   2 +-
 ...load2SerialProtocolExampleConversationTest.java |   2 +-
 .../java/ads/protocol/Plc4x2AdsProtocolTest.java   |   4 +-
 .../java/ads/protocol/util/DigestUtilTest.java     |   2 +-
 plc4j/protocols/benchmarks/pom.xml                 |   4 +-
 plc4j/protocols/delta-v/pom.xml                    |   2 +-
 plc4j/protocols/driver-bases/base/pom.xml          |   6 +-
 plc4j/protocols/driver-bases/pcap-socket/pom.xml   |   8 +-
 plc4j/protocols/driver-bases/pom.xml               |   2 +-
 plc4j/protocols/driver-bases/raw-socket/pom.xml    |   8 +-
 plc4j/protocols/driver-bases/serial/pom.xml        |   6 +-
 .../connection}/connection/SerialChannel.java      |   3 +-
 .../connection/SerialChannelFactory.java           |   3 +-
 .../connection/SerialChannelHandler.java           |   2 +-
 .../connection/SerialPollingSelector.java          |   5 +-
 .../connection}/connection/SerialSelectionKey.java |   3 +-
 .../connection/SerialSelectorProvider.java         |   2 +-
 .../connection/SerialSocketAddress.java            |   2 +-
 .../connection/SerialSocketChannel.java            |   2 +-
 .../base/connection/SerialChannelFactoryTest.java  |   3 +
 plc4j/protocols/driver-bases/tcp/pom.xml           |   6 +-
 .../connection/TcpSocketChannelFactory.java        |   3 +-
 plc4j/protocols/driver-bases/test/pom.xml          |   6 +-
 .../{base => mock}/connection/MockConnection.java  |   3 +-
 .../connection/TestChannelFactory.java             |   3 +-
 .../connection/tcp/TcpHexDumper.java               |   2 +-
 .../protocol/Plc4XSupportedDataTypes.java          |   2 +-
 .../plc4x/java/{base => mock}/util/Assert.java     |   2 +-
 .../plc4x/java/{base => mock}/util/HexUtil.java    |   2 +-
 plc4j/protocols/driver-bases/udp/pom.xml           |   6 +-
 plc4j/protocols/ethernet-ip/pom.xml                |   6 +-
 plc4j/protocols/iso-on-tcp/pom.xml                 |   8 +-
 plc4j/protocols/iso-tp/pom.xml                     |  10 +-
 plc4j/protocols/modbus/pom.xml                     |   8 +-
 .../plc4x/java/modbus/ManualPlc4XModbusTest.java   |   2 +-
 .../java/modbus/netty/Plc4XModbusProtocolTest.java |   6 +-
 plc4j/protocols/pom.xml                            |  40 ++-
 plc4j/protocols/s7/pom.xml                         |  10 +-
 .../org/apache/plc4x/java/s7/netty/S7Protocol.java |   6 +-
 .../s7/netty/model/types/HeaderErrorClass.java     |   2 +-
 .../java/s7/netty/model/types/TransportSize.java   |   4 +-
 .../strategies/DefaultS7MessageProcessor.java      |  51 ++--
 plc4j/utils/connection-pool/pom.xml                |   4 +-
 plc4j/utils/driver-base-java/pom.xml               |   2 +-
 plc4j/utils/interop/pom.xml                        |  12 +-
 plc4j/utils/opm/pom.xml                            |  10 +-
 plc4j/utils/pcap-sockets/pom.xml                   |   2 +-
 .../utils/pcapsockets/netty/PcapSocketChannel.java |   4 +-
 .../pcapsockets/netty/PcapSocketChannelConfig.java |   5 +-
 plc4j/utils/pom.xml                                |   2 +-
 plc4j/utils/protocol-test-utils/pom.xml            |   4 +-
 plc4j/utils/raw-sockets/pom.xml                    |   4 +-
 .../src/remote-resources/META-INF/LICENSE          |   6 +-
 plc4j/utils/scraper/pom.xml                        |  18 +-
 plc4j/utils/test-utils/pom.xml                     |   2 +-
 plc4net/api/pom.xml                                |   2 +-
 plc4net/plc4net.driver/pom.xml                     |   2 +-
 plc4net/pom.xml                                    |   2 +-
 plc4py/pom.xml                                     |   8 +-
 pom.xml                                            |  52 ++--
 protocols/ab-eth/pom.xml                           |   4 +-
 protocols/bacnetip/pom.xml                         |   4 +-
 .../resources/protocols/bacnetip/bacnetip.mspec    |  16 +-
 protocols/df1/pom.xml                              |   4 +-
 protocols/knxnetip/pom.xml                         |   8 +-
 protocols/pom.xml                                  |   2 +-
 protocols/proxy/pom.xml                            |   2 +-
 protocols/s7/pom.xml                               |   4 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    | 185 ++++++++---
 sandbox/code-gen/pom.xml                           |   6 +-
 .../pom.xml                                        |  65 ++--
 .../org/apache/plc4x/simulator/PlcSimulator.java   | 118 ++++++++
 .../plc4x/simulator/server/ServerModule.java       |  24 +-
 .../apache/plc4x/simulator/server/s7/S7Server.java |  69 +++++
 .../plc4x/simulator/server/s7/S7ServerModule.java  |  37 ++-
 .../server/s7/protocol/S7Step7Protocol.java        |  76 +++++
 .../server/s7/protocol/S7Step7ServerProtocol.java  | 228 ++++++++++++++
 .../simulator/simulation/SimulationModule.java     |  33 +-
 .../watertank/WaterTankSimulationModule.java       |  60 ++++
 ...org.apache.plc4x.simulator.server.ServerModule} |   3 +-
 ...he.plc4x.simulator.simulation.SimulationModule} |   3 +-
 .../plc-simulator/src/main/resources/logback.xml   |  42 ++-
 sandbox/pom.xml                                    |   6 +-
 sandbox/streampipes-connectors/READMME.adoc        |  40 +++
 .../env/development}                               |  15 +-
 sandbox/streampipes-connectors/pom.xml             | 199 ++++++++++++
 .../java/streampipes/bacnetip/BacNetIpAdapter.java | 337 +++++++++++++++++++++
 .../streampipes/bacnetip/config/ConfigKeys.java    |  30 ++
 .../bacnetip/config/ConnectWorkerConfig.java       |  84 +++++
 sandbox/test-java-bacnetip-driver/pom.xml          |  26 +-
 .../plc4x/java/bacnetip/PassiveBacNetIpDriver.java |   3 +-
 .../connection/PassiveBacNetIpPlcConnection.java   |  15 +-
 .../java/bacnetip/PassiveBacNetIpDriverManual.java |   3 +-
 sandbox/test-java-df1-driver/pom.xml               |  22 +-
 .../java/df1/connection/SerialDf1Connection.java   |   2 +-
 sandbox/test-java-knxnetip-driver/pom.xml          |  14 +-
 sandbox/test-java-passive-s7-driver/pom.xml        |  16 +-
 sandbox/test-java-s7-driver/pom.xml                |  12 +-
 src/main/script/prerequisiteCheck.groovy           |   2 -
 src/site/asciidoc/developers/release.adoc          |  23 +-
 src/site/asciidoc/index.adoc                       |   4 +-
 src/site/asciidoc/protocols/ab-eth/index.adoc      |  33 ++
 src/site/asciidoc/protocols/index.adoc             |   1 +
 src/site/asciidoc/users/testing.adoc               | 165 ++++++++++
 src/site/site.xml                                  |   1 +
 tools/boost/pom.xml                                |   2 +-
 tools/check_sigs.sh                                |   2 +-
 tools/download_staged_release.sh                   |   2 +-
 tools/logstash/pom.xml                             |  51 +---
 tools/pom.xml                                      |   2 +-
 tools/thrift/pom.xml                               |  38 ++-
 212 files changed, 3501 insertions(+), 1402 deletions(-)

diff --cc src/site/asciidoc/index.adoc
index cbd79f9,76492b2..e54a0c1
--- a/src/site/asciidoc/index.adoc
+++ b/src/site/asciidoc/index.adoc
@@@ -22,11 -22,35 +22,11 @@@
  image::iot-lab.jpg[width=480, float=right]
  
  [.lead]
 -Just like OPC-UA, but totally different.
 +Security and performance by design, but without the costs.
  
 -We are currently probably experiencing the greatest advances in the way we process information in human history.
  
 -While these advances are taking over more and more parts of our world, it seems one large segment has continuously been missing out all the fun.
 -
 -As everyone is talking about IoT, virtualization, BigData, FastData and machine-learning, the manufacturing industry has seemed to been stuck in a closed-source proprietary world.
 -
 -Unfortunately the industry's Programmable Logic Controllers (PLCs) communicate with a large number of usually incompatible protocols.
 -This has made it difficult to create applications that integrate these systems with the new world.
 -
 -This is where PLC4X™ comes in:
 -
 -*It is our goal to create a set of libraries, that allow unified access to any type of PLC*
 -
 -In general we are trying to achieve the same goal OPC-UA is trying to address, but we try to do this by going a completely different path.
 -
 -While with OPC-UA every device has to be retrofitted with the ability to speak a new protocol and use a common client to speak with these devices,
 -PLC4X tries to provide a unified API by implementing drivers for communicating with most industrial controllers in the protocols they natively understand.
 -
 -Each of these drivers is being implemented from the specs or by reverse engineering protocols in order to be fully Apache 2.0 licensed.
 -
 -The major benefits of PLC4X™ over OPC-UA, from our point of view are:
 -
 -- No need to modify existing hardware
 -- Activating OPC-UA support on existing PLCs greatly increases the load on the PLCs
 -- No need to pay for licenses to activate OPC-UA support
  
- At first we will be concentrating on providing adapters for the most widely used protocol such as:
+ At first we will be concentrating on providing adapters for the most widely used protocols such as:
  
  - icon:pause-circle[role=light-gray] BACnet
  - icon:check[role=green] link:protocols/ads/index.html[Beckhoff ADS (TCP)]