From a7a8217f5811080c33ab5f1cc1fb4e78afbef9cf Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 27 Jul 2022 17:41:09 +0200 Subject: [PATCH] Remove functionType deprecations --- .../context/catalog/FunctionTypeUtils.java | 19 ++++--- .../catalog/FunctionTypeUtilsTests.java | 50 ------------------- 2 files changed, 9 insertions(+), 60 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtils.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtils.java index f2d6a5595..6eb49df79 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtils.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtils.java @@ -42,6 +42,7 @@ import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils; import org.springframework.cloud.function.context.FunctionRegistration; +import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper; import org.springframework.cloud.function.context.config.FunctionContextUtils; import org.springframework.cloud.function.context.config.RoutingFunction; import org.springframework.context.support.GenericApplicationContext; @@ -260,11 +261,10 @@ public final class FunctionTypeUtils { } } - public static int getInputCount(Type functionType) { - assertSupportedTypes(functionType); - int inputCount = isSupplier(functionType) ? 0 : 1; - if (functionType instanceof ParameterizedType && !isSupplier(functionType)) { - Type inputType = ((ParameterizedType) functionType).getActualTypeArguments()[0]; + public static int getInputCount(FunctionInvocationWrapper function) { + int inputCount = function.isSupplier() ? 0 : 1; + if (inputCount > 0) { + Type inputType = function.getInputType(); if (isMulti(inputType)) { inputCount = ((ParameterizedType) inputType).getActualTypeArguments().length; } @@ -272,11 +272,10 @@ public final class FunctionTypeUtils { return inputCount; } - public static int getOutputCount(Type functionType) { - assertSupportedTypes(functionType); - int outputCount = isConsumer(functionType) ? 0 : 1; - if (functionType instanceof ParameterizedType && !isConsumer(functionType)) { - Type outputType = ((ParameterizedType) functionType).getActualTypeArguments()[isSupplier(functionType) ? 0 : 1]; + public static int getOutputCount(FunctionInvocationWrapper function) { + int outputCount = function.isConsumer() ? 0 : 1; + if (outputCount > 0) { + Type outputType = function.getOutputType(); if (isMulti(outputType)) { outputCount = ((ParameterizedType) outputType).getActualTypeArguments().length; } diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtilsTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtilsTests.java index 874af7da0..ee1dfb29b 100644 --- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtilsTests.java +++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtilsTests.java @@ -66,56 +66,6 @@ public class FunctionTypeUtilsTests { System.out.println(); } - @Test - public void testInputCount() throws Exception { - int inputCount = FunctionTypeUtils.getInputCount(getReturnType("function")); - assertThat(inputCount).isEqualTo(1); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("typelessFunction")); - assertThat(inputCount).isEqualTo(1); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("multiInputOutputFunction")); - assertThat(inputCount).isEqualTo(2); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("multiInputOutputPublisherFunction")); - assertThat(inputCount).isEqualTo(2); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("multiInputOutputPublisherFunctionComplexTypes")); - assertThat(inputCount).isEqualTo(2); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("consumer")); - assertThat(inputCount).isEqualTo(1); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("typelessConsumer")); - assertThat(inputCount).isEqualTo(1); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("multiInputConsumer")); - assertThat(inputCount).isEqualTo(2); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("supplier")); - assertThat(inputCount).isEqualTo(0); - inputCount = FunctionTypeUtils.getInputCount(getReturnType("typelessSupplier")); - assertThat(inputCount).isEqualTo(0); - } - - @Test - public void testOutputCount() throws Exception { - int outputCount = FunctionTypeUtils.getOutputCount(getReturnType("function")); - assertThat(outputCount).isEqualTo(1); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("typelessFunction")); - assertThat(outputCount).isEqualTo(1); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("multiInputOutputFunction")); - assertThat(outputCount).isEqualTo(3); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("multiInputOutputPublisherFunction")); - assertThat(outputCount).isEqualTo(3); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("multiInputOutputPublisherFunctionComplexTypes")); - assertThat(outputCount).isEqualTo(3); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("consumer")); - assertThat(outputCount).isEqualTo(0); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("typelessConsumer")); - assertThat(outputCount).isEqualTo(0); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("multiInputConsumer")); - assertThat(outputCount).isEqualTo(0); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("supplier")); - assertThat(outputCount).isEqualTo(1); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("typelessSupplier")); - assertThat(outputCount).isEqualTo(1); - outputCount = FunctionTypeUtils.getOutputCount(getReturnType("multiOutputSupplier")); - assertThat(outputCount).isEqualTo(2); - } - @Test public void testFunctionTypeByClassDiscovery() { Type type = FunctionTypeUtils.discoverFunctionTypeFromClass(Function.class);