summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-01-14 11:43:13 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-01-14 11:43:13 +0000
commitd43218ec2ed0bad387cf6215b054e042a58a637d (patch)
tree4789f00110e3576195b4c22b73ee9a8999dcd043 /sca-java-2.x/trunk/itest/scaclient-api-jse-osgi
parent1efe7f4941a552769dca849be06db934549c2cb6 (diff)
TUSCANY-3424 - A test case for the SCA client running in JSE while the runtime runs on OSGi. We don't support this scenario at the moment so this module won't be included in the build.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@899163 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/itest/scaclient-api-jse-osgi')
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/pom.xml57
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldService.java25
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldServiceImpl.java38
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/Helloworld.composite29
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/META-INF/sca-contribution.xml23
-rw-r--r--sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/test/java/test/scaclient/SCAClientTestCase.java61
6 files changed, 233 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/pom.xml b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/pom.xml
new file mode 100644
index 0000000000..5c872785ab
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-itest</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>itest-scaclient-api-jse-osgi</artifactId>
+ <name>Apache Tuscany SCA iTest SCAClient API JSE and OSGI</name>
+
+ <dependencies>
+ <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-node-launcher-equinox</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ </dependency>
+
+ </dependencies>
+</project>
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldService.java b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldService.java
new file mode 100644
index 0000000000..1c7edaefb6
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldService.java
@@ -0,0 +1,25 @@
+/*
+ * 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 itest;
+
+public interface HelloworldService {
+
+ String sayHello(String name);
+
+}
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldServiceImpl.java b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldServiceImpl.java
new file mode 100644
index 0000000000..7793bdd544
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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 itest;
+
+import org.oasisopen.sca.annotation.EagerInit;
+import org.oasisopen.sca.annotation.Init;
+import org.oasisopen.sca.annotation.Scope;
+
+@EagerInit
+@Scope("COMPOSITE")
+public class HelloworldServiceImpl implements HelloworldService {
+
+ public String sayHello(String name) {
+ return "Hello " + name;
+ }
+
+ @Init
+ public void init() {
+ System.out.println("Init - " + sayHello("world"));
+ }
+
+}
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/Helloworld.composite b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/Helloworld.composite
new file mode 100644
index 0000000000..2d5ae6a57c
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/Helloworld.composite
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://itest"
+ name="Helloworld">
+
+ <component name="HelloworldComponent">
+ <implementation.java class="itest.HelloworldServiceImpl"/>
+ </component>
+
+</composite>
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..56e127b539
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:itest="http://itest">
+ <deployable composite="itest:Helloworld"/>
+</contribution> \ No newline at end of file
diff --git a/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/test/java/test/scaclient/SCAClientTestCase.java b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/test/java/test/scaclient/SCAClientTestCase.java
new file mode 100644
index 0000000000..42bb229992
--- /dev/null
+++ b/sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/test/java/test/scaclient/SCAClientTestCase.java
@@ -0,0 +1,61 @@
+/*
+ * 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 test.scaclient;
+
+import itest.HelloworldService;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.equinox.launcher.Contribution;
+import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
+import org.oasisopen.sca.client.SCAClientFactory;
+
+/**
+ * Test SCADomain.newInstance and invocation of a service.
+ *
+ * @version $Rev$ $Date$
+ */
+public class SCAClientTestCase extends TestCase {
+
+ private static NodeLauncher launcher;
+ private static Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ launcher = NodeLauncher.newInstance();
+ node = launcher.createNode(null, new Contribution("test", "./target/classes"));
+ System.out.println("SCA Node API ClassLoader: " + node.getClass().getClassLoader());
+ node.start();
+ }
+
+ public void testInvoke() throws Exception {
+ // At the moment the SCAClientFactory assumes that only one domain is active
+ // in a JVM. So we pass in null for the domain name and get what we're given
+ HelloworldService service =
+ SCAClientFactory.newInstance(null).getService(HelloworldService.class, "HelloworldComponent");
+ assertEquals("Hello petra", service.sayHello("petra"));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+}