Author: slaws
Date: Fri Nov 23 07:23:57 2007
New Revision: 597680

URL: http://svn.apache.org/viewvc?rev=597680&view=rev
Log:
Remove the hack from domain that was there because callable references couldn't 
be passed remotely

Added:
    
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java
Modified:
    
incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
    
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
    
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
    
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java
    
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java
    
incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
    
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainEventService.java
    
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java
    
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java
    
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java

Modified: 
incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.binding.sca.axis2;
 
+import java.io.Externalizable;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -175,7 +176,7 @@
         return null;
     }
     
-    public void registerNode(String nodeURI, String nodeURL){
+    public void registerNode(String nodeURI, String nodeURL, Externalizable 
nodeManagerRefence){
     }
     
 

Modified: 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain.impl;
 
+import java.io.Externalizable;
 import java.net.URL;
 import java.util.logging.Logger;
 
@@ -51,7 +52,7 @@
     private SCADomainEventService realSCADomain = null;
        
     class DomainManagerDomainImpl implements SCADomain, SCADomainSPI, 
SCADomainEventService {
-        public void registerNode(String nodeURI, String nodeURL)throws 
DomainException{ 
+        public void registerNode(String nodeURI, String nodeURL, 
Externalizable nodeReference)throws DomainException{ 
         }
         
         public void unregisterNode(String nodeURI)throws DomainException{ 

Modified: 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain.impl;
 
+import java.io.Externalizable;
 import java.net.URI;
 import java.net.URL;
 import java.util.HashMap;
@@ -87,7 +88,6 @@
     protected ContributionService domainManagementContributionService;
     protected Contribution domainManagementContribution;
     protected Composite domainManagementComposite;
-    protected DomainManagerNodeImpl domainManagerNode;
           
     // The domain model
     protected DomainModelFactory domainModelFactory = new 
DomainModelFactoryImpl();
@@ -148,12 +148,12 @@
             domainManagementComposite.setName(new QName(Constants.SCA10_NS, 
"domainManagement"));
             domainManagementComposite.setURI(domainModel.getDomainURI() + 
"/Management");            
             
-            // Set up the domain so that we can push in the node endpoint 
before we
-            // call a node
-            domainManagerNode = new DomainManagerNodeImpl(this);
+            // Set up the domain so that local callable references can find 
+            // service out there in the domain
+            SCADummyNodeImpl node = new SCADummyNodeImpl(this);
             ModelFactoryExtensionPoint factories = 
domainManagementRuntime.getExtensionPointRegistry().getExtensionPoint(ModelFactoryExtensionPoint.class);
-            NodeFactoryImpl domainFactory = new 
NodeFactoryImpl(domainManagerNode);
-            factories.addFactory(domainFactory);            
+            NodeFactoryImpl nodeFactory = new NodeFactoryImpl(node);
+            factories.addFactory(nodeFactory); 
             
             // Find the composite that will configure the domain
             String domainCompositeName = "domain.composite";
@@ -229,13 +229,14 @@
     
     // SCADomainEventService methods 
     
-    public void registerNode(String nodeURI, String nodeURL) throws 
DomainException { 
+    public void registerNode(String nodeURI, String nodeURL, Externalizable 
nodeManagerReference) throws DomainException { 
         // try and remove it first just in case it's already registered
         unregisterNode(nodeURI);
         
         NodeModel node = domainModelFactory.createNode();
         node.setNodeURI(nodeURI);
         node.setNodeURL(nodeURL);
+        node.setNodeManagerReference(nodeManagerReference);
         domainModel.getNodes().put(nodeURI, node);     
         
         logger.log(Level.INFO, "Registered node: " + 
@@ -335,7 +336,7 @@
         if (node != null){
             //store the service
             node.getServices().put(modifiedServiceName+bindingName, service);
-            logger.log(Level.FINE, "Registered service: " + 
modifiedServiceName);
+            logger.log(Level.FINE, "Registered service: " + 
modifiedServiceName + " with URL " + URL);
         } else {
             logger.log(Level.WARNING, "Trying to register service: " + 
                                       modifiedServiceName + 
@@ -514,22 +515,10 @@
             throw new DomainException("No free node available for to run 
composite "  + compositeName.toString());
         }        
         
-        // get the endpoint of the node in question and set it into the
-        // domain manager node in order to flip the node reference to 
-        // the correct endpoint
-        // TODO - replace with a cached callable reference to the node
-        String nodeURL = node.getNodeURL();
-        domainManagerNode.setNodeEndpoint(nodeURL);
-        
-        
-        // get a node manager service reference. This will have to have its
-        // physical endpoint set by the domain node manage we have just 
-        // configured
-        // TODO - replace with a cached callable reference to the node
-        SCANodeManagerService nodeManagerService = 
getService(SCANodeManagerService.class, 
-                                                
"NodeManagerComponent/NodeManagerService",
-                                                domainManagementRuntime, 
-                                                domainManagementComposite);    
            
+        // get the node manager for the node in question
+        CallableReference<SCANodeManagerService> nodeManagerReference = 
+            
(CallableReference<SCANodeManagerService>)node.getNodeManagerReference();
+        SCANodeManagerService nodeManagerService = 
nodeManagerReference.getService();
         
         try {
             // add contributions
@@ -550,9 +539,6 @@
         } catch (Exception ex) {
             throw new DomainException(ex);
         }
-        
-        // reset the endpoint setting function
-        domainManagerNode.setNodeEndpoint(null);
             
     }
       

Added: 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java?rev=597680&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADummyNodeImpl.java
 Fri Nov 23 07:23:57 2007
@@ -0,0 +1,88 @@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.domain.impl;
+
+import java.io.Externalizable;
+import java.net.URL;
+import java.util.logging.Logger;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.domain.DomainException;
+import org.apache.tuscany.sca.domain.SCADomain;
+import org.apache.tuscany.sca.domain.SCADomainEventService;
+import org.apache.tuscany.sca.domain.SCADomainSPI;
+import org.apache.tuscany.sca.domain.model.DomainModel;
+import org.apache.tuscany.sca.node.NodeException;
+import org.apache.tuscany.sca.node.SCANode;
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ServiceReference;
+
+/**
+ * A dummy representation of and SCA Node used simply to allow
+ * callable references in the JVM where the domain is being run
+ * to be looked up
+ * 
+ * @version $Rev: 552343 $ $Date: 2007-09-09 23:54:46 +0100 (Sun, 09 Sep 2007) 
$
+ */
+public class SCADummyNodeImpl implements SCANode {
+    
+    private SCADomain scaDomain = null;
+
+    public SCADummyNodeImpl(SCADomain scaDomain) {
+        this.scaDomain = scaDomain;
+    }    
+    
+    // API methods 
+    
+    public void start() throws NodeException {
+    }
+    
+    public void stop() throws NodeException {
+
+    }    
+    
+    public void destroy() throws NodeException {
+    }
+ 
+    public String getURI(){
+        return null;
+    }
+    
+    public SCADomain getDomain(){
+        return scaDomain;
+    }   
+    
+    public void addContribution(String contributionURI, URL contributionURL) 
throws NodeException {
+    }
+    
+    public void removeContribution(String contributionURI) throws 
NodeException {
+    }
+    
+    public void addToDomainLevelComposite(QName compositeName) throws 
NodeException {
+    }  
+
+    public void addToDomainLevelComposite(String compositePath) throws 
NodeException {
+    }
+
+    public void startContribution(String contributionURI) throws NodeException 
{
+    }
+      
+}

Modified: 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/management/impl/SCADomainManagerServiceImpl.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain.management.impl;
 
+import java.io.Externalizable;
 import java.util.logging.Logger;
 
 import org.apache.tuscany.sca.domain.DomainException;
@@ -30,6 +31,8 @@
 import org.apache.tuscany.sca.domain.management.NodeInfo;
 import org.apache.tuscany.sca.domain.model.DomainModel;
 import org.apache.tuscany.sca.domain.model.NodeModel;
+import org.apache.tuscany.sca.node.management.SCANodeManagerService;
+import org.osoa.sca.CallableReference;
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.Service;
 
@@ -60,8 +63,15 @@
     
     // DomainEventService methods
     
-    public void registerNode(String nodeURI, String nodeURL) throws 
DomainException{ 
-        domainEventService.registerNode(nodeURI, nodeURL);
+    public void registerNode(String nodeURI, String nodeURL, Externalizable 
nodeManagerReference) throws DomainException{
+        // get a reference to the node manager here so that the callable 
reference
+        // the right context to construct itself. Don't actually have to do 
+        // anything with the result as the context is cached inside the 
callable
+        // reference
+        
((CallableReference<SCANodeManagerService>)nodeManagerReference).getService();
+        
+        // pass on to the domain
+        domainEventService.registerNode(nodeURI, nodeURL, 
nodeManagerReference);
     }
     
     public void unregisterNode(String nodeURI) throws DomainException { 

Modified: 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/model/impl/NodeModelImpl.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain.model.impl;
 
+import java.io.Externalizable;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -39,6 +40,7 @@
     
     private String nodeURI;
     private String nodeURL;
+    private Externalizable nodeManagerReference;
     private Map<String, ContributionModel> contributions = new HashMap<String, 
ContributionModel>();
     private Map<QName, CompositeModel> composites = new HashMap<QName, 
CompositeModel>();
     private Map<String, ServiceModel> services = new HashMap<String, 
ServiceModel>();
@@ -77,6 +79,24 @@
      */    
     public void setNodeURL(String nodeURL){
         this.nodeURL = nodeURL;
+    }
+    
+    /**
+     * Retrieve the node manager reference
+     *
+     * @return node manager reference
+     */    
+    public Externalizable getNodeManagerReference(){
+        return nodeManagerReference;
+    }
+   
+    /**
+     * Set the node url
+     * 
+     * @param nodeURL
+     */    
+    public void setNodeManagerReference(Externalizable nodeManagerReference){
+        this.nodeManagerReference = nodeManagerReference;
     }
    
     public Map<String, ContributionModel> getContributions(){

Modified: 
incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
 Fri Nov 23 07:23:57 2007
@@ -69,8 +69,8 @@
     
     @Test
     public void testAddNode() throws Exception {    
-        domainSPI.registerNode("http://localhost:8100/mynode1";, 
"http://localhost:9999";);
-        domainSPI.registerNode("http://localhost:8200/mynode2";, 
"http://localhost:9999";);
+        domainSPI.registerNode("http://localhost:8100/mynode1";, 
"http://localhost:9999";, null);
+        domainSPI.registerNode("http://localhost:8200/mynode2";, 
"http://localhost:9999";, null);
     }
     
     @Test

Modified: 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainEventService.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainEventService.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainEventService.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/SCADomainEventService.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain;
 
+import java.io.Externalizable;
 import java.util.List;
 
 import org.osoa.sca.annotations.Remotable;
@@ -41,7 +42,7 @@
      * @param nodeURL
      * @return
      */
-    public void registerNode(String nodeURI, String nodeURL) throws 
DomainException;
+    public void registerNode(String nodeURI, String nodeURL, Externalizable 
nodeManageReference) throws DomainException;
         
     /**
      * Remove information about a node in a domain

Modified: 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/domain/src/main/java/org/apache/tuscany/sca/domain/model/NodeModel.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.domain.model;
 
+import java.io.Externalizable;
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
@@ -60,6 +61,20 @@
      * @param nodeURL
      */    
     public void setNodeURL(String nodeURL);
+    
+    /**
+     * Retrieve the node manager reference
+     *
+     * @return node manager reference
+     */    
+    public Externalizable getNodeManagerReference();
+   
+    /**
+     * Set the node url
+     * 
+     * @param nodeURL
+     */    
+    public void setNodeManagerReference(Externalizable nodeManagerReference);  
  
    
     public Map<String, ContributionModel> getContributions();
     public Map<QName, CompositeModel> getDeployedComposites();

Modified: 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainEventServiceProxyImpl.java
 Fri Nov 23 07:23:57 2007
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.node.impl;
 
+import java.io.Externalizable;
 import java.lang.reflect.UndeclaredThrowableException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -49,11 +50,11 @@
     @Reference
     protected SCADomainEventService domainManager;
 
-    public void registerNode(String nodeURI, String nodeURL) throws 
DomainException {
+    public void registerNode(String nodeURI, String nodeURL, Externalizable 
nodeManagerService) throws DomainException {
               
         for (int i =0; i < retryCount; i++){
             try {        
-                domainManager.registerNode(nodeURI, nodeURL);
+                domainManager.registerNode(nodeURI, nodeURL, 
nodeManagerService);
                 break;
             } catch(UndeclaredThrowableException ex) {
                 ex.printStackTrace();

Modified: 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java?rev=597680&r1=597679&r2=597680&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainProxyImpl.java
 Fri Nov 23 07:23:57 2007
@@ -43,6 +43,7 @@
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
 import org.apache.tuscany.sca.contribution.service.ContributionService;
 import org.apache.tuscany.sca.core.assembly.ActivationException;
+import org.apache.tuscany.sca.core.context.CallableReferenceImpl;
 import org.apache.tuscany.sca.core.context.ServiceReferenceImpl;
 import org.apache.tuscany.sca.domain.DomainException;
 import org.apache.tuscany.sca.domain.SCADomainEventService;
@@ -63,6 +64,7 @@
 import org.apache.tuscany.sca.node.SCADomainProxySPI;
 import org.apache.tuscany.sca.node.SCANode;
 import org.apache.tuscany.sca.node.management.SCANodeManagerInitService;
+import org.apache.tuscany.sca.node.management.SCANodeManagerService;
 import org.apache.tuscany.sca.node.util.SCAContributionUtil;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentContext;
@@ -83,6 +85,7 @@
     // management services
     private SCADomainEventService domainManagerService;   
     private SCANodeManagerInitService nodeManagerInitService;
+    private CallableReferenceImpl<SCANodeManagerService> nodeManagerService;
         
     // the local node implementation
     private String nodeURI;
@@ -244,6 +247,12 @@
                                                         
domainManagementRuntime, 
                                                         
domainManagementComposite); 
                     
+                    nodeManagerService = 
(CallableReferenceImpl<SCANodeManagerService>)
+                                         
getServiceReference(SCANodeManagerService.class, 
+                                                             
"SCANodeManagerComponent/SCANodeManagerService", 
+                                                             
domainManagementRuntime, 
+                                                             
domainManagementComposite);
+                    
                     // add the registered node now that the runtime is started
                     addNode();
 
@@ -270,7 +279,7 @@
         this.nodeImpl = (SCANodeImpl)nodeImpl; 
         
         // add the node into the local domain model 
-        super.registerNode(nodeImpl.getURI(), nodeImpl.getURI());
+        super.registerNode(nodeImpl.getURI(), nodeImpl.getURI(), 
nodeManagerService);
         
         // the registration of the node with the domain is delayed until
         // after the runtime has been started
@@ -300,7 +309,7 @@
                                         nodeURI.getPort() + nodeURI.getPath() 
+ "/SCANodeManagerComponent/SCANodeManagerService";
                 
                 // go out and add this node to the wider domain
-                
domainManagerService.registerNode(nodeImpl.getURI(),nodeManagerURL);
+                domainManagerService.registerNode(nodeImpl.getURI(), 
nodeManagerURL, nodeManagerService);
 
             } catch(Exception ex) {
                 logger.log(Level.SEVERE,  



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to