Author: musachy Date: Mon Sep 21 21:36:17 2009 New Revision: 817418 URL: http://svn.apache.org/viewvc?rev=817418&view=rev Log: Use lookup instead if injection for this constants. This should work, but for some reason it fails in the apache zone and it was reported in dev@ also. I am clueless about it.
Modified: struts/struts2/trunk/plugins/spring/pom.xml struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java Modified: struts/struts2/trunk/plugins/spring/pom.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/pom.xml?rev=817418&r1=817417&r2=817418&view=diff ============================================================================== --- struts/struts2/trunk/plugins/spring/pom.xml (original) +++ struts/struts2/trunk/plugins/spring/pom.xml Mon Sep 21 21:36:17 2009 @@ -84,7 +84,13 @@ <scope>test</scope> <version>3.8.2</version> </dependency> - + + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymock</artifactId> + <version>2.3</version> + <scope>test</scope> + </dependency> </dependencies> Modified: struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?rev=817418&r1=817417&r2=817418&view=diff ============================================================================== --- struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java (original) +++ struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java Mon Sep 21 21:36:17 2009 @@ -21,6 +21,7 @@ package org.apache.struts2.spring; +import com.opensymphony.xwork2.inject.Container; import com.opensymphony.xwork2.inject.Inject; import com.opensymphony.xwork2.spring.SpringObjectFactory; import com.opensymphony.xwork2.util.logging.Logger; @@ -68,9 +69,7 @@ @Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false) String useClassCacheStr, @Inject ServletContext servletContext, @Inject(StrutsConstants.STRUTS_DEVMODE) String devMode, - @Inject(value = "struts.class.reloading.watchList", required = false) String watchList, - @Inject(value = "struts.class.reloading.acceptClasses", required = false) String acceptClasses, - @Inject(value = "struts.class.reloading.reloadConfig", required = false) String reloadConfig) { + @Inject Container container) { super(); boolean useClassCache = "true".equals(useClassCacheStr); @@ -97,6 +96,10 @@ LOG.fatal(message); return; } + + String watchList = container.getInstance(String.class, "struts.class.reloading.watchList"); + String acceptClasses = container.getInstance(String.class, "struts.class.reloading.acceptClasses"); + String reloadConfig = container.getInstance(String.class, "struts.class.reloading.reloadConfig"); if ("true".equals(devMode) && StringUtils.isNotBlank(watchList) Modified: struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java?rev=817418&r1=817417&r2=817418&view=diff ============================================================================== --- struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java (original) +++ struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java Mon Sep 21 21:36:17 2009 @@ -25,12 +25,15 @@ import junit.framework.TestCase; import org.apache.struts2.StrutsConstants; +import org.easymock.EasyMock; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.mock.web.MockServletContext; import org.springframework.web.context.ConfigurableWebApplicationContext; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.XmlWebApplicationContext; +import com.opensymphony.xwork2.inject.Container; + /** * Unit test for {...@link StrutsSpringObjectFactory}. * @@ -39,13 +42,17 @@ public void testNoSpringContext() throws Exception { // to cover situations where there will be logged an error - StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory(null, null, null, new MockServletContext(), null, "false", null, null); + Container container = EasyMock.createNiceMock(Container.class); + EasyMock.replay(container); + + StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory(null, null, null, new MockServletContext(), null, container); assertEquals(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, fac.getAutowireStrategy()); } public void testWithSpringContext() throws Exception { - + Container container = EasyMock.createNiceMock(Container.class); + EasyMock.replay(container); ConfigurableWebApplicationContext ac = new XmlWebApplicationContext(); ServletContext msc = (ServletContext) new MockServletContext(); @@ -53,7 +60,7 @@ ac.setServletContext(msc); ac.setConfigLocations(new String[] {"org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml"}); ac.refresh(); - StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory("constructor", null, null, msc, null, "true", null, null); + StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory("constructor", null, null, msc, null, container); assertEquals(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, fac.getAutowireStrategy()); }