This is an automated email from the ASF dual-hosted git repository. hutcheb pushed a commit to branch feature/native_opua_client in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit b79b7ac5a6698c349873f3a5b497151401844898 Merge: df3f738 af1aa13 Author: hutcheb <[email protected]> AuthorDate: Tue Apr 13 04:31:35 2021 -0400 Merge branch 'develop' into feature/native_opua_client .gitignore | 2 +- Jenkinsfile | 6 +- build-utils/language-base-freemarker/pom.xml | 2 +- .../BaseFreemarkerLanguageTemplateHelper.java | 4 - .../language/go/GoLanguageTemplateHelper.java | 11 +- .../resources/templates/go/enum-template.go.ftlh | 9 + .../resources/templates/go/model-template.go.ftlh | 9 + .../language/java/JavaLanguageTemplateHelper.java | 17 +- .../templates/java/data-io-template.java.ftlh | 2 +- .../templates/java/pojo-template.java.ftlh | 4 +- .../src/main/resources/protocols/test/test.mspec | 10 +- go.mod | 2 +- go.sum | 8 + .../drivers/tests/ads_parser_serializer_test.go | 1 - .../tests/knxnetip_parser_serializer_test.go | 3 +- .../main/drivers/tests/manual_ads_driver_test.go | 2 +- .../drivers/tests/s7_parser_serializer_test.go | 1 + plc4go/internal/plc4go/ads/Configuration.go | 147 ++ plc4go/internal/plc4go/ads/Connection.go | 134 +- plc4go/internal/plc4go/ads/Driver.go | 10 +- plc4go/internal/plc4go/ads/Reader.go | 2 +- plc4go/internal/plc4go/ads/Writer.go | 1 + .../plc4go/ads/readwrite/model/AdsDataType.go | 9 + .../model/AdsDeviceNotificationRequest.go | 9 + .../ads/readwrite/model/AdsReadWriteRequest.go | 15 +- .../plc4go/ads/readwrite/model/AdsStampHeader.go | 9 + .../plc4go/ads/readwrite/model/CommandId.go | 9 + .../ads/readwrite/model/ReservedIndexGroups.go | 9 + .../plc4go/ads/readwrite/model/ReturnCode.go | 9 + .../readwrite/model/APDUConfirmedRequest.go | 2 +- .../bacnetip/readwrite/model/ApplicationTag.go | 9 + ...firmedServiceRequestConfirmedCOVNotification.go | 9 + .../bacnetip/readwrite/model/BACnetNetworkType.go | 9 + .../bacnetip/readwrite/model/BACnetNodeType.go | 9 + .../bacnetip/readwrite/model/BACnetNotifyType.go | 9 + .../bacnetip/readwrite/model/BACnetObjectType.go | 9 + .../model/BACnetTagApplicationBitString.go | 2 +- .../model/BACnetTagApplicationEnumerated.go | 2 +- .../model/BACnetTagApplicationSignedInteger.go | 2 +- .../model/BACnetTagApplicationUnsignedInteger.go | 2 +- .../bacnetip/readwrite/model/BACnetTagContext.go | 2 +- .../readwrite/model/BACnetTagWithContent.go | 2 +- .../readwrite/model/NLMIAmRouterToNetwork.go | 2 +- .../readwrite/model/NLMWhoIsRouterToNetwork.go | 2 +- .../plc4go/bacnetip/readwrite/model/NPDU.go | 12 +- plc4go/internal/plc4go/knxnetip/Browser.go | 133 +- plc4go/internal/plc4go/knxnetip/Connection.go | 1744 +------------------- .../knxnetip/ConnectionDriverSpecificOperations.go | 483 ++++++ .../internal/plc4go/knxnetip/ConnectionHelper.go | 232 +++ .../knxnetip/ConnectionInternalOperations.go | 1142 +++++++++++++ .../plc4go/knxnetip/readwrite/model/AccessLevel.go | 9 + .../model/ApduDataDeviceDescriptorResponse.go | 4 +- .../readwrite/model/ApduDataGroupValueResponse.go | 4 +- .../readwrite/model/ApduDataGroupValueWrite.go | 4 +- .../knxnetip/readwrite/model/CEMIPriority.go | 9 + .../readwrite/model/ComObjectTableAddresses.go | 9 + .../model/ComObjectTableRealisationType1.go | 9 + .../model/ComObjectTableRealisationType2.go | 9 + .../knxnetip/readwrite/model/ComObjectValueType.go | 9 + .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 9 + .../knxnetip/readwrite/model/DeviceDescriptor.go | 9 + .../readwrite/model/DeviceDescriptorMediumType.go | 9 + .../knxnetip/readwrite/model/FirmwareType.go | 9 + .../knxnetip/readwrite/model/HostProtocolCode.go | 9 + .../readwrite/model/KnxDatapointMainType.go | 9 + .../knxnetip/readwrite/model/KnxDatapointType.go | 9 + .../readwrite/model/KnxInterfaceObjectProperty.go | 9 + .../readwrite/model/KnxInterfaceObjectType.go | 9 + .../plc4go/knxnetip/readwrite/model/KnxLayer.go | 9 + .../knxnetip/readwrite/model/KnxManufacturer.go | 9 + .../plc4go/knxnetip/readwrite/model/KnxMedium.go | 9 + .../readwrite/model/KnxPropertyDataType.go | 9 + .../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 9 + .../plc4go/knxnetip/readwrite/model/LDataCon.go | 9 + .../plc4go/knxnetip/readwrite/model/LDataInd.go | 9 + .../plc4go/knxnetip/readwrite/model/LDataReq.go | 9 + .../plc4go/knxnetip/readwrite/model/Status.go | 9 + .../readwrite/model/SupportedPhysicalMedia.go | 9 + plc4go/internal/plc4go/modbus/Driver.go | 1 + .../plc4go/modbus/readwrite/model/DataItem.go | 28 + .../modbus/readwrite/model/ModbusDataType.go | 9 + .../modbus/readwrite/model/ModbusErrorCode.go | 9 + .../model/ModbusPDUReadFileRecordRequest.go | 9 + .../model/ModbusPDUReadFileRecordResponse.go | 9 + .../model/ModbusPDUWriteFileRecordRequest.go | 9 + .../model/ModbusPDUWriteFileRecordResponse.go | 9 + plc4go/internal/plc4go/s7/Configuration.go | 135 ++ plc4go/internal/plc4go/s7/Connection.go | 472 ++++++ .../plc4go/s7/{Driver.go => ControllerType.go} | 15 +- plc4go/internal/plc4go/s7/Driver.go | 91 +- plc4go/internal/plc4go/s7/DriverContext.go | 90 + plc4go/internal/plc4go/s7/Field.go | 151 ++ plc4go/internal/plc4go/s7/FieldHandler.go | 332 ++++ plc4go/internal/plc4go/s7/MessageCodec.go | 100 ++ plc4go/internal/plc4go/s7/Reader.go | 292 ++++ .../plc4go/s7/{Driver.go => TsapIdEncoder.go} | 22 +- .../plc4go/s7/{Driver.go => ValueHandler.go} | 12 +- plc4go/internal/plc4go/s7/Writer.go | 247 +++ plc4go/internal/plc4go/s7/fieldtype_string.go | 41 + .../plc4go/s7/readwrite/model/COTPPacket.go | 11 +- .../plc4go/s7/readwrite/model/COTPProtocolClass.go | 9 + .../plc4go/s7/readwrite/model/COTPTpduSize.go | 9 + .../s7/readwrite/model/DataTransportErrorCode.go | 9 + .../plc4go/s7/readwrite/model/DataTransportSize.go | 9 + .../plc4go/s7/readwrite/model/DeviceGroup.go | 9 + .../plc4go/s7/readwrite/model/MemoryArea.go | 9 + .../plc4go/s7/readwrite/model/S7Message.go | 4 +- .../readwrite/model/S7ParameterReadVarRequest.go | 9 + .../s7/readwrite/model/S7ParameterUserData.go | 9 + .../readwrite/model/S7ParameterWriteVarRequest.go | 9 + .../s7/readwrite/model/S7PayloadReadVarResponse.go | 9 + .../plc4go/s7/readwrite/model/S7PayloadUserData.go | 9 + ...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 9 + .../s7/readwrite/model/S7PayloadWriteVarRequest.go | 9 + .../readwrite/model/S7PayloadWriteVarResponse.go | 9 + .../s7/readwrite/model/S7VarPayloadDataItem.go | 14 +- .../s7/readwrite/model/SzlModuleTypeClass.go | 9 + .../plc4go/s7/readwrite/model/SzlSublist.go | 9 + .../plc4go/s7/readwrite/model/TransportSize.go | 9 + plc4go/internal/plc4go/spi/MessageCodec.go | 5 + .../plc4go/spi/RequestTransactionManager.go | 335 ++++ .../plc4go/spi/testutils/DriverTestRunner.go | 12 + .../plc4go/spi/testutils/ManualTestRunner.go | 192 ++- .../spi/testutils/ParserSerializerTestRunner.go | 73 +- plc4go/internal/plc4go/spi/utils/Utils.go | 6 +- plc4go/internal/plc4go/spi/values/DATE.go | 10 +- plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go | 10 +- plc4go/internal/plc4go/spi/values/INT.go | 8 +- plc4go/internal/plc4go/spi/values/LTIME.go | 9 + plc4go/internal/plc4go/spi/values/PlcBitString.go | 8 +- .../internal/plc4go/spi/values/PlcValueAdapter.go | 18 +- plc4go/internal/plc4go/spi/values/TIME.go | 9 + plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go | 4 + plc4go/pkg/plc4go/values/plc_value.go | 4 +- plc4go/pom.xml | 16 + .../plc4x/java/modbus/field/ModbusField.java | 2 +- .../java/modbus/protocol/ModbusProtocolLogic.java | 8 +- .../opcua/connection/OpcuaTcpPlcConnection.java | 184 +-- .../apache/plc4x/java/opcua/field/OpcuaField.java | 13 +- .../plc4x/java/opcua/OpcuaPlcDriverTest.java | 168 +- .../java/simulated/connection/SimulatedDevice.java | 6 +- .../plc4x/java/simulated/field/SimulatedField.java | 31 +- .../java/simulated/field/SimulatedFieldTest.java | 4 +- .../plc4x/java/spi/generation/WriteBuffer.java | 16 +- .../java/spi/values/IEC61131ValueHandler.java | 80 +- pom.xml | 2 +- .../main/resources/protocols/modbus/modbus.mspec | 6 + .../resources/protocols/simulated/simulated.mspec | 128 +- 148 files changed, 5726 insertions(+), 2417 deletions(-) diff --cc build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh index c911a70,f03f904..b8a72bf --- a/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh +++ b/build-utils/language-java/src/main/resources/templates/java/data-io-template.java.ftlh @@@ -92,9 -92,8 +92,9 @@@ public class ${type.name}IO public static PlcValue staticParse(ReadBuffer io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException { <#assign defaultCaseOutput=false> <#list type.switchField.cases as case> - <#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserArguments[discriminatorValue?inde [...] + <#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#elseif helper.isComplexTypeReference(type.parserArguments[discriminatorValue?index].type)><#i [...] <#assign valueDefined=false> + <#list case.fields as field> <#switch field.typeName> <#case "array"> diff --cc plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/field/OpcuaField.java index 250da26,7a443dd..da739b0 --- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/field/OpcuaField.java +++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/field/OpcuaField.java @@@ -16,8 -16,9 +16,9 @@@ KIND, either express or implied. See t specific language governing permissions and limitations under the License. */ -package org.apache.plc4x.java.opcua.protocol; +package org.apache.plc4x.java.opcua.field; + import org.apache.commons.lang3.EnumUtils; import org.apache.plc4x.java.api.exceptions.PlcInvalidFieldException; import org.apache.plc4x.java.api.exceptions.PlcUnsupportedDataTypeException; import org.apache.plc4x.java.api.model.PlcField;
