diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/ApplicationContextFunctionCatalog.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/ApplicationContextFunctionCatalog.java index 230ef7dfb..bc34c0a8a 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/ApplicationContextFunctionCatalog.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/ApplicationContextFunctionCatalog.java @@ -47,15 +47,6 @@ public class ApplicationContextFunctionCatalog implements FunctionCatalog { return (Function) functions.get(name); } - @Override - public Function composeFunction(String... functionNames) { - Function function = this.lookupFunction(functionNames[0]); - for (int i = 1; i < functionNames.length; i++) { - function = function.andThen(this.lookupFunction(functionNames[i])); - } - return function; - } - @SuppressWarnings("unchecked") @Override public Supplier lookupSupplier(String name) { diff --git a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/AbstractFunctionRegistry.java b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/AbstractFunctionRegistry.java index f5f023f7b..8a80aa2f0 100644 --- a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/AbstractFunctionRegistry.java +++ b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/AbstractFunctionRegistry.java @@ -51,17 +51,6 @@ public abstract class AbstractFunctionRegistry implements FunctionRegistry { private final SimpleClassLoader classLoader = new SimpleClassLoader(AbstractFunctionRegistry.class.getClassLoader()); - @Override - @SuppressWarnings("unchecked") - public Function composeFunction(String... functionNames) { - @SuppressWarnings("rawtypes") - Function function = this.lookupFunction(functionNames[0]); - for (int i = 1; i < functionNames.length; i++) { - function = function.andThen(this.lookupFunction(functionNames[i])); - } - return function; - } - @Override public Consumer lookupConsumer(String name) { @SuppressWarnings("unchecked") diff --git a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/FunctionCatalog.java b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/FunctionCatalog.java index f1a48519e..00fddcf6c 100644 --- a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/FunctionCatalog.java +++ b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/registry/FunctionCatalog.java @@ -29,7 +29,5 @@ public interface FunctionCatalog { Function lookupFunction(String name); - Function composeFunction(String... functionNames); - Supplier lookupSupplier(String name); } diff --git a/spring-cloud-function-core/src/test/java/org/springframework/cloud/function/registry/FileSystemFunctionRegistryTests.java b/spring-cloud-function-core/src/test/java/org/springframework/cloud/function/registry/FileSystemFunctionRegistryTests.java index e57e3dff4..659c5753a 100644 --- a/spring-cloud-function-core/src/test/java/org/springframework/cloud/function/registry/FileSystemFunctionRegistryTests.java +++ b/spring-cloud-function-core/src/test/java/org/springframework/cloud/function/registry/FileSystemFunctionRegistryTests.java @@ -16,8 +16,6 @@ package org.springframework.cloud.function.registry; -import static org.junit.Assert.assertEquals; - import java.io.File; import java.io.IOException; import java.util.List; @@ -26,6 +24,8 @@ import java.util.function.Function; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; + import reactor.core.publisher.Flux; /** @@ -53,15 +53,4 @@ public class FileSystemFunctionRegistryTests { assertEquals("BAR", results.get(1)); } - @Test - public void composeFunction() throws IOException { - FileSystemFunctionRegistry registry = new FileSystemFunctionRegistry(this.directory); - registry.registerFunction("uppercase", "f->f.map(s->s.toString().toUpperCase())"); - registry.registerFunction("exclaim", "f->f.map(s->s+\"!!!\")"); - Function, Flux> function = registry.composeFunction("uppercase", "exclaim"); - Flux output = function.apply(Flux.just("foo", "bar")); - List results = output.collectList().block(); - assertEquals("FOO!!!", results.get(0)); - assertEquals("BAR!!!", results.get(1)); - } } diff --git a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalog.java b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalog.java index 0ba1aacef..a560f69e5 100644 --- a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalog.java +++ b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalog.java @@ -52,15 +52,6 @@ public class FunctionExtractingFunctionCatalog implements FunctionCatalog { return (Function) find(name, "lookupFunction"); } - @Override - public Function composeFunction(String... functionNames) { - Function function = this.lookupFunction(functionNames[0]); - for (int i = 1; i < functionNames.length; i++) { - function = function.andThen(this.lookupFunction(functionNames[i])); - } - return function; - } - @SuppressWarnings("unchecked") @Override public Supplier lookupSupplier(String name) { diff --git a/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalogIntegrationTests.java b/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalogIntegrationTests.java index d906f4f50..6566926ca 100644 --- a/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalogIntegrationTests.java +++ b/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionExtractingFunctionCatalogIntegrationTests.java @@ -17,6 +17,7 @@ package org.springframework.cloud.function.deployer; import org.junit.AfterClass; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.springframework.boot.test.web.client.TestRestTemplate; @@ -29,6 +30,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Dave Syer * */ +@Ignore +// TODO: Salvage some stuff from this project public class FunctionExtractingFunctionCatalogIntegrationTests { private static ConfigurableApplicationContext context; diff --git a/spring-cloud-function-stream/src/main/java/org/springframework/cloud/function/stream/StreamConfiguration.java b/spring-cloud-function-stream/src/main/java/org/springframework/cloud/function/stream/StreamConfiguration.java index eaf70789c..fa2152730 100644 --- a/spring-cloud-function-stream/src/main/java/org/springframework/cloud/function/stream/StreamConfiguration.java +++ b/spring-cloud-function-stream/src/main/java/org/springframework/cloud/function/stream/StreamConfiguration.java @@ -48,10 +48,7 @@ public class StreamConfiguration { @ConditionalOnProperty("spring.cloud.stream.bindings.input.destination") public AbstractFunctionInvoker invoker(FunctionCatalog registry) { String name = properties.getName(); - Function, Flux> function = (name.indexOf(',') == -1) - ? registry.lookupFunction(name) - : registry.composeFunction( - StringUtils.commaDelimitedListToStringArray(name)); + Function, Flux> function = registry.lookupFunction(name); return new StreamListeningFunctionInvoker(function); } diff --git a/spring-cloud-function-task/src/main/java/org/springframework/cloud/function/task/TaskConfiguration.java b/spring-cloud-function-task/src/main/java/org/springframework/cloud/function/task/TaskConfiguration.java index f4e3cae29..b6b8b14f0 100644 --- a/spring-cloud-function-task/src/main/java/org/springframework/cloud/function/task/TaskConfiguration.java +++ b/spring-cloud-function-task/src/main/java/org/springframework/cloud/function/task/TaskConfiguration.java @@ -51,10 +51,8 @@ public class TaskConfiguration { final Supplier> supplier = registry .lookupSupplier(properties.getSupplier()); String functionName = properties.getFunction(); - Function, Flux> function = (functionName.indexOf(',') == -1) - ? registry.lookupFunction(functionName) - : registry.composeFunction( - StringUtils.commaDelimitedListToStringArray(functionName)); + Function, Flux> function = registry + .lookupFunction(functionName); final Consumer consumer = registry .lookupConsumer(properties.getConsumer()); final CountDownLatch latch = new CountDownLatch(1); diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/FunctionController.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/FunctionController.java index 1158fd05f..42646d51c 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/FunctionController.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/FunctionController.java @@ -51,13 +51,7 @@ public class FunctionController { @PostMapping(path = "/{name}") public Flux function(@PathVariable String name, @RequestBody Flux body) { - Function function; - if (name.contains(",")) { - function = functions.composeFunction(name.split(",")); - } - else { - function = functions.lookupFunction(name); - } + Function function = functions.lookupFunction(name); @SuppressWarnings("unchecked") Flux result = (Flux) function.apply(body); return debug ? result.log() : result;