From 4d38d9d10883a2a1df2425673a4381ba3f443831 Mon Sep 17 00:00:00 2001 From: Johnathan Gilday Date: Fri, 15 Mar 2024 10:41:31 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=20Support=20lowercase=20a?= =?UTF-8?q?nd=20UPPERCASE=20for=20Enums?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CodeTF JSON schema says that enums can use lowercase or uppercase. This change makes the enums prefer lowercase (i.e. in serialization), but they will accept uppercase (i.e. in deserialization). This is a good transition towards removing support for UPPERCASE if we would like to take that next step. /towards ISS-617 --- src/main/java/io/codemodder/codetf/CodeTFPackageAction.java | 6 ++++++ src/test/resources/basic.codetf.json | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/codemodder/codetf/CodeTFPackageAction.java b/src/main/java/io/codemodder/codetf/CodeTFPackageAction.java index 43d3c4a..22964e5 100644 --- a/src/main/java/io/codemodder/codetf/CodeTFPackageAction.java +++ b/src/main/java/io/codemodder/codetf/CodeTFPackageAction.java @@ -1,5 +1,6 @@ package io.codemodder.codetf; +import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; @@ -7,13 +8,18 @@ public final class CodeTFPackageAction { public enum CodeTFPackageActionType { + @JsonAlias("add") ADD, + @JsonAlias("remove") REMOVE } public enum CodeTFPackageActionResult { + @JsonAlias("completed") COMPLETED, + @JsonAlias("failed") FAILED, + @JsonAlias("skipped") SKIPPED } diff --git a/src/test/resources/basic.codetf.json b/src/test/resources/basic.codetf.json index f68da4d..e6f83ed 100644 --- a/src/test/resources/basic.codetf.json +++ b/src/test/resources/basic.codetf.json @@ -41,8 +41,8 @@ "properties" : { }, "packageActions" : [ { - "action" : "ADD", - "result": "COMPLETED", + "action" : "add", + "result": "completed", "package" : "pkg:maven/io.github.pixee/java-security-toolkit@1.0.2" } ] @@ -63,4 +63,4 @@ ] } ] -} \ No newline at end of file +}