diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-01-23 20:51:51 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-01-23 20:51:51 +0000 |
commit | 1871cdeb1b31bce5331dc31d5b2d9860ed06573d (patch) | |
tree | a0f2b0bea875553752a45e98261b93e8411ead71 /java/demo | |
parent | fixing writeAssign, removing Communicator arg to constructor in sample (diff) | |
download | ice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.tar.bz2 ice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.tar.xz ice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.zip |
initial check-in
Diffstat (limited to 'java/demo')
-rw-r--r-- | java/demo/Ice/callback/Callback.ice | 25 | ||||
-rw-r--r-- | java/demo/Ice/callback/CallbackClient.java | 199 | ||||
-rw-r--r-- | java/demo/Ice/callback/CallbackI.java | 33 | ||||
-rw-r--r-- | java/demo/Ice/callback/CallbackReceiverI.java | 18 | ||||
-rw-r--r-- | java/demo/Ice/callback/CallbackServer.java | 26 | ||||
-rw-r--r-- | java/demo/Ice/callback/Client.java | 20 | ||||
-rw-r--r-- | java/demo/Ice/callback/Server.java | 20 | ||||
-rw-r--r-- | java/demo/Ice/callback/build.xml | 43 | ||||
-rw-r--r-- | java/demo/Ice/callback/config | 19 | ||||
-rw-r--r-- | java/demo/Ice/callback/config.server | 9 |
10 files changed, 412 insertions, 0 deletions
diff --git a/java/demo/Ice/callback/Callback.ice b/java/demo/Ice/callback/Callback.ice new file mode 100644 index 00000000000..dcad22048bd --- /dev/null +++ b/java/demo/Ice/callback/Callback.ice @@ -0,0 +1,25 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef CALLBACK_ICE +#define CALLBACK_ICE + +class CallbackReceiver +{ + void callback(); +}; + +class Callback +{ + void initiateCallback(CallbackReceiver* proxy); + void shutdown(); +}; + +#endif diff --git a/java/demo/Ice/callback/CallbackClient.java b/java/demo/Ice/callback/CallbackClient.java new file mode 100644 index 00000000000..f7f85e3a426 --- /dev/null +++ b/java/demo/Ice/callback/CallbackClient.java @@ -0,0 +1,199 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +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 refProperty = "Callback.Callback"; + String ref = properties.getProperty(refProperty); + if (ref == null) + { + System.err.println("property `" + refProperty + "' not set"); + return 1; + } + + Ice.ObjectPrx base = communicator().stringToProxy(ref); + CallbackPrx twoway = CallbackPrxHelper.checkedCast( + base.ice_twoway().ice_timeout(-1).ice_secure(false)); + if (twoway == null) + { + System.err.println("invalid object reference"); + return 1; + } + CallbackPrx oneway = + CallbackPrxHelper.uncheckedCast(twoway.ice_oneway()); + CallbackPrx batchOneway = + CallbackPrxHelper.uncheckedCast(twoway.ice_batchOneway()); + CallbackPrx datagram = + CallbackPrxHelper.uncheckedCast(twoway.ice_datagram()); + CallbackPrx batchDatagram = + CallbackPrxHelper.uncheckedCast(twoway.ice_batchDatagram()); + + Ice.ObjectAdapter adapter = + communicator().createObjectAdapter("CallbackReceiverAdapter"); + 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 batchOnewayR = + // CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_batchOneway()); + CallbackReceiverPrx datagramR = + CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_datagram()); + //CallbackReceiverPrx batchDatagramR = + // CallbackReceiverPrxHelper.uncheckedCast(twowayR.ice_batchDatagram()); + + 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")) + { + java.util.HashMap context = new java.util.HashMap(); + context.put("_fwd", "t" + secureStr); + twoway.initiateCallback(twowayR, context); + } + else if (line.equals("o")) + { + java.util.HashMap context = new java.util.HashMap(); + context.put("_fwd", "o" + secureStr); + batchOneway.initiateCallback(onewayR, context); + } + else if (line.equals("O")) + { + java.util.HashMap context = new java.util.HashMap(); + context.put("_fwd", "o" + secureStr); + oneway.initiateCallback(onewayR, context); + } + else if (line.equals("d")) + { + java.util.HashMap context = new java.util.HashMap(); + context.put("_fwd", "d" + secureStr); + datagram.initiateCallback(datagramR, context); + } + else if (line.equals("D")) + { + java.util.HashMap context = new java.util.HashMap(); + context.put("_fwd", "d" + secureStr); + batchDatagram.initiateCallback(datagramR, context); + } + else if (line.equals("f")) + { + batchOneway.ice_flush(); + batchDatagram.ice_flush(); + } + else if (line.equals("S")) + { + secure = !secure; + secureStr = secure ? "s" : ""; + + twoway = CallbackPrxHelper.uncheckedCast( + twoway.ice_secure(secure)); + oneway = CallbackPrxHelper.uncheckedCast( + oneway.ice_secure(secure)); + batchOneway = CallbackPrxHelper.uncheckedCast( + batchOneway.ice_secure(secure)); + datagram = CallbackPrxHelper.uncheckedCast( + datagram.ice_secure(secure)); + batchDatagram = CallbackPrxHelper.uncheckedCast( + batchDatagram.ice_secure(secure)); + + twowayR = CallbackReceiverPrxHelper.uncheckedCast( + twowayR.ice_secure(secure)); + onewayR = CallbackReceiverPrxHelper.uncheckedCast( + onewayR.ice_secure(secure)); + //batchOnewayR = CallbackReceiverPrxHelper.uncheckedCast( + //batchOnewayR.ice_secure(secure)); + datagramR = CallbackReceiverPrxHelper.uncheckedCast( + datagramR.ice_secure(secure)); + //batchDatagramR = CallbackReceiverPrxHelper.uncheckedCast( + //batchDatagramR.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("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/CallbackI.java b/java/demo/Ice/callback/CallbackI.java new file mode 100644 index 00000000000..46df5fce9d2 --- /dev/null +++ b/java/demo/Ice/callback/CallbackI.java @@ -0,0 +1,33 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +public final class CallbackI extends Callback +{ + CallbackI(Ice.Communicator communicator) + { + _communicator = communicator; + } + + public void + initiateCallback(CallbackReceiverPrx proxy, Ice.Current current) + { + System.out.println("initiating callback"); + proxy.callback(current.context); + } + + public void + shutdown(Ice.Current current) + { + System.out.println("Shutting down..."); + _communicator.shutdown(); + } + + private Ice.Communicator _communicator; +} diff --git a/java/demo/Ice/callback/CallbackReceiverI.java b/java/demo/Ice/callback/CallbackReceiverI.java new file mode 100644 index 00000000000..3d3d1fffb36 --- /dev/null +++ b/java/demo/Ice/callback/CallbackReceiverI.java @@ -0,0 +1,18 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +public final class CallbackReceiverI extends CallbackReceiver +{ + public void + callback(Ice.Current current) + { + System.out.println("received callback"); + } +} diff --git a/java/demo/Ice/callback/CallbackServer.java b/java/demo/Ice/callback/CallbackServer.java new file mode 100644 index 00000000000..f7c577c7a88 --- /dev/null +++ b/java/demo/Ice/callback/CallbackServer.java @@ -0,0 +1,26 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +class CallbackServer extends Ice.Application +{ + public int + run(String[] args) + { + Ice.ObjectAdapter adapter = + communicator().createObjectAdapter("CallbackAdapter"); + CallbackPrx self = CallbackPrxHelper.uncheckedCast( + adapter.createProxy(Ice.Util.stringToIdentity("callback"))); + adapter.add(new CallbackI(communicator()), + 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 new file mode 100644 index 00000000000..5133f19c654 --- /dev/null +++ b/java/demo/Ice/callback/Client.java @@ -0,0 +1,20 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +public class Client +{ + public static void + main(String[] args) + { + CallbackClient app = new CallbackClient(); + int status = app.main("Client", args, "config"); + System.exit(status); + } +} diff --git a/java/demo/Ice/callback/Server.java b/java/demo/Ice/callback/Server.java new file mode 100644 index 00000000000..9c03e74ad8b --- /dev/null +++ b/java/demo/Ice/callback/Server.java @@ -0,0 +1,20 @@ +// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +public class Server +{ + public static void + main(String[] args) + { + CallbackServer app = new CallbackServer(); + int status = app.main("Server", args, "config.server"); + System.exit(status); + } +} diff --git a/java/demo/Ice/callback/build.xml b/java/demo/Ice/callback/build.xml new file mode 100644 index 00000000000..0bc232a114f --- /dev/null +++ b/java/demo/Ice/callback/build.xml @@ -0,0 +1,43 @@ +<project name="demo_Ice_callback" default="all" basedir="."> + + <!-- install slice2java task --> + <taskdef name="slice2java" classname="Slice2JavaTask" /> + + <!-- set global properties for this build --> + <property name="top.dir" value="../../.."/> + <property name="lib.dir" value="${top.dir}/lib"/> + <property name="class.dir" value="classes"/> + <property name="generated.dir" value="generated"/> + <property name="tags.dir" value="${generated.dir}/.tags"/> + + <target name="init"> + <!-- Create the time stamp --> + <tstamp/> + </target> + + <target name="generate" depends="init"> + <!-- Create the output directory for generated code --> + <mkdir dir="${generated.dir}"/> + <mkdir dir="${tags.dir}"/> + <slice2java tagdir="${tags.dir}" outputdir="${generated.dir}"> + <fileset dir="." includes="Callback.ice"/> + </slice2java> + </target> + + <target name="compile" depends="generate"> + <mkdir dir="${class.dir}"/> + <javac srcdir="${generated.dir}" destdir="${class.dir}" + source="1.4" classpath="${lib.dir}" debug="${debug}"/> + <javac srcdir="." destdir="${class.dir}" source="1.4" + classpath="${lib.dir}" excludes="generated/**" debug="${debug}"/> + </target> + + <target name="all" depends="compile"/> + + <target name="clean"> + <delete dir="${tags.dir}"/> + <delete dir="${generated.dir}"/> + <delete dir="${class.dir}"/> + </target> + +</project> diff --git a/java/demo/Ice/callback/config b/java/demo/Ice/callback/config new file mode 100644 index 00000000000..f53e9f41c08 --- /dev/null +++ b/java/demo/Ice/callback/config @@ -0,0 +1,19 @@ +Callback.Callback=callback:tcp -p 10000:udp -p 10000#:ssl -p 10001#:sudp -p 10001 +Ice.Adapter.CallbackReceiverAdapter.Endpoints=tcp:udp#:ssl#:sudp + +Ice.Trace.Network=3 +#Ice.Trace.Protocol=1 +#Ice.ConnectionWarnings=1 + +Ice.Security.Ssl.CertPath=../../../certs +Ice.Security.Ssl.Config=sslconfig.xml + +#Glacier.Router.Endpoints=default -p 10005 +#Glacier.Client.Endpoints=tcp:udp -c:ssl#:sudp -c +#Glacier.Server.Endpoints=tcp:udp:ssl#:sudp +#Glacier.Trace.Client=2 +#Glacier.Trace.Server=2 +#Glacier.Trace.RoutingTable=1 +#Ice.DefaultRouter=router:default -p 10005 +#Ice.Adapter.CallbackReceiverAdapter.Router=router:default -p 10005 +#Ice.Adapter.CallbackReceiverAdapter.Endpoints= diff --git a/java/demo/Ice/callback/config.server b/java/demo/Ice/callback/config.server new file mode 100644 index 00000000000..d9d68f632f2 --- /dev/null +++ b/java/demo/Ice/callback/config.server @@ -0,0 +1,9 @@ +Ice.Adapter.CallbackAdapter.Endpoints=tcp -p 10000:udp -p 10000#:ssl -p 10001 #:sudp -p 10001 + +Ice.Trace.Network=3 +#Ice.Trace.Protocol=1 +#Ice.ConnectionWarnings=1 + +Ice.Security.Ssl.CertPath=../../../certs +Ice.Security.Ssl.Config=sslconfig.xml + |