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 2023/12/26 15:27:05 UTC
(plc4x) branch feature/new-ui-tool updated (dae735399f -> b57e874d59)
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a change to branch feature/new-ui-tool
in repository https://gitbox.apache.org/repos/asf/plc4x.git
from dae735399f Merge remote-tracking branch 'origin/develop' into feature/new-ui-tool
add 48f8e65437 fix: Fixed some issues in the old PN driver (Adjusted the Transport config and made sure it doesn't consume own outgoing messages)
add 6df0fa59d2 fix: Got the data flowing in the NG-Profinet driver.
add 4f51940fd0 build(deps): bump com.influxdb:influxdb-client-java (#1266)
add d0b0f48987 build(deps): bump org.apache.maven.plugins:maven-assembly-plugin (#1267)
add 2d0f4f5612 build(deps): bump org.eclipse.jetty:jetty-util from 12.0.3 to 12.0.4 (#1268)
add f9959e8ced build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin (#1269)
add afd388b797 build(deps): bump github.com/spf13/viper in /plc4go (#1271)
add d821468a24 build(deps): bump github.com/gdamore/tcell/v2 in /plc4go (#1270)
add 0a1943dc00 build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin (#1272)
add 615354ce3c build(deps): bump org.apache.maven:maven-core from 3.9.3 to 3.9.6 (#1274)
add 87313f1a64 build(deps): bump net.java.dev.jna:jna from 5.13.0 to 5.14.0 (#1275)
add 814360fbe1 build(deps): bump org.apache.maven.plugins:maven-invoker-plugin (#1276)
add c73b88a1f7 build(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0 in /plc4go (#1283)
add bd88c37b31 build(deps): bump golang.org/x/tools from 0.16.0 to 0.16.1 in /plc4go (#1282)
add 0af69f249c build(deps): bump commons-logging:commons-logging from 1.2 to 1.3.0 (#1280)
add 3ccbf9fb42 build(deps): bump org.apache.maven.plugins:maven-remote-resources-plugin (#1279)
add 0b392f47c3 build(deps): bump netty.version from 4.1.101.Final to 4.1.102.Final (#1277)
add c5fa7c3e23 fix: Managed to acknowledge the ApplicationReady request ... seems that there's problems with the "expectRequest" functionality.
add 0a763e99d1 build(deps): bump org.apache.maven.plugins:maven-surefire-plugin (#1289)
add 606179e22a build(deps): bump org.codehaus.plexus:plexus-compiler-api (#1287)
add 1f02a713c1 build(deps): bump netty.version from 4.1.102.Final to 4.1.103.Final (#1285)
add f5a040d2eb build(deps): bump github/codeql-action from 2 to 3 (#1284)
add 8f914109bb build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin (#1286)
add c727b60f9c fix(plc4j/profinet): Fix for Array Count and Application Ready Ports
add 6ee7ea61af build(deps): bump actions/upload-artifact from 3 to 4 (#1293)
add 9faa864c1e feat: Updated the ProfinetDiscoverer to be able to handle PN devices without assigned IP addresses.
add 54fcaf63b6 feat: Updated the ProfinetDriver, to intercept mac-address connection strings and in this case to initially update the remote devices IP address using PN-DCP before actually initializing the PN connection.
add 81d514e1c2 feat: Fixed some dependency problems.
add 219a920a9f chore: Updated vendor ids
add e59f376d1c chore: Checked in some updated OPC-UA types.
add 8cff1458ff build(deps): bump com.influxdb:influxdb-client-java (#1294)
add 58765715f1 build(deps): bump netty.version from 4.1.103.Final to 4.1.104.Final (#1295)
add 6879379487 build(deps): bump org.checkerframework:checker-qual (#1296)
add 6db73b0e56 build(deps): bump github.com/spf13/viper in /plc4go (#1300)
add 6dc7313b99 build(deps): bump com.google.googlejavaformat:google-java-format (#1299)
add af7bc31679 build(deps): bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre (#1298)
add ed3d04c113 build(deps): bump org.apache.maven.plugins:maven-compiler-plugin (#1297)
add acbb546ae7 chore: Updated vendor ids
add fc2d56b814 chore: Removed unneeded redefinitions of Java 11, as we now support only java 11 as baseline (Also updated the README and the RELEASE_NOTES as it seems we dropped Java 11 with the last version already)
add c31148d1fb feat: Added the ability to name expectations (helping debug missing requests or replies). Continued working on the PN stuff.
add 6bfdda4a9b feat: Added the ability to name expectations (helping debug missing requests or replies). Continued working on the PN stuff.
add 82dbb13e5b build(deps): bump org.eclipse.jetty:jetty-util from 12.0.4 to 12.0.5 (#1301)
add 80764ed396 build(deps): bump com.google.googlejavaformat:google-java-format (#1302)
add a60c9ba149 build(deps): bump org.codehaus.plexus:plexus-compiler-api (#1303)
add 31a8480b41 build(deps): bump net.bytebuddy:byte-buddy from 1.14.10 to 1.14.11 (#1304)
add 3bbf93d484 chore: Added Timecho to the list of commercial support offerings,
add 0561b5a084 build(deps): bump com.google.errorprone:error_prone_annotations (#1310)
add eb59df2dea build(deps): bump org.asciidoctor:asciidoctorj from 2.5.10 to 2.5.11 (#1309)
add 2c24f23766 build(deps): bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 (#1308)
add 3028df73dd build(deps): bump kotlin.version from 1.9.21 to 1.9.22 (#1307)
add 5e8f983143 build(deps): bump groovy.version from 4.0.16 to 4.0.17 (#1306)
add 5cdfef1234 chore: Added Timecho to the list of commercial support offerings,
add a8f029ed7f chore: Updated vendor ids
add 43b5e7d2f4 feat: Continued working on getting the PN stuff working.
new 5027e04492 Merge remote-tracking branch 'origin/develop' into feature/new-ui-tool
new c454b32a4b fix: Made it possible to build plc4go with disabled tests.
new b57e874d59 refactor: Exposed the configuration parameters to the API version of the driver.
The 3 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:
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/go-platform.yml | 8 +-
.github/workflows/java-platform.yml | 8 +-
.github/workflows/sast.yaml | 2 +-
README.md | 4 +-
RELEASE_NOTES | 2 +
code-generation/language-c/pom.xml | 2 +-
code-generation/language-go/pom.xml | 2 +-
plc4go/go.mod | 10 +-
plc4go/go.sum | 24 +-
plc4go/pom.xml | 3 +-
.../bacnetip/readwrite/model/BACnetVendorId.go | 16 +
.../knxnetip/readwrite/model/KnxManufacturer.go | 58 +-
.../opcua/readwrite/model/AnnotationDataType.go | 293 +
.../opcua/readwrite/model/BitFieldDefinition.go | 385 +
.../opcua/readwrite/model/ConversionLimitEnum.go | 159 +
.../readwrite/model/ExtensionObjectDefinition.go | 8 +
.../opcua/readwrite/model/HistoryUpdateDetails.go | 49 +-
.../model/JsonDataSetMessageContentMask.go | 24 +
.../model/JsonNetworkMessageContentMask.go | 8 +
.../readwrite/model/LinearConversionDataType.go | 286 +
.../readwrite/model/OpcuaNodeIdServicesDataType.go | 64 +
.../readwrite/model/OpcuaNodeIdServicesMethod.go | 7670 +----------------
.../readwrite/model/OpcuaNodeIdServicesObject.go | 1660 +---
.../model/OpcuaNodeIdServicesObjectType.go | 88 +
.../model/OpcuaNodeIdServicesReferenceType.go | 40 +
.../OpcuaNodeIdServicesVariableAcknowledgeable.go | 216 -
.../model/OpcuaNodeIdServicesVariableAlarm.go | 1948 +----
.../model/OpcuaNodeIdServicesVariableAlias.go | 16 +
.../model/OpcuaNodeIdServicesVariableAliases.go | 28 +-
.../OpcuaNodeIdServicesVariableAlternative.go | 159 +
.../model/OpcuaNodeIdServicesVariableAnalog.go | 96 -
.../OpcuaNodeIdServicesVariableApplication.go | 7522 +---------------
.../model/OpcuaNodeIdServicesVariableArray.go | 16 -
.../model/OpcuaNodeIdServicesVariableAudit.go | 7448 +---------------
.../model/OpcuaNodeIdServicesVariableBase.go | 152 +-
.../model/OpcuaNodeIdServicesVariableBit.go | 159 +
.../OpcuaNodeIdServicesVariableCertificate.go | 1416 ---
.../model/OpcuaNodeIdServicesVariableCondition.go | 72 -
.../model/OpcuaNodeIdServicesVariableConversion.go | 143 +
.../model/OpcuaNodeIdServicesVariableCube.go | 62 +-
.../model/OpcuaNodeIdServicesVariableData.go | 1870 +---
.../model/OpcuaNodeIdServicesVariableDefault.go | 138 +-
.../model/OpcuaNodeIdServicesVariableDialog.go | 216 -
.../OpcuaNodeIdServicesVariableDiscrepancy.go | 1110 +--
.../model/OpcuaNodeIdServicesVariableEvent.go | 106 +-
.../model/OpcuaNodeIdServicesVariableExclusive.go | 5338 +-----------
.../model/OpcuaNodeIdServicesVariableFile.go | 288 -
.../model/OpcuaNodeIdServicesVariableFinite.go | 56 -
.../model/OpcuaNodeIdServicesVariableGeneral.go | 106 +-
.../model/OpcuaNodeIdServicesVariableH.go | 16 +
.../model/OpcuaNodeIdServicesVariableHistorical.go | 88 +
.../model/OpcuaNodeIdServicesVariableI.go | 32 -
.../model/OpcuaNodeIdServicesVariableImage.go | 60 +-
.../model/OpcuaNodeIdServicesVariableKey.go | 544 --
.../model/OpcuaNodeIdServicesVariableLimit.go | 1136 +--
.../model/OpcuaNodeIdServicesVariableMulti.go | 104 -
.../model/OpcuaNodeIdServicesVariableN.go | 58 +-
.../model/OpcuaNodeIdServicesVariableNamespace.go | 8 +
.../model/OpcuaNodeIdServicesVariableNamespaces.go | 8 +
.../model/OpcuaNodeIdServicesVariableNetwork.go | 42 +-
.../model/OpcuaNodeIdServicesVariableNon.go | 5860 +------------
.../model/OpcuaNodeIdServicesVariableO.go | 8 +
.../model/OpcuaNodeIdServicesVariableOff.go | 1106 +--
.../model/OpcuaNodeIdServicesVariableOpc.go | 288 +
.../model/OpcuaNodeIdServicesVariableProgram.go | 424 -
.../model/OpcuaNodeIdServicesVariableProgress.go | 108 +-
.../OpcuaNodeIdServicesVariableProvisionable.go | 7544 ----------------
.../model/OpcuaNodeIdServicesVariablePub.go | 1584 +---
.../model/OpcuaNodeIdServicesVariablePublish.go | 704 +-
.../model/OpcuaNodeIdServicesVariablePublished.go | 1238 +--
.../model/OpcuaNodeIdServicesVariableQuantities.go | 175 +
.../model/OpcuaNodeIdServicesVariableQuantity.go | 247 +
.../model/OpcuaNodeIdServicesVariableReader.go | 48 -
.../model/OpcuaNodeIdServicesVariableRedundant.go | 143 +
.../model/OpcuaNodeIdServicesVariableRole.go | 160 -
.../model/OpcuaNodeIdServicesVariableSemantic.go | 106 +-
.../model/OpcuaNodeIdServicesVariableServer.go | 112 +
.../model/OpcuaNodeIdServicesVariableShelved.go | 104 -
.../model/OpcuaNodeIdServicesVariableSyntax.go | 143 +
.../model/OpcuaNodeIdServicesVariableSystem.go | 2434 +-----
.../model/OpcuaNodeIdServicesVariableTag.go | 28 +-
.../model/OpcuaNodeIdServicesVariableThree.go | 40 -
.../model/OpcuaNodeIdServicesVariableTopics.go | 28 +-
.../model/OpcuaNodeIdServicesVariableTransition.go | 104 -
.../OpcuaNodeIdServicesVariableTransparent.go | 8 -
.../model/OpcuaNodeIdServicesVariableTrust.go | 1576 +---
.../model/OpcuaNodeIdServicesVariableTwo.go | 40 -
.../model/OpcuaNodeIdServicesVariableType.go | 8 +
.../model/OpcuaNodeIdServicesVariableUnit.go | 167 +
.../model/OpcuaNodeIdServicesVariableWriter.go | 48 -
.../model/OpcuaNodeIdServicesVariableX.go | 58 +-
.../model/OpcuaNodeIdServicesVariableY.go | 58 +-
.../opcua/readwrite/model/OpcuaStatusCode.go | 56 +
.../opcua/readwrite/model/QuantityDimension.go | 390 +
.../opcua/readwrite/model/RedundantServerMode.go | 167 +
.../java/org/apache/plc4x/java/api/PlcDriver.java | 6 +
.../configuration/PlcConnectionConfiguration.java} | 6 +-
.../org/apache/plc4x/java/mock/ApiMockDriver.java | 6 +
.../org/apache/plc4x/java/abeth/AbEthDriver.java | 4 +-
.../org/apache/plc4x/java/ads/AdsPlcDriver.java | 4 +-
.../java/bacnetip/readwrite/BACnetVendorId.java | 1 +
.../apache/plc4x/java/bacnetip/BacNetIpDriver.java | 4 +-
.../org/apache/plc4x/java/cbus/CBusDriver.java | 4 +-
.../conversation/ConversationContextWrapper.java | 2 +-
.../DeferredRequestContextWrapper.java | 20 +-
.../ResolvedSendRequestContextWrapper.java | 15 +-
.../conversation/SendRequestContextWrapper.java | 13 +-
.../plc4x/java/can/generic/GenericCANDriver.java | 4 +-
.../plc4x/java/canopen/CANOpenPlcDriver.java | 4 +-
.../plc4x/java/canopen/CANTestTransport.java | 4 +-
plc4j/drivers/ctrlx/pom.xml | 2 +-
.../plc4x/java/ctrlx/readwrite/CtrlXDriver.java | 6 +
.../org/apache/plc4x/java/eip/base/EIPDriver.java | 4 +-
.../apache/plc4x/java/eip/logix/LogixDriver.java | 4 +-
.../java/firmata/readwrite/FirmataDriver.java | 4 +-
.../readwrite/Iec60870514PlcDriver.java | 4 +-
.../java/knxnetip/readwrite/KnxManufacturer.java | 7 +-
.../apache/plc4x/java/knxnetip/KnxNetIpDriver.java | 4 +-
.../org/apache/plc4x/java/mock/MockDriver.java | 6 +
.../plc4x/java/modbus/ascii/ModbusAsciiDriver.java | 4 +-
.../plc4x/java/modbus/rtu/ModbusRtuDriver.java | 4 +-
.../plc4x/java/modbus/tcp/ModbusTcpDriver.java | 4 +-
...yUpdateDetails.java => AnnotationDataType.java} | 107 +-
.../java/opcua/readwrite/BitFieldDefinition.java | 236 +
...riableDefault.java => ConversionLimitEnum.java} | 22 +-
.../opcua/readwrite/ExtensionObjectDefinition.java | 13 +
.../java/opcua/readwrite/HistoryUpdateDetails.java | 34 +-
.../readwrite/JsonDataSetMessageContentMask.java | 5 +-
.../readwrite/JsonNetworkMessageContentMask.java | 3 +-
.../opcua/readwrite/LinearConversionDataType.java | 199 +
.../readwrite/OpcuaNodeIdServicesDataType.java | 10 +-
.../opcua/readwrite/OpcuaNodeIdServicesMethod.java | 1299 +--
.../opcua/readwrite/OpcuaNodeIdServicesObject.java | 249 +-
.../readwrite/OpcuaNodeIdServicesObjectType.java | 13 +-
.../OpcuaNodeIdServicesReferenceType.java | 5 +
...OpcuaNodeIdServicesVariableAcknowledgeable.java | 29 +-
.../OpcuaNodeIdServicesVariableAlarm.java | 244 -
.../OpcuaNodeIdServicesVariableAlias.java | 4 +-
.../OpcuaNodeIdServicesVariableAliases.java | 5 +-
...=> OpcuaNodeIdServicesVariableAlternative.java} | 18 +-
.../OpcuaNodeIdServicesVariableAnalog.java | 12 -
.../OpcuaNodeIdServicesVariableApplication.java | 1857 +---
.../OpcuaNodeIdServicesVariableArray.java | 2 -
.../OpcuaNodeIdServicesVariableAudit.java | 912 +-
.../readwrite/OpcuaNodeIdServicesVariableBase.java | 17 +-
...lt.java => OpcuaNodeIdServicesVariableBit.java} | 14 +-
.../OpcuaNodeIdServicesVariableCertificate.java | 179 +-
.../OpcuaNodeIdServicesVariableCondition.java | 9 -
... => OpcuaNodeIdServicesVariableConversion.java} | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableCube.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableData.java | 221 +-
.../OpcuaNodeIdServicesVariableDefault.java | 19 +-
.../OpcuaNodeIdServicesVariableDialog.java | 29 +-
.../OpcuaNodeIdServicesVariableDiscrepancy.java | 140 +-
.../OpcuaNodeIdServicesVariableEvent.java | 15 +-
.../OpcuaNodeIdServicesVariableExclusive.java | 661 +-
.../readwrite/OpcuaNodeIdServicesVariableFile.java | 38 +-
.../OpcuaNodeIdServicesVariableFinite.java | 7 -
.../OpcuaNodeIdServicesVariableGeneral.java | 15 +-
.../readwrite/OpcuaNodeIdServicesVariableH.java | 4 +-
.../OpcuaNodeIdServicesVariableHistorical.java | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableI.java | 4 -
.../OpcuaNodeIdServicesVariableImage.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableKey.java | 70 +-
.../OpcuaNodeIdServicesVariableLimit.java | 140 +-
.../OpcuaNodeIdServicesVariableMulti.java | 13 -
.../readwrite/OpcuaNodeIdServicesVariableN.java | 7 -
.../OpcuaNodeIdServicesVariableNamespace.java | 3 +-
.../OpcuaNodeIdServicesVariableNamespaces.java | 3 +-
.../OpcuaNodeIdServicesVariableNetwork.java | 4 -
.../readwrite/OpcuaNodeIdServicesVariableNon.java | 721 +-
.../readwrite/OpcuaNodeIdServicesVariableO.java | 3 +-
.../readwrite/OpcuaNodeIdServicesVariableOff.java | 140 +-
.../readwrite/OpcuaNodeIdServicesVariableOpc.java | 38 +-
.../OpcuaNodeIdServicesVariableProgram.java | 55 +-
.../OpcuaNodeIdServicesVariableProgress.java | 15 +-
.../OpcuaNodeIdServicesVariableProvisionable.java | 1869 +---
.../readwrite/OpcuaNodeIdServicesVariablePub.java | 200 +-
.../OpcuaNodeIdServicesVariablePublish.java | 124 +-
.../OpcuaNodeIdServicesVariablePublished.java | 234 +-
... => OpcuaNodeIdServicesVariableQuantities.java} | 23 +-
...va => OpcuaNodeIdServicesVariableQuantity.java} | 39 +-
.../OpcuaNodeIdServicesVariableReader.java | 6 -
...a => OpcuaNodeIdServicesVariableRedundant.java} | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableRole.java | 22 +-
.../OpcuaNodeIdServicesVariableSemantic.java | 15 +-
.../OpcuaNodeIdServicesVariableServer.java | 16 +-
.../OpcuaNodeIdServicesVariableShelved.java | 13 -
...java => OpcuaNodeIdServicesVariableSyntax.java} | 12 +-
.../OpcuaNodeIdServicesVariableSystem.java | 306 +-
.../readwrite/OpcuaNodeIdServicesVariableTag.java | 5 +-
.../OpcuaNodeIdServicesVariableThree.java | 5 -
.../OpcuaNodeIdServicesVariableTopics.java | 5 +-
.../OpcuaNodeIdServicesVariableTransition.java | 15 +-
.../OpcuaNodeIdServicesVariableTransparent.java | 3 +-
.../OpcuaNodeIdServicesVariableTrust.java | 193 -
.../readwrite/OpcuaNodeIdServicesVariableTwo.java | 5 -
.../readwrite/OpcuaNodeIdServicesVariableType.java | 1 +
...t.java => OpcuaNodeIdServicesVariableUnit.java} | 15 +-
.../OpcuaNodeIdServicesVariableWriter.java | 6 -
.../readwrite/OpcuaNodeIdServicesVariableX.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableY.java | 7 -
.../java/opcua/readwrite/OpcuaStatusCode.java | 7 +
.../java/opcua/readwrite/QuantityDimension.java | 316 +
...riableDefault.java => RedundantServerMode.java} | 23 +-
.../apache/plc4x/java/opcua/OpcuaPlcDriver.java | 4 +-
.../java/openprotocol/OpenProtocolDriver.java | 4 +-
.../org/apache/plc4x/java/plc4x/Plc4xDriver.java | 4 +-
plc4j/drivers/profinet-ng/README.md | 16 +-
plc4j/drivers/profinet-ng/pom.xml | 4 +
.../profinet/readwrite/PnIoCM_Block_Request.java | 372 -
.../java/profinet/readwrite/PnIoCm_Block.java | 23 +-
.../java/profinet/readwrite/PnIoCm_BlockType.java | 16 +-
.../profinet/readwrite/PnIoCm_Block_ArReq.java | 36 +-
...PnIoCm_Block_ReqPlugAlarmApplicationReady.java} | 35 +-
...> PnIoCm_Control_Request_ApplicationReady.java} | 40 +-
.../PnIoCm_Control_Request_ParameterEnd.java} | 40 +-
.../PnIoCm_Control_Response_ApplicationReady.java} | 38 +-
...a => PnIoCm_Control_Response_ParameterEnd.java} | 40 +-
.../java/profinet/readwrite/PnIoCm_Packet.java | 4 +
.../PnIoCm_Packet_ConnectionlessCancel.java} | 46 +-
.../PnIoCm_Submodule_InputAndOutputData.java | 154 +-
.../readwrite/PnIoCm_Submodule_InputData.java | 66 +-
.../readwrite/PnIoCm_Submodule_OutputData.java | 106 +-
.../apache/plc4x/java/profinet/ProfinetDriver.java | 175 +-
.../java/profinet/channel/ProfinetChannel.java | 7 +-
.../profinet/config/ProfinetConfiguration.java | 3 +
.../ProfinetRawSocketTransportConfiguration.java | 20 +-
.../profinet/context/ProfinetDriverContext.java | 39 +-
.../profinet/discovery/ProfinetDiscoverer.java | 18 +-
.../java/profinet/packets/PnDcpPacketFactory.java | 290 +-
.../profinet/protocol/ProfinetProtocolLogic.java | 302 +-
.../profinet/utils/ProfinetDataTypeMapper.java | 4 +-
...IoTest.java => ManualProfinetIoBrowseTest.java} | 15 +-
.../java/profinet/ManualProfinetIoTestAdamPN.java | 45 +
.../profinet/ManualProfinetIoTestSimocode.java | 44 +
.../ManualProfinetIoTestWagoPNCoupler.java | 45 +
.../profinet/ManualProfinetIoTestZylkSimocode.java | 45 +
.../src/test/resources/logback-test.xml | 2 +
.../profinet/readwrite/PnIoCM_Block_Request.java | 372 -
.../java/profinet/readwrite/PnIoCm_Block.java | 23 +-
.../java/profinet/readwrite/PnIoCm_BlockType.java | 16 +-
.../profinet/readwrite/PnIoCm_Block_ArReq.java | 36 +-
...PnIoCm_Block_ReqPlugAlarmApplicationReady.java} | 35 +-
.../PnIoCm_Control_Request_ApplicationReady.java} | 40 +-
...va => PnIoCm_Control_Request_ParameterEnd.java} | 40 +-
.../PnIoCm_Control_Response_ApplicationReady.java} | 38 +-
.../PnIoCm_Control_Response_ParameterEnd.java} | 40 +-
.../java/profinet/readwrite/PnIoCm_Packet.java | 4 +
...ava => PnIoCm_Packet_ConnectionlessCancel.java} | 46 +-
.../PnIoCm_Submodule_InputAndOutputData.java | 154 +-
.../readwrite/PnIoCm_Submodule_InputData.java | 66 +-
.../readwrite/PnIoCm_Submodule_OutputData.java | 106 +-
.../apache/plc4x/java/profinet/ProfinetDriver.java | 4 +-
.../ProfinetRawSocketTransportConfiguration.java | 15 -
.../profinet/context/ProfinetDeviceContext.java | 18 +
.../plc4x/java/profinet/device/MessageWrapper.java | 2 +-
.../java/profinet/device/ProfinetChannel.java | 41 +-
.../plc4x/java/profinet/device/ProfinetDevice.java | 32 +-
.../profinet/device/ProfinetMessageWrapper.java | 6 +-
.../java/profinet/device/ProfinetModuleImpl.java | 14 +-
.../java/profinet/gsdml/ProfinetModuleItem.java | 4 +-
.../plc4x/java/profinet/DummyMessageWrapper.java | 2 +-
.../plc4x/java/profinet/ManualProfinetIoTest.java | 4 +-
.../apache/plc4x/java/s7/readwrite/S7Driver.java | 5 +-
.../readwrite/configuration/S7Configuration.java | 1 -
.../readwrite/protocol/S7HGeneratedDriverBase.java | 5 +-
.../plc4x/java/s7/readwrite/protocol/S7HMux.java | 4 +-
.../java/s7/readwrite/protocol/S7HMuxImpl.java | 4 +-
.../s7/readwrite/protocol/S7HPlcConnection.java | 3 +-
.../protocol/S7HSingleProtocolStackConfigurer.java | 6 +-
.../plc4x/java/simulated/SimulatedDriver.java | 7 +
.../configuration/SimulatedConfiguration.java} | 8 +-
.../examples/hello-influx-data-collection/pom.xml | 2 +-
plc4j/examples/hello-world-kotlin/pom.xml | 2 +-
plc4j/integrations/apache-calcite/pom.xml | 4 +-
plc4j/integrations/apache-kafka/pom.xml | 2 +-
plc4j/integrations/pom.xml | 2 +-
.../apache/plc4x/java/spi/ConversationContext.java | 4 +
.../spi/GeneratedDriverByteToMessageCodec.java | 4 +-
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 5 +-
.../java/spi/configuration/Configuration.java | 4 +-
.../spi/configuration/ConfigurationFactory.java | 15 +-
.../java/spi/configuration/HasConfiguration.java | 4 +-
.../connection/CustomProtocolStackConfigurer.java | 48 +-
.../spi/connection/DefaultNettyPlcConnection.java | 5 +-
.../java/spi/connection/GeneratedDriverBase.java | 5 +-
.../spi/connection/ProtocolStackConfigurer.java | 5 +-
.../connection/SingleProtocolStackConfigurer.java | 6 +-
.../spi/internal/DefaultConversationContext.java | 4 +-
.../spi/internal/DefaultExpectRequestContext.java | 20 +-
.../spi/internal/DefaultSendRequestContext.java | 18 +-
.../java/spi/internal/HandlerRegistration.java | 12 +-
.../config/TestConfigurationComplex.java | 1 -
.../connection/DefaultNettyPlcConnectionTest.java | 33 +-
.../internal/DefaultSendRequestContextTest.java | 2 +-
plc4j/tools/ui/backend/pom.xml | 15 +
.../java/tools/ui/controller/DriverController.java | 34 +-
.../{Driver.java => ConfigurationOption.java} | 33 +-
.../apache/plc4x/java/tools/ui/model/Driver.java | 17 +-
.../tools/ui/model/{Driver.java => Transport.java} | 14 +-
.../java/tools/ui/service/ConnectionService.java} | 15 +-
plc4j/tools/ui/frontend/frontend/.gitignore | 2 +-
plc4j/tools/ui/frontend/frontend/package.json | 2 +
plc4j/tools/ui/frontend/frontend/src/App.tsx | 12 +-
.../frontend/src/components/PlcConnection.tsx | 45 +
.../src/generated/plc4j-tools-ui-frontend.ts | 39 +-
plc4j/tools/ui/frontend/frontend/src/index.css | 13 +-
.../frontend/frontend/src/layouts/MainLayout.tsx | 146 +-
.../ui/frontend/frontend/src/pages/About.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/Editor.tsx | 11 -
.../{components/MainMenu.tsx => pages/Inspect.tsx} | 57 +-
.../ui/frontend/frontend/src/pages/Mqtt.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/OpcUa.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/Settings.tsx} | 9 +-
plc4j/transports/can/pom.xml | 5 +
.../plc4x/java/transport/can/CANTransport.java | 5 +-
.../transport/socketcan/SocketCANTransport.java | 4 +-
plc4j/transports/test/pom.xml | 5 +
.../transport/virtualcan/VirtualCANTransport.java | 4 +-
.../utils/rawsockets/netty/RawSocketChannel.java | 2 +-
.../knxnetip/readwrite/model/KnxManufacturer.cs | 33 +-
pom.xml | 32 +-
.../protocols/bacnetip/bacnet-vendorids.mspec | 1 +
.../protocols/knxnetip/knx-master-data.mspec | 7 +-
protocols/opcua/pom.xml | 2 +-
.../generated/protocols/opcua/opc-manual.mspec | 57 +-
.../generated/protocols/opcua/opc-services.mspec | 9067 ++------------------
.../generated/protocols/opcua/opc-status.mspec | 7 +
.../main/resources/protocols/profinet/pnio.mspec | 66 +-
.../plc4x/java/discovery/DiscoveryDriver.java | 6 +
.../org/apache/plc4x/java/df1/DF1PlcDriver.java | 4 +-
src/site/asciidoc/users/commercial-support.adoc | 2 +
.../images/users/companies/logo-timecho.png | Bin 0 -> 21130 bytes
335 files changed, 9378 insertions(+), 82457 deletions(-)
create mode 100644 plc4go/protocols/opcua/readwrite/model/AnnotationDataType.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/BitFieldDefinition.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/ConversionLimitEnum.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/LinearConversionDataType.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableAlternative.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableBit.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableConversion.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableQuantities.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableQuantity.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableRedundant.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableSyntax.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/OpcuaNodeIdServicesVariableUnit.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/QuantityDimension.go
create mode 100644 plc4go/protocols/opcua/readwrite/model/RedundantServerMode.go
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => api/src/main/java/org/apache/plc4x/java/api/configuration/PlcConnectionConfiguration.java} (84%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{HistoryUpdateDetails.java => AnnotationDataType.java} (52%)
create mode 100644 plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/BitFieldDefinition.java
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => ConversionLimitEnum.java} (67%)
create mode 100644 plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/LinearConversionDataType.java
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableAliases.java => OpcuaNodeIdServicesVariableAlternative.java} (70%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => OpcuaNodeIdServicesVariableBit.java} (72%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => OpcuaNodeIdServicesVariableConversion.java} (74%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableArray.java => OpcuaNodeIdServicesVariableQuantities.java} (63%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableProgress.java => OpcuaNodeIdServicesVariableQuantity.java} (50%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => OpcuaNodeIdServicesVariableRedundant.java} (75%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => OpcuaNodeIdServicesVariableSyntax.java} (76%)
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => OpcuaNodeIdServicesVariableUnit.java} (72%)
create mode 100644 plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/QuantityDimension.java
copy plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/{OpcuaNodeIdServicesVariableDefault.java => RedundantServerMode.java} (65%)
delete mode 100644 plc4j/drivers/profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCM_Block_Request.java
rename plc4j/drivers/profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Block_ReqPluginAlarmApplicationReady.java => PnIoCm_Block_ReqPlugAlarmApplicationReady.java} (71%)
copy plc4j/drivers/profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Control_Request.java => PnIoCm_Control_Request_ApplicationReady.java} (87%)
rename plc4j/drivers/{profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Request.java => profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Request_ParameterEnd.java} (88%)
rename plc4j/drivers/{profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCM_Block_ResponseConnect.java => profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Response_ApplicationReady.java} (88%)
rename plc4j/drivers/profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Control_ResponseConnect.java => PnIoCm_Control_Response_ParameterEnd.java} (88%)
copy plc4j/drivers/{profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Block_ReqPluginAlarmApplicationReady.java => profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Packet_ConnectionlessCancel.java} (64%)
rename plc4j/drivers/profinet-ng/src/test/java/org/apache/plc4x/java/profinet/{ManualProfinetIoTest.java => ManualProfinetIoBrowseTest.java} (71%)
create mode 100644 plc4j/drivers/profinet-ng/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTestAdamPN.java
create mode 100644 plc4j/drivers/profinet-ng/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTestSimocode.java
create mode 100644 plc4j/drivers/profinet-ng/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTestWagoPNCoupler.java
create mode 100644 plc4j/drivers/profinet-ng/src/test/java/org/apache/plc4x/java/profinet/ManualProfinetIoTestZylkSimocode.java
delete mode 100644 plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCM_Block_Request.java
copy plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Block_ReqPluginAlarmApplicationReady.java => PnIoCm_Block_ReqPlugAlarmApplicationReady.java} (71%)
copy plc4j/drivers/{profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Request.java => profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Request_ApplicationReady.java} (87%)
rename plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Control_ResponseConnect.java => PnIoCm_Control_Request_ParameterEnd.java} (88%)
rename plc4j/drivers/{profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCM_Block_ResponseConnect.java => profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Response_ApplicationReady.java} (88%)
rename plc4j/drivers/{profinet-ng/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Request.java => profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnIoCm_Control_Response_ParameterEnd.java} (88%)
rename plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/{PnIoCm_Block_ReqPluginAlarmApplicationReady.java => PnIoCm_Packet_ConnectionlessCancel.java} (64%)
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/configuration/SimulatedConfiguration.java} (76%)
copy plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/{Driver.java => ConfigurationOption.java} (62%)
copy plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/{Driver.java => Transport.java} (80%)
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/service/ConnectionService.java} (65%)
create mode 100644 plc4j/tools/ui/frontend/frontend/src/components/PlcConnection.tsx
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => tools/ui/frontend/frontend/src/pages/About.tsx} (85%)
delete mode 100644 plc4j/tools/ui/frontend/frontend/src/pages/Editor.tsx
rename plc4j/tools/ui/frontend/frontend/src/{components/MainMenu.tsx => pages/Inspect.tsx} (59%)
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => tools/ui/frontend/frontend/src/pages/Mqtt.tsx} (85%)
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => tools/ui/frontend/frontend/src/pages/OpcUa.tsx} (85%)
copy plc4j/{spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java => tools/ui/frontend/frontend/src/pages/Settings.tsx} (85%)
create mode 100644 src/site/resources/images/users/companies/logo-timecho.png
(plc4x) 03/03: refactor: Exposed the configuration parameters to the API version of the driver.
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/new-ui-tool
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit b57e874d595d43d34a96071ad86a3a7131664118
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Tue Dec 26 16:26:55 2023 +0100
refactor: Exposed the configuration parameters to the API version of the driver.
---
.../java/org/apache/plc4x/java/api/PlcDriver.java | 6 +
.../configuration/PlcConnectionConfiguration.java} | 6 +-
.../org/apache/plc4x/java/mock/ApiMockDriver.java | 6 +
.../org/apache/plc4x/java/abeth/AbEthDriver.java | 4 +-
.../org/apache/plc4x/java/ads/AdsPlcDriver.java | 4 +-
.../apache/plc4x/java/bacnetip/BacNetIpDriver.java | 4 +-
.../org/apache/plc4x/java/cbus/CBusDriver.java | 4 +-
.../plc4x/java/can/generic/GenericCANDriver.java | 4 +-
.../plc4x/java/canopen/CANOpenPlcDriver.java | 4 +-
.../plc4x/java/canopen/CANTestTransport.java | 4 +-
.../plc4x/java/ctrlx/readwrite/CtrlXDriver.java | 6 +
.../org/apache/plc4x/java/eip/base/EIPDriver.java | 4 +-
.../apache/plc4x/java/eip/logix/LogixDriver.java | 4 +-
.../java/firmata/readwrite/FirmataDriver.java | 4 +-
.../readwrite/Iec60870514PlcDriver.java | 4 +-
.../apache/plc4x/java/knxnetip/KnxNetIpDriver.java | 4 +-
.../org/apache/plc4x/java/mock/MockDriver.java | 6 +
.../plc4x/java/modbus/ascii/ModbusAsciiDriver.java | 4 +-
.../plc4x/java/modbus/rtu/ModbusRtuDriver.java | 4 +-
.../plc4x/java/modbus/tcp/ModbusTcpDriver.java | 4 +-
.../apache/plc4x/java/opcua/OpcuaPlcDriver.java | 4 +-
.../java/openprotocol/OpenProtocolDriver.java | 4 +-
.../org/apache/plc4x/java/plc4x/Plc4xDriver.java | 4 +-
.../apache/plc4x/java/profinet/ProfinetDriver.java | 4 +-
.../apache/plc4x/java/profinet/ProfinetDriver.java | 4 +-
.../apache/plc4x/java/s7/readwrite/S7Driver.java | 5 +-
.../readwrite/configuration/S7Configuration.java | 1 -
.../readwrite/protocol/S7HGeneratedDriverBase.java | 5 +-
.../plc4x/java/s7/readwrite/protocol/S7HMux.java | 4 +-
.../java/s7/readwrite/protocol/S7HMuxImpl.java | 4 +-
.../s7/readwrite/protocol/S7HPlcConnection.java | 3 +-
.../protocol/S7HSingleProtocolStackConfigurer.java | 6 +-
.../plc4x/java/simulated/SimulatedDriver.java | 7 +
.../configuration/SimulatedConfiguration.java} | 8 +-
.../java/spi/configuration/Configuration.java | 4 +-
.../spi/configuration/ConfigurationFactory.java | 15 ++-
.../java/spi/configuration/HasConfiguration.java | 4 +-
.../connection/CustomProtocolStackConfigurer.java | 48 +++----
.../spi/connection/DefaultNettyPlcConnection.java | 5 +-
.../java/spi/connection/GeneratedDriverBase.java | 5 +-
.../spi/connection/ProtocolStackConfigurer.java | 5 +-
.../connection/SingleProtocolStackConfigurer.java | 6 +-
.../config/TestConfigurationComplex.java | 1 -
.../connection/DefaultNettyPlcConnectionTest.java | 33 ++---
plc4j/tools/ui/backend/pom.xml | 15 +++
.../java/tools/ui/controller/DriverController.java | 34 ++++-
.../{Driver.java => ConfigurationOption.java} | 33 +++--
.../apache/plc4x/java/tools/ui/model/Driver.java | 17 ++-
.../tools/ui/model/{Driver.java => Transport.java} | 14 +-
.../java/tools/ui/service/ConnectionService.java} | 15 ++-
plc4j/tools/ui/frontend/frontend/.gitignore | 2 +-
plc4j/tools/ui/frontend/frontend/package.json | 2 +
plc4j/tools/ui/frontend/frontend/src/App.tsx | 12 +-
.../frontend/src/components/PlcConnection.tsx | 45 +++++++
.../src/generated/plc4j-tools-ui-frontend.ts | 39 ++++--
plc4j/tools/ui/frontend/frontend/src/index.css | 13 +-
.../frontend/frontend/src/layouts/MainLayout.tsx | 146 ++++++++++-----------
.../ui/frontend/frontend/src/pages/About.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/Editor.tsx | 11 --
.../{components/MainMenu.tsx => pages/Inspect.tsx} | 57 ++++----
.../ui/frontend/frontend/src/pages/Mqtt.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/OpcUa.tsx} | 9 +-
.../ui/frontend/frontend/src/pages/Settings.tsx} | 9 +-
plc4j/transports/can/pom.xml | 5 +
.../plc4x/java/transport/can/CANTransport.java | 5 +-
.../transport/socketcan/SocketCANTransport.java | 4 +-
plc4j/transports/test/pom.xml | 5 +
.../transport/virtualcan/VirtualCANTransport.java | 4 +-
.../plc4x/java/discovery/DiscoveryDriver.java | 6 +
.../org/apache/plc4x/java/df1/DF1PlcDriver.java | 4 +-
70 files changed, 488 insertions(+), 315 deletions(-)
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
index 7ace7ad223..b9d11bf3ad 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.api;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcNotImplementedException;
import org.apache.plc4x.java.api.exceptions.PlcUnsupportedOperationException;
@@ -45,6 +46,11 @@ public interface PlcDriver {
*/
String getProtocolName();
+ /**
+ * @return the type of the Configuration used by this driver.
+ */
+ Class<? extends PlcConnectionConfiguration> getConfigurationType();
+
/**
* Provides driver metadata.
*/
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/configuration/PlcConnectionConfiguration.java
similarity index 84%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/api/src/main/java/org/apache/plc4x/java/api/configuration/PlcConnectionConfiguration.java
index ce47796d1b..f47ec0416f 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/configuration/PlcConnectionConfiguration.java
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-public interface Configuration {
+package org.apache.plc4x.java.api.configuration;
+public interface PlcConnectionConfiguration {
}
diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/mock/ApiMockDriver.java b/plc4j/api/src/test/java/org/apache/plc4x/java/mock/ApiMockDriver.java
index 62876d31e0..9f71b13d4b 100644
--- a/plc4j/api/src/test/java/org/apache/plc4x/java/mock/ApiMockDriver.java
+++ b/plc4j/api/src/test/java/org/apache/plc4x/java/mock/ApiMockDriver.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.mock;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.PlcDriver;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -37,6 +38,11 @@ public class ApiMockDriver implements PlcDriver {
return "Mock Protocol Implementation";
}
+ @Override
+ public Class<PlcConnectionConfiguration> getConfigurationType() {
+ return null;
+ }
+
@Override
public PlcConnection getConnection(String url) {
MockPlcConnection connection = mock(MockPlcConnection.class);
diff --git a/plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/AbEthDriver.java b/plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/AbEthDriver.java
index ea08d3fdd5..420d66d4df 100644
--- a/plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/AbEthDriver.java
+++ b/plc4j/drivers/ab-eth/src/main/java/org/apache/plc4x/java/abeth/AbEthDriver.java
@@ -25,11 +25,11 @@ import org.apache.plc4x.java.abeth.tag.AbEthTag;
import org.apache.plc4x.java.abeth.tag.AbEthTagHandler;
import org.apache.plc4x.java.abeth.protocol.AbEthProtocolLogic;
import org.apache.plc4x.java.abeth.readwrite.CIPEncapsulationPacket;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.model.PlcTag;
import org.apache.plc4x.java.spi.transport.TransportConfiguration;
import org.apache.plc4x.java.spi.transport.TransportConfigurationTypeProvider;
import org.apache.plc4x.java.spi.values.PlcValueHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -52,7 +52,7 @@ public class AbEthDriver extends GeneratedDriverBase<CIPEncapsulationPacket> imp
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return AbEthConfiguration.class;
}
diff --git a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsPlcDriver.java b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsPlcDriver.java
index 17fce286d9..53e300fa1e 100644
--- a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsPlcDriver.java
+++ b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsPlcDriver.java
@@ -25,13 +25,13 @@ import org.apache.plc4x.java.ads.discovery.AdsPlcDiscoverer;
import org.apache.plc4x.java.ads.tag.AdsTagHandler;
import org.apache.plc4x.java.ads.protocol.AdsProtocolLogic;
import org.apache.plc4x.java.ads.readwrite.AmsTCPPacket;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
import org.apache.plc4x.java.spi.messages.DefaultPlcDiscoveryRequest;
import org.apache.plc4x.java.spi.transport.TransportConfiguration;
import org.apache.plc4x.java.spi.transport.TransportConfigurationTypeProvider;
import org.apache.plc4x.java.spi.values.PlcValueHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -87,7 +87,7 @@ public class AdsPlcDriver extends GeneratedDriverBase<AmsTCPPacket> implements T
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return AdsConfiguration.class;
}
diff --git a/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/BacNetIpDriver.java b/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/BacNetIpDriver.java
index 27b2f8c4f8..49d7931520 100644
--- a/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/BacNetIpDriver.java
+++ b/plc4j/drivers/bacnet/src/main/java/org/apache/plc4x/java/bacnetip/BacNetIpDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.bacnetip;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.bacnetip.configuration.BacNetIpConfiguration;
import org.apache.plc4x.java.bacnetip.configuration.BacNetPcapReplayTransportConfiguration;
import org.apache.plc4x.java.bacnetip.configuration.BacNetRawSocketTransportConfiguration;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.bacnetip.configuration.BacNetUdpTransportConfigurat
import org.apache.plc4x.java.bacnetip.tag.BacNetIpTagHandler;
import org.apache.plc4x.java.bacnetip.protocol.BacNetIpProtocolLogic;
import org.apache.plc4x.java.bacnetip.readwrite.BVLC;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -50,7 +50,7 @@ public class BacNetIpDriver extends GeneratedDriverBase<BVLC> implements Transpo
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return BacNetIpConfiguration.class;
}
diff --git a/plc4j/drivers/c-bus/src/main/java/org/apache/plc4x/java/cbus/CBusDriver.java b/plc4j/drivers/c-bus/src/main/java/org/apache/plc4x/java/cbus/CBusDriver.java
index 3e24141764..e1287b874d 100644
--- a/plc4j/drivers/c-bus/src/main/java/org/apache/plc4x/java/cbus/CBusDriver.java
+++ b/plc4j/drivers/c-bus/src/main/java/org/apache/plc4x/java/cbus/CBusDriver.java
@@ -19,13 +19,13 @@
package org.apache.plc4x.java.cbus;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.value.PlcValueHandler;
import org.apache.plc4x.java.cbus.configuration.CBusConfiguration;
import org.apache.plc4x.java.cbus.configuration.CBusTcpTransportConfiguration;
import org.apache.plc4x.java.cbus.context.CBusDriverContext;
import org.apache.plc4x.java.cbus.protocol.CBusProtocolLogic;
import org.apache.plc4x.java.cbus.readwrite.CBusCommand;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.PlcTagHandler;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
@@ -59,7 +59,7 @@ public class CBusDriver extends GeneratedDriverBase<CBusCommand> implements Tran
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return CBusConfiguration.class;
}
diff --git a/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/GenericCANDriver.java b/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/GenericCANDriver.java
index 4f20cc5b08..787ab4ffb6 100644
--- a/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/GenericCANDriver.java
+++ b/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/GenericCANDriver.java
@@ -18,6 +18,7 @@
*/
package org.apache.plc4x.java.can.generic;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.can.adapter.CANDriverAdapter;
import org.apache.plc4x.java.can.generic.configuration.GenericCANConfiguration;
@@ -25,7 +26,6 @@ import org.apache.plc4x.java.can.generic.context.GenericCANDriverContext;
import org.apache.plc4x.java.can.generic.tag.GenericCANTagHandler;
import org.apache.plc4x.java.can.generic.protocol.GenericCANProtocolLogic;
import org.apache.plc4x.java.can.generic.transport.GenericCANFrameDataHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.ConfigurationFactory;
import org.apache.plc4x.java.spi.connection.CustomProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
@@ -54,7 +54,7 @@ public class GenericCANDriver extends GeneratedDriverBase<Message> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return GenericCANConfiguration.class;
}
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/CANOpenPlcDriver.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/CANOpenPlcDriver.java
index e1311d8701..23eb0a38d9 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/CANOpenPlcDriver.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/CANOpenPlcDriver.java
@@ -18,6 +18,7 @@
*/
package org.apache.plc4x.java.canopen;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.model.PlcTag;
import org.apache.plc4x.java.api.value.PlcValue;
@@ -27,7 +28,6 @@ import org.apache.plc4x.java.canopen.context.CANOpenDriverContext;
import org.apache.plc4x.java.canopen.tag.CANOpenTagHandler;
import org.apache.plc4x.java.canopen.protocol.CANOpenProtocolLogic;
import org.apache.plc4x.java.canopen.transport.CANOpenFrameDataHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.ConfigurationFactory;
import org.apache.plc4x.java.spi.connection.CustomProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
@@ -55,7 +55,7 @@ public class CANOpenPlcDriver extends GeneratedDriverBase<Message> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return CANOpenConfiguration.class;
}
diff --git a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/CANTestTransport.java b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/CANTestTransport.java
index 64638bd405..ee0daf8906 100644
--- a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/CANTestTransport.java
+++ b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/CANTestTransport.java
@@ -23,10 +23,10 @@ import io.netty.buffer.ByteBuf;
import java.util.function.Function;
import java.util.function.ToIntFunction;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.canopen.readwrite.CANOpenFrame;
import org.apache.plc4x.java.canopen.transport.CANOpenFrameDataAdapter;
import org.apache.plc4x.java.canopen.transport.IdentityCANOpenFrameBuilder;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.generation.MessageInput;
import org.apache.plc4x.java.transport.can.CANFrameBuilder;
import org.apache.plc4x.java.transport.can.CANTransport;
@@ -46,7 +46,7 @@ public class CANTestTransport extends TestTransport implements CANTransport<CANO
}
@Override
- public MessageInput<CANOpenFrame> getMessageInput(Configuration configuration) {
+ public MessageInput<CANOpenFrame> getMessageInput(PlcConnectionConfiguration configuration) {
return CANOpenFrame::staticParse;
}
diff --git a/plc4j/drivers/ctrlx/src/main/java/org/apache/plc4x/java/ctrlx/readwrite/CtrlXDriver.java b/plc4j/drivers/ctrlx/src/main/java/org/apache/plc4x/java/ctrlx/readwrite/CtrlXDriver.java
index d9c219c37b..8a1d6101d3 100644
--- a/plc4j/drivers/ctrlx/src/main/java/org/apache/plc4x/java/ctrlx/readwrite/CtrlXDriver.java
+++ b/plc4j/drivers/ctrlx/src/main/java/org/apache/plc4x/java/ctrlx/readwrite/CtrlXDriver.java
@@ -23,6 +23,7 @@ import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.authentication.PlcUsernamePasswordAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
import org.apache.plc4x.java.ctrlx.readwrite.configuration.CtrlXConfiguration;
@@ -100,6 +101,11 @@ public class CtrlXDriver implements PlcDriver, TransportConfigurationTypeProvide
usernamePasswordAuthentication.getPassword());
}
+ @Override
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
+ return CtrlXConfiguration.class;
+ }
+
@Override
public Class<? extends TransportConfiguration> getTransportConfigurationType(String transportCode) {
return null;
diff --git a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/EIPDriver.java b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/EIPDriver.java
index fb94204d3e..dccd73c91b 100644
--- a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/EIPDriver.java
+++ b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/EIPDriver.java
@@ -20,6 +20,7 @@ package org.apache.plc4x.java.eip.base;
import io.netty.buffer.ByteBuf;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.eip.base.configuration.EIPConfiguration;
import org.apache.plc4x.java.eip.base.configuration.EipTcpTransportConfiguration;
@@ -34,7 +35,6 @@ import org.apache.plc4x.java.spi.generation.ByteOrder;
import org.apache.plc4x.java.spi.transport.Transport;
import org.apache.plc4x.java.api.value.PlcValueHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.transport.TransportConfiguration;
import org.apache.plc4x.java.spi.transport.TransportConfigurationTypeProvider;
@@ -64,7 +64,7 @@ public class EIPDriver extends GeneratedDriverBase<EipPacket> implements Transpo
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return EIPConfiguration.class;
}
diff --git a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/logix/LogixDriver.java b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/logix/LogixDriver.java
index 79a8338476..cb025aa3e9 100644
--- a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/logix/LogixDriver.java
+++ b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/logix/LogixDriver.java
@@ -19,13 +19,13 @@
package org.apache.plc4x.java.eip.logix;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.value.PlcValueHandler;
import org.apache.plc4x.java.eip.base.tag.EipTag;
import org.apache.plc4x.java.eip.base.protocol.EipProtocolLogic;
import org.apache.plc4x.java.eip.logix.configuration.LogixConfiguration;
import org.apache.plc4x.java.eip.readwrite.EipPacket;
import org.apache.plc4x.java.eip.base.tag.EipTagHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.*;
import java.util.function.Consumer;
@@ -44,7 +44,7 @@ public class LogixDriver extends GeneratedDriverBase<EipPacket> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return LogixConfiguration.class;
}
diff --git a/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/FirmataDriver.java b/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/FirmataDriver.java
index 3f69f94d3a..e0368e2ee4 100644
--- a/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/FirmataDriver.java
+++ b/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/FirmataDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.firmata.readwrite;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.firmata.readwrite.configuration.FirmataConfiguration;
import org.apache.plc4x.java.firmata.readwrite.context.FirmataDriverContext;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.firmata.readwrite.tag.FirmataTag;
import org.apache.plc4x.java.firmata.readwrite.tag.FirmataTagHandler;
import org.apache.plc4x.java.firmata.readwrite.protocol.FirmataProtocolLogic;
import org.apache.plc4x.java.spi.values.PlcValueHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.PlcTagHandler;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
@@ -48,7 +48,7 @@ public class FirmataDriver extends GeneratedDriverBase<FirmataMessage> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return FirmataConfiguration.class;
}
diff --git a/plc4j/drivers/iec-60870/src/main/java/org/apache/plc4x/java/iec608705104/readwrite/Iec60870514PlcDriver.java b/plc4j/drivers/iec-60870/src/main/java/org/apache/plc4x/java/iec608705104/readwrite/Iec60870514PlcDriver.java
index 7dad94f16e..6287f5ce97 100644
--- a/plc4j/drivers/iec-60870/src/main/java/org/apache/plc4x/java/iec608705104/readwrite/Iec60870514PlcDriver.java
+++ b/plc4j/drivers/iec-60870/src/main/java/org/apache/plc4x/java/iec608705104/readwrite/Iec60870514PlcDriver.java
@@ -19,12 +19,12 @@
package org.apache.plc4x.java.iec608705104.readwrite;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
import org.apache.plc4x.java.iec608705104.readwrite.configuration.Iec608705014Configuration;
import org.apache.plc4x.java.iec608705104.readwrite.configuration.Iec608705014TcpTransportConfiguration;
import org.apache.plc4x.java.iec608705104.readwrite.protocol.Iec608705104Protocol;
import org.apache.plc4x.java.iec608705104.readwrite.tag.Iec608705104TagHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -59,7 +59,7 @@ public class Iec60870514PlcDriver extends GeneratedDriverBase<APDU> implements T
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return Iec608705014Configuration.class;
}
diff --git a/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/KnxNetIpDriver.java b/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/KnxNetIpDriver.java
index aabad6c6fd..872870f7f8 100644
--- a/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/KnxNetIpDriver.java
+++ b/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/KnxNetIpDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.knxnetip;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.knxnetip.configuration.KnxNetIpConfiguration;
import org.apache.plc4x.java.knxnetip.configuration.KnxNetIpPcapReplayTransportConfiguration;
import org.apache.plc4x.java.knxnetip.configuration.KnxNetIpRawSocketTransportConfiguration;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.knxnetip.configuration.KnxNetIpUdpTransportConfigur
import org.apache.plc4x.java.knxnetip.context.KnxNetIpDriverContext;
import org.apache.plc4x.java.knxnetip.tag.KnxNetIpTag;
import org.apache.plc4x.java.knxnetip.readwrite.KnxNetIpMessage;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.knxnetip.tag.KnxNetIpTagHandler;
import org.apache.plc4x.java.knxnetip.protocol.KnxNetIpProtocolLogic;
import org.apache.plc4x.java.spi.transport.TransportConfiguration;
@@ -81,7 +81,7 @@ public class KnxNetIpDriver extends GeneratedDriverBase<KnxNetIpMessage> impleme
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return KnxNetIpConfiguration.class;
}
diff --git a/plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/MockDriver.java b/plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/MockDriver.java
index 219a29cc2b..eb830ef351 100644
--- a/plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/MockDriver.java
+++ b/plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/MockDriver.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.mock;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.mock.connection.MockConnection;
import org.apache.plc4x.java.mock.tag.MockTag;
@@ -66,4 +67,9 @@ public class MockDriver implements PlcDriver {
return MockTag.of(tagAddress);
}
+ @Override
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
+ return null;
+ }
+
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ascii/ModbusAsciiDriver.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ascii/ModbusAsciiDriver.java
index a2517a9652..3aa90bd432 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ascii/ModbusAsciiDriver.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/ascii/ModbusAsciiDriver.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.modbus.ascii;
import io.netty.buffer.ByteBuf;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.modbus.ascii.config.ModbusAsciiConfiguration;
import org.apache.plc4x.java.modbus.ascii.protocol.ModbusAsciiProtocolLogic;
import org.apache.plc4x.java.modbus.base.tag.ModbusTag;
@@ -28,7 +29,6 @@ import org.apache.plc4x.java.modbus.base.tag.ModbusTagHandler;
import org.apache.plc4x.java.modbus.readwrite.DriverType;
import org.apache.plc4x.java.modbus.readwrite.ModbusAsciiADU;
import org.apache.plc4x.java.modbus.tcp.config.ModbusTcpTransportConfiguration;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -55,7 +55,7 @@ public class ModbusAsciiDriver extends GeneratedDriverBase<ModbusAsciiADU> imple
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return ModbusAsciiConfiguration.class;
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/rtu/ModbusRtuDriver.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/rtu/ModbusRtuDriver.java
index 3c20c50b03..e5de348f7e 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/rtu/ModbusRtuDriver.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/rtu/ModbusRtuDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.modbus.rtu;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.modbus.base.tag.ModbusTag;
import org.apache.plc4x.java.modbus.base.tag.ModbusTagHandler;
import org.apache.plc4x.java.modbus.readwrite.DriverType;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.modbus.readwrite.ModbusRtuADU;
import org.apache.plc4x.java.modbus.rtu.config.ModbusRtuConfiguration;
import org.apache.plc4x.java.modbus.rtu.protocol.ModbusRtuProtocolLogic;
import org.apache.plc4x.java.modbus.tcp.config.ModbusTcpTransportConfiguration;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -51,7 +51,7 @@ public class ModbusRtuDriver extends GeneratedDriverBase<ModbusRtuADU> implement
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return ModbusRtuConfiguration.class;
}
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/tcp/ModbusTcpDriver.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/tcp/ModbusTcpDriver.java
index 31d319d9b0..64606027eb 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/tcp/ModbusTcpDriver.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/tcp/ModbusTcpDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.modbus.tcp;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
import org.apache.plc4x.java.modbus.base.tag.ModbusTag;
@@ -33,7 +34,6 @@ import org.apache.plc4x.java.spi.messages.DefaultPlcDiscoveryRequest;
import org.apache.plc4x.java.spi.transport.TransportConfiguration;
import org.apache.plc4x.java.spi.transport.TransportConfigurationTypeProvider;
import org.apache.plc4x.java.spi.values.PlcValueHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -55,7 +55,7 @@ public class ModbusTcpDriver extends GeneratedDriverBase<ModbusTcpADU> implement
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return ModbusTcpConfiguration.class;
}
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
index 4a4a9a5937..68474b6c7c 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.opcua;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.opcua.config.OpcuaConfiguration;
import org.apache.plc4x.java.opcua.context.OpcuaDriverContext;
import org.apache.plc4x.java.opcua.optimizer.OpcuaOptimizer;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.opcua.protocol.OpcuaProtocolLogic;
import org.apache.plc4x.java.opcua.readwrite.OpcuaAPU;
import org.apache.plc4x.java.opcua.tag.OpcuaPlcTagHandler;
import org.apache.plc4x.java.opcua.tag.OpcuaTag;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -47,7 +47,7 @@ public class OpcuaPlcDriver extends GeneratedDriverBase<OpcuaAPU> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return OpcuaConfiguration.class;
}
diff --git a/plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/OpenProtocolDriver.java b/plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/OpenProtocolDriver.java
index 938737740f..43d50060a0 100644
--- a/plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/OpenProtocolDriver.java
+++ b/plc4j/drivers/open-protocol/src/main/java/org/apache/plc4x/java/openprotocol/OpenProtocolDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.openprotocol;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
import org.apache.plc4x.java.openprotocol.config.OpenProtocolConfiguration;
import org.apache.plc4x.java.openprotocol.config.OpenProtocolTcpTransportConfiguration;
@@ -26,7 +27,6 @@ import org.apache.plc4x.java.openprotocol.protocol.OpenProtocolProtocolLogic;
import org.apache.plc4x.java.openprotocol.readwrite.OpenProtocolMessage;
import org.apache.plc4x.java.openprotocol.tag.OpenProtocolTag;
import org.apache.plc4x.java.openprotocol.tag.OpenProtocolTagHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -51,7 +51,7 @@ public class OpenProtocolDriver extends GeneratedDriverBase<OpenProtocolMessage>
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return OpenProtocolConfiguration.class;
}
diff --git a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/Plc4xDriver.java b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/Plc4xDriver.java
index 344c7cf9ff..198ffb87d7 100644
--- a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/Plc4xDriver.java
+++ b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/Plc4xDriver.java
@@ -19,12 +19,12 @@
package org.apache.plc4x.java.plc4x;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.plc4x.config.Plc4xConfiguration;
import org.apache.plc4x.java.plc4x.config.Plc4xTcpTransportConfiguration;
import org.apache.plc4x.java.plc4x.tag.Plc4XTagHandler;
import org.apache.plc4x.java.plc4x.protocol.Plc4xProtocolLogic;
import org.apache.plc4x.java.plc4x.readwrite.Plc4xMessage;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.PlcTagHandler;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
@@ -48,7 +48,7 @@ public class Plc4xDriver extends GeneratedDriverBase<Plc4xMessage> implements Tr
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return Plc4xConfiguration.class;
}
diff --git a/plc4j/drivers/profinet-ng/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java b/plc4j/drivers/profinet-ng/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
index 4e36f11017..078e10d49b 100644
--- a/plc4j/drivers/profinet-ng/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
+++ b/plc4j/drivers/profinet-ng/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
@@ -22,6 +22,7 @@ import io.netty.buffer.ByteBuf;
import org.apache.commons.net.util.SubnetUtils;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
@@ -34,7 +35,6 @@ import org.apache.plc4x.java.profinet.protocol.ProfinetProtocolLogic;
import org.apache.plc4x.java.profinet.readwrite.*;
import org.apache.plc4x.java.profinet.tag.ProfinetTag;
import org.apache.plc4x.java.profinet.tag.ProfinetTagHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.ConfigurationFactory;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
@@ -103,7 +103,7 @@ public class ProfinetDriver extends GeneratedDriverBase<Ethernet_Frame> implemen
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return ProfinetConfiguration.class;
}
diff --git a/plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java b/plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
index dd09cc6ce8..399d4f0e47 100644
--- a/plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
+++ b/plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.profinet;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.messages.PlcDiscoveryRequest;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
import org.apache.plc4x.java.profinet.config.ProfinetConfiguration;
@@ -30,7 +31,6 @@ import org.apache.plc4x.java.profinet.protocol.ProfinetProtocolLogic;
import org.apache.plc4x.java.profinet.readwrite.Ethernet_Frame;
import org.apache.plc4x.java.profinet.tag.ProfinetTag;
import org.apache.plc4x.java.profinet.tag.ProfinetTagHandler;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.messages.DefaultPlcDiscoveryRequest;
@@ -76,7 +76,7 @@ public class ProfinetDriver extends GeneratedDriverBase<Ethernet_Frame> implemen
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return ProfinetConfiguration.class;
}
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
index 88a757d1ce..a61fe04788 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.s7.readwrite;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.s7.readwrite.configuration.S7Configuration;
import org.apache.plc4x.java.s7.readwrite.context.S7DriverContext;
import org.apache.plc4x.java.s7.readwrite.optimizer.S7Optimizer;
@@ -27,10 +28,8 @@ import org.apache.plc4x.java.s7.readwrite.protocol.S7HSingleProtocolStackConfigu
import org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic;
import org.apache.plc4x.java.s7.readwrite.tag.S7PlcTagHandler;
import org.apache.plc4x.java.s7.readwrite.tag.S7Tag;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.optimizer.BaseOptimizer;
-import org.apache.plc4x.java.spi.transport.TransportConfigurationTypeProvider;
import org.apache.plc4x.java.spi.values.PlcValueHandler;
import java.util.function.Consumer;
@@ -51,7 +50,7 @@ public class S7Driver extends S7HGeneratedDriverBase {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return S7Configuration.class;
}
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
index d97ccd6bc8..d97b8ba351 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
@@ -18,7 +18,6 @@
*/
package org.apache.plc4x.java.s7.readwrite.configuration;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.annotations.ConfigurationParameter;
import org.apache.plc4x.java.spi.configuration.annotations.defaults.BooleanDefaultValue;
import org.apache.plc4x.java.spi.configuration.annotations.defaults.IntDefaultValue;
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HGeneratedDriverBase.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HGeneratedDriverBase.java
index 66f47cda38..9f54e6a34a 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HGeneratedDriverBase.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HGeneratedDriverBase.java
@@ -20,6 +20,7 @@ package org.apache.plc4x.java.s7.readwrite.protocol;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.value.PlcValueHandler;
import org.apache.plc4x.java.s7.readwrite.TPKTPacket;
@@ -80,7 +81,7 @@ public class S7HGeneratedDriverBase extends GeneratedDriverBase<TPKTPacket> impl
}
// Create the configuration object.
- Configuration configuration = configurationFactory.createConfiguration(
+ PlcConnectionConfiguration configuration = configurationFactory.createConfiguration(
getConfigurationType(), protocolCode, transportCode, transportConfig, paramString);
if (configuration == null) {
throw new PlcConnectionException("Unsupported configuration");
@@ -182,7 +183,7 @@ public class S7HGeneratedDriverBase extends GeneratedDriverBase<TPKTPacket> impl
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
throw new UnsupportedOperationException("getConfigurationType, Not supported yet.");
}
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMux.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMux.java
index 0217f9ae44..fe50c5ba25 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMux.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMux.java
@@ -19,11 +19,11 @@
package org.apache.plc4x.java.s7.readwrite.protocol;
import io.netty.channel.Channel;
-import org.apache.plc4x.java.spi.configuration.Configuration;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
public interface S7HMux {
- void setEmbededhannel(Channel embeded_channel, Configuration configuration);
+ void setEmbededhannel(Channel embeded_channel, PlcConnectionConfiguration configuration);
void setPrimaryChannel(Channel primary_channel);
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMuxImpl.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMuxImpl.java
index 68f935fbdf..f815dc470b 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMuxImpl.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HMuxImpl.java
@@ -26,8 +26,8 @@ import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.handler.codec.MessageToMessageCodec;
import io.netty.handler.timeout.ReadTimeoutHandler;
import io.netty.util.AttributeKey;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.s7.readwrite.configuration.S7Configuration;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.events.ConnectEvent;
import org.apache.plc4x.java.spi.events.ConnectedEvent;
import org.apache.plc4x.java.spi.events.DisconnectEvent;
@@ -270,7 +270,7 @@ public class S7HMuxImpl extends MessageToMessageCodec<ByteBuf, ByteBuf> implemen
@Override
- public void setEmbededhannel(Channel embeded_channel, Configuration configuration) {
+ public void setEmbededhannel(Channel embeded_channel, PlcConnectionConfiguration configuration) {
final S7Configuration conf = (S7Configuration) configuration;
this.embeded_channel = embeded_channel;
this.embeded_channel.attr(IS_CONNECTED).set(false);
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HPlcConnection.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HPlcConnection.java
index 17d20ec4f8..d93a4df50e 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HPlcConnection.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HPlcConnection.java
@@ -26,6 +26,7 @@ import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcPingResponse;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -87,7 +88,7 @@ public class S7HPlcConnection extends DefaultNettyPlcConnection implements Runna
boolean canBrowse,
PlcTagHandler tagHandler,
PlcValueHandler valueHandler,
- Configuration configuration,
+ PlcConnectionConfiguration configuration,
ChannelFactory channelFactory,
ChannelFactory secondaryChannelFactory,
boolean fireDiscoverEvent,
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HSingleProtocolStackConfigurer.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HSingleProtocolStackConfigurer.java
index 46da772024..7bc4210b9c 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HSingleProtocolStackConfigurer.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7HSingleProtocolStackConfigurer.java
@@ -23,12 +23,12 @@ import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.MessageToMessageCodec;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.spi.EventListenerMessageCodec;
import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
import org.apache.plc4x.java.spi.Plc4xProtocolBase;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedProtocolMessageCodec;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -97,7 +97,7 @@ public class S7HSingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message>
this.encryptionHandler = encryptionHandler;
}
- private ChannelHandler getMessageCodec(Configuration configuration) {
+ private ChannelHandler getMessageCodec(PlcConnectionConfiguration configuration) {
return new GeneratedProtocolMessageCodec<>(basePacketClass, messageInput, messageOutput, byteOrder, parserArgs,
packetSizeEstimatorClass != null ? configure(configuration, createInstance(packetSizeEstimatorClass)) : null,
corruptPacketRemoverClass != null ? configure(configuration, createInstance(corruptPacketRemoverClass)) : null);
@@ -107,7 +107,7 @@ public class S7HSingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message>
* Applies the given Stack to the Pipeline
*/
@Override
- public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(Configuration configuration, ChannelPipeline pipeline,
+ public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(PlcConnectionConfiguration configuration, ChannelPipeline pipeline,
PlcAuthentication authentication, boolean passive,
List<EventListener> listeners) {
if (null == protocol) {
diff --git a/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedDriver.java b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedDriver.java
index 318c4d3a9d..41f2d81b67 100644
--- a/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedDriver.java
+++ b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/SimulatedDriver.java
@@ -20,7 +20,9 @@ package org.apache.plc4x.java.simulated;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
+import org.apache.plc4x.java.simulated.configuration.SimulatedConfiguration;
import org.apache.plc4x.java.simulated.connection.SimulatedConnection;
import org.apache.plc4x.java.simulated.connection.SimulatedDevice;
import org.apache.plc4x.java.api.PlcDriver;
@@ -66,4 +68,9 @@ public class SimulatedDriver implements PlcDriver {
return SimulatedTag.of(tagAddress);
}
+ @Override
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
+ return SimulatedConfiguration.class;
+ }
+
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/configuration/SimulatedConfiguration.java
similarity index 76%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/configuration/SimulatedConfiguration.java
index ce47796d1b..0e21e98fa7 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/configuration/SimulatedConfiguration.java
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-public interface Configuration {
+package org.apache.plc4x.java.simulated.configuration;
+import org.apache.plc4x.java.spi.configuration.Configuration;
+
+public class SimulatedConfiguration implements Configuration {
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
index ce47796d1b..3ee60cdfd0 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
@@ -18,6 +18,8 @@
*/
package org.apache.plc4x.java.spi.configuration;
-public interface Configuration {
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
+
+public interface Configuration extends PlcConnectionConfiguration {
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java
index 6e4bfd9110..af2717bae8 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.spi.configuration;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.spi.configuration.annotations.ComplexConfigurationParameter;
import org.apache.plc4x.java.spi.configuration.annotations.ConfigurationParameter;
@@ -54,15 +55,15 @@ public class ConfigurationFactory {
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationFactory.class);
- public <T extends Configuration> T createConfiguration(Class<T> pClazz, String protocolCode, String transportCode,
- String transportConfig, String paramString) {
+ public <T extends PlcConnectionConfiguration> T createConfiguration(Class<T> pClazz, String protocolCode, String transportCode,
+ String transportConfig, String paramString) {
// Get a map of all parameters in the connection string.
Map<String, List<String>> paramStringValues = splitQuery(paramString);
return createConfiguration(pClazz, protocolCode, transportCode, transportConfig, paramStringValues);
}
- public <T extends Configuration> T createPrefixedConfiguration(Class<T> pClazz, String prefix, String protocolCode,
+ public <T extends PlcConnectionConfiguration> T createPrefixedConfiguration(Class<T> pClazz, String prefix, String protocolCode,
String transportCode, String transportConfig,
String paramString) {
@@ -79,7 +80,7 @@ public class ConfigurationFactory {
return createConfiguration(pClazz, protocolCode, transportCode, transportConfig, filteredParamStringValues);
}
- public <T extends Configuration> T createConfiguration(Class<T> pClazz, String protocolCode, String transportCode,
+ public <T extends PlcConnectionConfiguration> T createConfiguration(Class<T> pClazz, String protocolCode, String transportCode,
String transportConfig, Map<String, List<String>> paramStringValues) {
// Get a map of all configuration parameter fields.
// - Get a list of all fields in the given class.
@@ -172,7 +173,7 @@ public class ConfigurationFactory {
return instance;
}
- public static <T> T configure(Configuration configuration, T obj) {
+ public static <T> T configure(PlcConnectionConfiguration configuration, T obj) {
// Check if in this object is configurable at all.
if (ClassUtils.isAssignable(obj.getClass(), HasConfiguration.class)) {
// Check if the type declared by the HasConfiguration interface is
@@ -210,7 +211,7 @@ public class ConfigurationFactory {
* @param field name of the field.
* @return name of the configuration (either from the annotation or from the field itself)
*/
- private static String getConfigurationName(Field field) {
+ public static String getConfigurationName(Field field) {
if (field.getAnnotation(ComplexConfigurationParameter.class) != null) {
return field.getAnnotation(ComplexConfigurationParameter.class).prefix();
} else if (StringUtils.isBlank(field.getAnnotation(ConfigurationParameter.class).value())) {
@@ -274,7 +275,7 @@ public class ConfigurationFactory {
throw new IllegalArgumentException("Unsupported property type " + field.getType().getName());
}
- private static Object getDefaultValueFromAnnotation(Field field) {
+ public static Object getDefaultValueFromAnnotation(Field field) {
IntDefaultValue intDefaultValue = field.getAnnotation(IntDefaultValue.class);
if (intDefaultValue != null) {
return intDefaultValue.value();
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/HasConfiguration.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/HasConfiguration.java
index 2baa49a388..8be7cbc5e0 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/HasConfiguration.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/HasConfiguration.java
@@ -18,6 +18,8 @@
*/
package org.apache.plc4x.java.spi.configuration;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
+
/**
* (Marker) Interface which can be used to tell PLC4X that a class (that is instantiated by PLC4X)
* has a Configuration.
@@ -25,7 +27,7 @@ package org.apache.plc4x.java.spi.configuration;
*
* @param <CONFIGURATION> Class of the Configuration
*/
-public interface HasConfiguration<CONFIGURATION extends Configuration> {
+public interface HasConfiguration<CONFIGURATION extends PlcConnectionConfiguration> {
/**
* Is called directly after instantiation before the class is used somewhere.
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
index a37e1dd927..1871cb0893 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
@@ -26,11 +26,11 @@ import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.MessageToMessageCodec;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.spi.EventListenerMessageCodec;
import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
import org.apache.plc4x.java.spi.Plc4xProtocolBase;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.context.DriverContext;
import org.apache.plc4x.java.spi.generation.ByteOrder;
import org.apache.plc4x.java.spi.generation.Message;
@@ -49,16 +49,16 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
private final Class<BASE_PACKET_CLASS> basePacketClass;
private final ByteOrder byteOrder;
- private final Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
- private final Function<Configuration, ? extends DriverContext> driverContext;
- private final Function<Configuration, ? extends MessageInput<BASE_PACKET_CLASS>> protocolIO;
- private final Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
- private final Function<Configuration, ? extends Consumer<ByteBuf>> corruptPacketRemover;
+ private final Function<PlcConnectionConfiguration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
+ private final Function<PlcConnectionConfiguration, ? extends DriverContext> driverContext;
+ private final Function<PlcConnectionConfiguration, ? extends MessageInput<BASE_PACKET_CLASS>> protocolIO;
+ private final Function<PlcConnectionConfiguration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
+ private final Function<PlcConnectionConfiguration, ? extends Consumer<ByteBuf>> corruptPacketRemover;
private final MessageToMessageCodec<ByteBuf, ByteBuf> encryptionHandler;
private final Object[] parserArgs;
- public static <BPC extends Message> CustomProtocolStackBuilder<BPC> builder(Class<BPC> basePacketClass, Function<Configuration, ? extends MessageInput<BPC>> messageInput) {
+ public static <BPC extends Message> CustomProtocolStackBuilder<BPC> builder(Class<BPC> basePacketClass, Function<PlcConnectionConfiguration, ? extends MessageInput<BPC>> messageInput) {
return new CustomProtocolStackBuilder<>(basePacketClass, messageInput);
}
@@ -66,11 +66,11 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
CustomProtocolStackConfigurer(Class<BASE_PACKET_CLASS> basePacketClass,
ByteOrder byteOrder,
Object[] parserArgs,
- Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol,
- Function<Configuration, ? extends DriverContext> driverContext,
- Function<Configuration, ? extends MessageInput<BASE_PACKET_CLASS>> protocolIO,
- Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator,
- Function<Configuration, ? extends Consumer<ByteBuf>> corruptPacketRemover,
+ Function<PlcConnectionConfiguration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol,
+ Function<PlcConnectionConfiguration, ? extends DriverContext> driverContext,
+ Function<PlcConnectionConfiguration, ? extends MessageInput<BASE_PACKET_CLASS>> protocolIO,
+ Function<PlcConnectionConfiguration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator,
+ Function<PlcConnectionConfiguration, ? extends Consumer<ByteBuf>> corruptPacketRemover,
MessageToMessageCodec<ByteBuf, ByteBuf> encryptionHandler) {
this.basePacketClass = basePacketClass;
this.byteOrder = byteOrder;
@@ -83,7 +83,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
this.encryptionHandler = encryptionHandler;
}
- private ChannelHandler getMessageCodec(Configuration configuration) {
+ private ChannelHandler getMessageCodec(PlcConnectionConfiguration configuration) {
return new GeneratedProtocolMessageCodec<>(basePacketClass, protocolIO.apply(configuration), byteOrder, parserArgs,
packetSizeEstimator == null ? null : packetSizeEstimator.apply(configuration),
corruptPacketRemover == null ? null : corruptPacketRemover.apply(configuration));
@@ -91,7 +91,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
/** Applies the given Stack to the Pipeline */
@Override
- public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(Configuration configuration, ChannelPipeline pipeline,
+ public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(PlcConnectionConfiguration configuration, ChannelPipeline pipeline,
PlcAuthentication authentication, boolean passive,
List<EventListener> listeners) {
if (this.encryptionHandler != null) {
@@ -117,21 +117,21 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
public static final class CustomProtocolStackBuilder<BASE_PACKET_CLASS extends Message> {
private final Class<BASE_PACKET_CLASS> basePacketClass;
- private final Function<Configuration, ? extends MessageInput<BASE_PACKET_CLASS>> messageInput;
- private Function<Configuration, ? extends DriverContext> driverContext;
+ private final Function<PlcConnectionConfiguration, ? extends MessageInput<BASE_PACKET_CLASS>> messageInput;
+ private Function<PlcConnectionConfiguration, ? extends DriverContext> driverContext;
private ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
private Object[] parserArgs;
- private Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
- private Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
- private Function<Configuration, ? extends Consumer<ByteBuf>> corruptPacketRemover;
+ private Function<PlcConnectionConfiguration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
+ private Function<PlcConnectionConfiguration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
+ private Function<PlcConnectionConfiguration, ? extends Consumer<ByteBuf>> corruptPacketRemover;
private MessageToMessageCodec<ByteBuf, ByteBuf> encryptionHandler;
- public CustomProtocolStackBuilder(Class<BASE_PACKET_CLASS> basePacketClass, Function<Configuration, ? extends MessageInput<BASE_PACKET_CLASS>> messageInput) {
+ public CustomProtocolStackBuilder(Class<BASE_PACKET_CLASS> basePacketClass, Function<PlcConnectionConfiguration, ? extends MessageInput<BASE_PACKET_CLASS>> messageInput) {
this.basePacketClass = basePacketClass;
this.messageInput = messageInput;
}
- public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withDriverContext(Function<Configuration, ? extends DriverContext> driverContextClass) {
+ public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withDriverContext(Function<PlcConnectionConfiguration, ? extends DriverContext> driverContextClass) {
this.driverContext = driverContextClass;
return this;
}
@@ -156,17 +156,17 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
return this;
}
- public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withProtocol(Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol) {
+ public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withProtocol(Function<PlcConnectionConfiguration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol) {
this.protocol = protocol;
return this;
}
- public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withPacketSizeEstimator(Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator) {
+ public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withPacketSizeEstimator(Function<PlcConnectionConfiguration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator) {
this.packetSizeEstimator = packetSizeEstimator;
return this;
}
- public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withCorruptPacketRemover(Function<Configuration, ? extends Consumer<ByteBuf>> corruptPacketRemover) {
+ public CustomProtocolStackBuilder<BASE_PACKET_CLASS> withCorruptPacketRemover(Function<PlcConnectionConfiguration, ? extends Consumer<ByteBuf>> corruptPacketRemover) {
this.corruptPacketRemover = corruptPacketRemover;
return this;
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
index ccc95d6b9c..f50fd0d7a1 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
@@ -22,6 +22,7 @@ import io.netty.channel.*;
import java.util.concurrent.RejectedExecutionException;
import org.apache.plc4x.java.api.EventPlcConnection;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.exceptions.PlcIoException;
import org.apache.plc4x.java.api.listener.ConnectionStateListener;
@@ -48,7 +49,7 @@ public class DefaultNettyPlcConnection extends AbstractPlcConnection implements
protected final static long DEFAULT_DISCONNECT_WAIT_TIME = 10000L;
private static final Logger logger = LoggerFactory.getLogger(DefaultNettyPlcConnection.class);
- protected final Configuration configuration;
+ protected final PlcConnectionConfiguration configuration;
protected final ChannelFactory channelFactory;
protected final boolean fireDiscoverEvent;
protected final boolean awaitSessionSetupComplete;
@@ -68,7 +69,7 @@ public class DefaultNettyPlcConnection extends AbstractPlcConnection implements
boolean canBrowse,
PlcTagHandler tagHandler,
PlcValueHandler valueHandler,
- Configuration configuration,
+ PlcConnectionConfiguration configuration,
ChannelFactory channelFactory,
boolean fireDiscoverEvent,
boolean awaitSessionSetupComplete,
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
index a04939a499..9ac8c4c4aa 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.spi.connection;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.value.PlcValueHandler;
import org.apache.plc4x.java.spi.configuration.Configuration;
@@ -47,7 +48,7 @@ public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implement
public static final Pattern URI_PATTERN = Pattern.compile(
"^(?<protocolCode>[a-z0-9\\-]*)(:(?<transportCode>[a-z0-9]*))?://(?<transportConfig>[^?]*)(\\?(?<paramString>.*))?");
- protected abstract Class<? extends Configuration> getConfigurationType();
+ public abstract Class<? extends PlcConnectionConfiguration> getConfigurationType();
protected boolean canPing() {
return false;
@@ -133,7 +134,7 @@ public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implement
}
// Create the configuration object.
- Configuration configuration = configurationFactory
+ PlcConnectionConfiguration configuration = configurationFactory
.createConfiguration(getConfigurationType(), protocolCode, transportCode, transportConfig, paramString);
if (configuration == null) {
throw new PlcConnectionException("Unsupported configuration");
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ProtocolStackConfigurer.java
index 42b070aa7d..c338d8d08d 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ProtocolStackConfigurer.java
@@ -20,16 +20,15 @@ package org.apache.plc4x.java.spi.connection;
import io.netty.channel.ChannelPipeline;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.spi.Plc4xProtocolBase;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.generation.Message;
-import java.util.Collections;
import java.util.List;
public interface ProtocolStackConfigurer<T extends Message> {
- Plc4xProtocolBase<T> configurePipeline(Configuration configuration, ChannelPipeline pipeline, PlcAuthentication authentication, boolean passive, List<EventListener> listeners);
+ Plc4xProtocolBase<T> configurePipeline(PlcConnectionConfiguration configuration, ChannelPipeline pipeline, PlcAuthentication authentication, boolean passive, List<EventListener> listeners);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
index dfae98eaf8..d4209e9940 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
@@ -25,12 +25,12 @@ import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.MessageToMessageCodec;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.spi.EventListenerMessageCodec;
import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
import org.apache.plc4x.java.spi.Plc4xProtocolBase;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.context.DriverContext;
import org.apache.plc4x.java.spi.generation.ByteOrder;
import org.apache.plc4x.java.spi.generation.Message;
@@ -92,7 +92,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
this.encryptionHandler = encryptionHandler;
}
- private ChannelHandler getMessageCodec(Configuration configuration) {
+ private ChannelHandler getMessageCodec(PlcConnectionConfiguration configuration) {
return new GeneratedProtocolMessageCodec<>(basePacketClass, messageInput, messageOutput, byteOrder, parserArgs,
packetSizeEstimatorClass != null ? configure(configuration, createInstance(packetSizeEstimatorClass)) : null,
corruptPacketRemoverClass != null ? configure(configuration, createInstance(corruptPacketRemoverClass)) : null);
@@ -102,7 +102,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
* Applies the given Stack to the Pipeline
*/
@Override
- public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(Configuration configuration, ChannelPipeline pipeline,
+ public Plc4xProtocolBase<BASE_PACKET_CLASS> configurePipeline(PlcConnectionConfiguration configuration, ChannelPipeline pipeline,
PlcAuthentication authentication, boolean passive,
List<EventListener> listeners) {
if (this.encryptionHandler != null) {
diff --git a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/configuration/config/TestConfigurationComplex.java b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/configuration/config/TestConfigurationComplex.java
index cc286c08d4..8f76aa7a9c 100644
--- a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/configuration/config/TestConfigurationComplex.java
+++ b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/configuration/config/TestConfigurationComplex.java
@@ -21,7 +21,6 @@ package org.apache.plc4x.java.spi.configuration.config;
import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.annotations.ComplexConfigurationParameter;
-import org.apache.plc4x.java.spi.configuration.annotations.ConfigurationParameter;
public class TestConfigurationComplex implements Configuration {
diff --git a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnectionTest.java b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnectionTest.java
index a01e3c0ffd..7ea957b323 100644
--- a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnectionTest.java
+++ b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnectionTest.java
@@ -22,15 +22,10 @@ package org.apache.plc4x.java.spi.connection;
import static java.util.concurrent.ForkJoinPool.commonPool;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import io.netty.channel.ChannelPipeline;
-import java.util.List;
-import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
-import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.spi.ConversationContext;
import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
import org.apache.plc4x.java.spi.Plc4xProtocolBase;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.generation.Message;
import org.apache.plc4x.java.spi.netty.NettyHashTimerTimeoutManager;
import org.junit.jupiter.api.Test;
@@ -50,26 +45,20 @@ class DefaultNettyPlcConnectionTest {
final GateKeeper disconnect = new GateKeeper("disconnect");
final GateKeeper close = new GateKeeper("close");
- ProtocolStackConfigurer<Message> stackConfigurer = new ProtocolStackConfigurer<>() {
- @Override
- public Plc4xProtocolBase<Message> configurePipeline(Configuration configuration, ChannelPipeline pipeline, PlcAuthentication authentication, boolean passive, List<EventListener> listeners) {
- TestProtocolBase base = new TestProtocolBase(discovery, connect, disconnect, close);
- Plc4xNettyWrapper<Message> context = new Plc4xNettyWrapper<>(new NettyHashTimerTimeoutManager(), pipeline, passive, base, authentication, Message.class);
- pipeline.addLast(context);
- return base;
- }
+ ProtocolStackConfigurer<Message> stackConfigurer = (configuration, pipeline, authentication, passive, listeners) -> {
+ TestProtocolBase base = new TestProtocolBase(discovery, connect, disconnect, close);
+ Plc4xNettyWrapper<Message> context = new Plc4xNettyWrapper<>(new NettyHashTimerTimeoutManager(), pipeline, passive, base, authentication, Message.class);
+ pipeline.addLast(context);
+ return base;
};
DefaultNettyPlcConnection connection = new PlcConnectionFactory().withDiscovery().create(channelFactory, stackConfigurer);
- commonPool().submit(new Runnable() {
- @Override
- public void run() {
- try {
- logger.info("Activating connection");
- connection.connect();
- } catch (PlcConnectionException e) {
- throw new RuntimeException(e);
- }
+ commonPool().submit(() -> {
+ try {
+ logger.info("Activating connection");
+ connection.connect();
+ } catch (PlcConnectionException e) {
+ throw new RuntimeException(e);
}
});
diff --git a/plc4j/tools/ui/backend/pom.xml b/plc4j/tools/ui/backend/pom.xml
index 24f907f062..0d5f8a1633 100644
--- a/plc4j/tools/ui/backend/pom.xml
+++ b/plc4j/tools/ui/backend/pom.xml
@@ -71,6 +71,16 @@
<artifactId>plc4j-api</artifactId>
<version>0.12.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-spi</artifactId>
+ <version>0.12.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-connection-cache</artifactId>
+ <version>0.12.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-driver-all</artifactId>
@@ -78,6 +88,11 @@
<type>pom</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
diff --git a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/controller/DriverController.java b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/controller/DriverController.java
index 2abb1c4c83..8919f284dc 100644
--- a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/controller/DriverController.java
+++ b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/controller/DriverController.java
@@ -19,10 +19,16 @@
package org.apache.plc4x.java.tools.ui.controller;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.metadata.PlcDriverMetadata;
+import org.apache.plc4x.java.spi.configuration.ConfigurationFactory;
+import org.apache.plc4x.java.spi.configuration.annotations.ComplexConfigurationParameter;
+import org.apache.plc4x.java.spi.configuration.annotations.ConfigurationParameter;
+import org.apache.plc4x.java.spi.configuration.annotations.Required;
+import org.apache.plc4x.java.tools.ui.model.ConfigurationOption;
import org.apache.plc4x.java.tools.ui.model.Driver;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
@@ -30,10 +36,10 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import java.lang.reflect.Field;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
// Allow from the default port 8080 as well as the one node usually uses for it's dev-mode 5173
@CrossOrigin(origins = {"http://localhost:8080", "http://localhost:5173"})
@@ -51,8 +57,24 @@ public class DriverController {
try {
PlcDriver driver = driverManager.getDriver(protocolCode);
PlcDriverMetadata metadata = driver.getMetadata();
- drivers.add(new Driver(protocolCode, driver.getProtocolName(), metadata.canDiscover()));
- } catch (PlcConnectionException e) {
+
+ // Get a description of all supported configuration options of the given driver.
+ Class<?> configurationType = driver.getConfigurationType();
+ Map<String, ConfigurationOption> configurationOptions = Arrays.stream(FieldUtils.getAllFields(configurationType))
+ // - Filter out only the ones annotated with the ConfigurationParameter annotation.
+ .filter(field -> (field.getAnnotation(ConfigurationParameter.class) != null) || (field.getAnnotation(ComplexConfigurationParameter.class) != null))
+ .map(field -> new ConfigurationOption(field.getName(), field.getType().getTypeName(), field.isAnnotationPresent(Required.class), ConfigurationFactory.getDefaultValueFromAnnotation(field)))
+ // - Create a map with the field-name as key and the field itself as value.
+ .collect(Collectors.toMap(
+ ConfigurationOption::getName,
+ Function.identity()
+ ));
+
+ // TODO: Get a list of all directly supported transports and for each a list of the configuration options.
+
+ drivers.add(new Driver(protocolCode, driver.getProtocolName(), metadata.canDiscover(), configurationOptions, null));
+ } catch (Exception e) {
+ e.printStackTrace();
// Ignore ...
}
}
diff --git a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/ConfigurationOption.java
similarity index 62%
copy from plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
copy to plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/ConfigurationOption.java
index 01f20198b0..58ccb2bda6 100644
--- a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
+++ b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/ConfigurationOption.java
@@ -19,29 +19,34 @@
package org.apache.plc4x.java.tools.ui.model;
-public class Driver {
+public class ConfigurationOption {
- private final String code;
- private final String name;
+ public final String name;
+ public final String typeName;
+ public final boolean required;
+ public final Object defaultValue;
- private final boolean supportsDiscovery;
-
- public Driver(String code, String name, boolean supportsDiscovery) {
- this.code = code;
+ public ConfigurationOption(String name, String typeName, boolean required, Object defaultValue) {
this.name = name;
- this.supportsDiscovery = supportsDiscovery;
- }
-
- public String getCode() {
- return code;
+ this.typeName = typeName;
+ this.required = required;
+ this.defaultValue = defaultValue;
}
public String getName() {
return name;
}
- public boolean isSupportsDiscovery() {
- return supportsDiscovery;
+ public String getTypeName() {
+ return typeName;
+ }
+
+ public boolean isRequired() {
+ return required;
+ }
+
+ public Object getDefaultValue() {
+ return defaultValue;
}
}
diff --git a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
index 01f20198b0..7b9fed9eb8 100644
--- a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
+++ b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
@@ -19,6 +19,8 @@
package org.apache.plc4x.java.tools.ui.model;
+import java.util.Map;
+
public class Driver {
private final String code;
@@ -26,10 +28,15 @@ public class Driver {
private final boolean supportsDiscovery;
- public Driver(String code, String name, boolean supportsDiscovery) {
+ private final Map<String, ConfigurationOption> configurationOptions;
+ private final Map<String, Transport> transports;
+
+ public Driver(String code, String name, boolean supportsDiscovery, Map<String, ConfigurationOption> configurationOptions, Map<String, Transport> transports) {
this.code = code;
this.name = name;
this.supportsDiscovery = supportsDiscovery;
+ this.configurationOptions = configurationOptions;
+ this.transports = transports;
}
public String getCode() {
@@ -44,4 +51,12 @@ public class Driver {
return supportsDiscovery;
}
+ public Map<String, ConfigurationOption> getConfigurationOptions() {
+ return configurationOptions;
+ }
+
+ public Map<String, Transport> getTransports() {
+ return transports;
+ }
+
}
diff --git a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Transport.java
similarity index 80%
copy from plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
copy to plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Transport.java
index 01f20198b0..aebe8a59e1 100644
--- a/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Driver.java
+++ b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/model/Transport.java
@@ -19,17 +19,19 @@
package org.apache.plc4x.java.tools.ui.model;
-public class Driver {
+import java.util.Map;
+
+public class Transport {
private final String code;
private final String name;
- private final boolean supportsDiscovery;
+ private final Map<String, Object> options;
- public Driver(String code, String name, boolean supportsDiscovery) {
+ public Transport(String code, String name, Map<String, Object> options) {
this.code = code;
this.name = name;
- this.supportsDiscovery = supportsDiscovery;
+ this.options = options;
}
public String getCode() {
@@ -40,8 +42,8 @@ public class Driver {
return name;
}
- public boolean isSupportsDiscovery() {
- return supportsDiscovery;
+ public Map<String, Object> getOptions() {
+ return options;
}
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/service/ConnectionService.java
similarity index 65%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/service/ConnectionService.java
index ce47796d1b..1d2299a4f9 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/tools/ui/backend/src/main/java/org/apache/plc4x/java/tools/ui/service/ConnectionService.java
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-public interface Configuration {
+package org.apache.plc4x.java.tools.ui.service;
+
+import org.apache.plc4x.java.utils.cache.CachedPlcConnectionManager;
+
+public class ConnectionService {
+
+ private final CachedPlcConnectionManager cachedPlcConnectionManager;
+
+ public ConnectionService() {
+ cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder().build();
+ }
}
diff --git a/plc4j/tools/ui/frontend/frontend/.gitignore b/plc4j/tools/ui/frontend/frontend/.gitignore
index f50a47abb5..7445c69d6e 100644
--- a/plc4j/tools/ui/frontend/frontend/.gitignore
+++ b/plc4j/tools/ui/frontend/frontend/.gitignore
@@ -12,7 +12,7 @@ dist
dist-ssr
*.local
-# Editor directories and files
+# Inspect directories and files
.vscode/*
!.vscode/extensions.json
.idea
diff --git a/plc4j/tools/ui/frontend/frontend/package.json b/plc4j/tools/ui/frontend/frontend/package.json
index 728597a923..85e36de331 100644
--- a/plc4j/tools/ui/frontend/frontend/package.json
+++ b/plc4j/tools/ui/frontend/frontend/package.json
@@ -12,6 +12,8 @@
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
+ "@mdi/js": "^7.3.67",
+ "@mdi/react": "^1.6.1",
"@mui/icons-material": "^5.14.19",
"@mui/material": "^5.14.20",
"axios": "^1.6.2",
diff --git a/plc4j/tools/ui/frontend/frontend/src/App.tsx b/plc4j/tools/ui/frontend/frontend/src/App.tsx
index b645aa9fff..29c65a7f62 100644
--- a/plc4j/tools/ui/frontend/frontend/src/App.tsx
+++ b/plc4j/tools/ui/frontend/frontend/src/App.tsx
@@ -21,7 +21,11 @@ import './App.css'
import axios from 'axios';
import {createBrowserRouter, RouterProvider} from "react-router-dom";
import MainLayout from "./layouts/MainLayout.tsx";
-import Editor from "./pages/Editor.tsx";
+import Inspect from "./pages/Inspect.tsx";
+import OpcUa from "./pages/OpcUa.tsx";
+import Mqtt from "./pages/Mqtt.tsx";
+import Settings from "./pages/Settings.tsx";
+import About from "./pages/About.tsx";
axios.defaults.baseURL = 'http://localhost:8080';
@@ -31,7 +35,11 @@ const router = createBrowserRouter([
path: '/',
element: <MainLayout/>,
children: [
- {path: '/', element: <Editor/>},
+ {path: '/inspect', element: <Inspect/>},
+ {path: '/opcua', element: <OpcUa/>},
+ {path: '/mqtt', element: <Mqtt/>},
+ {path: '/settings', element: <Settings/>},
+ {path: '/about', element: <About/>},
]
},
])
diff --git a/plc4j/tools/ui/frontend/frontend/src/components/PlcConnection.tsx b/plc4j/tools/ui/frontend/frontend/src/components/PlcConnection.tsx
new file mode 100644
index 0000000000..08c807a850
--- /dev/null
+++ b/plc4j/tools/ui/frontend/frontend/src/components/PlcConnection.tsx
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import 'primeicons/primeicons.css';
+import {TabPanel} from "primereact/tabview";
+import {TreeTable} from "primereact/treetable";
+import {Column} from "primereact/column";
+
+type PlcConnectionProps = {
+ connectionString: string;
+}
+
+export default function PlcConnection({connectionString}: PlcConnectionProps) {
+ return (
+ <TabPanel key={connectionString} header={connectionString} closable={true} contentClassName="h-full">
+ <TreeTable>
+ <Column field="name" header="Name" expander/>
+ <Column field="dataType" header="Datatype"/>
+ <Column field="size" header="Size"/>
+ <Column field="readable" header="Readable"/>
+ <Column field="writable" header="Writable"/>
+ <Column field="subscribable" header="Subscribable"/>
+ <Column field="publishable" header="Publishable"/>
+ <Column field="value" header="Value"/>
+ <Column field="setValue" header="Set Value"/>
+ </TreeTable>
+ </TabPanel>
+ )
+}
\ No newline at end of file
diff --git a/plc4j/tools/ui/frontend/frontend/src/generated/plc4j-tools-ui-frontend.ts b/plc4j/tools/ui/frontend/frontend/src/generated/plc4j-tools-ui-frontend.ts
index 3c9d1e79a1..79d344b313 100644
--- a/plc4j/tools/ui/frontend/frontend/src/generated/plc4j-tools-ui-frontend.ts
+++ b/plc4j/tools/ui/frontend/frontend/src/generated/plc4j-tools-ui-frontend.ts
@@ -19,7 +19,7 @@
*/
/* tslint:disable */
/* eslint-disable */
-// Generated using typescript-generator version 3.2.1263 on 2023-12-07 13:27:46.
+// Generated using typescript-generator version 3.2.1263 on 2023-12-26 16:21:15.
export interface PlcBrowseItem {
name: string;
@@ -27,8 +27,8 @@ export interface PlcBrowseItem {
writable: boolean;
children: { [index: string]: PlcBrowseItem };
tag: PlcTag;
- subscribable: boolean;
options: { [index: string]: PlcValue };
+ subscribable: boolean;
}
export interface PlcBrowseItemArrayInfo {
@@ -42,18 +42,18 @@ export interface PlcBrowseRequest extends PlcRequest {
}
export interface PlcBrowseResponse extends PlcResponse {
- queryNames: string[];
request: PlcBrowseRequest;
+ queryNames: string[];
}
export interface PlcDiscoveryItem {
name: string;
attributes: { [index: string]: PlcValue };
- transportCode: string;
- transportUrl: string;
+ options: { [index: string]: string };
connectionUrl: string;
+ transportUrl: string;
protocolCode: string;
- options: { [index: string]: string };
+ transportCode: string;
}
export interface PlcDiscoveryRequest extends PlcRequest {
@@ -82,16 +82,16 @@ export interface PlcQuery {
}
export interface PlcTag {
- arrayInfo: ArrayInfo[];
addressString: string;
+ arrayInfo: ArrayInfo[];
plcValueType: PlcValueType;
}
export interface PlcValue {
- simple: boolean;
bigInteger: number;
- short: number;
boolean: boolean;
+ simple: boolean;
+ short: number;
length: number;
byte: number;
int: number;
@@ -107,11 +107,11 @@ export interface PlcValue {
duration: Duration;
date: Date;
keys: string[];
- plcValueType: PlcValueType;
- metaDataNames: string[];
- dateTime: Date;
list: PlcValue[];
nullable: boolean;
+ metaDataNames: string[];
+ dateTime: Date;
+ plcValueType: PlcValueType;
raw: any;
struct: { [index: string]: PlcValue };
}
@@ -140,6 +140,8 @@ export interface Driver {
code: string;
name: string;
supportsDiscovery: boolean;
+ configurationOptions: { [index: string]: ConfigurationOption };
+ transports: { [index: string]: Transport };
}
export interface TemporalUnit {
@@ -149,6 +151,19 @@ export interface TemporalUnit {
dateBased: boolean;
}
+export interface ConfigurationOption {
+ name: string;
+ typeName: string;
+ required: boolean;
+ defaultValue: any;
+}
+
+export interface Transport {
+ code: string;
+ name: string;
+ options: { [index: string]: any };
+}
+
export interface HttpClient<O> {
request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: O; }): RestResponse<R>;
diff --git a/plc4j/tools/ui/frontend/frontend/src/index.css b/plc4j/tools/ui/frontend/frontend/src/index.css
index 0d06692507..f5e8d23f0c 100644
--- a/plc4j/tools/ui/frontend/frontend/src/index.css
+++ b/plc4j/tools/ui/frontend/frontend/src/index.css
@@ -17,6 +17,12 @@
* under the License.
*/
+#root {
+ height:100%;
+ width:100%!important;
+ background-color: gray;
+}
+
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
@@ -42,12 +48,15 @@ a:hover {
color: #535bf2;
}
+html {
+ height: 100%;
+}
+
body {
margin: 0;
display: flex;
place-items: center;
- min-width: 320px;
- min-height: 100vh;
+ height:100%
}
h1 {
diff --git a/plc4j/tools/ui/frontend/frontend/src/layouts/MainLayout.tsx b/plc4j/tools/ui/frontend/frontend/src/layouts/MainLayout.tsx
index 91221e5674..70020e04e3 100644
--- a/plc4j/tools/ui/frontend/frontend/src/layouts/MainLayout.tsx
+++ b/plc4j/tools/ui/frontend/frontend/src/layouts/MainLayout.tsx
@@ -1,87 +1,73 @@
-import {Outlet} from "react-router-dom";
-import {AppBar, Box, CssBaseline, Drawer, IconButton, Toolbar, Typography} from "@mui/material";
-import MenuIcon from "@mui/icons-material/Menu";
-import MainMenu from "../components/MainMenu.tsx";
-import React from "react";
-
-const drawerWidth = 480;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import {Menubar} from "primereact/menubar";
+import {MenuItem} from "primereact/menuitem";
+import plc4xLogo from "../assets/plc4x-logo.svg";
+import {Image} from "primereact/image";
+import {Outlet, useNavigate} from "react-router-dom";
export default function MainLayout() {
- const [mobileOpen, setMobileOpen] = React.useState(false);
+ const navigate = useNavigate();
+
+ const menuItems = [
+ {
+ label: 'Inspect',
+ command() {
+ navigate('/inspect');
+ }
+ },
+ {
+ label: 'OPC-UA Server',
+ command() {
+ navigate('/opcua');
+ }
+ },
+ {
+ label: 'MQTT Emitter',
+ command() {
+ navigate('/mqtt');
+ }
+ },
+ {
+ label: 'Settings',
+ command() {
+ navigate('/settings');
+ }
+ },
+ {
+ label: 'About',
+ command() {
+ navigate('/about');
+ }
+ }
+ ] as MenuItem[];
- const handleDrawerToggle = () => {
- setMobileOpen(!mobileOpen);
- };
+ const startLogo = <Image src={plc4xLogo} width="200px" className="m-3"/>;
- return(
- <Box sx={{display: 'flex'}}>
- <CssBaseline/>
- {/* This is the main application bar */}
- <AppBar
- position="fixed"
- sx={{
- width: {sm: `calc(100% - ${drawerWidth}px)`},
- ml: {sm: `${drawerWidth}px`},
- }}>
- <Toolbar>
- {/* This is the menu button, which is displayed in very narrow screens (Hidden otherwise) */}
- <IconButton
- color="inherit"
- aria-label="open drawer"
- edge="start"
- onClick={handleDrawerToggle}
- sx={{mr: 2, display: {sm: 'none'}}}
- >
- <MenuIcon/>
- </IconButton>
- {/* This is the title text in the main application bar */}
- <Typography variant="h6" noWrap component="div">
- Responsive drawer
- </Typography>
- </Toolbar>
- </AppBar>
- {/* This is the drawer content (Menu) */}
- <Box
- component="nav"
- sx={{width: {sm: drawerWidth}, flexShrink: {sm: 0}}}
- aria-label="mailbox folders"
- >
- {/* This is the dynamic drawer used on mobile devices. */}
- <Drawer
- variant="temporary"
- open={mobileOpen}
- onClose={handleDrawerToggle}
- ModalProps={{
- keepMounted: true, // Better open performance on mobile.
- }}
- sx={{
- display: {xs: 'block', sm: 'none'},
- '& .MuiDrawer-paper': {boxSizing: 'border-box', width: drawerWidth},
- }}
- >
- <MainMenu/>
- </Drawer>
- {/* This is the static drawer used on normal devices. */}
- <Drawer
- variant="permanent"
- sx={{
- display: {xs: 'none', sm: 'block'},
- '& .MuiDrawer-paper': {boxSizing: 'border-box', width: drawerWidth},
- }}
- open
- >
- <MainMenu/>
- </Drawer>
- </Box>
- {/* This is the main application content */}
- <Box
- component="main"
- sx={{flexGrow: 1, p: 3, width: {sm: `calc(100% - ${drawerWidth}px)`}}}
- >
- {/* This is a dummy toolbar to prevent the content from going behind the real application bar */}
- <Toolbar/>
+ return (
+ <>
+ <nav>
+ <Menubar className="flex w-12" model={menuItems} start={startLogo}/>
+ </nav>
+ <main className="h-full" style={{paddingTop: "10px"}}>
<Outlet/>
- </Box>
- </Box>
+ </main>
+ </>
)
}
\ No newline at end of file
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/tools/ui/frontend/frontend/src/pages/About.tsx
similarity index 85%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/tools/ui/frontend/frontend/src/pages/About.tsx
index ce47796d1b..e786aa5694 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/tools/ui/frontend/frontend/src/pages/About.tsx
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-
-public interface Configuration {
+export default function Inspect() {
+ return (
+ <p>Settings</p>
+ )
}
diff --git a/plc4j/tools/ui/frontend/frontend/src/pages/Editor.tsx b/plc4j/tools/ui/frontend/frontend/src/pages/Editor.tsx
deleted file mode 100644
index 0e9f4a20cf..0000000000
--- a/plc4j/tools/ui/frontend/frontend/src/pages/Editor.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import {TabPanel, TabView} from "primereact/tabview";
-
-export default function Editor() {
- return (
- <TabView style={{width: "100%", height: "100%"}}>
- <TabPanel key={"ads://192.168.23.20"} header="ads://192.168.23.20" closable={true}>
- <p>test</p>
- </TabPanel>
- </TabView>
- )
-}
diff --git a/plc4j/tools/ui/frontend/frontend/src/components/MainMenu.tsx b/plc4j/tools/ui/frontend/frontend/src/pages/Inspect.tsx
similarity index 59%
rename from plc4j/tools/ui/frontend/frontend/src/components/MainMenu.tsx
rename to plc4j/tools/ui/frontend/frontend/src/pages/Inspect.tsx
index dd7a06cd06..e2e533ddee 100644
--- a/plc4j/tools/ui/frontend/frontend/src/components/MainMenu.tsx
+++ b/plc4j/tools/ui/frontend/frontend/src/pages/Inspect.tsx
@@ -16,19 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-
-import plc4xLogo from "../assets/plc4x-logo.svg";
-import {Divider, Toolbar} from "@mui/material";
-import {Image} from "primereact/image";
import {TabPanel, TabView} from "primereact/tabview";
-import {ScrollPanel} from "primereact/scrollpanel";
-import NavigationTree from "./NavigationTree.tsx";
+import {Splitter, SplitterPanel} from "primereact/splitter";
import {useState} from "react";
-import {TreeItemData} from "../model/TreeItemData.ts";
import {RestApplicationClient} from "../generated/plc4j-tools-ui-frontend.ts";
import axios from "axios";
+import {TreeItemData} from "../model/TreeItemData.ts";
+import {ScrollPanel} from "primereact/scrollpanel";
+import NavigationTree from "../components/NavigationTree.tsx";
+import PlcConnection from "../components/PlcConnection.tsx";
-export default function MainMenu() {
+export default function Inspect() {
const [driverTreeRoots, setDriverTreeRoots] = useState<TreeItemData[]>([])
const restClient = new RestApplicationClient(axios);
@@ -58,23 +56,28 @@ export default function MainMenu() {
}
return (
- <div>
- <Toolbar>
- <Image src={plc4xLogo} width="200px"/>
- </Toolbar>
- <Divider/>
- <TabView style={{width: '100%', height:'100%'}}>
- <TabPanel header="By Driver" className="m-0">
- <ScrollPanel style={{width: '100%', height:'100%'}} className="h-full">
- <NavigationTree treeItems={driverTreeRoots}/>
- </ScrollPanel>
- </TabPanel>
- <TabPanel header="By Device">
- <ScrollPanel style={{width: '100%', height:'100%'}}>
- <NavigationTree treeItems={driverTreeRoots}/>
- </ScrollPanel>
- </TabPanel>
- </TabView>
- </div>
+ <Splitter className="h-full">
+ <SplitterPanel
+ size={16} minSize={1}
+ className="flex align-items-center justify-content-center">
+ <TabView style={{width: '100%', height:'100%'}}>
+ <TabPanel header="By Driver" className="m-0">
+ <ScrollPanel style={{width: '100%', height:'100%'}} className="h-full">
+ <NavigationTree treeItems={driverTreeRoots}/>
+ </ScrollPanel>
+ </TabPanel>
+ <TabPanel header="By Device">
+ <ScrollPanel style={{width: '100%', height:'100%'}}>
+ <NavigationTree treeItems={driverTreeRoots}/>
+ </ScrollPanel>
+ </TabPanel>
+ </TabView>
+ </SplitterPanel>
+ <SplitterPanel size={84} className="flex align-items-center justify-content-center">
+ <TabView className="h-full w-full" panelContainerClassName="h-full">
+ <PlcConnection connectionString={"ads://192.168.23.20"}/>
+ </TabView>
+ </SplitterPanel>
+ </Splitter>
)
-}
\ No newline at end of file
+}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/tools/ui/frontend/frontend/src/pages/Mqtt.tsx
similarity index 85%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/tools/ui/frontend/frontend/src/pages/Mqtt.tsx
index ce47796d1b..cd3b4d0900 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/tools/ui/frontend/frontend/src/pages/Mqtt.tsx
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-
-public interface Configuration {
+export default function Inspect() {
+ return (
+ <p>MQTT</p>
+ )
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/tools/ui/frontend/frontend/src/pages/OpcUa.tsx
similarity index 85%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/tools/ui/frontend/frontend/src/pages/OpcUa.tsx
index ce47796d1b..9f75a32fb8 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/tools/ui/frontend/frontend/src/pages/OpcUa.tsx
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-
-public interface Configuration {
+export default function Inspect() {
+ return (
+ <p>OPC-UA</p>
+ )
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java b/plc4j/tools/ui/frontend/frontend/src/pages/Settings.tsx
similarity index 85%
copy from plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
copy to plc4j/tools/ui/frontend/frontend/src/pages/Settings.tsx
index ce47796d1b..e786aa5694 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/Configuration.java
+++ b/plc4j/tools/ui/frontend/frontend/src/pages/Settings.tsx
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.java.spi.configuration;
-
-public interface Configuration {
+export default function Inspect() {
+ return (
+ <p>Settings</p>
+ )
}
diff --git a/plc4j/transports/can/pom.xml b/plc4j/transports/can/pom.xml
index 0163d5bb42..df1da86d1b 100644
--- a/plc4j/transports/can/pom.xml
+++ b/plc4j/transports/can/pom.xml
@@ -36,6 +36,11 @@
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-api</artifactId>
+ <version>0.12.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-spi</artifactId>
diff --git a/plc4j/transports/can/src/main/java/org/apache/plc4x/java/transport/can/CANTransport.java b/plc4j/transports/can/src/main/java/org/apache/plc4x/java/transport/can/CANTransport.java
index 31869d5be3..6f46078d8f 100644
--- a/plc4j/transports/can/src/main/java/org/apache/plc4x/java/transport/can/CANTransport.java
+++ b/plc4j/transports/can/src/main/java/org/apache/plc4x/java/transport/can/CANTransport.java
@@ -22,7 +22,8 @@ import io.netty.buffer.ByteBuf;
import java.util.function.Function;
import java.util.function.ToIntFunction;
-import org.apache.plc4x.java.spi.configuration.Configuration;
+
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.spi.generation.Message;
import org.apache.plc4x.java.spi.generation.MessageInput;
import org.apache.plc4x.java.spi.transport.Transport;
@@ -33,7 +34,7 @@ public interface CANTransport<F extends Message> extends Transport {
Class<F> getMessageType();
- MessageInput<F> getMessageInput(Configuration configuration);
+ MessageInput<F> getMessageInput(PlcConnectionConfiguration configuration);
CANFrameBuilder<F> getTransportFrameBuilder();
diff --git a/plc4j/transports/socketcan/src/main/java/org/apache/plc4x/java/transport/socketcan/SocketCANTransport.java b/plc4j/transports/socketcan/src/main/java/org/apache/plc4x/java/transport/socketcan/SocketCANTransport.java
index 433fa839a0..5370d16550 100644
--- a/plc4j/transports/socketcan/src/main/java/org/apache/plc4x/java/transport/socketcan/SocketCANTransport.java
+++ b/plc4j/transports/socketcan/src/main/java/org/apache/plc4x/java/transport/socketcan/SocketCANTransport.java
@@ -23,9 +23,9 @@ import io.netty.buffer.ByteBuf;
import java.util.function.Function;
import java.util.function.ToIntFunction;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.socketcan.readwrite.SocketCANFrame;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.ChannelFactory;
import org.apache.plc4x.java.spi.generation.*;
import org.apache.plc4x.java.transport.can.CANFrameBuilder;
@@ -60,7 +60,7 @@ public class SocketCANTransport implements CANTransport<SocketCANFrame> {
}
@Override
- public MessageInput<SocketCANFrame> getMessageInput(Configuration cfg) {
+ public MessageInput<SocketCANFrame> getMessageInput(PlcConnectionConfiguration cfg) {
return SocketCANFrame::staticParse;
}
diff --git a/plc4j/transports/test/pom.xml b/plc4j/transports/test/pom.xml
index dec6b8303d..eff2360ef1 100644
--- a/plc4j/transports/test/pom.xml
+++ b/plc4j/transports/test/pom.xml
@@ -36,6 +36,11 @@
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-api</artifactId>
+ <version>0.12.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-spi</artifactId>
diff --git a/plc4j/transports/virtualcan/src/main/java/org/apache/plc4x/java/transport/virtualcan/VirtualCANTransport.java b/plc4j/transports/virtualcan/src/main/java/org/apache/plc4x/java/transport/virtualcan/VirtualCANTransport.java
index f7ac12bf38..32e22569a4 100644
--- a/plc4j/transports/virtualcan/src/main/java/org/apache/plc4x/java/transport/virtualcan/VirtualCANTransport.java
+++ b/plc4j/transports/virtualcan/src/main/java/org/apache/plc4x/java/transport/virtualcan/VirtualCANTransport.java
@@ -19,8 +19,8 @@
package org.apache.plc4x.java.transport.virtualcan;
import io.netty.buffer.ByteBuf;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.generation.*;
import org.apache.plc4x.java.transport.can.CANFrameBuilder;
import org.apache.plc4x.java.transport.can.CANTransport;
@@ -109,7 +109,7 @@ public class VirtualCANTransport extends TestTransport implements CANTransport<V
}
@Override
- public MessageInput<VirtualCANFrame> getMessageInput(Configuration configuration) {
+ public MessageInput<VirtualCANFrame> getMessageInput(PlcConnectionConfiguration configuration) {
return new VirtualCANFrameIO();
}
diff --git a/sandbox/discovery/src/main/java/org/apache/plc4x/java/discovery/DiscoveryDriver.java b/sandbox/discovery/src/main/java/org/apache/plc4x/java/discovery/DiscoveryDriver.java
index ec618e3492..c878cf879c 100644
--- a/sandbox/discovery/src/main/java/org/apache/plc4x/java/discovery/DiscoveryDriver.java
+++ b/sandbox/discovery/src/main/java/org/apache/plc4x/java/discovery/DiscoveryDriver.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.java.discovery;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcDriver;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
/**
@@ -49,4 +50,9 @@ public class DiscoveryDriver implements PlcDriver {
throw new PlcConnectionException("Authentication not supported.");
}
+ @Override
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
+ return null;
+ }
+
}
diff --git a/sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/DF1PlcDriver.java b/sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/DF1PlcDriver.java
index 4f76687ea7..4dd7dbfb11 100644
--- a/sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/DF1PlcDriver.java
+++ b/sandbox/test-java-df1-driver/src/main/java/org/apache/plc4x/java/df1/DF1PlcDriver.java
@@ -18,11 +18,11 @@
*/
package org.apache.plc4x.java.df1;
+import org.apache.plc4x.java.api.configuration.PlcConnectionConfiguration;
import org.apache.plc4x.java.df1.configuration.Df1Configuration;
import org.apache.plc4x.java.df1.field.Df1TagHandler;
import org.apache.plc4x.java.df1.protocol.Df1ProtocolLogic;
import org.apache.plc4x.java.df1.readwrite.DF1Command;
-import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
@@ -41,7 +41,7 @@ public class DF1PlcDriver extends GeneratedDriverBase<DF1Command> {
}
@Override
- protected Class<? extends Configuration> getConfigurationType() {
+ public Class<? extends PlcConnectionConfiguration> getConfigurationType() {
return Df1Configuration.class;
}
(plc4x) 01/03: Merge remote-tracking branch 'origin/develop' into feature/new-ui-tool
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/new-ui-tool
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 5027e0449270043abf8a6de239e2e05ade56b2ef
Merge: dae735399f 43b5e7d2f4
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Sat Dec 23 10:24:17 2023 +0100
Merge remote-tracking branch 'origin/develop' into feature/new-ui-tool
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/go-platform.yml | 8 +-
.github/workflows/java-platform.yml | 8 +-
.github/workflows/sast.yaml | 2 +-
README.md | 4 +-
RELEASE_NOTES | 2 +
code-generation/language-c/pom.xml | 2 +-
code-generation/language-go/pom.xml | 2 +-
plc4go/go.mod | 10 +-
plc4go/go.sum | 24 +-
plc4go/pom.xml | 2 +-
.../bacnetip/readwrite/model/BACnetVendorId.go | 16 +
.../knxnetip/readwrite/model/KnxManufacturer.go | 58 +-
.../opcua/readwrite/model/AnnotationDataType.go | 293 +
.../opcua/readwrite/model/BitFieldDefinition.go | 385 +
.../opcua/readwrite/model/ConversionLimitEnum.go | 159 +
.../readwrite/model/ExtensionObjectDefinition.go | 8 +
.../opcua/readwrite/model/HistoryUpdateDetails.go | 49 +-
.../model/JsonDataSetMessageContentMask.go | 24 +
.../model/JsonNetworkMessageContentMask.go | 8 +
.../readwrite/model/LinearConversionDataType.go | 286 +
.../readwrite/model/OpcuaNodeIdServicesDataType.go | 64 +
.../readwrite/model/OpcuaNodeIdServicesMethod.go | 7670 +----------------
.../readwrite/model/OpcuaNodeIdServicesObject.go | 1660 +---
.../model/OpcuaNodeIdServicesObjectType.go | 88 +
.../model/OpcuaNodeIdServicesReferenceType.go | 40 +
.../OpcuaNodeIdServicesVariableAcknowledgeable.go | 216 -
.../model/OpcuaNodeIdServicesVariableAlarm.go | 1948 +----
.../model/OpcuaNodeIdServicesVariableAlias.go | 16 +
.../model/OpcuaNodeIdServicesVariableAliases.go | 28 +-
.../OpcuaNodeIdServicesVariableAlternative.go | 159 +
.../model/OpcuaNodeIdServicesVariableAnalog.go | 96 -
.../OpcuaNodeIdServicesVariableApplication.go | 7522 +---------------
.../model/OpcuaNodeIdServicesVariableArray.go | 16 -
.../model/OpcuaNodeIdServicesVariableAudit.go | 7448 +---------------
.../model/OpcuaNodeIdServicesVariableBase.go | 152 +-
.../model/OpcuaNodeIdServicesVariableBit.go | 159 +
.../OpcuaNodeIdServicesVariableCertificate.go | 1416 ---
.../model/OpcuaNodeIdServicesVariableCondition.go | 72 -
.../model/OpcuaNodeIdServicesVariableConversion.go | 143 +
.../model/OpcuaNodeIdServicesVariableCube.go | 62 +-
.../model/OpcuaNodeIdServicesVariableData.go | 1870 +---
.../model/OpcuaNodeIdServicesVariableDefault.go | 138 +-
.../model/OpcuaNodeIdServicesVariableDialog.go | 216 -
.../OpcuaNodeIdServicesVariableDiscrepancy.go | 1110 +--
.../model/OpcuaNodeIdServicesVariableEvent.go | 106 +-
.../model/OpcuaNodeIdServicesVariableExclusive.go | 5338 +-----------
.../model/OpcuaNodeIdServicesVariableFile.go | 288 -
.../model/OpcuaNodeIdServicesVariableFinite.go | 56 -
.../model/OpcuaNodeIdServicesVariableGeneral.go | 106 +-
.../model/OpcuaNodeIdServicesVariableH.go | 16 +
.../model/OpcuaNodeIdServicesVariableHistorical.go | 88 +
.../model/OpcuaNodeIdServicesVariableI.go | 32 -
.../model/OpcuaNodeIdServicesVariableImage.go | 60 +-
.../model/OpcuaNodeIdServicesVariableKey.go | 544 --
.../model/OpcuaNodeIdServicesVariableLimit.go | 1136 +--
.../model/OpcuaNodeIdServicesVariableMulti.go | 104 -
.../model/OpcuaNodeIdServicesVariableN.go | 58 +-
.../model/OpcuaNodeIdServicesVariableNamespace.go | 8 +
.../model/OpcuaNodeIdServicesVariableNamespaces.go | 8 +
.../model/OpcuaNodeIdServicesVariableNetwork.go | 42 +-
.../model/OpcuaNodeIdServicesVariableNon.go | 5860 +------------
.../model/OpcuaNodeIdServicesVariableO.go | 8 +
.../model/OpcuaNodeIdServicesVariableOff.go | 1106 +--
.../model/OpcuaNodeIdServicesVariableOpc.go | 288 +
.../model/OpcuaNodeIdServicesVariableProgram.go | 424 -
.../model/OpcuaNodeIdServicesVariableProgress.go | 108 +-
.../OpcuaNodeIdServicesVariableProvisionable.go | 7544 ----------------
.../model/OpcuaNodeIdServicesVariablePub.go | 1584 +---
.../model/OpcuaNodeIdServicesVariablePublish.go | 704 +-
.../model/OpcuaNodeIdServicesVariablePublished.go | 1238 +--
.../model/OpcuaNodeIdServicesVariableQuantities.go | 175 +
.../model/OpcuaNodeIdServicesVariableQuantity.go | 247 +
.../model/OpcuaNodeIdServicesVariableReader.go | 48 -
.../model/OpcuaNodeIdServicesVariableRedundant.go | 143 +
.../model/OpcuaNodeIdServicesVariableRole.go | 160 -
.../model/OpcuaNodeIdServicesVariableSemantic.go | 106 +-
.../model/OpcuaNodeIdServicesVariableServer.go | 112 +
.../model/OpcuaNodeIdServicesVariableShelved.go | 104 -
.../model/OpcuaNodeIdServicesVariableSyntax.go | 143 +
.../model/OpcuaNodeIdServicesVariableSystem.go | 2434 +-----
.../model/OpcuaNodeIdServicesVariableTag.go | 28 +-
.../model/OpcuaNodeIdServicesVariableThree.go | 40 -
.../model/OpcuaNodeIdServicesVariableTopics.go | 28 +-
.../model/OpcuaNodeIdServicesVariableTransition.go | 104 -
.../OpcuaNodeIdServicesVariableTransparent.go | 8 -
.../model/OpcuaNodeIdServicesVariableTrust.go | 1576 +---
.../model/OpcuaNodeIdServicesVariableTwo.go | 40 -
.../model/OpcuaNodeIdServicesVariableType.go | 8 +
.../model/OpcuaNodeIdServicesVariableUnit.go | 167 +
.../model/OpcuaNodeIdServicesVariableWriter.go | 48 -
.../model/OpcuaNodeIdServicesVariableX.go | 58 +-
.../model/OpcuaNodeIdServicesVariableY.go | 58 +-
.../opcua/readwrite/model/OpcuaStatusCode.go | 56 +
.../opcua/readwrite/model/QuantityDimension.go | 390 +
.../opcua/readwrite/model/RedundantServerMode.go | 167 +
.../java/bacnetip/readwrite/BACnetVendorId.java | 1 +
.../conversation/ConversationContextWrapper.java | 2 +-
.../DeferredRequestContextWrapper.java | 20 +-
.../ResolvedSendRequestContextWrapper.java | 15 +-
.../conversation/SendRequestContextWrapper.java | 13 +-
plc4j/drivers/ctrlx/pom.xml | 2 +-
.../java/knxnetip/readwrite/KnxManufacturer.java | 7 +-
...yUpdateDetails.java => AnnotationDataType.java} | 107 +-
.../java/opcua/readwrite/BitFieldDefinition.java | 236 +
...riableDefault.java => ConversionLimitEnum.java} | 22 +-
.../opcua/readwrite/ExtensionObjectDefinition.java | 13 +
.../java/opcua/readwrite/HistoryUpdateDetails.java | 34 +-
.../readwrite/JsonDataSetMessageContentMask.java | 5 +-
.../readwrite/JsonNetworkMessageContentMask.java | 3 +-
.../opcua/readwrite/LinearConversionDataType.java | 199 +
.../readwrite/OpcuaNodeIdServicesDataType.java | 10 +-
.../opcua/readwrite/OpcuaNodeIdServicesMethod.java | 1299 +--
.../opcua/readwrite/OpcuaNodeIdServicesObject.java | 249 +-
.../readwrite/OpcuaNodeIdServicesObjectType.java | 13 +-
.../OpcuaNodeIdServicesReferenceType.java | 5 +
...OpcuaNodeIdServicesVariableAcknowledgeable.java | 29 +-
.../OpcuaNodeIdServicesVariableAlarm.java | 244 -
.../OpcuaNodeIdServicesVariableAlias.java | 4 +-
.../OpcuaNodeIdServicesVariableAliases.java | 5 +-
...=> OpcuaNodeIdServicesVariableAlternative.java} | 18 +-
.../OpcuaNodeIdServicesVariableAnalog.java | 12 -
.../OpcuaNodeIdServicesVariableApplication.java | 1857 +---
.../OpcuaNodeIdServicesVariableArray.java | 2 -
.../OpcuaNodeIdServicesVariableAudit.java | 912 +-
.../readwrite/OpcuaNodeIdServicesVariableBase.java | 17 +-
...lt.java => OpcuaNodeIdServicesVariableBit.java} | 14 +-
.../OpcuaNodeIdServicesVariableCertificate.java | 179 +-
.../OpcuaNodeIdServicesVariableCondition.java | 9 -
... => OpcuaNodeIdServicesVariableConversion.java} | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableCube.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableData.java | 221 +-
.../OpcuaNodeIdServicesVariableDefault.java | 19 +-
.../OpcuaNodeIdServicesVariableDialog.java | 29 +-
.../OpcuaNodeIdServicesVariableDiscrepancy.java | 140 +-
.../OpcuaNodeIdServicesVariableEvent.java | 15 +-
.../OpcuaNodeIdServicesVariableExclusive.java | 661 +-
.../readwrite/OpcuaNodeIdServicesVariableFile.java | 38 +-
.../OpcuaNodeIdServicesVariableFinite.java | 7 -
.../OpcuaNodeIdServicesVariableGeneral.java | 15 +-
.../readwrite/OpcuaNodeIdServicesVariableH.java | 4 +-
.../OpcuaNodeIdServicesVariableHistorical.java | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableI.java | 4 -
.../OpcuaNodeIdServicesVariableImage.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableKey.java | 70 +-
.../OpcuaNodeIdServicesVariableLimit.java | 140 +-
.../OpcuaNodeIdServicesVariableMulti.java | 13 -
.../readwrite/OpcuaNodeIdServicesVariableN.java | 7 -
.../OpcuaNodeIdServicesVariableNamespace.java | 3 +-
.../OpcuaNodeIdServicesVariableNamespaces.java | 3 +-
.../OpcuaNodeIdServicesVariableNetwork.java | 4 -
.../readwrite/OpcuaNodeIdServicesVariableNon.java | 721 +-
.../readwrite/OpcuaNodeIdServicesVariableO.java | 3 +-
.../readwrite/OpcuaNodeIdServicesVariableOff.java | 140 +-
.../readwrite/OpcuaNodeIdServicesVariableOpc.java | 38 +-
.../OpcuaNodeIdServicesVariableProgram.java | 55 +-
.../OpcuaNodeIdServicesVariableProgress.java | 15 +-
.../OpcuaNodeIdServicesVariableProvisionable.java | 1869 +---
.../readwrite/OpcuaNodeIdServicesVariablePub.java | 200 +-
.../OpcuaNodeIdServicesVariablePublish.java | 124 +-
.../OpcuaNodeIdServicesVariablePublished.java | 234 +-
... => OpcuaNodeIdServicesVariableQuantities.java} | 17 +-
...va => OpcuaNodeIdServicesVariableQuantity.java} | 39 +-
.../OpcuaNodeIdServicesVariableReader.java | 6 -
...a => OpcuaNodeIdServicesVariableRedundant.java} | 13 +-
.../readwrite/OpcuaNodeIdServicesVariableRole.java | 22 +-
.../OpcuaNodeIdServicesVariableSemantic.java | 15 +-
.../OpcuaNodeIdServicesVariableServer.java | 16 +-
.../OpcuaNodeIdServicesVariableShelved.java | 13 -
...java => OpcuaNodeIdServicesVariableSyntax.java} | 12 +-
.../OpcuaNodeIdServicesVariableSystem.java | 306 +-
.../readwrite/OpcuaNodeIdServicesVariableTag.java | 5 +-
.../OpcuaNodeIdServicesVariableThree.java | 5 -
.../OpcuaNodeIdServicesVariableTopics.java | 5 +-
.../OpcuaNodeIdServicesVariableTransition.java | 15 +-
.../OpcuaNodeIdServicesVariableTransparent.java | 3 +-
.../OpcuaNodeIdServicesVariableTrust.java | 193 -
.../readwrite/OpcuaNodeIdServicesVariableTwo.java | 5 -
.../readwrite/OpcuaNodeIdServicesVariableType.java | 1 +
...t.java => OpcuaNodeIdServicesVariableUnit.java} | 15 +-
.../OpcuaNodeIdServicesVariableWriter.java | 6 -
.../readwrite/OpcuaNodeIdServicesVariableX.java | 7 -
.../readwrite/OpcuaNodeIdServicesVariableY.java | 7 -
.../java/opcua/readwrite/OpcuaStatusCode.java | 7 +
.../java/opcua/readwrite/QuantityDimension.java | 316 +
...riableDefault.java => RedundantServerMode.java} | 23 +-
plc4j/drivers/profinet-ng/README.md | 16 +-
plc4j/drivers/profinet-ng/pom.xml | 4 +
.../profinet/readwrite/PnIoCM_Block_Request.java | 372 -
.../java/profinet/readwrite/PnIoCm_Block.java | 23 +-
.../java/profinet/readwrite/PnIoCm_BlockType.java | 16 +-
.../profinet/readwrite/PnIoCm_Block_ArReq.java | 36 +-
...PnIoCm_Block_ReqPlugAlarmApplicationReady.java} | 35 +-
...> PnIoCm_Control_Request_ApplicationReady.java} | 40 +-
.../PnIoCm_Control_Request_ParameterEnd.java} | 40 +-
... PnIoCm_Control_Response_ApplicationReady.java} | 38 +-
...a => PnIoCm_Control_Response_ParameterEnd.java} | 40 +-
.../java/profinet/readwrite/PnIoCm_Packet.java | 4 +
.../PnIoCm_Packet_ConnectionlessCancel.java} | 46 +-
.../PnIoCm_Submodule_InputAndOutputData.java | 154 +-
.../readwrite/PnIoCm_Submodule_InputData.java | 66 +-
.../readwrite/PnIoCm_Submodule_OutputData.java | 106 +-
.../apache/plc4x/java/profinet/ProfinetDriver.java | 171 +-
.../java/profinet/channel/ProfinetChannel.java | 7 +-
.../profinet/config/ProfinetConfiguration.java | 3 +
.../ProfinetRawSocketTransportConfiguration.java | 20 +-
.../profinet/context/ProfinetDriverContext.java | 39 +-
.../profinet/discovery/ProfinetDiscoverer.java | 18 +-
.../java/profinet/packets/PnDcpPacketFactory.java | 290 +-
.../profinet/protocol/ProfinetProtocolLogic.java | 302 +-
.../profinet/utils/ProfinetDataTypeMapper.java | 4 +-
...IoTest.java => ManualProfinetIoBrowseTest.java} | 15 +-
.../java/profinet/ManualProfinetIoTestAdamPN.java | 45 +
.../profinet/ManualProfinetIoTestSimocode.java | 44 +
.../ManualProfinetIoTestWagoPNCoupler.java | 45 +
.../profinet/ManualProfinetIoTestZylkSimocode.java | 45 +
.../src/test/resources/logback-test.xml | 2 +
.../profinet/readwrite/PnIoCM_Block_Request.java | 372 -
.../java/profinet/readwrite/PnIoCm_Block.java | 23 +-
.../java/profinet/readwrite/PnIoCm_BlockType.java | 16 +-
.../profinet/readwrite/PnIoCm_Block_ArReq.java | 36 +-
...PnIoCm_Block_ReqPlugAlarmApplicationReady.java} | 35 +-
.../PnIoCm_Control_Request_ApplicationReady.java} | 40 +-
...va => PnIoCm_Control_Request_ParameterEnd.java} | 40 +-
... PnIoCm_Control_Response_ApplicationReady.java} | 38 +-
.../PnIoCm_Control_Response_ParameterEnd.java} | 40 +-
.../java/profinet/readwrite/PnIoCm_Packet.java | 4 +
...ava => PnIoCm_Packet_ConnectionlessCancel.java} | 46 +-
.../PnIoCm_Submodule_InputAndOutputData.java | 154 +-
.../readwrite/PnIoCm_Submodule_InputData.java | 66 +-
.../readwrite/PnIoCm_Submodule_OutputData.java | 106 +-
.../ProfinetRawSocketTransportConfiguration.java | 15 -
.../profinet/context/ProfinetDeviceContext.java | 18 +
.../plc4x/java/profinet/device/MessageWrapper.java | 2 +-
.../java/profinet/device/ProfinetChannel.java | 41 +-
.../plc4x/java/profinet/device/ProfinetDevice.java | 32 +-
.../profinet/device/ProfinetMessageWrapper.java | 6 +-
.../java/profinet/device/ProfinetModuleImpl.java | 14 +-
.../java/profinet/gsdml/ProfinetModuleItem.java | 4 +-
.../plc4x/java/profinet/DummyMessageWrapper.java | 2 +-
.../plc4x/java/profinet/ManualProfinetIoTest.java | 4 +-
.../examples/hello-influx-data-collection/pom.xml | 2 +-
plc4j/examples/hello-world-kotlin/pom.xml | 2 +-
plc4j/integrations/apache-calcite/pom.xml | 4 +-
plc4j/integrations/apache-kafka/pom.xml | 2 +-
plc4j/integrations/pom.xml | 2 +-
.../apache/plc4x/java/spi/ConversationContext.java | 4 +
.../spi/GeneratedDriverByteToMessageCodec.java | 4 +-
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 5 +-
.../spi/internal/DefaultConversationContext.java | 4 +-
.../spi/internal/DefaultExpectRequestContext.java | 20 +-
.../spi/internal/DefaultSendRequestContext.java | 18 +-
.../java/spi/internal/HandlerRegistration.java | 12 +-
.../internal/DefaultSendRequestContextTest.java | 2 +-
.../utils/rawsockets/netty/RawSocketChannel.java | 2 +-
.../knxnetip/readwrite/model/KnxManufacturer.cs | 33 +-
pom.xml | 32 +-
.../protocols/bacnetip/bacnet-vendorids.mspec | 1 +
.../protocols/knxnetip/knx-master-data.mspec | 7 +-
protocols/opcua/pom.xml | 2 +-
.../generated/protocols/opcua/opc-manual.mspec | 57 +-
.../generated/protocols/opcua/opc-services.mspec | 9067 ++------------------
.../generated/protocols/opcua/opc-status.mspec | 7 +
.../main/resources/protocols/profinet/pnio.mspec | 66 +-
src/site/asciidoc/users/commercial-support.adoc | 2 +
.../images/users/companies/logo-timecho.png | Bin 0 -> 21130 bytes
266 files changed, 8889 insertions(+), 82136 deletions(-)
(plc4x) 02/03: fix: Made it possible to build plc4go with disabled tests.
Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/new-ui-tool
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit c454b32a4b36a533cbbc0e97c95427062fa289a9
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Tue Dec 26 16:15:21 2023 +0100
fix: Made it possible to build plc4go with disabled tests.
---
plc4go/pom.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/plc4go/pom.xml b/plc4go/pom.xml
index 8908eb2cd9..edabda0b41 100644
--- a/plc4go/pom.xml
+++ b/plc4go/pom.xml
@@ -454,6 +454,7 @@
<goal>exec</goal>
</goals>
<configuration>
+ <skip>${skipTests}</skip>
<executable>${project.build.directory}/go-junit-report</executable>
<arguments>
<argument>-in</argument>