From 473e839056faac141fa644f61dca0fd2ccdc89f5 Mon Sep 17 00:00:00 2001 From: lresende Date: Fri, 8 May 2009 21:59:56 +0000 Subject: 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 --- .../java/org/apache/tuscany/sca/node/impl/NodeImpl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'branches/sca-java-1.x/modules/node-impl/src') 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 -- cgit v1.2.3