From 9f9d919bf35ce243adb15613801aeb9dc02035a8 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 6 Mar 2025 20:23:40 +0000 Subject: [PATCH 1/2] Fix deserialisation of enums in Alerting --- .../alerting/aiconfig/AlertingConfig.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java b/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java index 4c627fc0e16..9c51f8a6d33 100644 --- a/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java +++ b/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java @@ -8,6 +8,7 @@ import com.azure.json.JsonToken; import com.azure.json.JsonWriter; import java.io.IOException; +import java.util.Locale; public class AlertingConfig { @@ -56,7 +57,7 @@ public static RequestFilter fromJson(JsonReader jsonReader) throws IOException { reader.nextToken(); String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { - deserializedRequestFilter.setType(RequestFilterType.valueOf(reader.getString())); + deserializedRequestFilter.setType(RequestFilterType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestFilter.setValue(reader.getString()); } else { @@ -184,7 +185,7 @@ public static RequestAggregation fromJson(JsonReader jsonReader) throws IOExcept String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { deserializedRequestAggregation.setType( - RequestAggregationType.valueOf(reader.getString())); + RequestAggregationType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("windowSizeMillis".equals(fieldName)) { deserializedRequestAggregation.setWindowSizeMillis(jsonReader.getLong()); } else if ("configuration".equals(fieldName)) { @@ -254,7 +255,7 @@ public static RequestTriggerThreshold fromJson(JsonReader jsonReader) throws IOE String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { deserializedRequestTriggerThreshold.setType( - RequestTriggerThresholdType.valueOf(reader.getString())); + RequestTriggerThresholdType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestTriggerThreshold.setValue(reader.getFloat()); } else { @@ -314,7 +315,7 @@ public static RequestTriggerThrottling fromJson(JsonReader jsonReader) throws IO String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { deserializedRequestTriggerThrottling.setType( - RequestTriggerThrottlingType.valueOf(reader.getString())); + RequestTriggerThrottlingType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestTriggerThrottling.setValue(reader.getLong()); } else { @@ -426,7 +427,7 @@ public static RequestTrigger fromJson(JsonReader jsonReader) throws IOException if ("name".equals(fieldName)) { deserializedRequestTrigger.setName(reader.getString()); } else if ("type".equals(fieldName)) { - deserializedRequestTrigger.setType(RequestTriggerType.valueOf(reader.getString())); + deserializedRequestTrigger.setType(RequestTriggerType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("filter".equals(fieldName)) { deserializedRequestTrigger.setFilter(RequestFilter.fromJson(reader)); } else if ("aggregation".equals(fieldName)) { From de0acbb355e329e642e12eb56eb064ed53b0f4d5 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 6 Mar 2025 20:33:54 +0000 Subject: [PATCH 2/2] Fix formatting --- .../alerting/aiconfig/AlertingConfig.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java b/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java index 9c51f8a6d33..abeafcca51d 100644 --- a/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java +++ b/agent/agent-profiler/agent-alerting-api/src/main/java/com/microsoft/applicationinsights/alerting/aiconfig/AlertingConfig.java @@ -57,7 +57,8 @@ public static RequestFilter fromJson(JsonReader jsonReader) throws IOException { reader.nextToken(); String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { - deserializedRequestFilter.setType(RequestFilterType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); + deserializedRequestFilter.setType( + RequestFilterType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestFilter.setValue(reader.getString()); } else { @@ -255,7 +256,8 @@ public static RequestTriggerThreshold fromJson(JsonReader jsonReader) throws IOE String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { deserializedRequestTriggerThreshold.setType( - RequestTriggerThresholdType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); + RequestTriggerThresholdType.valueOf( + reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestTriggerThreshold.setValue(reader.getFloat()); } else { @@ -315,7 +317,8 @@ public static RequestTriggerThrottling fromJson(JsonReader jsonReader) throws IO String fieldName = reader.getFieldName(); if ("type".equals(fieldName)) { deserializedRequestTriggerThrottling.setType( - RequestTriggerThrottlingType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); + RequestTriggerThrottlingType.valueOf( + reader.getString().toUpperCase(Locale.ROOT))); } else if ("value".equals(fieldName)) { deserializedRequestTriggerThrottling.setValue(reader.getLong()); } else { @@ -427,7 +430,8 @@ public static RequestTrigger fromJson(JsonReader jsonReader) throws IOException if ("name".equals(fieldName)) { deserializedRequestTrigger.setName(reader.getString()); } else if ("type".equals(fieldName)) { - deserializedRequestTrigger.setType(RequestTriggerType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); + deserializedRequestTrigger.setType( + RequestTriggerType.valueOf(reader.getString().toUpperCase(Locale.ROOT))); } else if ("filter".equals(fieldName)) { deserializedRequestTrigger.setFilter(RequestFilter.fromJson(reader)); } else if ("aggregation".equals(fieldName)) {