From 3f66f4e4edf59f1f0a2dd85fb06864d259f43c0e Mon Sep 17 00:00:00 2001 From: Jiadong Bai <43344272+bobbai00@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:27:03 -0800 Subject: [PATCH] Fix serialization of LineMode for LineChartOp (#3199) Same reason as #3132 --- .../operator/visualization/lineChart/LineMode.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/workflow-operator/src/main/scala/edu/uci/ics/amber/operator/visualization/lineChart/LineMode.java b/core/workflow-operator/src/main/scala/edu/uci/ics/amber/operator/visualization/lineChart/LineMode.java index 3542d139959..7abe3be6be7 100644 --- a/core/workflow-operator/src/main/scala/edu/uci/ics/amber/operator/visualization/lineChart/LineMode.java +++ b/core/workflow-operator/src/main/scala/edu/uci/ics/amber/operator/visualization/lineChart/LineMode.java @@ -1,5 +1,6 @@ package edu.uci.ics.amber.operator.visualization.lineChart; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; public enum LineMode { @@ -12,6 +13,17 @@ public enum LineMode { this.mode = mode; } + // Handle custom deserialization for enum + @JsonCreator + public static LineMode fromString(String value) { + for (LineMode mode : LineMode.values()) { + if (mode.mode.equalsIgnoreCase(value)) { + return mode; + } + } + throw new IllegalArgumentException("Unknown line mode: " + value); + } + @JsonValue public String getMode() { return mode;