GH-766 Simplify type description display purposes
This commit is contained in:
@@ -24,6 +24,7 @@ import java.util.TreeMap;
|
|||||||
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
|
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
|
||||||
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
||||||
import org.springframework.cloud.function.context.FunctionCatalog;
|
import org.springframework.cloud.function.context.FunctionCatalog;
|
||||||
|
import org.springframework.cloud.function.context.catalog.FunctionTypeUtils;
|
||||||
import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper;
|
import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,20 +52,30 @@ public class FunctionsEndpoint {
|
|||||||
Map<String, Object> functionMap = new LinkedHashMap<>();
|
Map<String, Object> functionMap = new LinkedHashMap<>();
|
||||||
if (function.isFunction()) {
|
if (function.isFunction()) {
|
||||||
functionMap.put("type", "FUNCTION");
|
functionMap.put("type", "FUNCTION");
|
||||||
functionMap.put("input-type", function.getInputType().toString());
|
functionMap.put("input-type", this.toSimplePolyIn(function));
|
||||||
functionMap.put("output-type", function.getOutputType().toString());
|
functionMap.put("output-type", this.toSimplePolyOut(function));
|
||||||
}
|
}
|
||||||
else if (function.isConsumer()) {
|
else if (function.isConsumer()) {
|
||||||
functionMap.put("type", "CONSUMER");
|
functionMap.put("type", "CONSUMER");
|
||||||
functionMap.put("input-type", function.getInputType().toString());
|
functionMap.put("input-type", this.toSimplePolyIn(function));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
functionMap.put("type", "SUPPLIER");
|
functionMap.put("type", "SUPPLIER");
|
||||||
functionMap.put("output-type", function.getOutputType().toString());
|
functionMap.put("output-type", this.toSimplePolyOut(function));
|
||||||
}
|
}
|
||||||
allFunctions.put(name, functionMap);
|
allFunctions.put(name, functionMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return allFunctions;
|
return allFunctions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String toSimplePolyOut(FunctionInvocationWrapper function) {
|
||||||
|
return FunctionTypeUtils.getRawType(function.getItemType(function.getOutputType())).getSimpleName().toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String toSimplePolyIn(FunctionInvocationWrapper function) {
|
||||||
|
return FunctionTypeUtils.getRawType(function.getItemType(function.getInputType())).getSimpleName().toLowerCase();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ public class SampleApplication {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Function<Message<String>, String> uppercaseMessage() {
|
public Function<Message<String>, Integer> uppercaseMessage() {
|
||||||
return value -> value.getPayload().toUpperCase();
|
return value -> value.getPayload().toUpperCase().length();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|||||||
Reference in New Issue
Block a user