summaryrefslogtreecommitdiff
path: root/java/demo/Ice/nested
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-01-15 21:00:46 +0000
committerMark Spruiell <mes@zeroc.com>2002-01-15 21:00:46 +0000
commit3c1c1f195192fe7b5daccec607fc1e3c7a43aaaa (patch)
treefca4a730c9129baba508b6c3202fbe372c67c425 /java/demo/Ice/nested
parentlocal fix (diff)
downloadice-3c1c1f195192fe7b5daccec607fc1e3c7a43aaaa.tar.bz2
ice-3c1c1f195192fe7b5daccec607fc1e3c7a43aaaa.tar.xz
ice-3c1c1f195192fe7b5daccec607fc1e3c7a43aaaa.zip
adding nested demo
Diffstat (limited to 'java/demo/Ice/nested')
-rw-r--r--java/demo/Ice/nested/Client.java20
-rw-r--r--java/demo/Ice/nested/Nested.ice19
-rw-r--r--java/demo/Ice/nested/NestedClient.java87
-rw-r--r--java/demo/Ice/nested/NestedI.java29
-rw-r--r--java/demo/Ice/nested/NestedServer.java26
-rw-r--r--java/demo/Ice/nested/Server.java20
-rw-r--r--java/demo/Ice/nested/build.xml43
-rw-r--r--java/demo/Ice/nested/config13
8 files changed, 257 insertions, 0 deletions
diff --git a/java/demo/Ice/nested/Client.java b/java/demo/Ice/nested/Client.java
new file mode 100644
index 00000000000..02c1f179f47
--- /dev/null
+++ b/java/demo/Ice/nested/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)
+ {
+ NestedClient app = new NestedClient();
+ int status = app.main("Client", args, "config");
+ System.exit(status);
+ }
+}
diff --git a/java/demo/Ice/nested/Nested.ice b/java/demo/Ice/nested/Nested.ice
new file mode 100644
index 00000000000..c811fceff25
--- /dev/null
+++ b/java/demo/Ice/nested/Nested.ice
@@ -0,0 +1,19 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef NESTED_ICE
+#define NESTED_ICE
+
+class Nested
+{
+ void nested(int level, Nested* proxy);
+};
+
+#endif
diff --git a/java/demo/Ice/nested/NestedClient.java b/java/demo/Ice/nested/NestedClient.java
new file mode 100644
index 00000000000..a8ea8844f37
--- /dev/null
+++ b/java/demo/Ice/nested/NestedClient.java
@@ -0,0 +1,87 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+class NestedClient extends Ice.Application
+{
+ public int
+ run(String[] args)
+ {
+ Ice.Properties properties = communicator().getProperties();
+ final String refProperty = "Nested.NestedServer";
+ String ref = properties.getProperty(refProperty);
+ if (ref == null)
+ {
+ System.err.println("property `" + refProperty + "' not set");
+ return 1;
+ }
+
+ Ice.ObjectPrx base = communicator().stringToProxy(ref);
+ NestedPrx nested = NestedPrxHelper.checkedCast(base);
+ if (nested == null)
+ {
+ System.err.println("invalid object reference");
+ return 1;
+ }
+
+ Ice.ObjectAdapter adapter =
+ communicator().createObjectAdapter("NestedClientAdapter");
+ NestedPrx self = NestedPrxHelper.uncheckedCast(
+ adapter.createProxy(Ice.Util.stringToIdentity("nestedClient")));
+ adapter.add(new NestedI(self),
+ Ice.Util.stringToIdentity("nestedClient"));
+ adapter.activate();
+
+ System.out.println("Note: The maximum nesting level is " +
+ "(sz - 1) * 2, with sz");
+ System.out.println("being the number of threads in the thread pool. " +
+ "if you");
+ System.out.println("specify a value higher than that, the " +
+ "application will block");
+ System.out.println("or timeout.");
+ System.out.println();
+
+ java.io.BufferedReader in = new java.io.BufferedReader(
+ new java.io.InputStreamReader(System.in));
+
+ String s = null;
+ do
+ {
+ try
+ {
+ System.out.print("enter nesting level or 'x' for exit: ");
+ System.out.flush();
+ s = in.readLine();
+ if (s == null)
+ {
+ break;
+ }
+ int level = Integer.parseInt(s);
+ if (level > 0)
+ {
+ nested.nested(level, self);
+ }
+ }
+ catch (NumberFormatException ex)
+ {
+ }
+ catch (java.io.IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ catch (Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ while (!s.equals("x"));
+
+ return 0;
+ }
+}
diff --git a/java/demo/Ice/nested/NestedI.java b/java/demo/Ice/nested/NestedI.java
new file mode 100644
index 00000000000..05e50f76eb4
--- /dev/null
+++ b/java/demo/Ice/nested/NestedI.java
@@ -0,0 +1,29 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+class NestedI extends Nested
+{
+ NestedI(NestedPrx self)
+ {
+ _self = self;
+ }
+
+ public void
+ nested(int level, NestedPrx proxy, Ice.Current current)
+ {
+ System.out.println("" + level);
+ if (--level > 0)
+ {
+ proxy.nested(level, _self, current.context);
+ }
+ }
+
+ private NestedPrx _self;
+}
diff --git a/java/demo/Ice/nested/NestedServer.java b/java/demo/Ice/nested/NestedServer.java
new file mode 100644
index 00000000000..1e353396b0c
--- /dev/null
+++ b/java/demo/Ice/nested/NestedServer.java
@@ -0,0 +1,26 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+class NestedServer extends Ice.Application
+{
+ public int
+ run(String[] args)
+ {
+ Ice.ObjectAdapter adapter =
+ communicator().createObjectAdapter("NestedServerAdapter");
+ NestedPrx self = NestedPrxHelper.uncheckedCast(
+ adapter.createProxy(Ice.Util.stringToIdentity("nestedServer")));
+ adapter.add(new NestedI(self),
+ Ice.Util.stringToIdentity("nestedServer"));
+ adapter.activate();
+ communicator().waitForShutdown();
+ return 0;
+ }
+}
diff --git a/java/demo/Ice/nested/Server.java b/java/demo/Ice/nested/Server.java
new file mode 100644
index 00000000000..dd09d74b4be
--- /dev/null
+++ b/java/demo/Ice/nested/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)
+ {
+ NestedServer app = new NestedServer();
+ int status = app.main("Server", args, "config");
+ System.exit(status);
+ }
+}
diff --git a/java/demo/Ice/nested/build.xml b/java/demo/Ice/nested/build.xml
new file mode 100644
index 00000000000..43e87d3ed63
--- /dev/null
+++ b/java/demo/Ice/nested/build.xml
@@ -0,0 +1,43 @@
+<project name="demo_Ice_value" 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="Nested.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/nested/config b/java/demo/Ice/nested/config
new file mode 100644
index 00000000000..cbefc63e37e
--- /dev/null
+++ b/java/demo/Ice/nested/config
@@ -0,0 +1,13 @@
+Nested.NestedServer=nestedServer:tcp -p 10000 -t 1000
+Ice.Adapter.NestedServerAdapter.Endpoints=tcp -p 10000 -t 1000
+Ice.Adapter.NestedClientAdapter.Endpoints=tcp -t 1000
+# Nested.NestedServer=nestedServer -s:ssl -p 10000 -t 1000
+# Ice.Adapter.NestedServerAdapter.Endpoints=ssl -p 10000 -t 1000
+# Ice.Adapter.NestedClientAdapter.Endpoints=ssl -t 1000
+#Ice.Trace.Network=1
+#Ice.Trace.Protocol=1
+#Ice.Trace.Security=6
+Ice.ThreadPool.Size=3
+Ice.ThreadPool.MaxConnections=4
+Ice.Security.Ssl.CertPath=../../../Certs
+Ice.Security.Ssl.Config=sslconfig.xml