Remove functionType deprecations
This commit is contained in:
@@ -42,6 +42,7 @@ import org.springframework.beans.factory.FactoryBean;
|
|||||||
import org.springframework.beans.factory.ListableBeanFactory;
|
import org.springframework.beans.factory.ListableBeanFactory;
|
||||||
import org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils;
|
import org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils;
|
||||||
import org.springframework.cloud.function.context.FunctionRegistration;
|
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.FunctionContextUtils;
|
||||||
import org.springframework.cloud.function.context.config.RoutingFunction;
|
import org.springframework.cloud.function.context.config.RoutingFunction;
|
||||||
import org.springframework.context.support.GenericApplicationContext;
|
import org.springframework.context.support.GenericApplicationContext;
|
||||||
@@ -260,11 +261,10 @@ public final class FunctionTypeUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getInputCount(Type functionType) {
|
public static int getInputCount(FunctionInvocationWrapper function) {
|
||||||
assertSupportedTypes(functionType);
|
int inputCount = function.isSupplier() ? 0 : 1;
|
||||||
int inputCount = isSupplier(functionType) ? 0 : 1;
|
if (inputCount > 0) {
|
||||||
if (functionType instanceof ParameterizedType && !isSupplier(functionType)) {
|
Type inputType = function.getInputType();
|
||||||
Type inputType = ((ParameterizedType) functionType).getActualTypeArguments()[0];
|
|
||||||
if (isMulti(inputType)) {
|
if (isMulti(inputType)) {
|
||||||
inputCount = ((ParameterizedType) inputType).getActualTypeArguments().length;
|
inputCount = ((ParameterizedType) inputType).getActualTypeArguments().length;
|
||||||
}
|
}
|
||||||
@@ -272,11 +272,10 @@ public final class FunctionTypeUtils {
|
|||||||
return inputCount;
|
return inputCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getOutputCount(Type functionType) {
|
public static int getOutputCount(FunctionInvocationWrapper function) {
|
||||||
assertSupportedTypes(functionType);
|
int outputCount = function.isConsumer() ? 0 : 1;
|
||||||
int outputCount = isConsumer(functionType) ? 0 : 1;
|
if (outputCount > 0) {
|
||||||
if (functionType instanceof ParameterizedType && !isConsumer(functionType)) {
|
Type outputType = function.getOutputType();
|
||||||
Type outputType = ((ParameterizedType) functionType).getActualTypeArguments()[isSupplier(functionType) ? 0 : 1];
|
|
||||||
if (isMulti(outputType)) {
|
if (isMulti(outputType)) {
|
||||||
outputCount = ((ParameterizedType) outputType).getActualTypeArguments().length;
|
outputCount = ((ParameterizedType) outputType).getActualTypeArguments().length;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,56 +66,6 @@ public class FunctionTypeUtilsTests<T> {
|
|||||||
System.out.println();
|
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
|
@Test
|
||||||
public void testFunctionTypeByClassDiscovery() {
|
public void testFunctionTypeByClassDiscovery() {
|
||||||
Type type = FunctionTypeUtils.discoverFunctionTypeFromClass(Function.class);
|
Type type = FunctionTypeUtils.discoverFunctionTypeFromClass(Function.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user