Author: lukaszlenart Date: Fri May 17 05:24:39 2013 New Revision: 1483648 URL: http://svn.apache.org/r1483648 Log: WW-4067 Skips package reloading to avoid double initialisation of actions, interceptors, and so on
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java?rev=1483648&r1=1483647&r2=1483648&view=diff ============================================================================== --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java Fri May 17 05:24:39 2013 @@ -507,6 +507,15 @@ public class XmlConfigurationProvider im * Create a PackageConfig from an XML element representing it. */ protected PackageConfig addPackage(Element packageElement) throws ConfigurationException { + String packageName = packageElement.getAttribute("name"); + PackageConfig packageConfig = configuration.getPackageConfig(packageName); + if (packageConfig != null) { + if (LOG.isDebugEnabled()) { + LOG.debug("Package [#0] already loaded, skipping re-loading it and using existing PackageConfig [#1]", packageName, packageConfig); + } + return packageConfig; + } + PackageConfig.Builder newPackage = buildPackageContext(packageElement); if (newPackage.isNeedsRefresh()) {