summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-01-23 20:51:51 +0000
committerMark Spruiell <mes@zeroc.com>2002-01-23 20:51:51 +0000
commit1871cdeb1b31bce5331dc31d5b2d9860ed06573d (patch)
treea0f2b0bea875553752a45e98261b93e8411ead71 /java
parentfixing writeAssign, removing Communicator arg to constructor in sample (diff)
downloadice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.tar.bz2
ice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.tar.xz
ice-1871cdeb1b31bce5331dc31d5b2d9860ed06573d.zip
initial check-in
Diffstat (limited to 'java')
-rw-r--r--java/demo/Ice/callback/Callback.ice25
-rw-r--r--java/demo/Ice/callback/CallbackClient.java199
-rw-r--r--java/demo/Ice/callback/CallbackI.java33
-rw-r--r--java/demo/Ice/callback/CallbackReceiverI.java18
-rw-r--r--java/demo/Ice/callback/CallbackServer.java26
-rw-r--r--java/demo/Ice/callback/Client.java20
-rw-r--r--java/demo/Ice/callback/Server.java20
-rw-r--r--java/demo/Ice/callback/build.xml43
-rw-r--r--java/demo/Ice/callback/config19
-rw-r--r--java/demo/Ice/callback/config.server9
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
+