You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by xi...@apache.org on 2026/04/06 22:36:09 UTC
(texera) 27/40: feat(cache): fix compiling service join type 400 bug.
This is an automated email from the ASF dual-hosted git repository.
xiaozhenliu pushed a commit to branch xiaozhen-caching-prototype
in repository https://gitbox.apache.org/repos/asf/texera.git
commit 2af6073aacebfa414abada4a7a0180ab419ddf6b
Author: Xiaozhen Liu <xi...@uci.edu>
AuthorDate: Mon Jan 19 14:37:29 2026 -0800
feat(cache): fix compiling service join type 400 bug.
---
.../texera/amber/operator/hashJoin/JoinType.java | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java
index 5ac03b3b87..4b1e4fa210 100644
--- a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java
+++ b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java
@@ -20,6 +20,7 @@
package org.apache.texera.amber.operator.hashJoin;
import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.annotation.JsonCreator;
public enum JoinType {
INNER("inner"),
@@ -38,4 +39,24 @@ public enum JoinType {
return this.value;
}
+ /**
+ * Parses a JSON join type string into the matching enum value.
+ * Accepts the serialized values (e.g., "full outer") case-insensitively.
+ *
+ * @param value join type string from JSON
+ * @return matching JoinType enum
+ */
+ @JsonCreator
+ public static JoinType fromString(String value) {
+ if (value == null) {
+ return null;
+ }
+ for (JoinType type : JoinType.values()) {
+ if (type.value.equalsIgnoreCase(value)) {
+ return type;
+ }
+ }
+ throw new IllegalArgumentException("Unknown join type: " + value);
+ }
+
}