diff options
Diffstat (limited to 'java/demo/Ice/callback')
-rw-r--r-- | java/demo/Ice/callback/CallbackClient.java | 178 | ||||
-rw-r--r-- | java/demo/Ice/callback/CallbackServer.java | 23 | ||||
-rw-r--r-- | java/demo/Ice/callback/Client.java | 170 | ||||
-rw-r--r-- | java/demo/Ice/callback/README | 11 | ||||
-rw-r--r-- | java/demo/Ice/callback/Server.java | 16 |
5 files changed, 193 insertions, 205 deletions
diff --git a/java/demo/Ice/callback/CallbackClient.java b/java/demo/Ice/callback/CallbackClient.java deleted file mode 100644 index d962a32d9fe..00000000000 --- a/java/demo/Ice/callback/CallbackClient.java +++ /dev/null @@ -1,178 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -import Demo.*; - -class CallbackClient extends Ice.Application -{ - private static void - menu() - { - System.out.println( - "usage:\n" + - "t: send callback as twoway\n" + - "o: send callback as oneway\n" + - "O: send callback as batch oneway\n" + - "d: send callback as datagram\n" + - "D: send callback as batch datagram\n" + - "f: flush all batch requests\n" + - "S: switch secure mode on/off\n" + - "s: shutdown server\n" + - "x: exit\n" + - "?: help\n"); - } - - public int - run(String[] args) - { - Ice.Properties properties = communicator().getProperties(); - final String proxyProperty = "Callback.Client.CallbackServer"; - String proxy = properties.getProperty(proxyProperty); - if(proxy.length() == 0) - { - System.err.println("property `" + proxyProperty + "' not set"); - return 1; - } - - Ice.ObjectPrx base = communicator().stringToProxy(proxy); - CallbackSenderPrx twoway = - CallbackSenderPrxHelper.checkedCast(base.ice_twoway().ice_timeout(-1).ice_secure(false)); - if(twoway == null) - { - System.err.println("invalid proxy"); - return 1; - } - CallbackSenderPrx oneway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_oneway()); - CallbackSenderPrx batchOneway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_batchOneway()); - CallbackSenderPrx datagram = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_datagram()); - CallbackSenderPrx batchDatagram = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); - - Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Callback.Client"); - adapter.add(new CallbackReceiverI(), Ice.Util.stringToIdentity("callbackReceiver")); - adapter.activate(); - - CallbackReceiverPrx twowayR = - CallbackReceiverPrxHelper.uncheckedCast(adapter.createProxy( - Ice.Util.stringToIdentity("callbackReceiver"))); - CallbackReceiverPrx onewayR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_oneway()); - CallbackReceiverPrx datagramR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_datagram()); - - boolean secure = false; - String secureStr = ""; - - menu(); - - java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); - - String line = null; - do - { - try - { - System.out.print("==> "); - System.out.flush(); - line = in.readLine(); - if(line == null) - { - break; - } - if(line.equals("t")) - { - twoway.initiateCallback(twowayR); - } - else if(line.equals("o")) - { - oneway.initiateCallback(onewayR); - } - else if(line.equals("O")) - { - batchOneway.initiateCallback(onewayR); - } - else if(line.equals("d")) - { - if(secure) - { - System.out.println("secure datagrams are not supported"); - } - else - { - datagram.initiateCallback(datagramR); - } - } - else if(line.equals("D")) - { - if(secure) - { - System.out.println("secure datagrams are not supported"); - } - else - { - batchDatagram.initiateCallback(datagramR); - } - } - else if(line.equals("S")) - { - secure = !secure; - secureStr = secure ? "s" : ""; - - twoway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_secure(secure)); - oneway = CallbackSenderPrxHelper.uncheckedCast(oneway.ice_secure(secure)); - batchOneway = CallbackSenderPrxHelper.uncheckedCast(batchOneway.ice_secure(secure)); - datagram = CallbackSenderPrxHelper.uncheckedCast(datagram.ice_secure(secure)); - batchDatagram = CallbackSenderPrxHelper.uncheckedCast(batchDatagram.ice_secure(secure)); - - twowayR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_secure(secure)); - onewayR = CallbackReceiverPrxHelper.uncheckedCast(onewayR.ice_secure(secure)); - datagramR = CallbackReceiverPrxHelper.uncheckedCast(datagramR.ice_secure(secure)); - - if(secure) - { - System.out.println("secure mode is now on"); - } - else - { - System.out.println("secure mode is now off"); - } - } - else if(line.equals("f")) - { - communicator().flushBatchRequests(); - } - else if(line.equals("s")) - { - twoway.shutdown(); - } - else if(line.equals("x")) - { - // Nothing to do - } - else if(line.equals("?")) - { - menu(); - } - else - { - System.out.println("unknown command `" + line + "'"); - menu(); - } - } - catch(java.io.IOException ex) - { - ex.printStackTrace(); - } - catch(Ice.LocalException ex) - { - ex.printStackTrace(); - } - } - while(!line.equals("x")); - - return 0; - } -} diff --git a/java/demo/Ice/callback/CallbackServer.java b/java/demo/Ice/callback/CallbackServer.java deleted file mode 100644 index 3a55c49d30e..00000000000 --- a/java/demo/Ice/callback/CallbackServer.java +++ /dev/null @@ -1,23 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -import Demo.*; - -class CallbackServer extends Ice.Application -{ - public int - run(String[] args) - { - Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Callback.Server"); - adapter.add(new CallbackSenderI(), Ice.Util.stringToIdentity("callback")); - adapter.activate(); - communicator().waitForShutdown(); - return 0; - } -} diff --git a/java/demo/Ice/callback/Client.java b/java/demo/Ice/callback/Client.java index 060717e17e8..e5c1620e6af 100644 --- a/java/demo/Ice/callback/Client.java +++ b/java/demo/Ice/callback/Client.java @@ -7,12 +7,178 @@ // // ********************************************************************** -public class Client +import Demo.*; + +public class Client extends Ice.Application { + private static void + menu() + { + System.out.println( + "usage:\n" + + "t: send callback as twoway\n" + + "o: send callback as oneway\n" + + "O: send callback as batch oneway\n" + + "d: send callback as datagram\n" + + "D: send callback as batch datagram\n" + + "f: flush all batch requests\n" + + "S: switch secure mode on/off\n" + + "s: shutdown server\n" + + "x: exit\n" + + "?: help\n"); + } + + public int + run(String[] args) + { + Ice.Properties properties = communicator().getProperties(); + final String proxyProperty = "Callback.Client.CallbackServer"; + String proxy = properties.getProperty(proxyProperty); + if(proxy.length() == 0) + { + System.err.println("property `" + proxyProperty + "' not set"); + return 1; + } + + CallbackSenderPrx twoway = CallbackSenderPrxHelper.checkedCast( + communicator().stringToProxy(proxy).ice_twoway().ice_timeout(-1).ice_secure(false)); + if(twoway == null) + { + System.err.println("invalid proxy"); + return 1; + } + CallbackSenderPrx oneway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_oneway()); + CallbackSenderPrx batchOneway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_batchOneway()); + CallbackSenderPrx datagram = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_datagram()); + CallbackSenderPrx batchDatagram = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); + + Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Callback.Client"); + adapter.add(new CallbackReceiverI(), Ice.Util.stringToIdentity("callbackReceiver")); + adapter.activate(); + + CallbackReceiverPrx twowayR = + CallbackReceiverPrxHelper.uncheckedCast(adapter.createProxy( + Ice.Util.stringToIdentity("callbackReceiver"))); + CallbackReceiverPrx onewayR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_oneway()); + CallbackReceiverPrx datagramR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_datagram()); + + boolean secure = false; + String secureStr = ""; + + menu(); + + java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); + + String line = null; + do + { + try + { + System.out.print("==> "); + System.out.flush(); + line = in.readLine(); + if(line == null) + { + break; + } + if(line.equals("t")) + { + twoway.initiateCallback(twowayR); + } + else if(line.equals("o")) + { + oneway.initiateCallback(onewayR); + } + else if(line.equals("O")) + { + batchOneway.initiateCallback(onewayR); + } + else if(line.equals("d")) + { + if(secure) + { + System.out.println("secure datagrams are not supported"); + } + else + { + datagram.initiateCallback(datagramR); + } + } + else if(line.equals("D")) + { + if(secure) + { + System.out.println("secure datagrams are not supported"); + } + else + { + batchDatagram.initiateCallback(datagramR); + } + } + else if(line.equals("S")) + { + secure = !secure; + secureStr = secure ? "s" : ""; + + twoway = CallbackSenderPrxHelper.uncheckedCast(twoway.ice_secure(secure)); + oneway = CallbackSenderPrxHelper.uncheckedCast(oneway.ice_secure(secure)); + batchOneway = CallbackSenderPrxHelper.uncheckedCast(batchOneway.ice_secure(secure)); + datagram = CallbackSenderPrxHelper.uncheckedCast(datagram.ice_secure(secure)); + batchDatagram = CallbackSenderPrxHelper.uncheckedCast(batchDatagram.ice_secure(secure)); + + twowayR = CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_secure(secure)); + onewayR = CallbackReceiverPrxHelper.uncheckedCast(onewayR.ice_secure(secure)); + datagramR = CallbackReceiverPrxHelper.uncheckedCast(datagramR.ice_secure(secure)); + + if(secure) + { + System.out.println("secure mode is now on"); + } + else + { + System.out.println("secure mode is now off"); + } + } + else if(line.equals("f")) + { + communicator().flushBatchRequests(); + } + else if(line.equals("s")) + { + twoway.shutdown(); + } + else if(line.equals("x")) + { + // Nothing to do + } + else if(line.equals("?")) + { + menu(); + } + else + { + System.out.println("unknown command `" + line + "'"); + menu(); + } + } + catch(java.io.IOException ex) + { + ex.printStackTrace(); + } + catch(Ice.LocalException ex) + { + ex.printStackTrace(); + } + } + while(!line.equals("x")); + + return 0; + } + public static void main(String[] args) { - CallbackClient app = new CallbackClient(); + Client app = new Client(); int status = app.main("Client", args, "config"); System.exit(status); } diff --git a/java/demo/Ice/callback/README b/java/demo/Ice/callback/README new file mode 100644 index 00000000000..3c327b8f60f --- /dev/null +++ b/java/demo/Ice/callback/README @@ -0,0 +1,11 @@ +A simple callback demo that illustrates how a client can pass a proxy +to a server, invoke an operation in the server, and the server call +back into an object provided by the client as part of that invocation. + +To run the demo, first start the server: + +$ java Server + +In a separate window, start the client: + +$ java Client diff --git a/java/demo/Ice/callback/Server.java b/java/demo/Ice/callback/Server.java index aff0e12818c..e62d1ec07e8 100644 --- a/java/demo/Ice/callback/Server.java +++ b/java/demo/Ice/callback/Server.java @@ -7,12 +7,24 @@ // // ********************************************************************** -public class Server +import Demo.*; + +public class Server extends Ice.Application { + public int + run(String[] args) + { + Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Callback.Server"); + adapter.add(new CallbackSenderI(), Ice.Util.stringToIdentity("callback")); + adapter.activate(); + communicator().waitForShutdown(); + return 0; + } + public static void main(String[] args) { - CallbackServer app = new CallbackServer(); + Server app = new Server(); int status = app.main("Server", args, "config"); System.exit(status); } |