diff options
8 files changed, 150 insertions, 11 deletions
diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Bar.java b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Bar.java new file mode 100644 index 0000000000..a1233f6d25 --- /dev/null +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Bar.java @@ -0,0 +1,58 @@ +/* + * 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.binding.ws.axis2; + +import java.io.Serializable; + +public class Bar implements Serializable { + private static final long serialVersionUID = 1249963611910502668L; + + private String s; + private int x; + private Integer y; + + private Boolean b; + + public Boolean getB() { + return b; + } + public void setB(Boolean b) { + this.b = b; + } + public String getS() { + return s; + } + public void setS(String s) { + this.s = s; + } + public int getX() { + return x; + } + public void setX(int x) { + this.x = x; + } + public Integer getY() { + return y; + } + public void setY(Integer y) { + this.y = y; + } + +} diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Foo.java b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Foo.java new file mode 100644 index 0000000000..0695ace7f4 --- /dev/null +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Foo.java @@ -0,0 +1,36 @@ +/* + * 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.binding.ws.axis2; + +import java.io.Serializable; + +public class Foo implements Serializable { + private static final long serialVersionUID = 4879476066850018458L; + + private Bar[] bars; + + public Bar[] getBars() { + return bars; + } + + public void setBars(Bar[] bars) { + this.bars = bars; + } +} diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorld.java b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorld.java index 98eb6e361b..f39566ccbf 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorld.java +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorld.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.binding.ws.axis2.helloworld; +package org.apache.tuscany.sca.binding.ws.axis2; import org.oasisopen.sca.annotation.Remotable; @@ -25,5 +25,5 @@ import org.oasisopen.sca.annotation.Remotable; public interface HelloWorld { String getGreetings(String s); - + Foo getGreetingsComplex(Foo foo); } diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorldClient.java b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorldClient.java index 2c6c4fc92c..332f825a51 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorldClient.java +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorldClient.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.binding.ws.axis2.helloworld; +package org.apache.tuscany.sca.binding.ws.axis2; import org.oasisopen.sca.annotation.Reference; @@ -32,4 +32,9 @@ public class HelloWorldClient implements HelloWorld { return response; } + public Foo getGreetingsComplex(Foo foo){ + Foo response = helloWorldWS.getGreetingsComplex(foo); + System.out.println("At client: " + response.getBars()[0].getS()); + return response; + } } diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorldService.java b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorldService.java index 3662007984..3bbf50a728 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/helloworld/HelloWorldService.java +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/HelloWorldService.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.binding.ws.axis2.helloworld; +package org.apache.tuscany.sca.binding.ws.axis2; public class HelloWorldService implements HelloWorld { @@ -26,5 +26,17 @@ public class HelloWorldService implements HelloWorld { System.out.println("At service: " + response); return response; } + + public Foo getGreetingsComplex(Foo foo){ + Foo response = foo; + Bar b3 = new Bar(); + b3.setS("simon"); + b3.setX(4); + b3.setY(new Integer(5)); + b3.setB(Boolean.TRUE); + response.getBars()[1] = b3; + System.out.println("At sevice: " + response.getBars()[0].getS()); + return response; + } } diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld/helloworld.composite b/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld.composite index a2298dedf6..cae74697f1 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld/helloworld.composite +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld.composite @@ -21,14 +21,18 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" targetNamespace="http://www.tuscany.apache.org/itests/binding/ws/axis2" name="HelloWorld"> + + <!-- + Test the ws binding with default settings for simple and complex parameters + --> <component name="HelloWorldClient"> - <implementation.java class="org.apache.tuscany.sca.binding.ws.axis2.helloworld.HelloWorldClient"/> + <implementation.java class="org.apache.tuscany.sca.binding.ws.axis2.HelloWorldClient"/> <reference name="helloWorldWS" target="HelloWorldService"/> </component> <component name="HelloWorldService"> - <implementation.java class="org.apache.tuscany.sca.binding.ws.axis2.helloworld.HelloWorldService"/> + <implementation.java class="org.apache.tuscany.sca.binding.ws.axis2.HelloWorldService"/> <service name="HelloWorld"> <binding.ws/> </service> diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld/helloworld.wsdl b/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld.wsdl index a352696b8e..a352696b8e 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld/helloworld.wsdl +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/helloworld.wsdl diff --git a/sca-java-2.x/trunk/itest/ws/defaults/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/DefaultsTestCase.java b/sca-java-2.x/trunk/itest/ws/defaults/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/DefaultsTestCase.java index f7e6ee9981..1e4c1fcbff 100644 --- a/sca-java-2.x/trunk/itest/ws/defaults/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/DefaultsTestCase.java +++ b/sca-java-2.x/trunk/itest/ws/defaults/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/DefaultsTestCase.java @@ -21,7 +21,7 @@ package org.apache.tuscany.sca.binding.ws.axis2; import junit.framework.TestCase; -import org.apache.tuscany.sca.binding.ws.axis2.helloworld.HelloWorld; +import org.apache.tuscany.sca.binding.ws.axis2.HelloWorld; import org.apache.tuscany.sca.node.Contribution; import org.apache.tuscany.sca.node.Node; import org.apache.tuscany.sca.node.NodeFactory; @@ -31,10 +31,6 @@ public class DefaultsTestCase extends TestCase { private Node node; private HelloWorld helloWorld; - public void testCalculator() throws Exception { - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - @Override protected void setUp() throws Exception { node = NodeFactory.newInstance().createNode(new Contribution("test", "target/classes")); @@ -42,6 +38,34 @@ public class DefaultsTestCase extends TestCase { helloWorld = node.getService(HelloWorld.class, "HelloWorldClient"); } + public void testCalculator() throws Exception { + assertEquals("Hello petra", helloWorld.getGreetings("petra")); + + Foo f = new Foo(); + Bar b1 = new Bar(); + b1.setS("petra"); + b1.setX(1); + b1.setY(new Integer(2)); + b1.setB(Boolean.TRUE); + Bar b2 = new Bar(); + b2.setS("beate"); + b2.setX(3); + b2.setY(new Integer(4)); + b2.setB(Boolean.FALSE); + f.setBars(new Bar[] { b1, b2} ); + + Foo f2 = helloWorld.getGreetingsComplex(f); + + assertEquals("petra", f2.getBars()[0].getS()); + assertEquals(1, f2.getBars()[0].getX()); + assertEquals(2, f2.getBars()[0].getY().intValue()); + assertTrue(f2.getBars()[0].getB().booleanValue()); + assertEquals("simon", f2.getBars()[1].getS()); + assertEquals(4, f2.getBars()[1].getX()); + assertEquals(5, f2.getBars()[1].getY().intValue()); + assertTrue(f2.getBars()[1].getB().booleanValue()); + } + @Override protected void tearDown() throws Exception { node.stop(); |