From 9182bba609947d775130c84f00639d8f0f766e00 Mon Sep 17 00:00:00 2001 From: rfeng Date: Tue, 19 May 2009 16:49:34 +0000 Subject: Change the NodeFactoryImpl to be capable of hosting multiple instances of SCA node in the same JVM and align the OSGiNodeFactoryImpl to that feature git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@776383 13f79535-47bb-0310-9956-ffa450edef68 --- .../node-api/src/main/java/org/apache/tuscany/sca/node/Node.java | 8 +++++++- .../src/main/java/org/apache/tuscany/sca/node/NodeFactory.java | 3 +++ .../apache/tuscany/sca/node/configuration/NodeConfiguration.java | 4 ++++ .../sca/node/configuration/impl/NodeConfigurationImpl.java | 9 +++++++-- 4 files changed, 21 insertions(+), 3 deletions(-) (limited to 'java/sca/modules/node-api') diff --git a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java index d14c1a65ad..e4b7594919 100644 --- a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java +++ b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java @@ -19,6 +19,9 @@ package org.apache.tuscany.sca.node; +import org.apache.tuscany.sca.node.configuration.NodeConfiguration; + + /** @@ -28,7 +31,8 @@ package org.apache.tuscany.sca.node; * @version $Rev$ $Date$ */ public interface Node extends Client { - + String DEFAULT_DOMAIN_URI = NodeConfiguration.DEFAULT_DOMAIN_URI; + String DEFAULT_NODE_URI = NodeConfiguration.DEFAULT_NODE_URI; /** * Start the composite loaded in the node. * @return Return the node itself so that we can call NodeFactory.newInstance().createNode(...).start() @@ -45,4 +49,6 @@ public interface Node extends Client { */ void destroy(); + // NodeConfiguration getConfiguration(); + } diff --git a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java index 781fd2688c..c9d4efe451 100644 --- a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java +++ b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java @@ -426,6 +426,9 @@ public abstract class NodeFactory extends DefaultNodeConfigurationFactory { return contributions; } + public void destroy() { + } + /** * Create a new SCA node based on the configuration * @param configuration The configuration of a node diff --git a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/NodeConfiguration.java b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/NodeConfiguration.java index 4054ffc250..7d2909ba81 100644 --- a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/NodeConfiguration.java +++ b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/NodeConfiguration.java @@ -31,6 +31,8 @@ import javax.xml.namespace.QName; * The configuration for a Node which represents the deployment of an SCA composite application */ public interface NodeConfiguration { + String DEFAULT_DOMAIN_URI = "http://tuscany.apache.org/sca/1.1/domains/default"; + String DEFAULT_NODE_URI = "http://tuscany.apache.org/sca/1.1/nodes/default"; /** * Get the URI of the SCA domain that manages the composite application * @return The URI of the SCA domain @@ -80,4 +82,6 @@ public interface NodeConfiguration { NodeConfiguration addBinding(BindingConfiguration binding); NodeConfiguration addBinding(QName bindingType, String...baseURIs); NodeConfiguration addBinding(QName bindingType, URI...baseURIs); + + List getExtensions(); } diff --git a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java index 867e46ee75..baf6e669e7 100644 --- a/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java +++ b/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java @@ -36,10 +36,11 @@ import org.apache.tuscany.sca.node.configuration.NodeConfiguration; * Default implementation of NodeConfiguration */ public class NodeConfigurationImpl implements NodeConfiguration { - private String uri; - private String domainURI = "default"; + private String uri = DEFAULT_NODE_URI; + private String domainURI = DEFAULT_DOMAIN_URI; private List contributions = new ArrayList(); private List bindings = new ArrayList(); + private List extensions =new ArrayList(); public String getURI() { return uri; @@ -146,4 +147,8 @@ public class NodeConfigurationImpl implements NodeConfiguration { } } + public List getExtensions() { + return extensions; + } + } -- cgit v1.2.3