Author: antelder
Date: Wed May 11 09:11:40 2011
New Revision: 1101793

URL: http://svn.apache.org/viewvc?rev=1101793&view=rev
Log:
Update the registry to store info about a contributions deployables and exports 
so that distrubuted nodes are able to see what is available without having to 
actually go get and install a remote contribution. This is work in progress, an 
alternative is to just put the Contribution model object itself in the registry 
and have the registry impl hide the details, but this approach is easier for 
now as we see how things can work

Modified:
    
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
    
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
    
tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
    
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
    
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
    
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/sample-helloworld.jar
    
tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
 Wed May 11 09:11:40 2011
@@ -27,6 +27,7 @@ import javax.xml.namespace.QName;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.assembly.EndpointReference;
+import org.apache.tuscany.sca.contribution.Export;
 
 /**
  * The EndpointRegistry holds the active service endpoints for the SCA domain
@@ -85,8 +86,12 @@ public interface EndpointRegistry {
     Composite getRunningComposite(QName name);
     List<QName> getRunningCompositeNames();
     
-    void installContribution(String uri, String url);
+    void installContribution(String uri, String url, List<QName> deployables, 
List<Export> exports);
     List<String> getInstalledContributionURIs();
     String getInstalledContributionURL(String uri);
+    List<QName> getInstalledContributionDeployables(String uri);
+    List<Export> getInstalledContributionExports(String uri);
     void uninstallContribution(String uri);
+    
+    
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointRegistryImpl.java
 Wed May 11 09:11:40 2011
@@ -33,6 +33,7 @@ import javax.xml.namespace.QName;
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.contribution.Export;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.LifeCycleListener;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
@@ -50,6 +51,8 @@ public class EndpointRegistryImpl extend
     private List<Endpoint> endpoints = new ArrayList<Endpoint>();
     private Map<QName, Composite> runningComposites = new HashMap<QName, 
Composite>();
     private Map<String, String> installedContributions = new HashMap<String, 
String>();
+    private Map<String, List<QName>> installedContributionsDeployables = new 
HashMap<String, List<QName>>();
+    private Map<String, List<Export>> installedContributionsExports = new 
HashMap<String, List<Export>>();
     
     protected boolean quietLogging;
 
@@ -182,8 +185,10 @@ public class EndpointRegistryImpl extend
         return compositeNames;
     }
 
-    public void installContribution(String uri, String url) {
+    public void installContribution(String uri, String url, List<QName> 
deployables, List<Export> exports) {
         installedContributions.put(uri, url);
+        installedContributionsDeployables.put(uri, deployables);
+        installedContributionsExports.put(uri, exports);
     }
 
     public List<String> getInstalledContributionURIs() {
@@ -194,8 +199,17 @@ public class EndpointRegistryImpl extend
         return installedContributions.get(uri);
     }
 
+    public List<QName> getInstalledContributionDeployables(String uri) {
+        return installedContributionsDeployables.get(uri);
+    }
+
+    public List<Export> getInstalledContributionExports(String uri) {
+        return installedContributionsExports.get(uri);
+    }
+
     public void uninstallContribution(String uri) {
         installedContributions.remove(uri);
+        installedContributionsDeployables.remove(uri);
+        installedContributionsExports.remove(uri);
     }
-
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
 Wed May 11 09:11:40 2011
@@ -851,7 +851,7 @@ public class DeployerImpl implements Dep
             return null;
         }
 
-        public void installContribution(String uri, String url) {
+        public void installContribution(String uri, String url, List<QName> 
deployables, List<Export> exports) {
         }
 
         public List<String> getInstalledContributionURIs() {
@@ -864,5 +864,13 @@ public class DeployerImpl implements Dep
 
         public void uninstallContribution(String uri) {
         }
+
+        public List<QName> getInstalledContributionDeployables(String uri) {
+            return null;
+        }
+
+        public List<Export> getInstalledContributionExports(String uri) {
+            return null;
+        }
     }
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
 Wed May 11 09:11:40 2011
@@ -46,6 +46,7 @@ import org.apache.tuscany.sca.assembly.A
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.common.xml.stax.StAXHelper;
+import org.apache.tuscany.sca.contribution.Export;
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
 import 
org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
 import 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
@@ -567,7 +568,7 @@ public class HazelcastEndpointRegistry e
         }
     }
 
-    public void installContribution(String uri, String url) {
+    public void installContribution(String uri, String url, List<QName> 
deployables, List<Export> exports) {
         installedContributions.put(uri, url);
     }
 
@@ -582,4 +583,16 @@ public class HazelcastEndpointRegistry e
     public void uninstallContribution(String uri) {
         installedContributions.remove(uri);
     }
+
+    @Override
+    public List<QName> getInstalledContributionDeployables(String uri) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public List<Export> getInstalledContributionExports(String uri) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
 Wed May 11 09:11:40 2011
@@ -107,7 +107,8 @@ public class NodeImpl implements Node {
         if (uri == null) {
             uri = getDefaultContributionURI(contributionURL);
         }
-        endpointRegistry.installContribution(uri, contributionURL);
+        // TODO: sort out deployables and exports
+        endpointRegistry.installContribution(uri, contributionURL, null, null);
         if (startDeployables) {
             // TODO: sort out metadata and dependents in distributed
             localInstall(uri, contributionURL, metaDataURL, 
dependentContributionURIs, startDeployables);
@@ -454,7 +455,9 @@ public class NodeImpl implements Node {
     }
 
     public List<String> getInstalledContributionURIs() {
-        return new ArrayList<String>(locallyInstalledContributions.keySet());
+        Set<String> ls = new 
HashSet<String>(endpointRegistry.getInstalledContributionURIs());
+        ls.addAll(locallyInstalledContributions.keySet());
+        return new ArrayList<String>(ls);
     }
 
     public Contribution getInstalledContribution(String uri) {

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/sample-helloworld.jar
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/test/resources/sample-helloworld.jar?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java?rev=1101793&r1=1101792&r2=1101793&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/ReplicatedEndpointRegistry.java
 Wed May 11 09:11:40 2011
@@ -47,6 +47,7 @@ import org.apache.catalina.tribes.member
 import org.apache.catalina.tribes.transport.ReceiverBase;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.contribution.Export;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.LifeCycleListener;
 import org.apache.tuscany.sca.endpoint.tribes.AbstractReplicatedMap.MapEntry;
@@ -445,12 +446,6 @@ public class ReplicatedEndpointRegistry 
     }
 
     @Override
-    public void installContribution(String uri, String url) {
-        // TODO Auto-generated method stub
-        
-    }
-
-    @Override
     public List<String> getInstalledContributionURIs() {
         // TODO Auto-generated method stub
         return null;
@@ -468,4 +463,22 @@ public class ReplicatedEndpointRegistry 
         
     }
 
+    @Override
+    public void installContribution(String uri, String url, List<QName> 
deployables, List<Export> exports) {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public List<QName> getInstalledContributionDeployables(String uri) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public List<Export> getInstalledContributionExports(String uri) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
 }


Reply via email to