diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-13 08:31:53 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-13 08:31:53 +0000 |
commit | 81c4167d789e9f525af7a7bfc6a881810bb6fce7 (patch) | |
tree | be3673d8fddba7eb5ecfa7d16e18e3fda04648de /java/sca/modules/node2-impl/src | |
parent | d28da5e2165c13209957887ecaf2b5296f5a5fd3 (diff) |
Add another createSCANode method while TUSCANY-2409 is looked at further
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@676277 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/node2-impl/src')
-rw-r--r-- | java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java b/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java index b032a4fb9a..2d3f6350db 100644 --- a/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java +++ b/java/sca/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java @@ -19,9 +19,13 @@ package org.apache.tuscany.sca.node.impl; +import java.io.File; +import java.net.MalformedURLException; + import org.apache.tuscany.sca.node.SCAContribution; import org.apache.tuscany.sca.node.SCANode2; import org.apache.tuscany.sca.node.SCANode2Factory; +import org.osoa.sca.ServiceRuntimeException; /** * Default implementation of an SCA node factory. @@ -51,4 +55,27 @@ public class NodeFactoryImpl extends SCANode2Factory { public SCANode2 createSCANode(String compositeURI, String compositeContent, SCAContribution... contributions) { return new NodeImpl(compositeURI, compositeContent, contributions); } + + @Override + public SCANode2 createSCANode(String compositeURI) { + try { + + File compositeFile = new File(compositeURI); + if (!compositeFile.exists()) { + throw new IllegalArgumentException("composite not found: " + compositeURI); + } + + File compositeFolder = compositeFile.getParentFile(); + SCAContribution contribution = new SCAContribution(compositeFolder.getName(), compositeFolder.toURL().toString()); + + SCANode2 node = createSCANode(compositeFile.getName(), contribution); + + node.start(); + + return node; + + } catch (MalformedURLException e) { + throw new ServiceRuntimeException(e); + } + } } |