refactor(browse): rename BrowseOpcUaNode* to protocol-agnostic BrowseNode*
Renames BrowseOpcUaNodeCommand/Result -> BrowseNodeCommand/Result and CommunicationService.BrowseOpcUaNodeAsync -> BrowseNodeAsync across Commons, Communication, SiteRuntime, DCL actors, and CentralUI. Wire manifest name follows (BrowseOpcUaNode -> BrowseNode). Browse regression tests green.
This commit is contained in:
@@ -234,7 +234,7 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
// apply it so its state survives into the next ReSubscribeAll.
|
||||
HandleSubscribeCompleted(sc);
|
||||
break;
|
||||
case BrowseOpcUaNodeCommand browse:
|
||||
case BrowseNodeCommand browse:
|
||||
// Browse is an interactive design-time query; never stash. The
|
||||
// adapter has no session yet in this state, so reply with a
|
||||
// typed ConnectionNotConnected failure so the dialog can render
|
||||
@@ -307,7 +307,7 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
case RetryTagResolution:
|
||||
HandleRetryTagResolution();
|
||||
break;
|
||||
case BrowseOpcUaNodeCommand browse:
|
||||
case BrowseNodeCommand browse:
|
||||
HandleBrowse(browse);
|
||||
break;
|
||||
case ReadTagValuesCommand read:
|
||||
@@ -432,7 +432,7 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
// apply it so its state survives into the next ReSubscribeAll.
|
||||
HandleSubscribeCompleted(sc);
|
||||
break;
|
||||
case BrowseOpcUaNodeCommand browse:
|
||||
case BrowseNodeCommand browse:
|
||||
// Browse is design-time and never stashed. While reconnecting
|
||||
// the adapter has no live session, so the adapter call will
|
||||
// throw ConnectionNotConnectedException — mapped by HandleBrowse.
|
||||
@@ -982,7 +982,7 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
// ── OPC UA Tag Browser (interactive design-time query) ──
|
||||
|
||||
/// <summary>
|
||||
/// Handles a <see cref="BrowseOpcUaNodeCommand"/> forwarded by the
|
||||
/// Handles a <see cref="BrowseNodeCommand"/> forwarded by the
|
||||
/// <see cref="DataConnectionManagerActor"/>. The capability check (does
|
||||
/// this adapter support browsing?) and all browse-failure mapping live
|
||||
/// here because the adapter is held by this actor, not the manager.
|
||||
@@ -999,14 +999,14 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
/// <see cref="HandleWrite"/> — so the captured <see cref="Sender"/> is
|
||||
/// safe to use from the continuation (which runs off the actor thread).
|
||||
/// </summary>
|
||||
private void HandleBrowse(BrowseOpcUaNodeCommand command)
|
||||
private void HandleBrowse(BrowseNodeCommand command)
|
||||
{
|
||||
var sender = Sender;
|
||||
|
||||
if (_adapter is not IBrowsableDataConnection browsable)
|
||||
{
|
||||
_log.Debug("[{0}] Browse requested but adapter does not implement IBrowsableDataConnection", _connectionName);
|
||||
sender.Tell(new BrowseOpcUaNodeResult(
|
||||
sender.Tell(new BrowseNodeResult(
|
||||
Array.Empty<BrowseNode>(),
|
||||
Truncated: false,
|
||||
new BrowseFailure(
|
||||
@@ -1021,21 +1021,21 @@ public class DataConnectionActor : UntypedActor, IWithStash, IWithTimers
|
||||
{
|
||||
if (t.IsCompletedSuccessfully)
|
||||
{
|
||||
return new BrowseOpcUaNodeResult(t.Result.Children, t.Result.Truncated, Failure: null);
|
||||
return new BrowseNodeResult(t.Result.Children, t.Result.Truncated, Failure: null);
|
||||
}
|
||||
|
||||
var baseEx = t.Exception?.GetBaseException();
|
||||
return baseEx switch
|
||||
{
|
||||
ConnectionNotConnectedException notConnected => new BrowseOpcUaNodeResult(
|
||||
ConnectionNotConnectedException notConnected => new BrowseNodeResult(
|
||||
Array.Empty<BrowseNode>(),
|
||||
Truncated: false,
|
||||
new BrowseFailure(BrowseFailureKind.ConnectionNotConnected, notConnected.Message)),
|
||||
OperationCanceledException => new BrowseOpcUaNodeResult(
|
||||
OperationCanceledException => new BrowseNodeResult(
|
||||
Array.Empty<BrowseNode>(),
|
||||
Truncated: false,
|
||||
new BrowseFailure(BrowseFailureKind.Timeout, "Browse cancelled.")),
|
||||
_ => new BrowseOpcUaNodeResult(
|
||||
_ => new BrowseNodeResult(
|
||||
Array.Empty<BrowseNode>(),
|
||||
Truncated: false,
|
||||
new BrowseFailure(
|
||||
|
||||
@@ -46,7 +46,7 @@ public class DataConnectionManagerActor : ReceiveActor
|
||||
Receive<WriteTagRequest>(HandleRouteWrite);
|
||||
Receive<RemoveConnectionCommand>(HandleRemoveConnection);
|
||||
Receive<GetAllHealthReports>(HandleGetAllHealthReports);
|
||||
Receive<BrowseOpcUaNodeCommand>(HandleBrowse);
|
||||
Receive<BrowseNodeCommand>(HandleBrowse);
|
||||
Receive<ReadTagValuesCommand>(HandleReadTagValues);
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ public class DataConnectionManagerActor : ReceiveActor
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Routes a <see cref="BrowseOpcUaNodeCommand"/> from the central UI's OPC UA
|
||||
/// Routes a <see cref="BrowseNodeCommand"/> from the central UI's OPC UA
|
||||
/// Tag Browser to the child <see cref="DataConnectionActor"/> that owns the
|
||||
/// named connection. The manager is the only actor that knows whether a
|
||||
/// connection exists at this site — so it owns the
|
||||
@@ -123,7 +123,7 @@ public class DataConnectionManagerActor : ReceiveActor
|
||||
/// else (capability check, session state, server errors) lives inside the
|
||||
/// child where the adapter is held.
|
||||
/// </summary>
|
||||
private void HandleBrowse(BrowseOpcUaNodeCommand command)
|
||||
private void HandleBrowse(BrowseNodeCommand command)
|
||||
{
|
||||
if (_connectionActors.TryGetValue(command.ConnectionName, out var actor))
|
||||
{
|
||||
@@ -132,7 +132,7 @@ public class DataConnectionManagerActor : ReceiveActor
|
||||
else
|
||||
{
|
||||
_log.Warning("No connection actor for {0} during browse", command.ConnectionName);
|
||||
Sender.Tell(new BrowseOpcUaNodeResult(
|
||||
Sender.Tell(new BrowseNodeResult(
|
||||
Array.Empty<BrowseNode>(),
|
||||
Truncated: false,
|
||||
new BrowseFailure(
|
||||
|
||||
Reference in New Issue
Block a user