diff options
Diffstat (limited to 'branches/sca-java-1.0/itest/ws-void-args-return')
7 files changed, 313 insertions, 0 deletions
diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/pom.xml b/branches/sca-java-1.0/itest/ws-void-args-return/pom.xml new file mode 100644 index 0000000000..46709ee989 --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/pom.xml @@ -0,0 +1,61 @@ +<?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>1.0-incubating-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-ws-void-args-return</artifactId> + <name>Apache Tuscany SCA Web Services Void Args and Return Test</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.0-incubating-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.0-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.0-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.0-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + </dependencies> + +</project> diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldImpl.java b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldImpl.java new file mode 100644 index 0000000000..c012975d65 --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldImpl.java @@ -0,0 +1,49 @@ +/* + * 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 voidtest; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hello " + name; + } + + public void giveGreetings(String name) { + System.out.println("Hello " + name); + } + + public void giveGreetingsOneWay(String name) { + System.out.println("Hi " + name); + } + + public String takeGreetings() { + return "Hello Stranger"; + } + + public void noGreetings() { + System.out.println("Hello, who's there?"); + } + +} diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldService.java b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldService.java new file mode 100644 index 0000000000..508bcc05f1 --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/HelloWorldService.java @@ -0,0 +1,41 @@ +/* + * 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 voidtest; + +import org.osoa.sca.annotations.OneWay; +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +public interface HelloWorldService { + + String getGreetings(String name); + + void giveGreetings(String name); + + @OneWay + void giveGreetingsOneWay(String name); + + String takeGreetings(); + + void noGreetings(); +} + diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClient.java b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClient.java new file mode 100644 index 0000000000..76f8afe93d --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClient.java @@ -0,0 +1,23 @@ +/* + * 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 voidtest; + +public interface TestClient { + void runTest(); +} diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClientImpl.java b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClientImpl.java new file mode 100644 index 0000000000..efe1b9b312 --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/java/voidtest/TestClientImpl.java @@ -0,0 +1,45 @@ +/* + * 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 voidtest; + +import static junit.framework.Assert.assertEquals; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(TestClient.class) +@Scope("COMPOSITE") +public class TestClientImpl implements TestClient { + + private HelloWorldService helloService; + + @Reference + public void setHelloService(HelloWorldService helloService) { + this.helloService = helloService; + } + + public void runTest() { + assertEquals("Hello Smith", helloService.getGreetings(" Smith")); + helloService.giveGreetings("Jones"); + helloService.giveGreetingsOneWay("Brown"); + assertEquals("Hello Stranger", helloService.takeGreetings()); + helloService.noGreetings(); + } +} diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/main/resources/voidtest.composite b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/resources/voidtest.composite new file mode 100644 index 0000000000..0f31c4cd2c --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/main/resources/voidtest.composite @@ -0,0 +1,41 @@ +<?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://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://voidtest"
+ xmlns:hw="http://voidtest"
+ name="voidtest">
+
+ <component name="TestClientComponent">
+ <implementation.java class="voidtest.TestClientImpl" />
+ <reference name="helloService">
+ <interface.java interface="voidtest.HelloWorldService"/>
+ <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent/HelloWorldService"/>
+ </reference>
+ </component>
+
+ <component name="HelloWorldServiceComponent">
+ <implementation.java class="voidtest.HelloWorldImpl" />
+ <service name="HelloWorldService">
+ <interface.java interface="voidtest.HelloWorldService"/>
+ <binding.ws uri="http://localhost:8085/HelloWorldServiceComponent/HelloWorldService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.0/itest/ws-void-args-return/src/test/java/voidtest/VoidArgsReturnTestCase.java b/branches/sca-java-1.0/itest/ws-void-args-return/src/test/java/voidtest/VoidArgsReturnTestCase.java new file mode 100644 index 0000000000..f0666d71db --- /dev/null +++ b/branches/sca-java-1.0/itest/ws-void-args-return/src/test/java/voidtest/VoidArgsReturnTestCase.java @@ -0,0 +1,53 @@ +/* + * 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 voidtest; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests that methods with no args and/or void return type work over Web services + */ +public class VoidArgsReturnTestCase { + + private SCADomain scaDomain; + private TestClient client; + + @Before + public void startServer() throws Exception { + scaDomain = SCADomain.newInstance("voidtest.composite"); + client = scaDomain.getService(TestClient.class, "TestClientComponent"); + } + + @Test + public void testVoidCases() throws Exception { + client.runTest(); + System.out.println("Sleeping..."); + Thread.sleep(2000); + } + + @After + public void stopServer() throws Exception { + scaDomain.close(); + } + +} |