From 7e0011d4ed100cb7e4e51ff74e2497ea2a0239c5 Mon Sep 17 00:00:00 2001 From: georgweiss Date: Tue, 20 Oct 2026 15:38:51 -0400 Subject: [PATCH 1/2] Aligning with minor changes in the 'legacy' pvws code base --- .../java/org/phoebus/pvws/ws/Vtype2Json.java | 60 +++++++++---------- .../java/org/phoebus/pvws/ws/WebSocketPV.java | 5 +- 2 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/main/java/org/phoebus/pvws/ws/Vtype2Json.java b/src/main/java/org/phoebus/pvws/ws/Vtype2Json.java index 7170d77..e3670ec 100644 --- a/src/main/java/org/phoebus/pvws/ws/Vtype2Json.java +++ b/src/main/java/org/phoebus/pvws/ws/Vtype2Json.java @@ -53,24 +53,24 @@ public static String toJson(final String name, final VType value, final VType la g.writeStringField("type", "update"); g.writeStringField("pv", name); - if (value instanceof VNumber) - handleNumber(g, (VNumber) value, last_value); - else if (value instanceof VString) - handleString(g, (VString) value, last_value); - else if (value instanceof VEnum) - handleEnum(g, (VEnum) value, last_value); - else if (value instanceof VByteArray) - handleBytes(g, (VNumberArray) value, last_value); + if (value instanceof VNumber vNumber) + handleNumber(g, vNumber, last_value); + else if (value instanceof VString vString) + handleString(g, vString, last_value); + else if (value instanceof VEnum vEnum) + handleEnum(g, vEnum, last_value); + else if (value instanceof VByteArray vByteArray) + handleBytes(g, vByteArray, last_value); // Serialize double and float arrays as b64dbl - else if (value instanceof VDoubleArray) - handleDoubles(g, (VNumberArray) value, last_value); - else if (value instanceof VFloatArray) - handleFloats(g, (VNumberArray) value, last_value); + else if (value instanceof VDoubleArray vDoubleArray) + handleDoubles(g, vDoubleArray, last_value); + else if (value instanceof VFloatArray vFloatArray) + handleFloats(g, vFloatArray, last_value); // Serialize remaining number arrays (int) as b64int - else if (value instanceof VNumberArray) - handleInts(g, (VNumberArray) value, last_value); + else if (value instanceof VNumberArray vNumberArray) + handleInts(g, vNumberArray, last_value); else if (value != null) { @@ -101,8 +101,8 @@ private static void handleString(final JsonGenerator g, final VString value, fin { final AlarmSeverity severity = value.getAlarm().getSeverity(); if (last_value == null || - (last_value instanceof VString && - ((VString) last_value).getAlarm().getSeverity() != severity)) + (last_value instanceof VString vString && + vString.getAlarm().getSeverity() != severity)) g.writeStringField("severity", value.getAlarm().getSeverity().name()); g.writeStringField("text", value.getValue()); @@ -176,8 +176,8 @@ private static void handleNumber(final JsonGenerator g, final VNumber value, fin else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -208,8 +208,8 @@ private static void handleDoubles(final JsonGenerator g, final VNumberArray valu else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -240,8 +240,8 @@ private static void handleInts(final JsonGenerator g, final VNumberArray value, else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -277,8 +277,8 @@ private static void handleEnum(final JsonGenerator g, final VEnum value, final V else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -300,8 +300,8 @@ private static void handleFloats(final JsonGenerator g, final VNumberArray value else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -329,8 +329,8 @@ private static void handleShorts(final JsonGenerator g, final VNumberArray value else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } @@ -358,8 +358,8 @@ private static void handleBytes(final JsonGenerator g, final VNumberArray value, else { // Add severity if it changed - if ((last_value instanceof VNumber) && - ((VNumber) last_value).getAlarm().getSeverity() != severity) + if ((last_value instanceof VNumber vNumber) && + vNumber.getAlarm().getSeverity() != severity) g.writeStringField("severity", severity.name()); } diff --git a/src/main/java/org/phoebus/pvws/ws/WebSocketPV.java b/src/main/java/org/phoebus/pvws/ws/WebSocketPV.java index 0f48bdd..917ac85 100644 --- a/src/main/java/org/phoebus/pvws/ws/WebSocketPV.java +++ b/src/main/java/org/phoebus/pvws/ws/WebSocketPV.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2019-2022 UT-Battelle, LLC. + * Copyright (c) 2019-2026 UT-Battelle, LLC. * All rights reserved. This program and the accompanying materials * are made available under the terms of the LICENSE * which accompanies this distribution @@ -107,7 +107,7 @@ public void start() throws Exception */ private void handleUpdates(final VType value) { - if (value instanceof Array && !subscribed_for_array) + if (value instanceof Array array && !subscribed_for_array) { // If the data turns out to be array values, // re-subscribe at a (slower) 'array' rate. @@ -116,7 +116,6 @@ private void handleUpdates(final VType value) // so we won't be able to cancel that subscription right away. // Instead, we'll create a separate 'array_subscription', // and in a later update we then dispose the initial subscription. - final Array array = (Array) value; logger.log(Level.FINE, () -> "Re-subscribing to array " + name + ", " + array.getSizes()); subscribed_for_array = true; From 4e0bc53f14bf0fe5d545b38db2ea8b4974404a92 Mon Sep 17 00:00:00 2001 From: georgweiss Date: Tue, 20 Oct 2026 15:52:33 -0400 Subject: [PATCH 2/2] Update to minimum Java version 17 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 26c36fd..f1e627e 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ EPICS web socket server ${packaging.type} - 11 + 17