diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-04-02 22:44:49 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-04-02 22:44:49 +0000 |
commit | 7e6e7d8d59765b2940e56fc6dbac00daa0a57e43 (patch) | |
tree | 009c2c221c1a504a10c98b946fa55aa62286f113 /java/demo/IceBox/hello/Client.java | |
parent | IceBox::PrintServicesReady support added (diff) | |
download | ice-7e6e7d8d59765b2940e56fc6dbac00daa0a57e43.tar.bz2 ice-7e6e7d8d59765b2940e56fc6dbac00daa0a57e43.tar.xz ice-7e6e7d8d59765b2940e56fc6dbac00daa0a57e43.zip |
adding IceBox
Diffstat (limited to 'java/demo/IceBox/hello/Client.java')
-rw-r--r-- | java/demo/IceBox/hello/Client.java | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/java/demo/IceBox/hello/Client.java b/java/demo/IceBox/hello/Client.java new file mode 100644 index 00000000000..843c6a2fef1 --- /dev/null +++ b/java/demo/IceBox/hello/Client.java @@ -0,0 +1,202 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +public class Client +{ + private static void + menu() + { + System.out.println( + "usage:\n" + + "t: send greeting as twoway\n" + + "o: send greeting as oneway\n" + + "O: send greeting as batch oneway\n" + + "d: send greeting as datagram\n" + + "D: send greeting as batch datagram\n" + + "f: flush all batch requests\n" + + "T: set a timeout\n" + + "S: switch secure mode on/off\n" + + "x: exit\n" + + "?: help\n"); + } + + private static int + run(String[] args, Ice.Communicator communicator) + { + Ice.Properties properties = communicator.getProperties(); + final String refProperty = "Hello.Hello"; + String ref = properties.getProperty(refProperty); + if (ref.length() == 0) + { + System.err.println("property `" + refProperty + "' not set"); + return 1; + } + + Ice.ObjectPrx base = communicator.stringToProxy(ref); + HelloPrx twoway = HelloPrxHelper.checkedCast(base.ice_twoway().ice_timeout(-1).ice_secure(false)); + if (twoway == null) + { + System.err.println("invalid object reference"); + return 1; + } + HelloPrx oneway = HelloPrxHelper.uncheckedCast(twoway.ice_oneway()); + HelloPrx batchOneway = HelloPrxHelper.uncheckedCast(twoway.ice_batchOneway()); + HelloPrx datagram = HelloPrxHelper.uncheckedCast(twoway.ice_datagram()); + HelloPrx batchDatagram = HelloPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); + + boolean secure = false; + int timeout = -1; + + 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.hello(); + } + else if (line.equals("o")) + { + oneway.hello(); + } + else if (line.equals("O")) + { + batchOneway.hello(); + } + else if (line.equals("d")) + { + datagram.hello(); + } + else if (line.equals("D")) + { + batchDatagram.hello(); + } + else if (line.equals("f")) + { + batchOneway.ice_flush(); + batchDatagram.ice_flush(); + } + else if (line.equals("T")) + { + if (timeout == -1) + { + timeout = 2000; + } + else + { + timeout = -1; + } + + twoway = HelloPrxHelper.uncheckedCast(twoway.ice_timeout(timeout)); + oneway = HelloPrxHelper.uncheckedCast(oneway.ice_timeout(timeout)); + batchOneway = HelloPrxHelper.uncheckedCast(batchOneway.ice_timeout(timeout)); + + if (timeout == -1) + { + System.out.println("timeout is now switched off"); + } + else + { + System.out.println("timeout is now set to 2000ms"); + } + } + else if (line.equals("S")) + { + secure = !secure; + + twoway = HelloPrxHelper.uncheckedCast(twoway.ice_secure(secure)); + oneway = HelloPrxHelper.uncheckedCast(oneway.ice_secure(secure)); + batchOneway = HelloPrxHelper.uncheckedCast(batchOneway.ice_secure(secure)); + datagram = HelloPrxHelper.uncheckedCast(datagram.ice_secure(secure)); + batchDatagram = HelloPrxHelper.uncheckedCast(batchDatagram.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("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) + { + int status = 0; + Ice.Communicator communicator = null; + + try + { + Ice.Properties properties = Ice.Util.createPropertiesFromFile(args, "config"); + communicator = Ice.Util.initializeWithProperties(properties); + status = run(args, communicator); + } + catch (Ice.LocalException ex) + { + ex.printStackTrace(); + status = 1; + } + + if (communicator != null) + { + try + { + communicator.destroy(); + } + catch (Ice.LocalException ex) + { + ex.printStackTrace(); + status = 1; + } + } + + System.exit(status); + } +} |