Move SpringModule into a modules package
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/be8884d4 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/be8884d4 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/be8884d4 Branch: refs/heads/master Commit: be8884d436241cbd9f9c3e1ce00e43cc94876710 Parents: db18f3c Author: Howard M. Lewis Ship <[email protected]> Authored: Mon Apr 22 17:09:46 2013 -0700 Committer: Howard M. Lewis Ship <[email protected]> Committed: Mon Apr 22 17:09:46 2013 -0700 ---------------------------------------------------------------------- tapestry-spring/build.gradle | 2 +- .../org/apache/tapestry5/spring/SpringModule.java | 110 -------------- .../tapestry5/spring/modules/SpringModule.java | 112 +++++++++++++++ .../org/example/testapp/services/AppModule.java | 4 +- .../org/example/testapp1/services/AppModule.java | 4 +- 5 files changed, 117 insertions(+), 115 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/be8884d4/tapestry-spring/build.gradle ---------------------------------------------------------------------- diff --git a/tapestry-spring/build.gradle b/tapestry-spring/build.gradle index f4393a6..3c928ef 100644 --- a/tapestry-spring/build.gradle +++ b/tapestry-spring/build.gradle @@ -11,6 +11,6 @@ dependencies { jar { manifest { - attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.spring.SpringModule' + attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.spring.modules.SpringModule' } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/be8884d4/tapestry-spring/src/main/java/org/apache/tapestry5/spring/SpringModule.java ---------------------------------------------------------------------- diff --git a/tapestry-spring/src/main/java/org/apache/tapestry5/spring/SpringModule.java b/tapestry-spring/src/main/java/org/apache/tapestry5/spring/SpringModule.java deleted file mode 100644 index cc1a2cb..0000000 --- a/tapestry-spring/src/main/java/org/apache/tapestry5/spring/SpringModule.java +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2008, 2009, 2011 The Apache Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package org.apache.tapestry5.spring; - -import org.apache.tapestry5.internal.spring.SymbolBeanFactoryPostProcessor; -import org.apache.tapestry5.ioc.MappedConfiguration; -import org.apache.tapestry5.ioc.OrderedConfiguration; -import org.apache.tapestry5.ioc.annotations.Contribute; -import org.apache.tapestry5.ioc.annotations.Marker; -import org.apache.tapestry5.ioc.annotations.Primary; -import org.apache.tapestry5.ioc.services.ChainBuilder; -import org.apache.tapestry5.ioc.services.FactoryDefaults; -import org.apache.tapestry5.ioc.services.SymbolProvider; -import org.apache.tapestry5.ioc.services.SymbolSource; -import org.apache.tapestry5.services.ApplicationInitializer; -import org.apache.tapestry5.services.ApplicationInitializerFilter; -import org.apache.tapestry5.services.Context; -import org.slf4j.Logger; -import org.springframework.context.ApplicationContext; -import org.springframework.core.SpringVersion; -import org.springframework.web.context.ConfigurableWebApplicationContext; - -import javax.servlet.ServletContext; -import java.util.List; - -/** - * Module for Tapestry/Spring Integration. This module exists to force the load of the Spring ApplicationContext as part - * of Tapestry application initialization. - * - * @since 5.1.0.0 - */ -public class SpringModule -{ - private final Logger logger; - - public SpringModule(Logger logger) - { - this.logger = logger; - } - - @Contribute(ApplicationInitializer.class) - public void reportSpringContextDetailsAtStartup( - OrderedConfiguration<ApplicationInitializerFilter> configuration, final ApplicationContext springContext) - { - ApplicationInitializerFilter filter = new ApplicationInitializerFilter() - { - public void initializeApplication(Context context, ApplicationInitializer initializer) - { - logger.info(String.format("Spring version %s with %,d defined beans.", - SpringVersion.getVersion(), - springContext.getBeanDefinitionCount())); - - initializer.initializeApplication(context); - } - }; - - configuration.add("SpringContextInitialization", filter); - } - - @Contribute(SymbolProvider.class) - @FactoryDefaults - public static void defaultExternalSpringContextOff(MappedConfiguration<String, Object> configuration) - { - configuration.add(SpringConstants.USE_EXTERNAL_SPRING_CONTEXT, false); - } - - /** - * Defines a chain-of-command for handling application context customization. This allows the Spring context to be - * configured before it is initially {@linkplain org.springframework.context.ConfigurableApplicationContext#refresh() - * refreshed}. - */ - @Marker(Primary.class) - public static ApplicationContextCustomizer buildApplicationContextCustomizer( - List<ApplicationContextCustomizer> configuration, - ChainBuilder builder) - { - return builder.build(ApplicationContextCustomizer.class, configuration); - } - - @Contribute(ApplicationContextCustomizer.class) - public static void addSymbolSourceAsPropertyCustomizerForSpringBeans( - OrderedConfiguration<ApplicationContextCustomizer> configuration, - final SymbolSource symbolSource) - { - ApplicationContextCustomizer beanFactoryPostProcessorCustomizer = new ApplicationContextCustomizer() - { - - public void customizeApplicationContext(ServletContext servletContext, - ConfigurableWebApplicationContext applicationContext) - { - applicationContext.addBeanFactoryPostProcessor(new SymbolBeanFactoryPostProcessor(symbolSource)); - - } - }; - - configuration.add("BeanFactoryPostProcessorCustomizer", beanFactoryPostProcessorCustomizer); - } -} http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/be8884d4/tapestry-spring/src/main/java/org/apache/tapestry5/spring/modules/SpringModule.java ---------------------------------------------------------------------- diff --git a/tapestry-spring/src/main/java/org/apache/tapestry5/spring/modules/SpringModule.java b/tapestry-spring/src/main/java/org/apache/tapestry5/spring/modules/SpringModule.java new file mode 100644 index 0000000..e26fb7f --- /dev/null +++ b/tapestry-spring/src/main/java/org/apache/tapestry5/spring/modules/SpringModule.java @@ -0,0 +1,112 @@ +// Copyright 2008-2013 The Apache Software Foundation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package org.apache.tapestry5.spring.modules; + +import org.apache.tapestry5.internal.spring.SymbolBeanFactoryPostProcessor; +import org.apache.tapestry5.ioc.MappedConfiguration; +import org.apache.tapestry5.ioc.OrderedConfiguration; +import org.apache.tapestry5.ioc.annotations.Contribute; +import org.apache.tapestry5.ioc.annotations.Marker; +import org.apache.tapestry5.ioc.annotations.Primary; +import org.apache.tapestry5.ioc.services.ChainBuilder; +import org.apache.tapestry5.ioc.services.FactoryDefaults; +import org.apache.tapestry5.ioc.services.SymbolProvider; +import org.apache.tapestry5.ioc.services.SymbolSource; +import org.apache.tapestry5.services.ApplicationInitializer; +import org.apache.tapestry5.services.ApplicationInitializerFilter; +import org.apache.tapestry5.services.Context; +import org.apache.tapestry5.spring.ApplicationContextCustomizer; +import org.apache.tapestry5.spring.SpringConstants; +import org.slf4j.Logger; +import org.springframework.context.ApplicationContext; +import org.springframework.core.SpringVersion; +import org.springframework.web.context.ConfigurableWebApplicationContext; + +import javax.servlet.ServletContext; +import java.util.List; + +/** + * Module for Tapestry/Spring Integration. This module exists to force the load of the Spring ApplicationContext as part + * of Tapestry application initialization. + * + * @since 5.1.0.0 + */ +public class SpringModule +{ + private final Logger logger; + + public SpringModule(Logger logger) + { + this.logger = logger; + } + + @Contribute(ApplicationInitializer.class) + public void reportSpringContextDetailsAtStartup( + OrderedConfiguration<ApplicationInitializerFilter> configuration, final ApplicationContext springContext) + { + ApplicationInitializerFilter filter = new ApplicationInitializerFilter() + { + public void initializeApplication(Context context, ApplicationInitializer initializer) + { + logger.info(String.format("Spring version %s with %,d defined beans.", + SpringVersion.getVersion(), + springContext.getBeanDefinitionCount())); + + initializer.initializeApplication(context); + } + }; + + configuration.add("SpringContextInitialization", filter); + } + + @Contribute(SymbolProvider.class) + @FactoryDefaults + public static void defaultExternalSpringContextOff(MappedConfiguration<String, Object> configuration) + { + configuration.add(SpringConstants.USE_EXTERNAL_SPRING_CONTEXT, false); + } + + /** + * Defines a chain-of-command for handling application context customization. This allows the Spring context to be + * configured before it is initially {@linkplain org.springframework.context.ConfigurableApplicationContext#refresh() + * refreshed}. + */ + @Marker(Primary.class) + public static ApplicationContextCustomizer buildApplicationContextCustomizer( + List<ApplicationContextCustomizer> configuration, + ChainBuilder builder) + { + return builder.build(ApplicationContextCustomizer.class, configuration); + } + + @Contribute(ApplicationContextCustomizer.class) + public static void addSymbolSourceAsPropertyCustomizerForSpringBeans( + OrderedConfiguration<ApplicationContextCustomizer> configuration, + final SymbolSource symbolSource) + { + ApplicationContextCustomizer beanFactoryPostProcessorCustomizer = new ApplicationContextCustomizer() + { + + public void customizeApplicationContext(ServletContext servletContext, + ConfigurableWebApplicationContext applicationContext) + { + applicationContext.addBeanFactoryPostProcessor(new SymbolBeanFactoryPostProcessor(symbolSource)); + + } + }; + + configuration.add("BeanFactoryPostProcessorCustomizer", beanFactoryPostProcessorCustomizer); + } +} http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/be8884d4/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java ---------------------------------------------------------------------- diff --git a/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java b/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java index ecab63c..6cace0a 100644 --- a/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java +++ b/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java @@ -1,4 +1,4 @@ -// Copyright 2008, 2009 The Apache Software Foundation +// Copyright 2008-2013 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import org.apache.tapestry5.ioc.OrderedConfiguration; import org.apache.tapestry5.ioc.ServiceBinder; import org.apache.tapestry5.ioc.annotations.SubModule; import org.apache.tapestry5.spring.ApplicationContextCustomizer; -import org.apache.tapestry5.spring.SpringModule; +import org.apache.tapestry5.spring.modules.SpringModule; import org.springframework.web.context.ConfigurableWebApplicationContext; import javax.servlet.ServletContext; http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/be8884d4/tapestry-spring/src/test/java/org/example/testapp1/services/AppModule.java ---------------------------------------------------------------------- diff --git a/tapestry-spring/src/test/java/org/example/testapp1/services/AppModule.java b/tapestry-spring/src/test/java/org/example/testapp1/services/AppModule.java index 5969b69..0e61be9 100644 --- a/tapestry-spring/src/test/java/org/example/testapp1/services/AppModule.java +++ b/tapestry-spring/src/test/java/org/example/testapp1/services/AppModule.java @@ -1,4 +1,4 @@ -// Copyright 2011 The Apache Software Foundation +// Copyright 2011-2013 The Apache Software Foundation // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ package org.example.testapp1.services; import org.apache.tapestry5.SymbolConstants; import org.apache.tapestry5.ioc.MappedConfiguration; import org.apache.tapestry5.ioc.annotations.SubModule; -import org.apache.tapestry5.spring.SpringModule; +import org.apache.tapestry5.spring.modules.SpringModule; @SubModule(SpringModule.class) public class AppModule
