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()) {


Reply via email to