diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-14 11:43:13 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-14 11:43:13 +0000 |
commit | d43218ec2ed0bad387cf6215b054e042a58a637d (patch) | |
tree | 4789f00110e3576195b4c22b73ee9a8999dcd043 /sca-java-2.x/trunk/itest/scaclient-api-jse-osgi | |
parent | 1efe7f4941a552769dca849be06db934549c2cb6 (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')
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(); + } + +} |