Skip to content

Commit d3aa2c2

Browse files
committed
GH-1312 cleanup FunctionTypeUtils
1 parent 9c8b809 commit d3aa2c2

File tree

1 file changed

+8
-36
lines changed
  • spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog

1 file changed

+8
-36
lines changed

spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeUtils.java

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ public static boolean isTypeMap(Type type) {
140140

141141
public static boolean isTypeArray(Type type) {
142142
return type instanceof GenericArrayType;
143-
// return getRawType(type).isArray();
144143
}
145144

146145
public static boolean isJsonNode(Type type) {
@@ -230,23 +229,17 @@ else if (Function.class.isAssignableFrom(pojoFunctionClass) || BiFunction.class.
230229

231230
public static Type discoverFunctionTypeFromType(Type functionalType) {
232231
Type typeToReturn = null;
232+
ResolvableType functionType;
233233
if (Function.class.isAssignableFrom(getRawType(functionalType))) {
234-
ResolvableType functionType = ResolvableType.forType(functionalType).as(Function.class);
235-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), getRawType(functionalType));
234+
functionType = ResolvableType.forType(functionalType).as(Function.class);
236235
}
237236
else if (Consumer.class.isAssignableFrom(getRawType(functionalType))) {
238-
ResolvableType functionType = ResolvableType.forType(functionalType).as(Consumer.class);
239-
240-
ResolvableType t = ResolvableType.forClassWithGenerics(getRawType(functionalType), functionType.getGeneric(0));
241-
Type t2 = t.getType();
242-
//Type t = ResolvableType.
243-
244-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), functionType.getRawClass());
237+
functionType = ResolvableType.forType(functionalType).as(Consumer.class);
245238
}
246239
else {
247-
ResolvableType functionType = ResolvableType.forType(functionalType).as(Supplier.class);
248-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), getRawType(functionalType));
240+
functionType = ResolvableType.forType(functionalType).as(Supplier.class);
249241
}
242+
typeToReturn = resolveType(functionType);
250243
return typeToReturn;
251244
}
252245

@@ -261,27 +254,7 @@ else if (Function0.class.isAssignableFrom(functionalClass)) {
261254
return GenericTypeResolver.resolveType(kotlinType.getType(), functionalClass);
262255
}
263256
}
264-
Type typeToReturn = null;
265-
if (Function.class.isAssignableFrom(functionalClass)) {
266-
for (Type superInterface : functionalClass.getGenericInterfaces()) {
267-
if (superInterface != null && !superInterface.equals(Object.class)) {
268-
if (superInterface.toString().contains("KStream") && ResolvableType.forType(superInterface).getGeneric(1).isArray()) {
269-
return null;
270-
}
271-
}
272-
}
273-
ResolvableType functionType = ResolvableType.forType(functionalClass).as(Function.class);
274-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), functionalClass);
275-
}
276-
else if (Consumer.class.isAssignableFrom(functionalClass)) {
277-
ResolvableType functionType = ResolvableType.forType(functionalClass).as(Consumer.class);
278-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), functionalClass);
279-
}
280-
else if (Supplier.class.isAssignableFrom(functionalClass)) {
281-
ResolvableType functionType = ResolvableType.forType(functionalClass).as(Supplier.class);
282-
typeToReturn = GenericTypeResolver.resolveType(functionType.getType(), functionalClass);
283-
}
284-
return typeToReturn;
257+
return discoverFunctionTypeFromType(functionalClass);
285258
}
286259

287260
/**
@@ -307,7 +280,6 @@ public static Type discoverFunctionTypeFromFunctionFactoryMethod(Class<?> clazz,
307280
*/
308281
public static Type discoverFunctionTypeFromFunctionFactoryMethod(Method method) {
309282
return method.getGenericReturnType();
310-
// return discoverFunctionTypeFromClass(method.getReturnType());
311283
}
312284

313285
/**
@@ -394,8 +366,8 @@ public static Type getComponentTypeOfInputType(Type functionType) {
394366
* @return generic type or output type
395367
*/
396368
public static Type getComponentTypeOfOutputType(Type functionType) {
397-
Type inputType = getOutputType(functionType);
398-
return getImmediateGenericType(inputType, 0);
369+
Type outputType = getOutputType(functionType);
370+
return getImmediateGenericType(outputType, 0);
399371
}
400372

401373
/**

0 commit comments

Comments
 (0)