diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-01-15 21:00:46 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-01-15 21:00:46 +0000 |
commit | 3c1c1f195192fe7b5daccec607fc1e3c7a43aaaa (patch) | |
tree | fca4a730c9129baba508b6c3202fbe372c67c425 /java/demo/Ice/nested | |
parent | local fix (diff) | |
download | ice-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.java | 20 | ||||
-rw-r--r-- | java/demo/Ice/nested/Nested.ice | 19 | ||||
-rw-r--r-- | java/demo/Ice/nested/NestedClient.java | 87 | ||||
-rw-r--r-- | java/demo/Ice/nested/NestedI.java | 29 | ||||
-rw-r--r-- | java/demo/Ice/nested/NestedServer.java | 26 | ||||
-rw-r--r-- | java/demo/Ice/nested/Server.java | 20 | ||||
-rw-r--r-- | java/demo/Ice/nested/build.xml | 43 | ||||
-rw-r--r-- | java/demo/Ice/nested/config | 13 |
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 |