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 2010/06/05 10:03:28 UTC

svn commit: r951671 - /tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java

Author: antelder
Date: Sat Jun  5 08:03:28 2010
New Revision: 951671

URL: http://svn.apache.org/viewvc?rev=951671&view=rev
Log:
Handle explicit dependent contribution URIs  and implement the helper methods to get the AssemblyFactory and installed contributions

Modified:
    tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java

Modified: tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java?rev=951671&r1=951670&r2=951671&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java Sat Jun  5 08:03:28 2010
@@ -31,6 +31,7 @@ import java.util.Set;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.common.java.io.IOHelper;
 import org.apache.tuscany.sca.contribution.Artifact;
@@ -38,6 +39,7 @@ import org.apache.tuscany.sca.contributi
 import org.apache.tuscany.sca.contribution.ContributionMetadata;
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
 import org.apache.tuscany.sca.deployment.Deployer;
 import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.monitor.ValidationException;
@@ -91,8 +93,7 @@ public class Section10Impl implements Se
     }
     
     public void installContribution(Contribution contribution, List<String> dependentContributionURIs, boolean deployDeployables) throws ContributionReadException, ActivationException, ValidationException {
-        // TODO: dependentContributionURIs
-        InstalledContribution ic = new InstalledContribution(contribution.getURI(), contribution.getLocation(), contribution);
+        InstalledContribution ic = new InstalledContribution(contribution.getURI(), contribution.getLocation(), contribution, dependentContributionURIs);
         installedContributions.put(contribution.getURI(), ic);
         if (deployDeployables) {
             for (Composite c : ic.getDefaultDeployables()) {
@@ -231,6 +232,10 @@ public class Section10Impl implements Se
         return new ArrayList<String>(installedContributions.keySet());
     }
 
+    public InstalledContribution getInstalledContribution(String uri) {
+        return installedContributions.get(uri);
+    }
+
     protected String getContributionUriForArtifact(String artifactURI) {
         String contributionURI = null;
         for (String uri : installedContributions.keySet()) {
@@ -247,8 +252,19 @@ public class Section10Impl implements Se
 
     protected void deployComposite(Composite c, InstalledContribution ic) throws ActivationException {
         List<Contribution> dependentContributions = new ArrayList<Contribution>();
-        for (InstalledContribution ics : installedContributions.values()) {
-            dependentContributions.add(ics.getContribution());
+        if (ic.getDependentContributionURIs() != null) {
+            // if the install specified dependent uris use just those contributions
+            for (String uri : ic.getDependentContributionURIs()) {
+                InstalledContribution dependee = installedContributions.get(uri);
+                if (dependee != null) {
+                    dependentContributions.add(dependee.getContribution());
+                }
+            }
+        } else {
+            // otherwise use all available contributions for dependents
+            for (InstalledContribution ics : installedContributions.values()) {
+                dependentContributions.add(ics.getContribution());
+            }
         }
 
         DeployedComposite dc = new DeployedComposite(c, ic, dependentContributions, deployer, compositeActivator, endpointRegistry, extensionPointRegistry);
@@ -275,4 +291,10 @@ public class Section10Impl implements Se
     public Deployer getDeployer() {
         return deployer;
     }
+
+    public AssemblyFactory getAssemblyFactory() {
+        FactoryExtensionPoint factories = extensionPointRegistry.getExtensionPoint(FactoryExtensionPoint.class);
+        return factories.getFactory(AssemblyFactory.class);
+    }
+
 }