From e86479e839cdc0a84c2a30b19f3a35b6de165b9d Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 19 Feb 2019 14:12:00 +0100 Subject: [PATCH] Polishing, javadoc. . . --- .../AbstractComposableFunctionRegistry.java | 47 ++++++++++++------- ...ntextFunctionCatalogAutoConfiguration.java | 1 - .../cloud/function/core/MonoSupplier.java | 5 +- 3 files changed, 33 insertions(+), 20 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/AbstractComposableFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/AbstractComposableFunctionRegistry.java index 66a658c9c..df4d8fa31 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/AbstractComposableFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/AbstractComposableFunctionRegistry.java @@ -89,24 +89,14 @@ public abstract class AbstractComposableFunctionRegistry return this.doLookup(type, functionDefinitionName); } - @Override - public void setApplicationEventPublisher( - ApplicationEventPublisher applicationEventPublisher) { - this.applicationEventPublisher = applicationEventPublisher; - } - - @Override - public void setEnvironment(Environment environment) { - this.environment = environment; - } - + @SuppressWarnings("serial") @Override public Set getNames(Class type) { - if (type == null) { //perhaps some synchronization - Set names = new HashSet<>(suppliers.keySet()); - names.addAll(functions.keySet()); - names.addAll(consumers.keySet()); - return names; + if (type == null) { + return new HashSet(getSupplierNames()) {{ + addAll(getConsumerNames()); + addAll(getFunctionNames()); + } }; } if (Supplier.class.isAssignableFrom(type)) { return this.getSupplierNames(); @@ -120,14 +110,26 @@ public abstract class AbstractComposableFunctionRegistry return Collections.emptySet(); } + /** + * Returns the names of available Suppliers. + * @return immutable {@link Set} of available {@link Supplier} names. + */ public Set getSupplierNames() { - return this.suppliers.keySet(); + return Collections.unmodifiableSet(this.suppliers.keySet()); } + /** + * Returns the names of available Functions. + * @return immutable {@link Set} of available {@link Function} names. + */ public Set getFunctionNames() { return this.functions.keySet(); } + /** + * Returns the names of available Consumers. + * @return immutable {@link Set} of available {@link Consumer} names. + */ public Set getConsumerNames() { return this.consumers.keySet(); } @@ -167,6 +169,17 @@ public abstract class AbstractComposableFunctionRegistry return this.names.containsKey(function) ? this.names.get(function) : null; } + @Override + public void setApplicationEventPublisher( + ApplicationEventPublisher applicationEventPublisher) { + this.applicationEventPublisher = applicationEventPublisher; + } + + @Override + public void setEnvironment(Environment environment) { + this.environment = environment; + } + protected void wrap(FunctionRegistration registration, String key) { Object target = registration.getTarget(); this.addName(target, key); diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java index cdb15d856..f88eb0d9d 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java @@ -96,7 +96,6 @@ public class ContextFunctionCatalogAutoConfiguration { private ConfigurableListableBeanFactory beanFactory; - //@SuppressWarnings("unchecked") @Override public FunctionRegistration getRegistration(Object function) { String functionName = this.lookupFunctionName(function); diff --git a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/core/MonoSupplier.java b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/core/MonoSupplier.java index 76362478b..516d7b56c 100644 --- a/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/core/MonoSupplier.java +++ b/spring-cloud-function-core/src/main/java/org/springframework/cloud/function/core/MonoSupplier.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2019-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import reactor.core.publisher.Mono; * * @param output type of target supplier * @author Mark Fisher + * @since 2.1 */ public class MonoSupplier implements Supplier>, FluxWrapper> { @@ -41,7 +42,7 @@ public class MonoSupplier implements Supplier>, FluxWrapper get() { Object result = this.supplier.get(); return Mono.just((T) result);