[opcuaclient] OpcUaClient — Selective import + namespace remap #359
Reference in New Issue
Block a user
Delete Branch "auto/opcuaclient/7"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Selective import + namespace remap + root-folder alias for OpcUaClient — the curation surface every commercial aggregator ships.
OpcUaClientCurationOptionsrecord onOpcUaClientDriverOptions.Curation:IncludePaths/ExcludePaths— glob (*/?only), translated to a single combined regex viaCompileGlobs. Exclude wins over include.NamespaceRemap— URI→URI applied toDriverAttributeInfo.FullNamevia newBuildRemappedFullNamehelper (emitsnsu=...form viaExpandedNodeId).RootAlias— replaces hard-coded"Remote"root folder name.BrowseRecursiveAsync— threads a slash-joinedpathPrefixplus compiled include/exclude regexes. Pruned subtrees are skipped wholesale.PendingVariable— carries pre-computed remappedFullNamesoEnrichAndRegisterVariablesAsyncjust stores it.Empty/null Curation = legacy behaviour (include all, no remap, root =
"Remote").ns=0nodes always bypass remap.Test plan
dotnet build src/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient— clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Tests— 147 / 147 passed (14 new inOpcUaClientCurationTests: glob*/?, exclude-wins-over-include, multi-include OR, regex-metachar escape, remap hit/miss, ns=0 passthrough, defaults)🤖 Auto-generated by the Mode-B execution loop. Closes #279.
Closes #279