From 09fdc02e7a412927582fe8b46080b44b0d63ba35 Mon Sep 17 00:00:00 2001 From: rfeng Date: Sat, 21 May 2011 04:35:44 +0000 Subject: Allows pass -by-reference for self references git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1125636 13f79535-47bb-0310-9956-ffa450edef68 --- .../trunk/modules/node-impl/src/test/java/hello/HelloWorld.java | 7 +++++++ .../modules/node-impl/src/test/java/hello/HelloWorldImpl.java | 8 ++++++++ .../java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java | 7 ++++++- 3 files changed, 21 insertions(+), 1 deletion(-) (limited to 'sca-java-2.x/trunk/modules/node-impl/src') diff --git a/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorld.java b/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorld.java index e3fcdfd25f..df5c246241 100644 --- a/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorld.java +++ b/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorld.java @@ -27,4 +27,11 @@ import org.oasisopen.sca.annotation.Remotable; @Remotable public interface HelloWorld { String hello(String name); + + Message echo(Message msg); + + public class Message { + public String name; + public String message; + } } diff --git a/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorldImpl.java b/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorldImpl.java index c9a7560b12..3285ab12db 100644 --- a/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorldImpl.java +++ b/sca-java-2.x/trunk/modules/node-impl/src/test/java/hello/HelloWorldImpl.java @@ -19,6 +19,8 @@ package hello; +import org.oasisopen.sca.annotation.AllowsPassByReference; + /** * HelloWorldImpl */ @@ -27,4 +29,10 @@ public class HelloWorldImpl implements HelloWorld { System.out.println("Hello: " + name); return "Hello, " + name; } + + @Override + @AllowsPassByReference + public Message echo(Message msg) { + return msg; + } } diff --git a/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java b/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java index fc7547f830..86a85034ae 100644 --- a/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java +++ b/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java @@ -125,7 +125,12 @@ public class NodeImplTestCase { address = node.getEndpointAddress("HelloWorld/HelloWorld/HelloWorld"); Assert.assertNotNull(address); address = node.getEndpointAddress("HelloWorld/HelloWorld1"); - Assert.assertNull(address); + Assert.assertNull(address); + + HelloWorld.Message msg = new HelloWorld.Message(); + msg.name = "John"; + msg.message = "Hi"; + Assert.assertSame(msg, hw.echo(msg)); node.stop(); } -- cgit v1.2.3