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 2012/03/04 22:14:26 UTC

svn commit: r1296876 - in /tuscany/sca-java-2.x/trunk/modules: deployment/src/main/java/org/apache/tuscany/sca/deployment/ deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/ domain-node/src/main/java/org/apache/tuscany/sca/impl/

Author: antelder
Date: Sun Mar  4 21:14:26 2012
New Revision: 1296876

URL: http://svn.apache.org/viewvc?rev=1296876&view=rev
Log:
Fix Deployer.resolve to resolve dependent contributions correctly. It looks like nothing is using Deplyer.resolve except the validateContribution call so this bug had gone unoticed, the code in Deplyer.resove is duplicate din build, really build should just call resolve, i'll do that change in a seperate commit

Modified:
    tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/Deployer.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-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java

Modified: tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/Deployer.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/Deployer.java?rev=1296876&r1=1296875&r2=1296876&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/Deployer.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/Deployer.java Sun Mar  4 21:14:26 2012
@@ -218,7 +218,7 @@ public interface Deployer extends LifeCy
      * @throws ContributionResolveException
      * @throws CompositeBuilderException
      */
-    void resolve(Contribution c, List<Contribution> dependentContributions, Monitor monitor) throws ContributionResolveException, CompositeBuilderException;
+    void resolve(List<Contribution> contributionList, Contribution systemContribution, Monitor monitor) throws ContributionResolveException, CompositeBuilderException;
 
     public  Contribution cloneSystemContribution(Monitor monitor);
 

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=1296876&r1=1296875&r2=1296876&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 Sun Mar  4 21:14:26 2012
@@ -610,12 +610,12 @@ public class DeployerImpl implements Dep
         return domainComposite;
     }
     
-    public void resolve(Contribution c, List<Contribution> dependentContributions, Monitor monitor) throws ContributionResolveException, CompositeBuilderException {
+    public void resolve(List<Contribution> contributionList, Contribution systemContribution, Monitor monitor) throws ContributionResolveException, CompositeBuilderException {
         init();
-        List<Contribution> contributionList = new ArrayList<Contribution>();
-        contributionList.add(c);
 
-        Contribution systemContribution = cloneSystemContribution(monitor);
+        if (systemContribution == null) {
+            systemContribution = cloneSystemContribution(monitor);
+        }
         Definitions systemDefinitions = systemContribution.getArtifacts().get(0).getModel();
         // Build an aggregated SCA definitions model. Must be done before we try and
         // resolve any contributions or composites as they may depend on the full
@@ -635,6 +635,7 @@ public class DeployerImpl implements Dep
                         continue;
                     }
                     Object model = artifact.getModel();
+                    // FIXME: Should we check the artifact URI is META-INF/definitions.xml?
                     if (model instanceof Definitions) {
                         try {
                             monitor.pushContext("Definitions: " + artifact.getLocation());
@@ -671,7 +672,7 @@ public class DeployerImpl implements Dep
         Set<Contribution> resolved = new HashSet<Contribution>();
         
         for (Contribution contribution : contributionList) {
-            buildDependencies(contribution, dependentContributions, monitor);
+            buildDependencies(contribution, contributionList, monitor);
 
             // Resolve contributions
             for (Contribution dependency : contribution.getDependencies()) {

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=1296876&r1=1296875&r2=1296876&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 Sun Mar  4 21:14:26 2012
@@ -344,7 +344,10 @@ public class NodeImpl implements Node {
 
         Monitor monitor = deployer.createMonitor();
         try {
-            deployer.resolve(contribution, calculateDependentContributions(cd), monitor);
+        	ArrayList<Contribution> cs = new ArrayList<Contribution>();
+        	cs.add(contribution);
+        	cs.addAll(calculateDependentContributions(cd));
+            deployer.resolve(cs, null, monitor);
         } catch (Exception e) {
             loadedContributions.remove(cd.getURI());
             throw new RuntimeException(e);