summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/pom.xml7
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java32
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java179
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNodeMain.java67
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java27
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java32
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java26
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/GetServiceTestCase.java84
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/MultipleNodesPerJVMTestCase.java87
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/OneNodeTestCase.java105
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/StopStartNodesTestCase.java82
11 files changed, 87 insertions, 641 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-node/pom.xml b/sca-java-2.x/trunk/modules/domain-node/pom.xml
index 76fae9963a..6f61f64a98 100644
--- a/sca-java-2.x/trunk/modules/domain-node/pom.xml
+++ b/sca-java-2.x/trunk/modules/domain-node/pom.xml
@@ -38,16 +38,11 @@
<version>2.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
-
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-java-runtime</artifactId>
<version>2.0-SNAPSHOT</version>
+ <scope>test</scope>
</dependency>
<dependency>
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
index cb26509b44..7ce919799b 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/TuscanyRuntime.java
@@ -49,6 +49,10 @@ import org.apache.tuscany.sca.runtime.RuntimeProperties;
import org.apache.tuscany.sca.work.WorkScheduler;
import org.oasisopen.sca.ServiceRuntimeException;
+/**
+ * The TuscanyRuntime is the main class for using Tuscany. It can create Nodes,
+ * run composites, and provides access to various utility APIs
+ */
public class TuscanyRuntime {
private Deployer deployer;
@@ -57,9 +61,19 @@ public class TuscanyRuntime {
private ExtensibleDomainRegistryFactory domainRegistryFactory;
private RuntimeAssemblyFactory assemblyFactory;
+ /**
+ * Creates a new TuscanyRuntime
+ * @return a TuscanyRuntime
+ */
public static TuscanyRuntime newInstance() {
return new TuscanyRuntime(null);
}
+
+ /**
+ * Creates a new TuscanyRuntime
+ * @param config Properties to configure the TuscanyRuntime
+ * @return a TuscanyRuntime
+ */
public static TuscanyRuntime newInstance(Properties config) {
return new TuscanyRuntime(config);
}
@@ -85,6 +99,7 @@ public class TuscanyRuntime {
* @param contributionURL URL of the contribution
* @param dependentContributionURLs optional URLs of dependent contributions
* @return a Node with installed contributions
+ * TODO: keep this helper method? Maybe say you should just create/use Node directly
*/
public static Node runComposite(TuscanyRuntime runtime, String compositeURI, String contributionURL, String... dependentContributionURLs) {
try {
@@ -116,10 +131,19 @@ public class TuscanyRuntime {
init(config);
}
+ /**
+ * Creates a Node
+ * @return a Node
+ */
public Node createNode() {
return createNode(null);
}
+ /**
+ * Creates a Node in an SCA domain
+ * @param domainURI the URI of the SCA domain
+ * @return a Node
+ */
public Node createNode(String domainURI) {
String domainName = "default";
if (domainURI != null){
@@ -129,6 +153,11 @@ public class TuscanyRuntime {
return new NodeImpl(domainName, deployer, compositeActivator, endpointRegistry, extensionPointRegistry, null);
}
+ /**
+ * Creates a Node from an XML configuration file
+ * @param configURL the URL to the XML configuration file
+ * @return Node the configured Node
+ */
public Node createNodeFromXML(String configURL) throws ContributionReadException, ActivationException, ValidationException {
NodeConfiguration configuration = loadConfiguration(configURL);
Node node = createNode(configuration.getDomainURI());
@@ -138,6 +167,9 @@ public class TuscanyRuntime {
return node;
}
+ /**
+ * Stop the TuscanyRuntime
+ */
public void stop() {
extensionPointRegistry.stop();
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
deleted file mode 100644
index 8a30cf2f71..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
-import org.apache.tuscany.sca.node.impl.NodeImpl;
-import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
-import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-public class DomainNode {
-
- private static final String DEFAULT_DOMAIN_SCHEME = "vm";
- private static final String DEFAULT_DOMAIN_NAME = "defaultDomain";
- private static final String DEFAULT_CONFIG_URI = DEFAULT_DOMAIN_SCHEME + "://" + DEFAULT_DOMAIN_NAME;
-
- private String domainName;
- private String domainRegistryURI;
-
- private Map<String, Node> nodes = new HashMap<String, Node>();
-
- public DomainNode() {
- this(DEFAULT_CONFIG_URI, new String[]{});
- }
-
- public DomainNode(String... contributionLocations) {
- this(DEFAULT_CONFIG_URI, contributionLocations);
- }
-
- public DomainNode(String configURI, String[] contributionLocations) {
- this.domainRegistryURI = configURI;
- initDomainName(configURI);
- if (contributionLocations == null || contributionLocations.length == 0) {
- addContribution(null, "_null");
- } else {
- for (String loc : contributionLocations) {
- addContribution(loc);
- }
- }
- }
-
- public void stop() {
- for (Node node : nodes.values()) {
- node.stop();
- }
- }
-
- public String addContribution(String location) {
- String uri = location;
- addContribution(uri, location);
- return uri;
- }
-
- public void addContribution(String location, String uri) {
- if (nodes.containsKey(uri)) {
- throw new IllegalArgumentException("contribution already added: " + uri);
- }
- NodeConfiguration configuration = NodeFactory.getInstance().createNodeConfiguration();
- if (location != null) {
- configuration.addContribution(uri, location);
- }
- configuration.setDomainRegistryURI(domainRegistryURI);
- configuration.setDomainURI(domainName);
- configuration.setURI(uri); //???
- Node node = NodeFactory.getInstance().createNode(configuration).start();
- nodes.put(uri, node);
- }
-
- public void removeContribution(String uri) {
- if (!nodes.containsKey(uri)) {
- throw new IllegalArgumentException("contribution not found: " + uri);
- }
- Node node = nodes.remove(uri);
- node.stop();
- }
-
- public String getDomainName() {
- return domainName;
- }
-
- public String getDomainConfigURI() {
- return domainRegistryURI;
- }
-
- public List<String> getServiceNames() {
- List<String> serviceNames = new ArrayList<String>();
- if (nodes.size() > 0) {
- ExtensionPointRegistry extensionsRegistry = ((NodeImpl)nodes.values().iterator().next()).getExtensionPointRegistry();
- DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionsRegistry);
- EndpointRegistry endpointRegistry = domainRegistryFactory.getEndpointRegistry(getDomainConfigURI(), getDomainName());
- for (Endpoint endpoint : endpointRegistry.getEndpoints()) {
- // Would be nice if Endpoint.getURI() returned this:
- String name = endpoint.getComponent().getName() + "/" + endpoint.getService().getName();
- if (endpoint.getBinding() != null) {
- // TODO: shouldn't the binding name be null if its not explicitly specified?
- // For now don't include it if the same as the default
- if (!endpoint.getService().getName().equals(endpoint.getBinding().getName())) {
- name += "/" + endpoint.getBinding().getName();
- }
- }
- serviceNames.add(name);
- }
- }
- return serviceNames;
- }
-
- public <T> T getService(Class<T> interfaze, String uri) throws NoSuchServiceException {
- try {
- return SCAClientFactory.newInstance(URI.create(getDomainName())).getService(interfaze, uri);
- } catch (NoSuchDomainException e) {
- throw new IllegalStateException(e);
- }
- }
-
- protected void initDomainName(String configURI) {
-// URI uri = URI.create(fixScheme(configURI));
-// String dn = uri.getHost();
-// if (dn == null || dn.length() < 1) {
-// dn = DEFAULT_DOMAIN_NAME;
-// }
- if (configURI.startsWith("tuscany:vm:")) {
- domainName = configURI.substring("tuscany:vm:".length());
- } else if (configURI.startsWith("tuscany:")) {
- int i = configURI.indexOf('?');
- if (i == -1) {
- domainName = configURI.substring("tuscany:".length());
- } else{
- domainName = configURI.substring("tuscany:".length(), i);
- }
- } else {
- domainName = configURI;
- }
- }
-
- /**
- * I keep typing the scheme part with just a colon instead of colon slash slash
- * which URI doesn't parse properly which irritates me so fix it up here
- */
- protected String fixScheme(String uri) {
- int i = uri.indexOf(":");
- if (i > -1 && uri.charAt(i+1) != '/') {
- uri = uri.replaceFirst(":", ":/");
- }
- if (i > -1 && uri.charAt(i+2) != '/') {
- uri = uri.replaceFirst(":/", "://");
- }
- return uri;
- }
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNodeMain.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNodeMain.java
deleted file mode 100644
index 0d9f4172f2..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNodeMain.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-
-public class DomainNodeMain {
-
- /**
- * Start an SCA domain node
- * @param args a list of contribution jars for the node to run
- */
- public static void main(String[] args) throws Exception {
-
- String configURI = "uri:default";
-
- List<String> contributions = new ArrayList<String>();
- for (int i = 0; i < args.length; i++) {
- if (args[i].startsWith("vm:") || args[i].startsWith("tribes:") || args[i].startsWith("tuscany:") || args[i].startsWith("uri:") || args[i].startsWith("properties:")) {
- configURI = args[i];
- } else{
- File f = new File(args[i]);
- if (!f.exists()) {
- System.err.println("contribution not found: " + f);
- System.exit(1);
- }
- contributions.add(f.toURI().toString());
- }
- }
-
- Node node = NodeFactory.newInstance(configURI).createNode((String)null, contributions.toArray(new String[contributions.size()]));
- node.start();
-
- System.out.println("Hit enter to stop node...");
- if (System.in.read() == -1) {
- // no sysin so wait for ever letting caller do the terminate
- Object lock = new Object();
- synchronized (lock) {
- lock.wait();
- }
- }
-
- node.stop();
- }
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
index 6788f29ca5..c82fc3a81c 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/DeployedComposite.java
@@ -52,6 +52,7 @@ public class DeployedComposite {
private Deployer deployer;
private EndpointRegistry endpointRegistry;
private ExtensionPointRegistry extensionPointRegistry;
+ private Contribution systemContribution;
public DeployedComposite(Composite composite,
InstalledContribution ic,
@@ -83,18 +84,14 @@ public class DeployedComposite {
contribution.get(0).getDeployables().clear();
contribution.get(0).getDeployables().add(composite);
+
Monitor monitor = deployer.createMonitor();
-// TODO: is the ContextMonitor neccessary here?
-// Monitor tcm = monitorFactory.setContextMonitor(monitor);
-// try {
-
- domainComposite = deployer.build(contribution, dependedOnContributions, new HashMap<QName, List<String>>(), monitor);
- monitor.analyzeProblems();
+ if (systemContribution == null) {
+ this.systemContribution = deployer.cloneSystemContribution(monitor);
+ }
+ domainComposite = deployer.build(contribution, dependedOnContributions, systemContribution, new HashMap<QName, List<String>>(), monitor);
+ monitor.analyzeProblems();
-// } finally {
-// monitorFactory.setContextMonitor(tcm);
-// }
-
compositeContext = new CompositeContext(extensionPointRegistry,
endpointRegistry,
domainComposite,
@@ -102,13 +99,17 @@ public class DeployedComposite {
null, // don't need node uri
deployer.getSystemDefinitions());
- compositeActivator.activate(compositeContext, domainComposite);
- compositeActivator.start(compositeContext, domainComposite);
+ start();
this.uri = getCompositeURI(composite, installedContribution);
}
- public void unDeploy() throws ActivationException {
+ public void start() throws ActivationException {
+ compositeActivator.activate(compositeContext, domainComposite);
+ compositeActivator.start(compositeContext, domainComposite);
+ }
+
+ public void stop() throws ActivationException {
compositeActivator.stop(compositeContext, domainComposite);
compositeActivator.deactivate(domainComposite);
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
index 5137605067..750a13f81a 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/InstalledContribution.java
@@ -20,10 +20,13 @@
package org.apache.tuscany.sca.impl;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.runtime.ActivationException;
public class InstalledContribution {
@@ -31,7 +34,8 @@ public class InstalledContribution {
private String url;
private Contribution contribution;
private List<Composite> defaultDeployables = new ArrayList<Composite>();
- private List<DeployedComposite> deployedComposites = new ArrayList<DeployedComposite>();
+ private List<DeployedComposite> startededComposites = new ArrayList<DeployedComposite>();
+ private Map<String, DeployedComposite> stoppedComposites = new HashMap<String, DeployedComposite>();
private List<String> dependentContributionURIs;
public InstalledContribution(String uri, String url, Contribution contribution, List<String> dependentContributionURIs) {
@@ -57,9 +61,33 @@ public class InstalledContribution {
return defaultDeployables;
}
public List<DeployedComposite> getDeployedComposites() {
- return deployedComposites;
+ return startededComposites;
}
public List<String> getDependentContributionURIs() {
return dependentContributionURIs;
}
+ public void stop(String compositeURI) throws ActivationException {
+ for (DeployedComposite dc : getDeployedComposites()) {
+ if (compositeURI.equals(dc.getURI())) {
+ getDeployedComposites().remove(dc);
+ dc.stop();
+ stoppedComposites.put(compositeURI, dc);
+ return;
+ }
+ }
+ throw new IllegalStateException("composite not deployed: " + compositeURI);
+ }
+
+ public void start(DeployedComposite composite) {
+ startededComposites.add(composite);
+ }
+
+ public boolean restart(String compositeURI) throws ActivationException {
+ DeployedComposite dc = stoppedComposites.remove(compositeURI);
+ if (dc != null) {
+ dc.start();
+ startededComposites.add(dc);
+ }
+ return dc != null;
+ }
}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
index c3b6739ca8..2e0c4fea02 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/impl/NodeImpl.java
@@ -188,13 +188,15 @@ public class NodeImpl implements Node {
if (ic == null) {
throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
}
- for (Artifact a : ic.getContribution().getArtifacts()) {
- if (a.getURI().equals(compositeURI)) {
- startComposite((Composite) a.getModel(), ic);
- return;
+ if (!ic.restart(compositeURI)) {
+ for (Artifact a : ic.getContribution().getArtifacts()) {
+ if (a.getURI().equals(compositeURI)) {
+ startComposite((Composite) a.getModel(), ic);
+ return;
+ }
}
+ throw new IllegalArgumentException("composite not found: " + compositeURI);
}
- throw new IllegalArgumentException("composite not found: " + compositeURI);
}
@Override
@@ -203,14 +205,7 @@ public class NodeImpl implements Node {
if (ic == null) {
throw new IllegalArgumentException("Contribution not installed: " + contributionURI);
}
- for (DeployedComposite dc : ic.getDeployedComposites()) {
- if (compositeURI.equals(dc.getURI())) {
- ic.getDeployedComposites().remove(dc);
- dc.unDeploy();
- return;
- }
- }
- throw new IllegalStateException("composite not deployed: " + compositeURI);
+ ic.stop(compositeURI);
}
public Composite getDomainLevelComposite() {
@@ -238,7 +233,7 @@ public class NodeImpl implements Node {
}
installedContributions.remove(contributionURI);
for (DeployedComposite dc : ic.getDeployedComposites()) {
- dc.unDeploy();
+ dc.stop();
}
ic.getDeployedComposites().clear();
}
@@ -447,9 +442,8 @@ public class NodeImpl implements Node {
protected void startComposite(Composite c, InstalledContribution ic) throws ActivationException, ValidationException {
List<Contribution> dependentContributions = calculateDependentContributions(ic);
-
DeployedComposite dc = new DeployedComposite(c, ic, dependentContributions, deployer, compositeActivator, endpointRegistry, extensionPointRegistry);
- ic.getDeployedComposites().add(dc);
+ ic.start(dc);
}
public Set<String> getDependentContributions(String contributionURI) {
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/GetServiceTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/GetServiceTestCase.java
deleted file mode 100644
index 0a5d99ae7c..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/GetServiceTestCase.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import itest.nodes.Helloworld;
-
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.oasisopen.sca.ServiceRuntimeException;
-
-/**
- * This shows how to test the Calculator service component.
- */
-@Ignore("TUSCANY-3391")
-public class GetServiceTestCase{
-
- private static DomainNode clientNode;
- private static DomainNode serviceNode;
-
- @Test
- public void testTwoNodesSameDomain() throws Exception {
- serviceNode = new DomainNode("target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar");
- clientNode = new DomainNode("target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar");
-
- Helloworld service = serviceNode.getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- Helloworld client = clientNode.getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- }
-
- @Test
- public void testTwoNodesDifferentDomains() throws Exception {
- serviceNode = new DomainNode("vm://fooDomain", new String[]{"target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar"});
- Helloworld service = serviceNode.getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- clientNode = new DomainNode("vm://barDomain", new String[] {"target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar"});
- Helloworld client = clientNode.getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
-
- try {
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- fail();
- } catch (ServiceRuntimeException e) {
- // FIXME: this gives an SCARuntimeException, would be better to be something like ServiceNotFoundException?
- // expected
- }
- }
-
- @After
- public void tearDownAfterClass() throws Exception {
- if (clientNode != null) {
- clientNode.stop();
- }
- if (serviceNode != null) {
- serviceNode.stop();
- }
- }
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/MultipleNodesPerJVMTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/MultipleNodesPerJVMTestCase.java
deleted file mode 100644
index 617876586b..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/MultipleNodesPerJVMTestCase.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import itest.nodes.Helloworld;
-
-import java.net.URI;
-
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.oasisopen.sca.ServiceRuntimeException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-/**
- * This shows how to test the Calculator service component.
- */
-@Ignore("TUSCANY-3391")
-public class MultipleNodesPerJVMTestCase{
-
- private static DomainNode clientNode;
- private static DomainNode serviceNode;
-
- @Test
- public void testTwoNodesSameDomain() throws Exception {
- serviceNode = new DomainNode("target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar");
- clientNode = new DomainNode("target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar");
-
- Helloworld service = SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- Helloworld client = SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- }
-
- @Test
- public void testTwoNodesDifferentDomains() throws Exception {
- serviceNode = new DomainNode("vm://fooDomain", new String[]{"target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar"});
- Helloworld service = SCAClientFactory.newInstance(URI.create("vm://fooDomain")).getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- clientNode = new DomainNode("vm://barDomain", new String[]{"target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar"});
- Helloworld client = SCAClientFactory.newInstance(URI.create("vm://barDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
-
- try {
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- fail();
- } catch (ServiceRuntimeException e) {
- // FIXME: this gives an SCARuntimeException, would be better to be something like ServiceNotFoundException?
- // expected
- }
- }
-
- @After
- public void tearDownAfterClass() throws Exception {
- if (clientNode != null) {
- clientNode.stop();
- }
- if (serviceNode != null) {
- serviceNode.stop();
- }
- }
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/OneNodeTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/OneNodeTestCase.java
deleted file mode 100644
index 10803cd880..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/OneNodeTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import itest.nodes.Helloworld;
-
-import java.net.URI;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-/**
- * This shows how to test the Calculator service component.
- */
-@Ignore("TUSCANY-3391")
-public class OneNodeTestCase{
-
- private static DomainNode domain;
- private static String serviceContributionUri;
-
- @Before
- public void setUpBeforeClass() throws Exception {
- domain = new DomainNode();
- serviceContributionUri = domain.addContribution("target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar");
- domain.addContribution("target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar");
- }
-
- @Test
- public void testService() throws Exception {
- Helloworld service = SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
- }
-
- @Test
- public void testClient() throws Exception {
- Helloworld client = SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- }
-
- @Test
- public void testRemovingServiceContribution() throws Exception {
- domain.removeContribution(serviceContributionUri);
- try {
- SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldService");
- // FIXME: should this be NoSuchServiceException or ServiceNotFoundException?
- } catch (NoSuchServiceException e) {
- // expected
- }
-
- Helloworld client = SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- try {
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- fail();
- } catch (Exception e) {
- // FIXME: this gives an NPE, would be better to be something like ServiceNotFoundException
- // expected
- }
- }
-
- @Test
- public void testStoppingDomainNode() throws Exception {
- domain.stop();
- try {
- SCAClientFactory.newInstance(URI.create("vm://defaultDomain")).getService(Helloworld.class, "HelloworldClient");
- fail();
- } catch (NoSuchDomainException e) {
- // expected
- }
- }
-
- @After
- public void tearDownAfterClass() throws Exception {
- if (domain != null) {
- domain.stop();
- }
- }
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/StopStartNodesTestCase.java b/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/StopStartNodesTestCase.java
deleted file mode 100644
index 4a29822069..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/test/java/org/apache/tuscany/sca/domain/node/StopStartNodesTestCase.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import itest.nodes.Helloworld;
-
-import java.net.URI;
-
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-/**
- * This shows how to test the Calculator service component.
- */
-@Ignore("TUSCANY-3391")
-public class StopStartNodesTestCase{
-
- private static DomainNode clientNode;
- private static DomainNode serviceNode;
-
- @Test
- public void testTwoNodesSameDomain() throws Exception {
- serviceNode = new DomainNode("vm://fooDomain", new String[]{"target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar"});
- clientNode = new DomainNode("vm://fooDomain", new String[]{"target/test-classes/itest-nodes-helloworld-client-2.0-SNAPSHOT.jar"});
-
- Helloworld service = SCAClientFactory.newInstance(URI.create("vm://fooDomain")).getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- Helloworld client = SCAClientFactory.newInstance(URI.create("vm://fooDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
-
- serviceNode.stop();
-
- client = SCAClientFactory.newInstance(URI.create("vm://fooDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- try {
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- fail();
- } catch (Exception e) {
- // expected
- }
-
- serviceNode = new DomainNode("vm://fooDomain", new String[]{"target/test-classes/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar"});
- client = SCAClientFactory.newInstance(URI.create("vm://fooDomain")).getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- }
-
- @After
- public void tearDownAfterClass() throws Exception {
- if (clientNode != null) {
- clientNode.stop();
- }
- if (serviceNode != null) {
- serviceNode.stop();
- }
- }
-}