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