diff --git a/geode-spring-boot-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/FunctionExecutionAutoConfiguration.java b/geode-spring-boot-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/FunctionExecutionAutoConfiguration.java index 9b0e830a..69687973 100644 --- a/geode-spring-boot-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/FunctionExecutionAutoConfiguration.java +++ b/geode-spring-boot-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/FunctionExecutionAutoConfiguration.java @@ -24,8 +24,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.gemfire.function.config.EnableGemfireFunctions; -import org.springframework.data.gemfire.function.config.GemFireFunctionExecutionAutoConfigurationRegistrar; import org.springframework.data.gemfire.function.execution.GemfireFunctionOperations; +import org.springframework.geode.function.config.GemFireFunctionExecutionAutoConfigurationRegistrar; /** * Spring Boot {@link EnableAutoConfiguration auto-configuration} enabling Apache Geode's Function Execution @@ -38,7 +38,7 @@ import org.springframework.data.gemfire.function.execution.GemfireFunctionOperat * @see org.springframework.context.annotation.Import * @see org.springframework.data.gemfire.function.config.EnableGemfireFunctions * @see org.springframework.data.gemfire.function.config.EnableGemfireFunctionExecutions - * @see org.springframework.data.gemfire.function.config.GemFireFunctionExecutionAutoConfigurationRegistrar + * @see org.springframework.geode.function.config.GemFireFunctionExecutionAutoConfigurationRegistrar * @see org.springframework.data.gemfire.function.execution.GemfireFunctionOperations * @see org.springframework.geode.boot.autoconfigure.ClientCacheAutoConfiguration * @since 1.0.0 diff --git a/geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java b/geode-spring-boot/src/main/java/org/springframework/geode/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java similarity index 63% rename from geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java rename to geode-spring-boot/src/main/java/org/springframework/geode/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java index a5d84344..646fe780 100644 --- a/geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java +++ b/geode-spring-boot/src/main/java/org/springframework/geode/function/config/AbstractFunctionExecutionAutoConfigurationExtension.java @@ -14,53 +14,43 @@ * permissions and limitations under the License. */ -package org.springframework.data.gemfire.function.config; +package org.springframework.geode.function.config; import static org.springframework.data.gemfire.util.RuntimeExceptionFactory.newIllegalStateException; import java.util.Optional; +import org.apache.geode.cache.execute.Execution; +import org.apache.geode.cache.execute.Function; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.boot.autoconfigure.AutoConfigurationPackages; import org.springframework.core.type.AnnotationMetadata; import org.springframework.core.type.StandardAnnotationMetadata; +import org.springframework.data.gemfire.function.config.AbstractFunctionExecutionConfigurationSource; +import org.springframework.data.gemfire.function.config.AnnotationFunctionExecutionConfigurationSource; +import org.springframework.data.gemfire.function.config.FunctionExecutionBeanDefinitionRegistrar; /** - * The AbstractFunctionExecutionAutoConfigurationExtension class... + * The {@link AbstractFunctionExecutionAutoConfigurationExtension} class extends SDG's {@link FunctionExecutionBeanDefinitionRegistrar} + * to redefine the location of application POJO {@link Function} {@link Execution} interfaces. * * @author John Blum + * @see org.apache.geode.cache.execute.Execution + * @see org.apache.geode.cache.execute.Function + * @see org.springframework.beans.factory.BeanFactory + * @see org.springframework.beans.factory.BeanFactoryAware + * @see org.springframework.boot.autoconfigure.AutoConfigurationPackages + * @see org.springframework.core.type.AnnotationMetadata + * @see org.springframework.data.gemfire.function.config.FunctionExecutionBeanDefinitionRegistrar * @since 1.0.0 */ -// TODO replace this class once SD Lovelace is GA and SBDG is rebased on SD Lovelace public abstract class AbstractFunctionExecutionAutoConfigurationExtension extends FunctionExecutionBeanDefinitionRegistrar implements BeanFactoryAware { private BeanFactory beanFactory; - @Override - public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry registry) { - registerBeanDefinitions(newAnnotationBasedFunctionExecutionConfigurationSource(annotationMetadata), registry); - } - - @SuppressWarnings("unused") - private AbstractFunctionExecutionConfigurationSource newAnnotationBasedFunctionExecutionConfigurationSource( - AnnotationMetadata annotationMetadata) { - - StandardAnnotationMetadata metadata = - new StandardAnnotationMetadata(getConfiguration(), true); - - return new AnnotationFunctionExecutionConfigurationSource(metadata) { - - @Override - public Iterable getBasePackages() { - return AutoConfigurationPackages.get(getBeanFactory()); - } - }; - } - @Override @SuppressWarnings("all") public void setBeanFactory(BeanFactory beanFactory) throws BeansException { @@ -76,4 +66,20 @@ public abstract class AbstractFunctionExecutionAutoConfigurationExtension protected abstract Class getConfiguration(); + @SuppressWarnings("unused") + @Override + protected AbstractFunctionExecutionConfigurationSource newAnnotationBasedFunctionExecutionConfigurationSource( + AnnotationMetadata annotationMetadata) { + + StandardAnnotationMetadata metadata = + new StandardAnnotationMetadata(getConfiguration(), true); + + return new AnnotationFunctionExecutionConfigurationSource(metadata) { + + @Override + public Iterable getBasePackages() { + return AutoConfigurationPackages.get(getBeanFactory()); + } + }; + } } diff --git a/geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java b/geode-spring-boot/src/main/java/org/springframework/geode/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java similarity index 54% rename from geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java rename to geode-spring-boot/src/main/java/org/springframework/geode/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java index d067a3b7..8bb043be 100644 --- a/geode-spring-boot/src/main/java/org/springframework/data/gemfire/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java +++ b/geode-spring-boot/src/main/java/org/springframework/geode/function/config/GemFireFunctionExecutionAutoConfigurationRegistrar.java @@ -14,12 +14,23 @@ * permissions and limitations under the License. */ -package org.springframework.data.gemfire.function.config; +package org.springframework.geode.function.config; + +import org.apache.geode.cache.execute.Execution; +import org.apache.geode.cache.execute.Function; +import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; +import org.springframework.data.gemfire.function.config.EnableGemfireFunctionExecutions; /** - * The GemFireFunctionExecutionAutoConfigurationRegistrar class... + * The {@link GemFireFunctionExecutionAutoConfigurationRegistrar} class is a Spring {@link ImportBeanDefinitionRegistrar} + * used to register SDG POJO interfaces defining Apache Geode/Pivotal GemFire + * {@link Function} {@link Execution Executions} * * @author John Blum + * @see org.apache.geode.cache.execute.Execution + * @see org.apache.geode.cache.execute.Function + * @see org.springframework.data.gemfire.function.config.EnableGemfireFunctionExecutions + * @see org.springframework.geode.function.config.AbstractFunctionExecutionAutoConfigurationExtension * @since 1.0.0 */ public class GemFireFunctionExecutionAutoConfigurationRegistrar