--- ./org/directwebremoting/servlet/DwrServlet.java.orig	2006-10-07 21:25:00 +0400
+++ ./org/directwebremoting/servlet/DwrServlet.java	2007-03-14 08:30:37 +0300
@@ -16,6 +16,7 @@
 package org.directwebremoting.servlet;
 
 import java.io.IOException;
+import java.util.List;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
@@ -52,7 +53,7 @@
  */
 public class DwrServlet extends HttpServlet
 {
-    /* (non-Javadoc)
+	/* (non-Javadoc)
      * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)
      */
     public void init(ServletConfig servletConfig) throws ServletException
@@ -73,8 +74,14 @@
 
             webContextBuilder = StartupUtil.initWebContext(servletConfig, servletContext, this, container);
             StartupUtil.initServerContext(servletConfig, servletContext, container);
+            
+            if (includeDefaultConfig)
+            {
+                ContainerUtil.configureFromSystemDwrXml(container);
+            }
+            ContainerUtil.configureFromInitParams(container, servletConfig);
 
-            ContainerUtil.configureContainerFully(container, servletConfig);
+            ContainerUtil.configure(container, configurators);
             ContainerUtil.publishContainer(container, servletConfig);
         }
         catch (ExceptionInInitializerError ex)
@@ -127,6 +134,26 @@
     }
 
     /**
+     * Do we prefix the list of Configurators with a default to read the system
+     * dwr.xml file?
+     * @param includeDefaultConfig the includeDefaultConfig to set
+     */
+    public void setIncludeDefaultConfig(boolean includeDefaultConfig)
+    {
+        this.includeDefaultConfig = includeDefaultConfig;
+    }
+    
+    /**
+     * Sets the configurators to apply to this servlet. <br/>
+     * The configurators are used to set up DWR correctly.
+     * @param configurators the configurators to apply to this controller
+     */
+    public void setConfigurators(List configurators)
+    {
+        this.configurators = configurators;
+    }
+    
+    /**
      * Accessor for the DWR IoC container.
      * @return DWR's IoC container
      */
@@ -134,6 +161,17 @@
     {
         return container;
     }
+    
+    /**
+     * Do we prefix the list of Configurators with a default to read the system
+     * dwr.xml file?
+     */
+    private boolean includeDefaultConfig = true;
+    
+    /**
+     * What Configurators exist for us to configure ourselves.
+     */
+    private List configurators;
 
     /**
      * Our IoC container

