Revision: 813
          http://stripes.svn.sourceforge.net/stripes/?rev=813&view=rev
Author:   bengunter
Date:     2008-01-28 20:12:00 -0800 (Mon, 28 Jan 2008)

Log Message:
-----------
Fixed STS-490: Autodiscovery of ActionBeanContextFactory or ActionBeanContext 
classes

Modified Paths:
--------------
    
trunk/stripes/src/net/sourceforge/stripes/controller/DefaultActionBeanContextFactory.java

Modified: 
trunk/stripes/src/net/sourceforge/stripes/controller/DefaultActionBeanContextFactory.java
===================================================================
--- 
trunk/stripes/src/net/sourceforge/stripes/controller/DefaultActionBeanContextFactory.java
   2008-01-29 04:11:17 UTC (rev 812)
+++ 
trunk/stripes/src/net/sourceforge/stripes/controller/DefaultActionBeanContextFactory.java
   2008-01-29 04:12:00 UTC (rev 813)
@@ -17,7 +17,7 @@
 import net.sourceforge.stripes.action.ActionBeanContext;
 import net.sourceforge.stripes.config.Configuration;
 import net.sourceforge.stripes.exception.StripesServletException;
-import net.sourceforge.stripes.util.ReflectUtil;
+import net.sourceforge.stripes.util.Log;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -28,11 +28,13 @@
  * ActionBeanContext classes. Looks for a configuration parameters called 
"ActionBeanContext.Class".
  * If the property is present, the named class with be instantiated and 
returned from the
  * getContextInstance() method.  If no class is named, then the default class, 
ActionBeanContext
- * will be instanted.
+ * will be instantiated.
  *
  * @author Tim Fennell
  */
 public class DefaultActionBeanContextFactory implements 
ActionBeanContextFactory {
+    private static final Log log = 
Log.getInstance(DefaultActionBeanContextFactory.class);
+
     /** The name of the configuration property used for the context class 
name. */
     public static final String CONTEXT_CLASS_NAME = "ActionBeanContext.Class";
 
@@ -44,13 +46,16 @@
     public void init(Configuration configuration) throws Exception {
         setConfiguration(configuration);
 
-        String name = 
configuration.getBootstrapPropertyResolver().getProperty(CONTEXT_CLASS_NAME);
-        if (name != null) {
-            this.contextClass = (Class<? extends ActionBeanContext>) 
ReflectUtil.findClass(name);
+        Class<? extends ActionBeanContext> clazz = 
configuration.getBootstrapPropertyResolver()
+                .getClassProperty(CONTEXT_CLASS_NAME, ActionBeanContext.class);
+        if (clazz == null) {
+            clazz = ActionBeanContext.class;
         }
         else {
-            this.contextClass = ActionBeanContext.class;
+            log.info(DefaultActionBeanContextFactory.class.getSimpleName(), " 
will use ",
+                    ActionBeanContext.class.getSimpleName(), " subclass ", 
clazz.getName());
         }
+        this.contextClass = clazz;
     }
 
     /**


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to