summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/node-impl/src
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-05-08 21:59:56 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-05-08 21:59:56 +0000
commit473e839056faac141fa644f61dca0fd2ccdc89f5 (patch)
tree69b8e60d52f8007000aa1384fae9df85665860f2 /branches/sca-java-1.x/modules/node-impl/src
parent60e15221d662716d9081d6863d4832131d2789a1 (diff)
Performance enhancement to avoid processing the deployable composite twice when starting a node
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@773118 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/node-impl/src')
-rw-r--r--branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
index 3c13804685..7d64857306 100644
--- a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
+++ b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
@@ -531,6 +531,21 @@ public class NodeImpl implements SCANode, SCAClient {
}
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