1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 package test.Slice.escape;
6 import test.Slice.escape._abstract.AMD_catch_checkedCast;
7 import test.Slice.escape._abstract._assert;
8 import test.Slice.escape._abstract._break;
9 import test.Slice.escape._abstract._catch;
10 import test.Slice.escape._abstract._catchDisp;
11 import test.Slice.escape._abstract._default;
12 import test.Slice.escape._abstract._defaultDisp;
13 import test.Slice.escape._abstract._else;
14 import test.Slice.escape._abstract._finalize;
15 import test.Slice.escape._abstract._finalizeDisp;
16 import test.Slice.escape._abstract._hashCode;
17 import test.Slice.escape._abstract._import;
18 import test.Slice.escape._abstract._new;
19 import test.Slice.escape._abstract._switch;
20 import test.Slice.escape._abstract.catchPrx;
21 import test.Slice.escape._abstract.defaultPrx;
22 import test.Slice.escape._abstract.defaultPrxHelper;
23 import test.Slice.escape._abstract.elsePrx;
24 import test.Slice.escape._abstract.finalizePrx;
25 import test.Slice.escape._abstract.forHolder;
26 import test.Slice.escape._abstract.gotoHolder;
27 
28 public class Client extends test.TestHelper
29 {
30     static public class catchI extends _catchDisp
31     {
32         public
catchI()33         catchI()
34         {
35         }
36 
37         @Override
38         public void
checkedCast_async(AMD_catch_checkedCast cb, int _clone, Ice.Current current)39         checkedCast_async(AMD_catch_checkedCast cb, int _clone, Ice.Current current)
40         {
41             int _continue = 0;
42             cb.ice_response(_continue);
43         }
44     }
45 
46     static public class defaultI extends _defaultDisp
47     {
48         public
defaultI()49         defaultI()
50         {
51         }
52 
53         @Override
54         public void
_do(Ice.Current current)55         _do(Ice.Current current)
56         {
57             assert current.operation.equals("do");
58         }
59     }
60 
61     static public class elseI extends _else
62     {
63         public
elseI()64         elseI()
65         {
66         }
67     }
68 
69     static public class newI implements _new
70     {
71         public
newI()72         newI()
73         {
74         }
75 
76         @Override
77         public _assert
_notify(_break _notifyAll, _else _null, _finalize _package, elsePrx _private, finalizePrx _protected, catchPrx _public, defaultPrx _return, int _static, int _strictfp, int _super)78         _notify(_break _notifyAll, _else _null, _finalize _package,
79                 elsePrx _private, finalizePrx _protected,
80                 catchPrx _public, defaultPrx _return, int _static, int _strictfp, int _super)
81             throws _hashCode, _import
82         {
83             return null;
84         }
85     }
86 
87     static public class finalizeI extends _finalizeDisp
88     {
89         public
finalizeI()90         finalizeI()
91         {
92         }
93 
94         @Override
95         public void
checkedCast_async(AMD_catch_checkedCast cb, int _clone, Ice.Current current)96         checkedCast_async(AMD_catch_checkedCast cb, int _clone, Ice.Current current)
97         {
98             int _continue = 0;
99             cb.ice_response(_continue);
100         }
101 
102         @Override
103         public void
_do(Ice.Current current)104         _do(Ice.Current current)
105         {
106         }
107     }
108 
109     //
110     // This section of the test is present to ensure that the C++ types
111     // are named correctly. It is not expected to run.
112     //
113     @SuppressWarnings({ "unused", "null" })
114     private static void
testtypes()115     testtypes()
116     {
117         _assert v = _assert._boolean;
118         _break b = new _break();
119         b._case = 0;
120         catchPrx c = null;
121         c._checkedCast(0, new Ice.IntHolder());
122         _catch c1 = new catchI();
123         defaultPrx d = null;
124         d._do();
125         _default d1 = new defaultI();
126         elsePrx e;
127         _else e1 = new elseI();
128         e1._if = 0;
129         e1._equals = null;
130         e1._final = 0;
131         finalizePrx f = null;
132         f._checkedCast(0, new Ice.IntHolder());
133         f._do();
134         _finalizeDisp f1 = new finalizeI();
135         forHolder g;
136         gotoHolder h;
137         _hashCode i = new _hashCode();
138         i._if = 0;
139         _import j = new _import();
140         j._if = 0;
141         j._instanceof = 1;
142         j._native = 2;
143         _new k = new newI();
144         assert _switch.value == 0;
145     }
146 
147     public void
run(String[] args)148     run(String[] args)
149     {
150         //
151         // In this test, we need at least two threads in the
152         // client side thread pool for nested AMI.
153         //
154         Ice.Properties properties = createTestProperties(args);
155         properties.setProperty("Ice.Package._abstract", "test.Slice.escape");
156         properties.setProperty("Ice.ThreadPool.Client.Size", "2");
157         properties.setProperty("Ice.ThreadPool.Client.SizeWarn", "0");
158         properties.setProperty("TestAdapter.Endpoints", "default");
159 
160         //
161         // We must set MessageSizeMax to an explicit values,
162         // because we run tests to check whether
163         // Ice.MemoryLimitException is raised as expected.
164         //
165         properties.setProperty("Ice.MessageSizeMax", "100");
166 
167         try(Ice.Communicator communicator = initialize(properties))
168         {
169             Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
170             adapter.add(new defaultI(), Ice.Util.stringToIdentity("test"));
171             adapter.activate();
172 
173             System.out.print("Testing operation name... ");
174             System.out.flush();
175             defaultPrx p = defaultPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("test")));
176             p._do();
177             System.out.println("ok");
178         }
179     }
180 }
181