diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-13 18:53:15 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-13 18:53:15 +0000 |
commit | 9aa6e3d0558327677d6a072633db47c35ef7d0c0 (patch) | |
tree | eec15b42f6d264b09087bd1d77616d25f7510305 /branches/sca-java-1.x/samples/binding-echo/src | |
parent | c5c2ad8739e959e3e847aec2659200d871ef1be2 (diff) |
Refine echo binding to use EchoServer for the reference calls
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@784448 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/samples/binding-echo/src')
4 files changed, 35 insertions, 37 deletions
diff --git a/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoBindingClient.java b/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoBindingClient.java index 0a767ee1f1..0b9d7acb79 100644 --- a/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoBindingClient.java +++ b/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoBindingClient.java @@ -6,15 +6,15 @@ * 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. + * under the License. */ package echo; @@ -28,22 +28,22 @@ import echo.server.EchoServer; * @version $Rev$ $Date$ */ public class EchoBindingClient { - + public static void main(String[] args) throws Exception { SCADomain scaDomain = SCADomain.newInstance("EchoBinding.composite"); - + // Call the echo service component which will, in turn, call a reference // with an echo binding. The echo binding will echo the given string. Echo service = scaDomain.getService(Echo.class, "EchoComponent"); String echoString = service.echo("foo"); System.out.println("Echo reference = " + echoString ); - // Call the echo server. This will dispatch the call to a service with an + // Call the echo server. This will dispatch the call to a service with an // echo binding. The echo binding will pass the call to the echo component. - echoString = EchoServer.getServer().sendReceive("http://example.com/temp", "bar"); + echoString = (String) EchoServer.getServer().call("http://example.com/server", new Object[] {"bar"}); System.out.println("Echo service = " + echoString ); - + scaDomain.close(); } diff --git a/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoComponentImpl.java b/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoComponentImpl.java index ba68dfe908..cec1c2bdbc 100644 --- a/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoComponentImpl.java +++ b/branches/sca-java-1.x/samples/binding-echo/src/main/java/echo/EchoComponentImpl.java @@ -6,27 +6,29 @@ * 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. + * under the License. */ package echo; import org.osoa.sca.annotations.Constructor; import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; /** * A simple client component that uses a reference with an Echo binding. - * + * * @version $Rev$ $Date$ */ +@Service(Echo.class) public class EchoComponentImpl implements Echo { private Echo echoReference; diff --git a/branches/sca-java-1.x/samples/binding-echo/src/main/resources/EchoBinding.composite b/branches/sca-java-1.x/samples/binding-echo/src/main/resources/EchoBinding.composite index b42d482912..7b3de1a1f0 100644 --- a/branches/sca-java-1.x/samples/binding-echo/src/main/resources/EchoBinding.composite +++ b/branches/sca-java-1.x/samples/binding-echo/src/main/resources/EchoBinding.composite @@ -7,15 +7,15 @@ * 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.
+ * under the License.
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://sample/echo"
@@ -23,18 +23,15 @@ xmlns:e="http://echo" name="EchoBinding">
- <service name="EchoService" promote="EchoComponent">
- <interface.java interface="echo.Echo"/>
- <e:binding.echo uri="http://example.com/temp" />
- </service>
-
<component name="EchoComponent">
- <implementation.java class="echo.EchoComponentImpl"/>
+ <implementation.java
+ class="echo.EchoComponentImpl" />
+ <service name="Echo">
+ <e:binding.echo uri="http://example.com/server" />
+ </service>
+ <reference name="echoReference">
+ <e:binding.echo uri="http://example.com/client"/>
+ </reference>
</component>
-
- <reference name="EchoReference" promote="EchoComponent/echoReference">
- <interface.java interface="echo.Echo"/>
- <e:binding.echo uri="http://example.com/temp" />
- </reference>
-
+
</composite>
diff --git a/branches/sca-java-1.x/samples/binding-echo/src/test/java/echo/EchoBindingTestCase.java b/branches/sca-java-1.x/samples/binding-echo/src/test/java/echo/EchoBindingTestCase.java index 0f4961d3fd..2d29aed238 100644 --- a/branches/sca-java-1.x/samples/binding-echo/src/test/java/echo/EchoBindingTestCase.java +++ b/branches/sca-java-1.x/samples/binding-echo/src/test/java/echo/EchoBindingTestCase.java @@ -6,15 +6,15 @@ * 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. + * under the License. */ package echo; @@ -23,18 +23,17 @@ import junit.framework.TestCase; import org.apache.tuscany.sca.host.embedded.SCADomain; -import echo.Echo; import echo.server.EchoServer; public class EchoBindingTestCase extends TestCase { - + private SCADomain scaDomain; - + @Override protected void setUp() throws Exception { scaDomain = SCADomain.newInstance("EchoBinding.composite"); } - + @Override protected void tearDown() throws Exception { scaDomain.close(); @@ -47,11 +46,11 @@ public class EchoBindingTestCase extends TestCase { String echoString = service.echo("foo"); assertEquals(echoString, "foo"); } - + public void testService() throws Exception { - // Call the echo server. This will dispatch the call to a service with an + // Call the echo server. This will dispatch the call to a service with an // echo binding. The echo binding will pass the call to the echo component. - String echoString = EchoServer.getServer().sendReceive("http://example.com/temp", "bar"); + String echoString = (String) EchoServer.getServer().call("http://example.com/server", new Object[] {"bar"}); assertEquals(echoString, "bar"); } } |