summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/node2-impl/src
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2008-07-13 08:31:53 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2008-07-13 08:31:53 +0000
commit81c4167d789e9f525af7a7bfc6a881810bb6fce7 (patch)
treebe3673d8fddba7eb5ecfa7d16e18e3fda04648de /java/sca/modules/node2-impl/src
parentd28da5e2165c13209957887ecaf2b5296f5a5fd3 (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.java27
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);
+ }
+ }
}