From 6ce3a22cbfff9d1312cdf433040419bfef2009e0 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 26 Jul 2021 13:10:52 +0200 Subject: [PATCH] GH-717 Add support for adding MessageConverters to FunctionCatalog Resolves #717 --- .../context/catalog/SimpleFunctionRegistry.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index 0e4292ea6..19976a075 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -64,6 +64,7 @@ import org.springframework.lang.Nullable; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.converter.CompositeMessageConverter; +import org.springframework.messaging.converter.MessageConverter; import org.springframework.messaging.support.MessageBuilder; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; @@ -121,6 +122,17 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect this.functionProperties = functionProperties; } + /** + * Will add provided {@link MessageConverter}s to the head of the stack of the existing MessageConverters. + * + * @param messageConverters list of {@link MessageConverter}s. + */ + public void addMessageConverters(List messageConverters) { + if (!CollectionUtils.isEmpty(messageConverters)) { + this.messageConverter.getConverters().addAll(0, messageConverters); + } + } + @Override public FunctionRegistration getRegistration(Object function) { throw new UnsupportedOperationException("FunctionInspector is deprecated. There is no need "