From d43218ec2ed0bad387cf6215b054e042a58a637d Mon Sep 17 00:00:00 2001 From: slaws Date: Thu, 14 Jan 2010 11:43:13 +0000 Subject: 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 --- .../trunk/itest/scaclient-api-jse-osgi/pom.xml | 57 ++++++++++++++++++++ .../src/main/java/itest/HelloworldService.java | 25 +++++++++ .../src/main/java/itest/HelloworldServiceImpl.java | 38 ++++++++++++++ .../src/main/resources/Helloworld.composite | 29 ++++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++++++ .../java/test/scaclient/SCAClientTestCase.java | 61 ++++++++++++++++++++++ 6 files changed, 233 insertions(+) create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/pom.xml create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldService.java create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/java/itest/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/Helloworld.composite create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sca-java-2.x/trunk/itest/scaclient-api-jse-osgi/src/test/java/test/scaclient/SCAClientTestCase.java (limited to 'sca-java-2.x/trunk/itest/scaclient-api-jse-osgi') 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 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-SNAPSHOT + ../pom.xml + + itest-scaclient-api-jse-osgi + Apache Tuscany SCA iTest SCAClient API JSE and OSGI + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-node-launcher-equinox + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-node-api + 2.0-SNAPSHOT + + + + junit + junit + 4.5 + + + + 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 @@ + + + + + + + + + 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 @@ + + + + + \ 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(); + } + +} -- cgit v1.2.3