- Revision
- 385
- Author
- mauro
- Date
- 2007-11-15 18:14:57 -0600 (Thu, 15 Nov 2007)
Log Message
Used context classloader to load classes. Reordered registration of components by package.
Modified Paths
Diff
Modified: trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java (384 => 385)
--- trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-15 22:03:12 UTC (rev 384) +++ trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-16 00:14:57 UTC (rev 385) @@ -69,40 +69,40 @@ * @author Mauro Talevi */ public class PicoComponentRegistry implements ComponentRegistry { - private final MutablePicoContainer picoContainer = new DefaultPicoContainer(); private static final String REGISTER_KEY = "register:"; private static final String REGISTER_NON_CACHING_KEY = "registerNonCaching:"; + private final MutablePicoContainer picoContainer = new DefaultPicoContainer(); /** * Register all waffle required components with the underlying container. */ public PicoComponentRegistry(ServletContext servletContext) { picoContainer.registerComponentInstance(servletContext); - + // register all known components register(ActionMethodExecutor.class, InterceptingActionMethodExecutor.class, servletContext); register(ActionMethodResponseHandler.class, DefaultActionMethodResponseHandler.class, servletContext); - register(ActionMonitor.class, SilentMonitor.class, servletContext); register(ArgumentResolver.class, HierarchicalArgumentResolver.class, servletContext); + register(MethodDefinitionFinder.class, AnnotatedMethodDefinitionFinder.class, servletContext); + register(MethodNameResolver.class, RequestParameterMethodNameResolver.class, servletContext); register(BindErrorMessageResolver.class, DefaultBindErrorMessageResolver.class, servletContext); - register(BindMonitor.class, SilentMonitor.class, servletContext); register(DataBinder.class, OgnlDataBinder.class, servletContext); + register(RequestAttributeBinder.class, IntrospectingRequestAttributeBinder.class, servletContext); + register(TypeConverter.class, OgnlTypeConverter.class, servletContext); register(ContextContainerFactory.class, PicoContextContainerFactory.class, servletContext); - register(ContextMonitor.class, SilentMonitor.class, servletContext); register(ControllerDefinitionFactory.class, ContextControllerDefinitionFactory.class, servletContext); - register(ControllerMonitor.class, SilentMonitor.class, servletContext); register(ControllerNameResolver.class, ContextPathControllerNameResolver.class, servletContext); register(MessageResources.class, DefaultMessageResources.class, servletContext); - register(MethodDefinitionFinder.class, AnnotatedMethodDefinitionFinder.class, servletContext); - register(MethodNameResolver.class, RequestParameterMethodNameResolver.class, servletContext); + register(ActionMonitor.class, SilentMonitor.class, servletContext); + register(BindMonitor.class, SilentMonitor.class, servletContext); + register(ContextMonitor.class, SilentMonitor.class, servletContext); + register(ControllerMonitor.class, SilentMonitor.class, servletContext); register(RegistrarMonitor.class, SilentMonitor.class, servletContext); - register(RequestAttributeBinder.class, IntrospectingRequestAttributeBinder.class, servletContext); register(ServletMonitor.class, SilentMonitor.class, servletContext); - register(TypeConverter.class, OgnlTypeConverter.class, servletContext); + register(ValidationMonitor.class, SilentMonitor.class, servletContext); + register(ViewMonitor.class, SilentMonitor.class, servletContext); register(Validator.class, DefaultValidator.class, servletContext); - register(ValidationMonitor.class, SilentMonitor.class, servletContext); register(ViewDispatcher.class, DefaultViewDispatcher.class, servletContext); - register(ViewMonitor.class, SilentMonitor.class, servletContext); register(ViewResolver.class, DefaultViewResolver.class, servletContext); // register other components @@ -134,7 +134,7 @@ } /** - * This method will locate the component Class to use. Each of the components can be \ + * This method will locate the component Class to use. Each of the components can be * overwritten by setting <code>context-param</code> in the applications <code>web.xml</code>. * <p/> * <code> @@ -170,13 +170,15 @@ /** * Loads class for a given name + * * @param className the Class name * @return The Class for the name * @throws WaffleException if class not found */ private static Class<?> loadClass(String className) { - try { - return Class.forName(className); + try { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + return classLoader.loadClass(className); } catch (ClassNotFoundException e) { throw new WaffleException(e.getMessage(), e); } @@ -215,24 +217,31 @@ return locateByType(ArgumentResolver.class); } + public MethodDefinitionFinder getMethodDefinitionFinder() { + return locateByType(MethodDefinitionFinder.class); + } + + public MethodNameResolver getMethodNameResolver() { + return locateByType(MethodNameResolver.class); + } public BindErrorMessageResolver getBindErrorMessageResolver() { return locateByType(BindErrorMessageResolver.class); } - public BindMonitor getBindMonitor() { - return locateByType(BindMonitor.class); + public DataBinder getDataBinder() { + return locateByType(DataBinder.class); } - public ContextContainerFactory getContextContainerFactory() { - return locateByType(ContextContainerFactory.class); + public RequestAttributeBinder getRequestAttributeBinder() { + return locateByType(RequestAttributeBinder.class); } - public ContextMonitor getContextMonitor() { - return locateByType(ContextMonitor.class); + public TypeConverter getTypeConverter() { + return locateByType(TypeConverter.class); } - public ControllerMonitor getControllerMonitor() { - return locateByType(ControllerMonitor.class); + public ContextContainerFactory getContextContainerFactory() { + return locateByType(ContextContainerFactory.class); } public ControllerNameResolver getControllerNameResolver() { @@ -243,42 +252,34 @@ return locateByType(ControllerDefinitionFactory.class); } - public DataBinder getDataBinder() { - return locateByType(DataBinder.class); - } - public MessageResources getMessageResources() { return locateByType(MessageResources.class); } - public MethodDefinitionFinder getMethodDefinitionFinder() { - return locateByType(MethodDefinitionFinder.class); + public ActionMonitor getActionMonitor() { + return locateByType(ActionMonitor.class); } - public MethodNameResolver getMethodNameResolver() { - return locateByType(MethodNameResolver.class); + public BindMonitor getBindMonitor() { + return locateByType(BindMonitor.class); } - public ActionMonitor getActionMonitor() { - return locateByType(ActionMonitor.class); + public ContextMonitor getContextMonitor() { + return locateByType(ContextMonitor.class); } + public ControllerMonitor getControllerMonitor() { + return locateByType(ControllerMonitor.class); + } + public RegistrarMonitor getRegistrarMonitor() { return locateByType(RegistrarMonitor.class); } - public RequestAttributeBinder getRequestAttributeBinder() { - return locateByType(RequestAttributeBinder.class); - } - public ServletMonitor getServletMonitor() { return locateByType(ServletMonitor.class); } - public TypeConverter getTypeConverter() { - return locateByType(TypeConverter.class); - } - public Validator getValidator() { return locateByType(Validator.class); }
To unsubscribe from this list please visit:
