|
5 | 5 | import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getVersion; |
6 | 6 | import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.markedForDeletion; |
7 | 7 |
|
| 8 | +import io.fabric8.kubernetes.api.model.KubernetesResourceList; |
8 | 9 | import io.fabric8.kubernetes.client.CustomResource; |
9 | 10 | import io.fabric8.kubernetes.client.dsl.MixedOperation; |
10 | 11 | import io.fabric8.kubernetes.client.dsl.Resource; |
@@ -189,23 +190,24 @@ private void addFinalizerIfNotPresent(CustomResource resource) { |
189 | 190 | } |
190 | 191 |
|
191 | 192 | // created to support unit testing |
192 | | - public static class CustomResourceFacade { |
| 193 | + public static class CustomResourceFacade<R extends CustomResource> { |
193 | 194 |
|
194 | | - private final MixedOperation<?, ?, Resource<CustomResource>> resourceOperation; |
| 195 | + private final MixedOperation<R, KubernetesResourceList<R>, Resource<R>> resourceOperation; |
195 | 196 |
|
196 | | - public CustomResourceFacade(MixedOperation<?, ?, Resource<CustomResource>> resourceOperation) { |
| 197 | + public CustomResourceFacade( |
| 198 | + MixedOperation<R, KubernetesResourceList<R>, Resource<R>> resourceOperation) { |
197 | 199 | this.resourceOperation = resourceOperation; |
198 | 200 | } |
199 | 201 |
|
200 | | - public CustomResource updateStatus(CustomResource resource) { |
| 202 | + public R updateStatus(R resource) { |
201 | 203 | log.trace("Updating status for resource: {}", resource); |
202 | 204 | return resourceOperation |
203 | 205 | .inNamespace(resource.getMetadata().getNamespace()) |
204 | 206 | .withName(resource.getMetadata().getName()) |
205 | 207 | .updateStatus(resource); |
206 | 208 | } |
207 | 209 |
|
208 | | - public CustomResource replaceWithLock(CustomResource resource) { |
| 210 | + public R replaceWithLock(R resource) { |
209 | 211 | return resourceOperation |
210 | 212 | .inNamespace(resource.getMetadata().getNamespace()) |
211 | 213 | .withName(resource.getMetadata().getName()) |
|
0 commit comments