Skip to content

Commit 1133f4f

Browse files
committed
cherry-pick: refreshes the patches files
Signed-off-by: Min Jin <[email protected]>
1 parent ec4d163 commit 1133f4f

File tree

4 files changed

+189
-0
lines changed

4 files changed

+189
-0
lines changed

scripts/patches/json.diff

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
From eeb5069c974d3146495f8a9dc52653f029d3cc2d Mon Sep 17 00:00:00 2001
2+
From: Min Jin <[email protected]>
3+
Date: Tue, 4 Feb 2025 11:59:25 -0800
4+
Subject: [PATCH] manually apply JSON patch
5+
6+
---
7+
.../io/kubernetes/client/openapi/JSON.java | 36 ++++++++++++++++---
8+
1 file changed, 32 insertions(+), 4 deletions(-)
9+
10+
diff --git a/kubernetes/src/main/java/io/kubernetes/client/openapi/JSON.java b/kubernetes/src/main/java/io/kubernetes/client/openapi/JSON.java
11+
index dda3ec708..fe902b293 100644
12+
--- a/kubernetes/src/main/java/io/kubernetes/client/openapi/JSON.java
13+
+++ b/kubernetes/src/main/java/io/kubernetes/client/openapi/JSON.java
14+
@@ -23,6 +23,9 @@ import com.google.gson.JsonElement;
15+
import io.gsonfire.GsonFireBuilder;
16+
import io.gsonfire.TypeSelector;
17+
18+
+import io.kubernetes.client.gson.V1MetadataExclusionStrategy;
19+
+import io.kubernetes.client.gson.V1StatusPreProcessor;
20+
+import io.kubernetes.client.openapi.models.V1Status;
21+
import okio.ByteString;
22+
23+
import java.io.IOException;
24+
@@ -35,6 +38,9 @@ import java.time.OffsetDateTime;
25+
import java.time.ZoneId;
26+
import java.time.ZoneOffset;
27+
import java.time.format.DateTimeFormatter;
28+
+import java.time.format.DateTimeFormatterBuilder;
29+
+import java.time.format.DateTimeParseException;
30+
+import java.time.temporal.ChronoField;
31+
import java.util.Date;
32+
import java.util.Locale;
33+
import java.util.Map;
34+
@@ -50,9 +56,20 @@ import java.util.TimeZone;
35+
public class JSON {
36+
private static Gson gson;
37+
private static boolean isLenientOnJson = false;
38+
+
39+
+ private static final DateTimeFormatter RFC3339MICRO_FORMATTER =
40+
+ new DateTimeFormatterBuilder()
41+
+ .parseDefaulting(ChronoField.OFFSET_SECONDS, 0)
42+
+ .append(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"))
43+
+ .optionalStart()
44+
+ .appendFraction(ChronoField.NANO_OF_SECOND, 6, 6, true)
45+
+ .optionalEnd()
46+
+ .appendLiteral("Z")
47+
+ .toFormatter();
48+
+
49+
private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter();
50+
private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
51+
- private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
52+
+ private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(RFC3339MICRO_FORMATTER);
53+
private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
54+
private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
55+
56+
@@ -65,8 +82,11 @@ public class JSON {
57+
public static GsonBuilder createGson() {
58+
GsonFireBuilder fireBuilder = new GsonFireBuilder()
59+
;
60+
- GsonBuilder builder = fireBuilder.createGsonBuilder();
61+
- return builder;
62+
+ GsonBuilder builder =
63+
+ fireBuilder
64+
+ .registerPreProcessor(V1Status.class, new V1StatusPreProcessor())
65+
+ .createGsonBuilder();
66+
+ return builder.setExclusionStrategies(new V1MetadataExclusionStrategy());
67+
}
68+
69+
private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
70+
@@ -793,11 +813,14 @@ public class JSON {
71+
72+
@Override
73+
public void write(JsonWriter out, byte[] value) throws IOException {
74+
+ boolean oldHtmlSafe = out.isHtmlSafe();
75+
+ out.setHtmlSafe(false);
76+
if (value == null) {
77+
out.nullValue();
78+
} else {
79+
out.value(ByteString.of(value).base64());
80+
}
81+
+ out.setHtmlSafe(oldHtmlSafe);
82+
}
83+
84+
@Override
85+
@@ -853,7 +876,12 @@ public class JSON {
86+
if (date.endsWith("+0000")) {
87+
date = date.substring(0, date.length()-5) + "Z";
88+
}
89+
- return OffsetDateTime.parse(date, formatter);
90+
+ try {
91+
+ return OffsetDateTime.parse(date, formatter);
92+
+ } catch (DateTimeParseException e) {
93+
+ // backward-compatibility for ISO8601 timestamp format
94+
+ return OffsetDateTime.parse(date, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
95+
+ }
96+
}
97+
}
98+
}
99+
--
100+
2.40.0
101+

scripts/patches/list-meta.diff

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From ff206c043bea0e87076e1f981634473b3522b1df Mon Sep 17 00:00:00 2001
2+
From: Min Jin <[email protected]>
3+
Date: Tue, 4 Feb 2025 12:07:01 -0800
4+
Subject: [PATCH] manually apply list-meta patch
5+
6+
Signed-off-by: Min Jin <[email protected]>
7+
---
8+
.../java/io/kubernetes/client/openapi/models/V1ListMeta.java | 3 ++-
9+
1 file changed, 2 insertions(+), 1 deletion(-)
10+
11+
diff --git a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1ListMeta.java b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1ListMeta.java
12+
index 4ea44ec7f..1ef9ec2a6 100644
13+
--- a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1ListMeta.java
14+
+++ b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1ListMeta.java
15+
@@ -265,7 +265,8 @@ public class V1ListMeta {
16+
@Override
17+
public V1ListMeta read(JsonReader in) throws IOException {
18+
JsonElement jsonElement = elementAdapter.read(in);
19+
- validateJsonElement(jsonElement);
20+
+ // Disable validation so delete API can tolerate non-status return object (graceful deletion)
21+
+ // validateJsonObject(jsonObj);
22+
return thisAdapter.fromJsonTree(jsonElement);
23+
}
24+
25+
--
26+
2.40.0
27+

scripts/patches/secret.diff

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From 2f237a9b0065778c20c97350fb5aea3d54974e07 Mon Sep 17 00:00:00 2001
2+
From: Min Jin <[email protected]>
3+
Date: Tue, 4 Feb 2025 11:19:21 -0800
4+
Subject: [PATCH] applying scripts/patches/secret.diff
5+
6+
Signed-off-by: Min Jin <[email protected]>
7+
---
8+
.../java/io/kubernetes/client/openapi/models/V1Secret.java | 3 ++-
9+
1 file changed, 2 insertions(+), 1 deletion(-)
10+
11+
diff --git a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Secret.java b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Secret.java
12+
index 4316c3275..54c8cb914 100644
13+
--- a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Secret.java
14+
+++ b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Secret.java
15+
@@ -18,6 +18,7 @@ import com.google.gson.annotations.JsonAdapter;
16+
import com.google.gson.annotations.SerializedName;
17+
import com.google.gson.stream.JsonReader;
18+
import com.google.gson.stream.JsonWriter;
19+
+import io.kubernetes.client.custom.MapUtils;
20+
import io.kubernetes.client.openapi.models.V1ObjectMeta;
21+
import io.swagger.annotations.ApiModel;
22+
import io.swagger.annotations.ApiModelProperty;
23+
@@ -254,7 +255,7 @@ public class V1Secret implements io.kubernetes.client.common.KubernetesObject {
24+
}
25+
V1Secret v1Secret = (V1Secret) o;
26+
return Objects.equals(this.apiVersion, v1Secret.apiVersion) &&
27+
- Objects.equals(this.data, v1Secret.data) &&
28+
+ MapUtils.equals(this.data, v1Secret.data) &&
29+
Objects.equals(this.immutable, v1Secret.immutable) &&
30+
Objects.equals(this.kind, v1Secret.kind) &&
31+
Objects.equals(this.metadata, v1Secret.metadata) &&
32+
--
33+
2.40.0
34+

scripts/patches/status.diff

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From 8c5816990a40eb9ad57dda33bd7fb5cfdbcd3627 Mon Sep 17 00:00:00 2001
2+
From: Min Jin <[email protected]>
3+
Date: Tue, 4 Feb 2025 12:08:35 -0800
4+
Subject: [PATCH] manual apply status patch
5+
6+
Signed-off-by: Min Jin <[email protected]>
7+
---
8+
.../java/io/kubernetes/client/openapi/models/V1Status.java | 3 ++-
9+
1 file changed, 2 insertions(+), 1 deletion(-)
10+
11+
diff --git a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Status.java b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Status.java
12+
index 8faeacd29..e03d69e70 100644
13+
--- a/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Status.java
14+
+++ b/kubernetes/src/main/java/io/kubernetes/client/openapi/models/V1Status.java
15+
@@ -389,7 +389,8 @@ public class V1Status {
16+
@Override
17+
public V1Status read(JsonReader in) throws IOException {
18+
JsonElement jsonElement = elementAdapter.read(in);
19+
- validateJsonElement(jsonElement);
20+
+ // Disable validation so delete API can tolerate non-status return object (graceful deletion)
21+
+ // validateJsonObject(jsonObj);
22+
return thisAdapter.fromJsonTree(jsonElement);
23+
}
24+
25+
--
26+
2.40.0
27+

0 commit comments

Comments
 (0)