You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ja...@apache.org on 2011/02/02 22:13:24 UTC

svn commit: r1066628 - in /struts/struts2/trunk: core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java

Author: jafl
Date: Wed Feb  2 21:13:23 2011
New Revision: 1066628

URL: http://svn.apache.org/viewvc?rev=1066628&view=rev
Log:
WW-3513 allow derived classes to create derived classes of some objects

Modified:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
    struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=1066628&r1=1066627&r2=1066628&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java Wed Feb  2 21:13:23 2011
@@ -321,9 +321,9 @@ public class Dispatcher {
         for (String file : files) {
             if (file.endsWith(".xml")) {
                 if ("xwork.xml".equals(file)) {
-                    configurationManager.addConfigurationProvider(new XmlConfigurationProvider(file, false));
+                    configurationManager.addConfigurationProvider(createXmlConfigurationProvider(file, false));
                 } else {
-                    configurationManager.addConfigurationProvider(new StrutsXmlConfigurationProvider(file, false, servletContext));
+                    configurationManager.addConfigurationProvider(createStrutsXmlConfigurationProvider(file, false, servletContext));
                 }
             } else {
                 throw new IllegalArgumentException("Invalid configuration file name");
@@ -331,6 +331,14 @@ public class Dispatcher {
         }
     }
 
+    protected XmlConfigurationProvider createXmlConfigurationProvider(String filename, boolean errorIfMissing) {
+        return new XmlConfigurationProvider(filename, errorIfMissing);
+    }
+
+    protected XmlConfigurationProvider createStrutsXmlConfigurationProvider(String filename, boolean errorIfMissing, ServletContext ctx) {
+        return new StrutsXmlConfigurationProvider(filename, errorIfMissing, ctx);
+    }
+
     private void init_CustomConfigurationProviders() {
         String configProvs = initParams.get("configProviders");
         if (configProvs != null) {
@@ -402,7 +410,7 @@ public class Dispatcher {
     public void init() {
 
     	if (configurationManager == null) {
-    		configurationManager = new ConfigurationManager(BeanSelectionProvider.DEFAULT_BEAN_NAME);
+    		configurationManager = createConfigurationManager(BeanSelectionProvider.DEFAULT_BEAN_NAME);
     	}
 
         try {
@@ -430,6 +438,10 @@ public class Dispatcher {
         }
     }
 
+    protected ConfigurationManager createConfigurationManager(String name) {
+        return new ConfigurationManager(name);
+    }
+
     /**
      * Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result.
      * <p/>

Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java?rev=1066628&r1=1066627&r2=1066628&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java Wed Feb  2 21:13:23 2011
@@ -61,7 +61,7 @@ public class ConfigurationManager {
      */
     public synchronized Configuration getConfiguration() {
         if (configuration == null) {
-            setConfiguration(new DefaultConfiguration(defaultFrameworkBeanName));
+            setConfiguration(createConfiguration(defaultFrameworkBeanName));
             try {
                 configuration.reloadContainer(getContainerProviders());
             } catch (ConfigurationException e) {
@@ -75,6 +75,10 @@ public class ConfigurationManager {
         return configuration;
     }
 
+    protected Configuration createConfiguration(String beanName) {
+        return new DefaultConfiguration(beanName);
+    }
+
     public synchronized void setConfiguration(Configuration configuration) {
         this.configuration = configuration;
     }