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;
}