Skip to content

Commit

Permalink
fix fabric8io#4590: only using a builder if there are visitors
Browse files Browse the repository at this point in the history
  • Loading branch information
shawkins committed Nov 18, 2022
1 parent f58b1dd commit fcbbaa8
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 24 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -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.
Expand Down
Expand Up @@ -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;
Expand Down Expand Up @@ -63,20 +61,6 @@ public class NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImp
implements ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata>,
Waitable<List<HasMetadata>, HasMetadata> {

static class ChangeNamespace extends TypedVisitor<ObjectMetaBuilder> {

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";
Expand Down Expand Up @@ -294,16 +278,16 @@ public NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl newI

static HasMetadata acceptVisitors(HasMetadata item, List<Visitor> visitors, String explicitNamespace,
OperationContext context) {
VisitableBuilder<HasMetadata, ?> builder = context.getHandler(item).edit(item);
if (!visitors.isEmpty()) {
VisitableBuilder<HasMetadata, ?> 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
Expand Down

0 comments on commit fcbbaa8

Please sign in to comment.