summaryrefslogtreecommitdiff
path: root/java/demo/Ice/callback
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Ice/callback')
-rw-r--r--java/demo/Ice/callback/CallbackClient.java178
-rw-r--r--java/demo/Ice/callback/CallbackServer.java23
-rw-r--r--java/demo/Ice/callback/Client.java170
-rw-r--r--java/demo/Ice/callback/README11
-rw-r--r--java/demo/Ice/callback/Server.java16
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);
}