Author: lresende
Date: Fri May  8 21:59:56 2009
New Revision: 773118

URL: http://svn.apache.org/viewvc?rev=773118&view=rev
Log:
Performance enhancement to avoid processing the deployable composite twice when 
starting a node

Modified:
    
tuscany/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java

Modified: 
tuscany/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=773118&r1=773117&r2=773118&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
 Fri May  8 21:59:56 2009
@@ -531,6 +531,21 @@
         }
 
         composite = configuration.getComposite();
+        
+        if(composite != null && composite.isUnresolved()) {
+            ContributionFactory contributionFactory = 
modelFactories.getFactory(ContributionFactory.class);
+            Artifact compositeFile = contributionFactory.createArtifact();
+            compositeFile.setUnresolved(true);
+            compositeFile.setURI(composite.getURI());
+            for (Contribution c : contributions) {
+                ModelResolver resolver = c.getModelResolver();
+                Artifact resolved = resolver.resolveModel(Artifact.class, 
compositeFile);
+                if (resolved != null && resolved.isUnresolved() == false) {
+                    composite = (Composite) resolved.getModel();
+                    break;
+                }
+            }
+        }
 
         // FIXME: This is a hack to get a list of deployable composites. By 
design, the deployment composite should
         // has been configured


Reply via email to