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");
}
}