From 0e4f5e06cf07dc4ee52fab8e93c3560d06e50b96 Mon Sep 17 00:00:00 2001 From: lin1005q <15811933+lin1005q@users.noreply.github.com> Date: Mon, 12 Apr 2021 16:21:59 +0800 Subject: [PATCH] bugfix KubernetesApiResponse cannot be cast to class KubernetesObject (#1631) * bugfix KubernetesApiResponse cannot be cast to class KubernetesObject * fix source code format * update catch ApiException (cherry picked from commit 0f78b732927075c1d57a670f53ea08efde2ce892) --- .../client/extended/kubectl/KubectlPatch.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlPatch.java b/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlPatch.java index bce15d4204..283fa3233f 100644 --- a/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlPatch.java +++ b/extended/src/main/java/io/kubernetes/client/extended/kubectl/KubectlPatch.java @@ -15,6 +15,7 @@ import io.kubernetes.client.common.KubernetesObject; import io.kubernetes.client.custom.V1Patch; import io.kubernetes.client.extended.kubectl.exception.KubectlException; +import io.kubernetes.client.openapi.ApiException; import io.kubernetes.client.util.ModelMapper; import io.kubernetes.client.util.generic.GenericKubernetesApi; @@ -44,10 +45,22 @@ public ApiType execute() throws KubectlException { refreshDiscovery(); GenericKubernetesApi genericKubernetesApi = getGenericApi(); - if (ModelMapper.isNamespaced(apiTypeClass)) { - return (ApiType) genericKubernetesApi.patch(namespace, name, patchType, patchContent); - } else { - return (ApiType) genericKubernetesApi.patch(name, patchType, patchContent); + try { + if (ModelMapper.isNamespaced(apiTypeClass)) { + return (ApiType) + genericKubernetesApi + .patch(namespace, name, patchType, patchContent) + .throwsApiException() + .getObject(); + } else { + return (ApiType) + genericKubernetesApi + .patch(name, patchType, patchContent) + .throwsApiException() + .getObject(); + } + } catch (ApiException e) { + throw new KubectlException(e); } } }