18
18
import io .fabric8 .kubernetes .api .model .NamespaceBuilder ;
19
19
import io .fabric8 .kubernetes .client .DefaultKubernetesClient ;
20
20
import io .fabric8 .kubernetes .client .KubernetesClient ;
21
- import io .fabric8 .kubernetes .client .dsl .MixedOperation ;
22
21
import io .fabric8 .kubernetes .client .dsl .NonNamespaceOperation ;
23
22
import io .fabric8 .kubernetes .client .dsl .Resource ;
24
23
import io .fabric8 .kubernetes .client .utils .KubernetesResourceUtil ;
@@ -35,7 +34,7 @@ public abstract class AbstractOperatorExtension implements HasKubernetesClient,
35
34
private static final Logger LOGGER = LoggerFactory .getLogger (AbstractOperatorExtension .class );
36
35
public static final int CRD_READY_WAIT = 2000 ;
37
36
38
- private final KubernetesClient kubernetesClient ;
37
+ private final KubernetesClient kubernetesClient = new DefaultKubernetesClient () ;
39
38
protected final ConfigurationService configurationService ;
40
39
protected final List <HasMetadata > infrastructure ;
41
40
protected Duration infrastructureTimeout ;
@@ -53,7 +52,6 @@ protected AbstractOperatorExtension(
53
52
boolean preserveNamespaceOnError ,
54
53
boolean waitForNamespaceDeletion ) {
55
54
56
- this .kubernetesClient = new DefaultKubernetesClient ();
57
55
this .configurationService = configurationService ;
58
56
this .infrastructure = infrastructure ;
59
57
this .infrastructureTimeout = infrastructureTimeout ;
@@ -97,12 +95,18 @@ public <T extends HasMetadata> NonNamespaceOperation<T, KubernetesResourceList<T
97
95
return kubernetesClient .resources (type ).inNamespace (namespace );
98
96
}
99
97
98
+ @ SuppressWarnings ("unchecked" )
99
+ private <T extends HasMetadata > NonNamespaceOperation <T , KubernetesResourceList <T >, Resource <T >> resources (
100
+ T resource ) {
101
+ return resources ((Class <T >) resource .getClass ());
102
+ }
103
+
100
104
public <T extends HasMetadata > T get (Class <T > type , String name ) {
101
- return kubernetesClient . resources (type ). inNamespace ( namespace ).withName (name ).get ();
105
+ return resources (type ).withName (name ).get ();
102
106
}
103
107
104
108
public <T extends HasMetadata > T create (T resource ) {
105
- return ( T ) kubernetesClient . resources (resource . getClass ()). inNamespace ( namespace ). create ();
109
+ return resources (resource ). create (resource );
106
110
}
107
111
108
112
@ Deprecated (forRemoval = true )
@@ -111,9 +115,7 @@ public <T extends HasMetadata> T create(Class<T> type, T resource) {
111
115
}
112
116
113
117
public <T extends HasMetadata > T replace (T resource ) {
114
- final MixedOperation <T , KubernetesResourceList <T >, Resource <T >> resources =
115
- kubernetesClient .resources ((Class <T >) resource .getClass ());
116
- return resources .inNamespace (namespace ).replace (resource );
118
+ return resources (resource ).replace (resource );
117
119
}
118
120
119
121
@ Deprecated (forRemoval = true )
@@ -122,7 +124,7 @@ public <T extends HasMetadata> T replace(Class<T> type, T resource) {
122
124
}
123
125
124
126
public <T extends HasMetadata > boolean delete (T resource ) {
125
- return kubernetesClient . resource (resource ).inNamespace ( namespace ). delete ();
127
+ return resources (resource ).delete (resource );
126
128
}
127
129
128
130
@ Deprecated (forRemoval = true )
0 commit comments