From 6fbc55b87a0623d272666064789dec1daceebe53 Mon Sep 17 00:00:00 2001 From: csviri Date: Wed, 16 Nov 2022 13:55:21 +0100 Subject: [PATCH 1/3] feat: upgrade to fabric8 v6.2.0 --- .../webhook/conversion/AsyncConversionController.java | 6 ++++-- .../java/io/javaoperatorsdk/webhook/conversion/Commons.java | 5 ++++- .../webhook/conversion/ConversionController.java | 4 ++-- .../webhook/conversion/ConversionTestSupport.java | 1 + pom.xml | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/AsyncConversionController.java b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/AsyncConversionController.java index 7b6f9e6f..53118835 100644 --- a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/AsyncConversionController.java +++ b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/AsyncConversionController.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; +import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,7 +37,8 @@ public void registerMapper(AsyncMapper mapper) { public CompletionStage handle(ConversionReview conversionReview) { try { return convertObjects( - conversionReview.getRequest().getObjects(), + conversionReview.getRequest().getObjects().stream() + .map(HasMetadata.class::cast).collect(Collectors.toList()), Utils.versionOfApiVersion(conversionReview.getRequest().getDesiredAPIVersion())) .thenApply(convertedObjects -> createResponse(convertedObjects, conversionReview)); } catch (MissingConversionMapperException e) { @@ -52,7 +54,7 @@ private CompletionStage> convertObjects(List obje String targetVersion) { CompletableFuture[] completableFutures = new CompletableFuture[objects.size()]; for (int i = 0; i < objects.size(); i++) { - completableFutures[i] = mapObject(objects.get(i), targetVersion); + completableFutures[i] = mapObject((HasMetadata) objects.get(i), targetVersion); } return CompletableFuture.allOf(completableFutures).thenApply(r -> { List result = new ArrayList<>(completableFutures.length); diff --git a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/Commons.java b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/Commons.java index d1433956..54909093 100644 --- a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/Commons.java +++ b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/Commons.java @@ -1,8 +1,10 @@ package io.javaoperatorsdk.webhook.conversion; import java.util.List; +import java.util.stream.Collectors; import io.fabric8.kubernetes.api.model.HasMetadata; +import io.fabric8.kubernetes.api.model.KubernetesResource; import io.fabric8.kubernetes.api.model.Status; import io.fabric8.kubernetes.api.model.apiextensions.v1.ConversionResponse; import io.fabric8.kubernetes.api.model.apiextensions.v1.ConversionReview; @@ -20,7 +22,8 @@ public static ConversionReview createResponse(List convertedObjects response.setResult(new Status()); response.getResult().setStatus("Success"); response.setUid(conversionReview.getRequest().getUid()); - response.setConvertedObjects(convertedObjects); + response.setConvertedObjects(convertedObjects.stream().map(KubernetesResource.class::cast) + .collect(Collectors.toList())); result.setResponse(response); return result; } diff --git a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/ConversionController.java b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/ConversionController.java index 00ba1f36..8ed9996a 100644 --- a/core/src/main/java/io/javaoperatorsdk/webhook/conversion/ConversionController.java +++ b/core/src/main/java/io/javaoperatorsdk/webhook/conversion/ConversionController.java @@ -17,7 +17,6 @@ public class ConversionController implements ConversionRequestHandler { private static final Logger log = LoggerFactory.getLogger(ConversionController.class); - @SuppressWarnings("rawtypes") private final Map mappers = new HashMap<>(); @@ -35,7 +34,8 @@ public void registerMapper(Mapper mapper) { public ConversionReview handle(ConversionReview conversionReview) { try { List convertedObjects = - convertObjects(conversionReview.getRequest().getObjects(), + convertObjects(conversionReview.getRequest().getObjects().stream() + .map(HasMetadata.class::cast).collect(Collectors.toList()), Utils.versionOfApiVersion(conversionReview.getRequest().getDesiredAPIVersion())); return createResponse(convertedObjects, conversionReview); } catch (MissingConversionMapperException e) { diff --git a/core/src/test/java/io/javaoperatorsdk/webhook/conversion/ConversionTestSupport.java b/core/src/test/java/io/javaoperatorsdk/webhook/conversion/ConversionTestSupport.java index ee2a3b46..c239d4d1 100644 --- a/core/src/test/java/io/javaoperatorsdk/webhook/conversion/ConversionTestSupport.java +++ b/core/src/test/java/io/javaoperatorsdk/webhook/conversion/ConversionTestSupport.java @@ -49,6 +49,7 @@ void convertsVariousVersionsInSingleRequest(Function namesInOrder = response.getConvertedObjects().stream() + .map(HasMetadata.class::cast) .map(r -> r.getMetadata().getName()).collect(Collectors.toList()); assertThat(namesInOrder).containsExactly(V1_NAME, V2_NAME, V3_NAME); assertThat(response.getConvertedObjects()).allMatch(r -> r instanceof CustomResourceV3); diff --git a/pom.xml b/pom.xml index 31b2754e..0128e8ee 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ https://sonarcloud.io 5.8.2 - 6.1.1 + 6.2.0 1.7.32 2.17.1 4.1.0 From ac68da9378016acd57dbec439bc5053416ae9d2c Mon Sep 17 00:00:00 2001 From: csviri Date: Wed, 16 Nov 2022 14:18:24 +0100 Subject: [PATCH 2/3] dekor --- .../sample/quarkus/conversion/ConversionEndpoint.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java b/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java index cd54662d..59de0501 100644 --- a/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java +++ b/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java @@ -25,8 +25,7 @@ public ConversionEndpoint(ConversionController conversionController, this.conversionController = conversionController; this.asyncConversionController = asyncConversionController; } - - + @POST @Path(CONVERSION_PATH) @Consumes(MediaType.APPLICATION_JSON) @@ -43,5 +42,4 @@ public Uni convertAsync(ConversionReview conversionReview) { return Uni.createFrom() .completionStage(() -> asyncConversionController.handle(conversionReview)); } - } From 0d49bb5871ab464fab88236457ea493ffbc61d5b Mon Sep 17 00:00:00 2001 From: csviri Date: Wed, 16 Nov 2022 14:22:14 +0100 Subject: [PATCH 3/3] format --- .../admission/sample/quarkus/conversion/ConversionEndpoint.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java b/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java index 59de0501..db911460 100644 --- a/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java +++ b/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionEndpoint.java @@ -25,7 +25,7 @@ public ConversionEndpoint(ConversionController conversionController, this.conversionController = conversionController; this.asyncConversionController = asyncConversionController; } - + @POST @Path(CONVERSION_PATH) @Consumes(MediaType.APPLICATION_JSON)