Anonymous avatar Anonymous committed b1e8491

Ensured an ObjectFactory instance will be available during configuration initialization
XW-460

git-svn-id: http://svn.opensymphony.com/svn/xwork/trunk@1297 e221344d-f017-0410-9bd5-d282ab1896d7

Comments (0)

Files changed (1)

src/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java

             }
         });
         
-        container = builder.create(false);
-        objectFactory = container.getInstance(ObjectFactory.class);
-        
-        for (ConfigurationProvider configurationProvider : providers)
-        {
-            container.inject(configurationProvider);
-            configurationProvider.loadPackages();
+        try {
+            // Set the object factory for the purposes of factory creation
+            ObjectFactory.setObjectFactory(new ObjectFactory());
+            
+            container = builder.create(false);
+            objectFactory = container.getInstance(ObjectFactory.class);
+            ObjectFactory.setObjectFactory(objectFactory);
+            
+            for (ConfigurationProvider configurationProvider : providers)
+            {
+                container.inject(configurationProvider);
+                configurationProvider.loadPackages();
+            }
+    
+            rebuildRuntimeConfiguration();
+        } finally {
+            ObjectFactory.setObjectFactory(null);
         }
-
-        rebuildRuntimeConfiguration();
     }
 
     public void removePackageConfig(String name) {
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.