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