You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2007/04/26 16:27:48 UTC

svn commit: r532759 - in /struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src: main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java

Author: mrdon
Date: Thu Apr 26 07:27:47 2007
New Revision: 532759

URL: http://svn.apache.org/viewvc?view=rev&rev=532759
Log:
Fixing initialisation order problem
WW-1753

Modified:
    struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
    struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java

Modified: struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?view=diff&rev=532759&r1=532758&r2=532759
==============================================================================
--- struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java (original)
+++ struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java Thu Apr 26 07:27:47 2007
@@ -43,22 +43,15 @@
  */
 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) {
+          
+        super();
+        boolean useClassCache = "true".equals(useClassCacheStr);
         log.info("Initializing Struts-Spring integration...");
 
         ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);

Modified: struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java?view=diff&rev=532759&r1=532758&r2=532759
==============================================================================
--- struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java (original)
+++ struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java Thu Apr 26 07:27:47 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());
     }