Author: mrdon
Date: Thu Apr 26 07:23:02 2007
New Revision: 532755

URL: http://svn.apache.org/viewvc?view=rev&rev=532755
Log:
Fixing setter order problem by using constructor injection
WW-1753

Modified:
    
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/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?view=diff&rev=532755&r1=532754&r2=532755
==============================================================================
--- 
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
 Thu Apr 26 07:23:02 2007
@@ -43,22 +43,14 @@
  */
 public class StrutsSpringObjectFactory extends SpringObjectFactory {
     private static final Log log = 
LogFactory.getLog(StrutsSpringObjectFactory.class);
-    
-    private String autoWire;
-    private boolean useClassCache = true;
-    
-    
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
-    public void setAutoWire(String val) {
-        autoWire = val;
-    }
-    
-    
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
-    public void setUseClassCache(String val) {
-        useClassCache = "true".equals(val);
-    }
-    
+
     @Inject
-    public void setServletContext(ServletContext servletContext) {
+    public StrutsSpringObjectFactory(
+            
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
 String autoWire,
+            
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
 String useClassCacheStr,
+            @Inject ServletContext servletContext) {
+            
+        boolean useClassCache = "true".equals(useClassCacheStr);
         log.info("Initializing Struts-Spring integration...");
 
         ApplicationContext appContext = 
WebApplicationContextUtils.getWebApplicationContext(servletContext);

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?view=diff&rev=532755&r1=532754&r2=532755
==============================================================================
--- 
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
 Thu Apr 26 07:23:02 2007
@@ -38,18 +38,13 @@
 
     public void testNoSpringContext() throws Exception {
         // to cover situations where there will be logged an error
-        StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-        ServletContext msc = (ServletContext) new MockServletContext();
-        fac.setServletContext(msc);
+        StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory(null, 
null, new MockServletContext());
 
         assertEquals(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, 
fac.getAutowireStrategy());
     }
 
     public void testWithSpringContext() throws Exception {
-        StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-
-        // autowire by constructure, we try a non default setting in this unit 
test
-        fac.setAutoWire("constructor");
+        
 
         ConfigurableWebApplicationContext ac = new XmlWebApplicationContext();
         ServletContext msc = (ServletContext) new MockServletContext();
@@ -57,8 +52,7 @@
         ac.setServletContext(msc);
         ac.setConfigLocations(new String[] 
{"org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml"});
         ac.refresh();
-
-        fac.setServletContext(msc);
+        StrutsSpringObjectFactory fac = new 
StrutsSpringObjectFactory("constructor", null, msc);
 
         assertEquals(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, 
fac.getAutowireStrategy());
     }


Reply via email to