diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-08 21:59:56 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-08 21:59:56 +0000 |
commit | 473e839056faac141fa644f61dca0fd2ccdc89f5 (patch) | |
tree | 69b8e60d52f8007000aa1384fae9df85665860f2 /branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl | |
parent | 60e15221d662716d9081d6863d4832131d2789a1 (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/main/java/org/apache/tuscany/sca/node/impl')
-rw-r--r-- | branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java | 15 |
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 |