Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/AppModule.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,35 @@ +// Copyright 2008 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.example.testapp.services; + +import org.apache.tapestry5.SymbolConstants; +import org.apache.tapestry5.internal.spring.SpringModule; +import org.apache.tapestry5.ioc.MappedConfiguration; +import org.apache.tapestry5.ioc.ServiceBinder; +import org.apache.tapestry5.ioc.annotations.SubModule; + +...@submodule(SpringModule.class) +public class AppModule +{ + public static final void bind(ServiceBinder binder) + { + binder.bind(StringTransformer.class, UpcaseStringTransformerImpl.class); + } + + public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration) + { + configuration.add(SymbolConstants.PRODUCTION_MODE, "false"); + } +}
Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/CustomizedFilter.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/CustomizedFilter.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/CustomizedFilter.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/CustomizedFilter.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,34 @@ +// Copyright 2008 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.example.testapp.services; + +import org.apache.tapestry5.spring.TapestrySpringFilter; +import org.springframework.web.context.ConfigurableWebApplicationContext; + +import javax.servlet.ServletContext; + +public class CustomizedFilter extends TapestrySpringFilter +{ + @Override + public void customizeApplicationContext(ServletContext servletContext, + ConfigurableWebApplicationContext applicationContext) + { + servletContext.setAttribute("status-message", "Filter Initialized"); + + // Just want that line coverage for the base class. + + super.customizeApplicationContext(servletContext, applicationContext); + } +} Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/Flintstone.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/Flintstone.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/Flintstone.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/Flintstone.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,20 @@ +// Copyright 2008 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.example.testapp.services; + +public interface Flintstone +{ + void bam(); +} Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/FlintstoneImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/FlintstoneImpl.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/FlintstoneImpl.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/FlintstoneImpl.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,22 @@ +// Copyright 2008 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.example.testapp.services; + +public class FlintstoneImpl implements Flintstone +{ + public void bam() + { + } +} Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/SpringStatusProvider.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/SpringStatusProvider.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/SpringStatusProvider.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/SpringStatusProvider.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,43 @@ +// Copyright 2008 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.example.testapp.services; + +import org.apache.tapestry5.ioc.annotations.InjectService; +import org.apache.tapestry5.services.Context; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.SpringVersion; + +public class SpringStatusProvider +{ + private final Context context; + private final Upcase upcase; + + /** + * Just wanted to get code coverage for using @InjectService here. + */ + @Autowired + public SpringStatusProvider(@InjectService("Context") Context context, Upcase upcase) + { + this.context = context; + this.upcase = upcase; + } + + public String getStatus() + { + return upcase.toUpperCase(String.format("Spring version %s: %s", + SpringVersion.getVersion(), + context.getAttribute("status-message"))); + } +} Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/StringTransformer.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/StringTransformer.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/StringTransformer.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/StringTransformer.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,20 @@ +// Copyright 2008 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.example.testapp.services; + +public interface StringTransformer +{ + String transform(String input); +} Modified: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseImpl.java?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseImpl.java (original) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseImpl.java Mon Dec 29 14:59:10 2008 @@ -14,12 +14,21 @@ package org.example.testapp.services; +import org.apache.tapestry5.ioc.annotations.Inject; +import org.springframework.beans.factory.annotation.Autowired; + public class UpcaseImpl implements Upcase { + private final StringTransformer transformer; - public String toUpperCase(String input) + @Autowired + public UpcaseImpl(@Inject StringTransformer transformer) { - return input.toUpperCase(); + this.transformer = transformer; } + public String toUpperCase(String input) + { + return transformer.transform(input); + } } Added: tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseStringTransformerImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseStringTransformerImpl.java?rev=730009&view=auto ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseStringTransformerImpl.java (added) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/java/org/example/testapp/services/UpcaseStringTransformerImpl.java Mon Dec 29 14:59:10 2008 @@ -0,0 +1,23 @@ +// Copyright 2008 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.example.testapp.services; + +public class UpcaseStringTransformerImpl implements StringTransformer +{ + public String transform(String input) + { + return input.toUpperCase(); + } +} Modified: tapestry/tapestry5/trunk/tapestry-spring/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/resources/log4j.properties?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/resources/log4j.properties (original) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/resources/log4j.properties Mon Dec 29 14:59:10 2008 @@ -12,20 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -log4j.rootCategory=WARN, A1 - -# A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.log4j.ConsoleAppender - -# A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=[%p] %c{1} %m%n - -log4j.category.org.apache.tapestry5.TapestryFilter=info -log4j.category.org.apache.tapestry=error -log4j.category.tapestry=error -log4j.category.tapestry.ioc.ClassFactory=error - -log4j.category.app=info -log4j.category.org.apache.tapestry5.integration.app1=error +log4j.rootCategory=INFO, A1 + +# A1 is set to be a ConsoleAppender. +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=[%p] %c{1} %m%n + +log4j.category.org.apache.tapestry5.TapestryFilter=info +log4j.category.org.apache.tapestry=error +log4j.category.tapestry=error +log4j.category.tapestry.ioc.ClassFactory=error + +log4j.category.app=info +log4j.category.org.apache.tapestry5.integration.app1=error log4j.category.org.apache.tapestry5.corelib=error Modified: tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/Start.tml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/Start.tml?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/Start.tml (original) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/Start.tml Mon Dec 29 14:59:10 2008 @@ -1,21 +1,25 @@ <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> - <head> - <title>Start Page</title> - </head> - <body> - <p> - This is a silly application for converting text to uppercase. - </p> - <t:form> - <t:errors/> - <t:label for="input"/> - <input t:type="textfield" t:id="input" size="40"/> - <br/> - <input type="submit" value="Convert"/> - </t:form> - - <p> - Spring beans: [${springBeans}] - </p> - </body> + <head> + <title>Start Page</title> + </head> + <body> + <p> + This is a silly application for converting text to uppercase. + </p> + <t:form> + <t:errors/> + <t:label for="input"/> + <input t:type="textfield" t:id="input" size="40"/> + <br/> + <input type="submit" value="Convert"/> + </t:form> + + <dl> + <dt>Spring beans:</dt> + <dd id="beans">${springBeans}</dd> + <dt>Filter message:</dt> + <dd id="message">${statusProvider.status}</dd> + </dl> + + </body> </html> \ No newline at end of file Modified: tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/applicationContext.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/applicationContext.xml?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/applicationContext.xml (original) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/applicationContext.xml Mon Dec 29 14:59:10 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright 2007 The Apache Software Foundation + Copyright 2007, 2008 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. @@ -15,9 +15,19 @@ limitations under the License. --> -<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> + + <context:annotation-config/> -<beans> <bean id="upcase" class="org.example.testapp.services.UpcaseImpl"/> + <bean id="status" class="org.example.testapp.services.SpringStatusProvider"/> + + <bean id="fred" class="org.example.testapp.services.FlintstoneImpl"/> + <bean id="barney" class="org.example.testapp.services.FlintstoneImpl"/> </beans> Modified: tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/web.xml?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/web.xml (original) +++ tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/web.xml Mon Dec 29 14:59:10 2008 @@ -25,16 +25,10 @@ <filter> <filter-name>app</filter-name> <!-- Special filter that adds in a T5 IoC module derived from the Spring WebApplicationContext. --> - <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> + <filter-class>org.example.testapp.services.CustomizedFilter</filter-class> </filter> <filter-mapping> <filter-name>app</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> - <!-- - This is where the Spring support is configured. - --> - <listener> - <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> - </listener> </web-app> Modified: tapestry/tapestry5/trunk/tapestry-spring/tapestry-spring.iml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-spring/tapestry-spring.iml?rev=730009&r1=730008&r2=730009&view=diff ============================================================================== --- tapestry/tapestry5/trunk/tapestry-spring/tapestry-spring.iml (original) +++ tapestry/tapestry5/trunk/tapestry-spring/tapestry-spring.iml Mon Dec 29 14:59:10 2008 @@ -53,21 +53,18 @@ <orderEntry type="library" name="Maven: org.openqa.selenium.server:selenium-server-coreless:1.0-beta-1" level="project" /> <orderEntry type="library" name="Maven: ant:ant:1.6.5" level="project" /> <orderEntry type="library" name="Maven: jetty:org.mortbay.jetty:5.1.10" level="project" /> - <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1" level="project" /> + <orderEntry type="library" exported="" name="Maven: commons-logging:commons-logging:1.1.1" level="project" /> <orderEntry type="library" name="Maven: javax.servlet:servlet-api:2.4" level="project" /> <orderEntry type="library" name="Maven: junit:junit:3.8.1" level="project" /> <orderEntry type="library" name="Maven: org.openqa.selenium.server:selenium-server:standalone:1.0-beta-1" level="project" /> <orderEntry type="library" name="Maven: org.openqa.selenium.server:selenium-server:1.0-beta-1" level="project" /> <orderEntry type="library" name="Maven: bouncycastle:bcprov-jdk15:135" level="project" /> <orderEntry type="library" name="Maven: org.testng:testng:jdk15:5.7" level="project" /> - <orderEntry type="library" name="Maven: org.springframework:spring-web:2.0" level="project" /> - <orderEntry type="library" name="Maven: logkit:logkit:1.0.1" level="project" /> - <orderEntry type="library" name="Maven: avalon-framework:avalon-framework:4.1.3" level="project" /> - <orderEntry type="library" name="Maven: org.springframework:spring-beans:2.0" level="project" /> - <orderEntry type="library" name="Maven: org.springframework:spring-core:2.0" level="project" /> - <orderEntry type="library" name="Maven: org.springframework:spring-context:2.0" level="project" /> - <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" /> - <orderEntry type="library" name="Maven: org.springframework:spring-aop:2.0" level="project" /> + <orderEntry type="library" exported="" name="Maven: org.springframework:spring-web:2.5.6" level="project" /> + <orderEntry type="library" exported="" name="Maven: org.springframework:spring-beans:2.5.6" level="project" /> + <orderEntry type="library" exported="" name="Maven: org.springframework:spring-core:2.5.6" level="project" /> + <orderEntry type="library" exported="" name="Maven: org.springframework:spring-context:2.5.6" level="project" /> + <orderEntry type="library" exported="" name="Maven: aopalliance:aopalliance:1.0" level="project" /> <orderEntry type="library" name="Maven: org.easymock:easymock:2.4" level="project" /> </component> </module>
