From fcbbaa8cab91de2bb64f11d6974a1a515de51dd0 Mon Sep 17 00:00:00 2001 From: Steve Hawkins Date: Fri, 18 Nov 2022 15:12:02 -0500 Subject: [PATCH] fix #4590: only using a builder if there are visitors --- CHANGELOG.md | 1 + ...hDeleteRecreateWaitApplicableListImpl.java | 32 +++++-------------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 176aef9d522..50146950f50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### 6.3-SNAPSHOT #### Bugs +* Fix #4590: only using a builder if there are visitors * Fix #4159: ensure the token refresh obeys how the Config was created * Fix #4491: added a more explicit shutdown exception for okhttp * Fix #4510: Fix StackOverflow on cyclic references involving collections. diff --git a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java index 827921752d9..f57f2449558 100644 --- a/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java +++ b/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java @@ -16,14 +16,12 @@ package io.fabric8.kubernetes.client.dsl.internal; import com.fasterxml.jackson.databind.ObjectMapper; -import io.fabric8.kubernetes.api.builder.TypedVisitor; import io.fabric8.kubernetes.api.builder.VisitableBuilder; import io.fabric8.kubernetes.api.builder.Visitor; import io.fabric8.kubernetes.api.model.DeletionPropagation; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.KubernetesList; import io.fabric8.kubernetes.api.model.KubernetesResourceList; -import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.fabric8.kubernetes.api.model.StatusDetails; import io.fabric8.kubernetes.client.Client; import io.fabric8.kubernetes.client.KubernetesClient; @@ -63,20 +61,6 @@ public class NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImp implements ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable, Waitable, HasMetadata> { - static class ChangeNamespace extends TypedVisitor { - - private final String explicitNamespace; - - ChangeNamespace(String explicitNamespace) { - this.explicitNamespace = explicitNamespace; - } - - @Override - public void visit(ObjectMetaBuilder builder) { - builder.withNamespace(explicitNamespace); - } - } - private static final Logger LOGGER = LoggerFactory .getLogger(NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.class); protected static final String EXPRESSION = "expression"; @@ -294,16 +278,16 @@ public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl newI static HasMetadata acceptVisitors(HasMetadata item, List visitors, String explicitNamespace, OperationContext context) { - VisitableBuilder builder = context.getHandler(item).edit(item); + if (!visitors.isEmpty()) { + VisitableBuilder builder = context.getHandler(item).edit(item); - //Let's apply any visitor that might have been specified. - for (Visitor v : visitors) { - builder.accept(v); - } - if (explicitNamespace != null) { - builder.accept(new ChangeNamespace(explicitNamespace)); + //Let's apply any visitor that might have been specified. + for (Visitor v : visitors) { + builder.accept(v); + } + item = builder.build(); } - return builder.build(); + return item; } @Override