You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/05/11 11:11:40 UTC

svn commit: r1101793 - in /tuscany/sca-java-2.x/trunk/modules: core-spi/src/main/java/org/apache/tuscany/sca/runtime/ core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/ deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/ domain-...

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;
+    }
+
 }