From 47f396443555f42e6cfc0ed6aea0efdea2a67fda Mon Sep 17 00:00:00 2001 From: Neokeld Date: Mon, 10 Oct 2022 16:22:17 +0200 Subject: [PATCH] Simple refactor: function is always null, see l121 Resolves #934 --- .../context/config/RoutingFunction.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/RoutingFunction.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/RoutingFunction.java index d5af9f387..7d7a4a207 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/RoutingFunction.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/RoutingFunction.java @@ -160,18 +160,16 @@ public class RoutingFunction implements Function { } } else if (input instanceof Publisher) { - if (function == null) { - if (StringUtils.hasText(functionProperties.getDefinition())) { - function = functionFromDefinition(functionProperties.getDefinition()); - } - else if (StringUtils.hasText(functionProperties.getRoutingExpression())) { - function = this.functionFromExpression(functionProperties.getRoutingExpression(), input); - } - else { - return input instanceof Mono + if (StringUtils.hasText(functionProperties.getDefinition())) { + function = functionFromDefinition(functionProperties.getDefinition()); + } + else if (StringUtils.hasText(functionProperties.getRoutingExpression())) { + function = this.functionFromExpression(functionProperties.getRoutingExpression(), input); + } + else { + return input instanceof Mono ? Mono.from((Publisher) input).map(v -> route(v, originalInputIsPublisher)) : Flux.from((Publisher) input).map(v -> route(v, originalInputIsPublisher)); - } } } else {