Add PVA Security Widget showing runtime TLS and authentication details#3785
Add PVA Security Widget showing runtime TLS and authentication details#3785george-mcintyre wants to merge 1 commit intoControlSystemStudio:masterfrom
Conversation
|
|
This is problematic because it makes the generic display depend on pv-pva and core-pva. This does mean that we knowingly drop the option of showing PV-specific details like a CA server IP. We leave that to To still allow access to the PVA connection detail in displays, there are some other options:
|



Overview
Adds a new PVA Security widget to the Display Builder. When placed on a display and configured with a PV name, the widget shows live TLS and authentication metadata for that PV's underlying PVA connection:
x509,ca, or anonymousThe widget forces the
pva://protocol prefix on the configured PV name at runtime so it always interrogates the actual PVA connection, regardless of the default protocol configured in the environment.Implementation
Three new classes following the standard Display Builder widget pattern:
PVASecurityWidgetapp/display/modelPVASecurityRepresentationapp/display/representation-javafxPVASecurityRuntimeapp/display/runtimepva://prefixRegistered via the existing SPI
BaseWidgetsService,BaseWidgetRepresentations, andBaseWidgetRuntimes.Depends on the TLS accessor API added in the companion PR "Expose TLS connection details through PV → Channel → TCPHandler chain".
Files Changed
app/display/model/src/main/java/org/csstudio/display/builder/model/BaseWidgetsService.javaapp/display/model/src/main/java/org/csstudio/display/builder/model/widgets/PVASecurityWidget.java(new)app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/BaseWidgetRepresentations.javaapp/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/PVASecurityRepresentation.java(new)app/display/runtime/src/main/java/org/csstudio/display/builder/runtime/internal/BaseWidgetRuntimes.javaapp/display/runtime/src/main/java/org/csstudio/display/builder/runtime/internal/PVASecurityRuntime.java(new)app/display/runtime/pom.xml