diff --git a/kubernetes/BUILD.bazel b/kubernetes/BUILD.bazel index a35028756e..333d40ec4c 100644 --- a/kubernetes/BUILD.bazel +++ b/kubernetes/BUILD.bazel @@ -7,9 +7,6 @@ java_library( srcs = glob(["src/main/java/**/*.java"]), visibility = ["//visibility:public"], deps = [ - "@maven//:com_fasterxml_jackson_core_jackson_annotations", - "@maven//:com_fasterxml_jackson_core_jackson_core", - "@maven//:com_fasterxml_jackson_core_jackson_databind", "@maven//:com_google_code_gson_gson", "@maven//:com_squareup_okhttp3_logging_interceptor", "@maven//:com_squareup_okhttp3_okhttp_jvm", @@ -28,8 +25,6 @@ java_test_suite( runner = "junit5", deps = [ ":client-java-api", - "@maven//:com_fasterxml_jackson_core_jackson_core", - "@maven//:com_fasterxml_jackson_core_jackson_databind", "@maven//:com_google_code_gson_gson", "@maven//:com_squareup_okhttp3_okhttp_jvm", "@maven//:com_squareup_okio_okio_jvm", diff --git a/kubernetes/pom.xml b/kubernetes/pom.xml index f250f2ce1a..8f0cc91d55 100644 --- a/kubernetes/pom.xml +++ b/kubernetes/pom.xml @@ -158,10 +158,6 @@ com.google.code.gson gson - - com.fasterxml.jackson.core - jackson-databind - io.gsonfire gson-fire diff --git a/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrString.java b/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrString.java index ab9332c8c6..6a8b22675d 100644 --- a/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrString.java +++ b/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrString.java @@ -12,7 +12,6 @@ */ package io.kubernetes.client.custom; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.stream.JsonReader; @@ -22,7 +21,6 @@ import java.util.Objects; @JsonAdapter(IntOrString.IntOrStringAdapter.class) -@JsonSerialize(using = IntOrStringJacksonSerializer.class) public class IntOrString { private final boolean isInt; private final String strValue; diff --git a/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrStringJacksonSerializer.java b/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrStringJacksonSerializer.java deleted file mode 100644 index 84536a5f65..0000000000 --- a/kubernetes/src/main/java/io/kubernetes/client/custom/IntOrStringJacksonSerializer.java +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2024 The Kubernetes Authors. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -package io.kubernetes.client.custom; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; - -import java.io.IOException; - -public class IntOrStringJacksonSerializer extends StdSerializer { - - public IntOrStringJacksonSerializer() { - this(null); - } - - public IntOrStringJacksonSerializer(Class t) { - super(IntOrString.class); - } - - @Override - public void serialize(IntOrString value, JsonGenerator jg, SerializerProvider provider) throws IOException { - if (value.isInteger()) { - jg.writeNumber(value.getIntValue()); - } else { - jg.writeString(value.getStrValue()); - } - } -} diff --git a/kubernetes/src/test/java/io/kubernetes/client/custom/IntOrStringTest.java b/kubernetes/src/test/java/io/kubernetes/client/custom/IntOrStringTest.java index 77afa6c520..f25f207028 100644 --- a/kubernetes/src/test/java/io/kubernetes/client/custom/IntOrStringTest.java +++ b/kubernetes/src/test/java/io/kubernetes/client/custom/IntOrStringTest.java @@ -15,8 +15,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import io.kubernetes.client.openapi.JSON; import org.junit.jupiter.api.Test; // Note: Do not use AssertJ .isEquqlTo to test .equals, as this doesn't necessarily invoke it! @@ -116,12 +115,14 @@ void whenCreatedWithString_notEqualAnotherWithDifferentValue() { } @Test - void jacksonSerializer_writeValueAsString() throws JsonProcessingException { - IntOrString intOrString1 = new IntOrString(17); - IntOrString intOrString2 = new IntOrString("17"); + void gsonAdapter_serializesAsIntOrString() { + assertThat(JSON.getGson().toJson(new IntOrString(17))).isEqualTo("17"); + assertThat(JSON.getGson().toJson(new IntOrString("17"))).isEqualTo("\"17\""); + } - ObjectMapper mapper = new ObjectMapper(); - mapper.writeValueAsString(intOrString1); - mapper.writeValueAsString(intOrString2); + @Test + void gsonAdapter_deserializesAsIntOrString() { + assertThat(JSON.getGson().fromJson("17", IntOrString.class).getIntValue()).isEqualTo(17); + assertThat(JSON.getGson().fromJson("\"17\"", IntOrString.class).getStrValue()).isEqualTo("17"); } }