You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by ct...@apache.org on 2008/12/17 20:27:07 UTC

svn commit: r727480 - /webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java

Author: ctwiner
Date: Wed Dec 17 11:27:07 2008
New Revision: 727480

URL: http://svn.apache.org/viewvc?rev=727480&view=rev
Log:
MUSE-271

Modified:
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java?rev=727480&r1=727479&r2=727480&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/routing/RouterFilePersistence.java Wed Dec 17 11:27:07 2008
@@ -22,6 +22,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Iterator;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -94,6 +95,29 @@
      * 
      * {@inheritDoc}
      * <br><br>
++     * Initialize the resources AFTER loading and registering with the Resource
++     * Manager so that initialization with inter-resource dependencies can
++     * succeed.
++     *
++     */
+    public void reload() throws SoapFault
+    {
+        super.reload();
+
+        // initialize the resources AFTER adding them to the resource manager's
+        // epr->resource map
+        ResourceManager manager = getResourceManager();
+        Iterator resourceIter = manager.getResourceEPRs();
+        while (resourceIter.hasNext()) {
+           EndpointReference epr = (EndpointReference)resourceIter.next();
+            manager.getResource(epr).initialize();
+        }
+    }
+
+    /**
+     *
+     * (@inheritDoc)
+     *
      * This implementation treats the XML fragment as a wsa:ReferenceParameters 
      * element. It creates an EPR for the given resource type (context path) 
      * and then adds the reference parameters to it. Finally, it creates an 
@@ -138,9 +162,8 @@
         resource.setEndpointReference(epr);
         
         //
-        // continue initialization/registration
+        // continue registration (initialise performed in reload)
         //
-        resource.initialize();
         manager.addResource(epr, resource);
         
         return resource;