1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 package test.Ice.scope;
6 
7 import java.io.PrintWriter;
8 
9 public class AllTests
10 {
test(boolean b)11     private static void test(boolean b)
12     {
13         if(!b)
14         {
15             throw new RuntimeException();
16         }
17     }
18 
19     private static class Callback
20     {
Callback()21         Callback()
22         {
23             _called = false;
24         }
25 
check()26         public synchronized void check()
27         {
28             while(!_called)
29             {
30                 try
31                 {
32                     wait();
33                 }
34                 catch(InterruptedException ex)
35                 {
36                 }
37             }
38 
39             _called = false;
40         }
41 
called()42         public synchronized void called()
43         {
44             assert(!_called);
45             _called = true;
46             notify();
47         }
48 
49         private boolean _called;
50     }
51 
allTests(test.TestHelper helper)52     public static void allTests(test.TestHelper helper)
53     {
54         PrintWriter out = helper.getWriter();
55         Ice.Communicator communicator = helper.communicator();
56 
57         {
58             Ice.ObjectPrx obj = communicator.stringToProxy("i1:" + helper.getTestEndpoint());
59             test.Ice.scope.Test.IPrx i = test.Ice.scope.Test.IPrxHelper.checkedCast(obj);
60 
61             test.Ice.scope.Test.S s1 = new test.Ice.scope.Test.S(0);
62             test.Ice.scope.Test.SHolder s2 = new test.Ice.scope.Test.SHolder();
63             test.Ice.scope.Test.S s3 = i.opS(s1, s2);
64             test(s1.equals(s2.value));
65             test(s1.equals(s3));
66 
67             test.Ice.scope.Test.S[] sseq1 = new test.Ice.scope.Test.S[]{ s1 };
68             test.Ice.scope.Test.SSeqHolder sseq2 = new test.Ice.scope.Test.SSeqHolder();
69             test.Ice.scope.Test.S[] sseq3 = i.opSSeq(sseq1, sseq2);
70             test(sseq2.value[0].equals(s1));
71             test(sseq3[0].equals(s1));
72 
73             java.util.Map<String, test.Ice.scope.Test.S> smap1 = new java.util.HashMap<String, test.Ice.scope.Test.S>();
74             smap1.put("a", s1);
75             test.Ice.scope.Test.SMapHolder smap2 = new test.Ice.scope.Test.SMapHolder();
76             java.util.Map<String, test.Ice.scope.Test.S> smap3 = i.opSMap(smap1, smap2);
77             test(smap2.value.get("a").equals(s1));
78             test(smap3.get("a").equals(s1));
79 
80             test.Ice.scope.Test.C c1 = new test.Ice.scope.Test.C(s1);
81             test.Ice.scope.Test.CHolder c2 = new test.Ice.scope.Test.CHolder();
82             test.Ice.scope.Test.C c3 = i.opC(c1, c2);
83             test(c1.s.equals(c2.value.s));
84             test(c1.s.equals(c3.s));
85 
86             test.Ice.scope.Test.C[] cseq1 = new test.Ice.scope.Test.C[]{ c1 };
87             test.Ice.scope.Test.CSeqHolder cseq2 = new test.Ice.scope.Test.CSeqHolder();
88             test.Ice.scope.Test.C[] cseq3 = i.opCSeq(cseq1, cseq2);
89             test(cseq2.value[0].s.equals(s1));
90             test(cseq3[0].s.equals(s1));
91 
92             java.util.Map<String, test.Ice.scope.Test.C> cmap1 = new java.util.HashMap<String, test.Ice.scope.Test.C>();
93             cmap1.put("a", c1);
94             test.Ice.scope.Test.CMapHolder cmap2 = new test.Ice.scope.Test.CMapHolder();
95             java.util.Map<String, test.Ice.scope.Test.C> cmap3 = i.opCMap(cmap1, cmap2);
96             test(cmap2.value.get("a").s.equals(s1));
97             test(cmap3.get("a").s.equals(s1));
98         }
99 
100         {
101             Ice.ObjectPrx obj = communicator.stringToProxy("i1:" + helper.getTestEndpoint());
102             test.Ice.scope.Test.IPrx i = test.Ice.scope.Test.IPrxHelper.checkedCast(obj);
103 
104             test.Ice.scope.Test.S s1 = new test.Ice.scope.Test.S(0);
105             test.Ice.scope.Test.SHolder s2 = new test.Ice.scope.Test.SHolder();
106             test.Ice.scope.Test.S s3 = i.end_opS(s2, i.begin_opS(s1));
107             test(s1.equals(s2.value));
108             test(s1.equals(s3));
109 
110             test.Ice.scope.Test.S[] sseq1 = new test.Ice.scope.Test.S[]{ s1 };
111             test.Ice.scope.Test.SSeqHolder sseq2 = new test.Ice.scope.Test.SSeqHolder();
112             test.Ice.scope.Test.S[] sseq3 = i.end_opSSeq(sseq2, i.begin_opSSeq(sseq1));
113             test(sseq2.value[0].equals(s1));
114             test(sseq3[0].equals(s1));
115 
116             java.util.Map<String, test.Ice.scope.Test.S> smap1 = new java.util.HashMap<String, test.Ice.scope.Test.S>();
117             smap1.put("a", s1);
118             test.Ice.scope.Test.SMapHolder smap2 = new test.Ice.scope.Test.SMapHolder();
119             java.util.Map<String, test.Ice.scope.Test.S> smap3 = i.end_opSMap(smap2, i.begin_opSMap(smap1));
120             test(smap2.value.get("a").equals(s1));
121             test(smap3.get("a").equals(s1));
122 
123             test.Ice.scope.Test.C c1 = new test.Ice.scope.Test.C(s1);
124             test.Ice.scope.Test.CHolder c2 = new test.Ice.scope.Test.CHolder();
125             test.Ice.scope.Test.C c3 = i.end_opC(c2, i.begin_opC(c1));
126             test(c1.s.equals(c2.value.s));
127             test(c1.s.equals(c3.s));
128 
129             test.Ice.scope.Test.C[] cseq1 = new test.Ice.scope.Test.C[]{ c1 };
130             test.Ice.scope.Test.CSeqHolder cseq2 = new test.Ice.scope.Test.CSeqHolder();
131             test.Ice.scope.Test.C[] cseq3 = i.end_opCSeq(cseq2, i.begin_opCSeq(cseq1));
132             test(cseq2.value[0].s.equals(s1));
133             test(cseq3[0].s.equals(s1));
134 
135             java.util.Map<String, test.Ice.scope.Test.C> cmap1 = new java.util.HashMap<String, test.Ice.scope.Test.C>();
136             cmap1.put("a", c1);
137             test.Ice.scope.Test.CMapHolder cmap2 = new test.Ice.scope.Test.CMapHolder();
138             java.util.Map<String, test.Ice.scope.Test.C> cmap3 = i.end_opCMap(cmap2, i.begin_opCMap(cmap1));
139             test(cmap2.value.get("a").s.equals(s1));
140             test(cmap3.get("a").s.equals(s1));
141         }
142 
143         {
144             Ice.ObjectPrx obj = communicator.stringToProxy("i1:" + helper.getTestEndpoint());
145             test.Ice.scope.Test.IPrx i = test.Ice.scope.Test.IPrxHelper.checkedCast(obj);
146 
147             final test.Ice.scope.Test.S s1 = new test.Ice.scope.Test.S(0);
148             {
149                 class OpSCallback extends test.Ice.scope.Test.Callback_I_opS
150                 {
151                     public void response(test.Ice.scope.Test.S s2, test.Ice.scope.Test.S s3)
152                     {
153                         test(s1.equals(s2));
154                         test(s1.equals(s3));
155                         _callback.called();
156                     }
157 
158                     public void exception(Ice.LocalException ex)
159                     {
160                         test(false);
161                     }
162 
163                     public void check()
164                     {
165                         _callback.check();
166                     }
167 
168                     private Callback _callback = new Callback();
169                 }
170                 OpSCallback cb = new OpSCallback();
171                 i.begin_opS(s1, cb);
172                 cb.check();
173             }
174 
175             test.Ice.scope.Test.S[] sseq1 = new test.Ice.scope.Test.S[]{ s1 };
176             {
177                 class OpSSeqCallback extends test.Ice.scope.Test.Callback_I_opSSeq
178                 {
179                     public void response(test.Ice.scope.Test.S[] s2, test.Ice.scope.Test.S[] s3)
180                     {
181                         test(s1.equals(s2[0]));
182                         test(s1.equals(s3[0]));
183                         _callback.called();
184                     }
185 
186                     public void exception(Ice.LocalException ex)
187                     {
188                         test(false);
189                     }
190 
191                     public void check()
192                     {
193                         _callback.check();
194                     }
195 
196                     private Callback _callback = new Callback();
197                 }
198                 OpSSeqCallback cb = new OpSSeqCallback();
199                 i.begin_opSSeq(sseq1, cb);
200                 cb.check();
201             }
202 
203             java.util.Map<String, test.Ice.scope.Test.S> smap1 = new java.util.HashMap<String, test.Ice.scope.Test.S>();
204             smap1.put("a", s1);
205             {
206                 class OpSMapCallback extends test.Ice.scope.Test.Callback_I_opSMap
207                 {
208                     public void response(java.util.Map<String, test.Ice.scope.Test.S> s2,
209                                          java.util.Map<String, test.Ice.scope.Test.S> s3)
210                     {
211                         test(s1.equals(s2.get("a")));
212                         test(s1.equals(s3.get("a")));
213                         _callback.called();
214                     }
215 
216                     public void exception(Ice.LocalException ex)
217                     {
218                         test(false);
219                     }
220 
221                     public void check()
222                     {
223                         _callback.check();
224                     }
225 
226                     private Callback _callback = new Callback();
227                 }
228                 OpSMapCallback cb = new OpSMapCallback();
229                 i.begin_opSMap(smap1, cb);
230                 cb.check();
231             }
232 
233             test.Ice.scope.Test.C c1 = new test.Ice.scope.Test.C(s1);
234             {
235                 class OpCCallback extends test.Ice.scope.Test.Callback_I_opC
236                 {
237                     public void response(test.Ice.scope.Test.C c2,
238                                          test.Ice.scope.Test.C c3)
239                     {
240                         test(s1.equals(c2.s));
241                         test(s1.equals(c3.s));
242                         _callback.called();
243                     }
244 
245                     public void exception(Ice.LocalException ex)
246                     {
247                         test(false);
248                     }
249 
250                     public void check()
251                     {
252                         _callback.check();
253                     }
254 
255                     private Callback _callback = new Callback();
256                 }
257                 OpCCallback cb = new OpCCallback();
258                 i.begin_opC(c1, cb);
259                 cb.check();
260             }
261 
262             test.Ice.scope.Test.C[] cseq1 = new test.Ice.scope.Test.C[]{ c1 };
263             {
264                 class OpCSeqCallback extends test.Ice.scope.Test.Callback_I_opCSeq
265                 {
266                     public void response(test.Ice.scope.Test.C[] c2,
267                                          test.Ice.scope.Test.C[] c3)
268                     {
269                         test(s1.equals(c2[0].s));
270                         test(s1.equals(c3[0].s));
271                         _callback.called();
272                     }
273 
274                     public void exception(Ice.LocalException ex)
275                     {
276                         test(false);
277                     }
278 
279                     public void check()
280                     {
281                         _callback.check();
282                     }
283 
284                     private Callback _callback = new Callback();
285                 }
286                 OpCSeqCallback cb = new OpCSeqCallback();
287                 i.begin_opCSeq(cseq1, cb);
288                 cb.check();
289             }
290 
291             java.util.Map<String, test.Ice.scope.Test.C> cmap1 = new java.util.HashMap<String, test.Ice.scope.Test.C>();
292             cmap1.put("a", c1);
293             {
294                 class OpCMapCallback extends test.Ice.scope.Test.Callback_I_opCMap
295                 {
296                     public void response(java.util.Map<String, test.Ice.scope.Test.C> c2,
297                                          java.util.Map<String, test.Ice.scope.Test.C> c3)
298                     {
299                         test(s1.equals(c2.get("a").s));
300                         test(s1.equals(c3.get("a").s));
301                         _callback.called();
302                     }
303 
304                     public void exception(Ice.LocalException ex)
305                     {
306                         test(false);
307                     }
308 
309                     public void check()
310                     {
311                         _callback.check();
312                     }
313 
314                     private Callback _callback = new Callback();
315                 }
316                 OpCMapCallback cb = new OpCMapCallback();
317                 i.begin_opCMap(cmap1, cb);
318                 cb.check();
319             }
320         }
321 
322         //  test.Ice.scope
323 
324         {
325             Ice.ObjectPrx obj = communicator.stringToProxy("i2:" + helper.getTestEndpoint());
326             test.Ice.scope.Test.Inner.IPrx i = test.Ice.scope.Test.Inner.IPrxHelper.checkedCast(obj);
327 
328             test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
329             test.Ice.scope.Test.Inner.Inner2.SHolder s2 = new test.Ice.scope.Test.Inner.Inner2.SHolder();
330             test.Ice.scope.Test.Inner.Inner2.S s3 = i.opS(s1, s2);
331             test(s1.equals(s2.value));
332             test(s1.equals(s3));
333 
334             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
335             test.Ice.scope.Test.Inner.Inner2.SSeqHolder sseq2 = new test.Ice.scope.Test.Inner.Inner2.SSeqHolder();
336             test.Ice.scope.Test.Inner.Inner2.S[] sseq3 = i.opSSeq(sseq1, sseq2);
337             test(sseq2.value[0].equals(s1));
338             test(sseq3[0].equals(s1));
339 
340             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
341                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
342             smap1.put("a", s1);
343             test.Ice.scope.Test.Inner.Inner2.SMapHolder smap2 = new test.Ice.scope.Test.Inner.Inner2.SMapHolder();
344             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap3 = i.opSMap(smap1, smap2);
345             test(smap2.value.get("a").equals(s1));
346             test(smap3.get("a").equals(s1));
347 
348             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
349             test.Ice.scope.Test.Inner.Inner2.CHolder c2 = new test.Ice.scope.Test.Inner.Inner2.CHolder();
350             test.Ice.scope.Test.Inner.Inner2.C c3 = i.opC(c1, c2);
351             test(c1.s.equals(c2.value.s));
352             test(c1.s.equals(c3.s));
353 
354             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 = new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
355             test.Ice.scope.Test.Inner.Inner2.CSeqHolder cseq2 = new test.Ice.scope.Test.Inner.Inner2.CSeqHolder();
356             test.Ice.scope.Test.Inner.Inner2.C[] cseq3 = i.opCSeq(cseq1, cseq2);
357             test(cseq2.value[0].s.equals(s1));
358             test(cseq3[0].s.equals(s1));
359 
360             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
361                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
362             cmap1.put("a", c1);
363             test.Ice.scope.Test.Inner.Inner2.CMapHolder cmap2 = new test.Ice.scope.Test.Inner.Inner2.CMapHolder();
364             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap3 = i.opCMap(cmap1, cmap2);
365             test(cmap2.value.get("a").s.equals(s1));
366             test(cmap3.get("a").s.equals(s1));
367         }
368 
369         {
370             Ice.ObjectPrx obj = communicator.stringToProxy("i2:" + helper.getTestEndpoint());
371             test.Ice.scope.Test.Inner.IPrx i = test.Ice.scope.Test.Inner.IPrxHelper.checkedCast(obj);
372 
373             test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
374             test.Ice.scope.Test.Inner.Inner2.SHolder s2 = new test.Ice.scope.Test.Inner.Inner2.SHolder();
375             test.Ice.scope.Test.Inner.Inner2.S s3 = i.end_opS(s2, i.begin_opS(s1));
376             test(s1.equals(s2.value));
377             test(s1.equals(s3));
378 
379             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
380             test.Ice.scope.Test.Inner.Inner2.SSeqHolder sseq2 = new test.Ice.scope.Test.Inner.Inner2.SSeqHolder();
381             test.Ice.scope.Test.Inner.Inner2.S[] sseq3 = i.end_opSSeq(sseq2, i.begin_opSSeq(sseq1));
382             test(sseq2.value[0].equals(s1));
383             test(sseq3[0].equals(s1));
384 
385             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
386                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
387             smap1.put("a", s1);
388             test.Ice.scope.Test.Inner.Inner2.SMapHolder smap2 = new test.Ice.scope.Test.Inner.Inner2.SMapHolder();
389             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap3 =
390                 i.end_opSMap(smap2, i.begin_opSMap(smap1));
391             test(smap2.value.get("a").equals(s1));
392             test(smap3.get("a").equals(s1));
393 
394             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
395             test.Ice.scope.Test.Inner.Inner2.CHolder c2 = new test.Ice.scope.Test.Inner.Inner2.CHolder();
396             test.Ice.scope.Test.Inner.Inner2.C c3 = i.end_opC(c2, i.begin_opC(c1));
397             test(c1.s.equals(c2.value.s));
398             test(c1.s.equals(c3.s));
399 
400             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 = new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
401             test.Ice.scope.Test.Inner.Inner2.CSeqHolder cseq2 = new test.Ice.scope.Test.Inner.Inner2.CSeqHolder();
402             test.Ice.scope.Test.Inner.Inner2.C[] cseq3 = i.end_opCSeq(cseq2, i.begin_opCSeq(cseq1));
403             test(cseq2.value[0].s.equals(s1));
404             test(cseq3[0].s.equals(s1));
405 
406             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
407                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
408             cmap1.put("a", c1);
409             test.Ice.scope.Test.Inner.Inner2.CMapHolder cmap2 = new test.Ice.scope.Test.Inner.Inner2.CMapHolder();
410             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap3 =
411                 i.end_opCMap(cmap2, i.begin_opCMap(cmap1));
412             test(cmap2.value.get("a").s.equals(s1));
413             test(cmap3.get("a").s.equals(s1));
414         }
415 
416         {
417             Ice.ObjectPrx obj = communicator.stringToProxy("i2:" + helper.getTestEndpoint());
418             test.Ice.scope.Test.Inner.IPrx i = test.Ice.scope.Test.Inner.IPrxHelper.checkedCast(obj);
419 
420             final test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
421             {
422                 class OpSCallback extends test.Ice.scope.Test.Inner.Callback_I_opS
423                 {
424                     public void response(test.Ice.scope.Test.Inner.Inner2.S s2,
425                                          test.Ice.scope.Test.Inner.Inner2.S s3)
426                     {
427                         test(s1.equals(s2));
428                         test(s1.equals(s3));
429                         _callback.called();
430                     }
431 
432                     public void exception(Ice.LocalException ex)
433                     {
434                         test(false);
435                     }
436 
437                     public void check()
438                     {
439                         _callback.check();
440                     }
441 
442                     private Callback _callback = new Callback();
443                 }
444                 OpSCallback cb = new OpSCallback();
445                 i.begin_opS(s1, cb);
446                 cb.check();
447             }
448 
449             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
450             {
451                 class OpSSeqCallback extends test.Ice.scope.Test.Inner.Callback_I_opSSeq
452                 {
453                     public void response(test.Ice.scope.Test.Inner.Inner2.S[] s2,
454                                          test.Ice.scope.Test.Inner.Inner2.S[] s3)
455                     {
456                         test(s1.equals(s2[0]));
457                         test(s1.equals(s3[0]));
458                         _callback.called();
459                     }
460 
461                     public void exception(Ice.LocalException ex)
462                     {
463                         test(false);
464                     }
465 
466                     public void check()
467                     {
468                         _callback.check();
469                     }
470 
471                     private Callback _callback = new Callback();
472                 }
473                 OpSSeqCallback cb = new OpSSeqCallback();
474                 i.begin_opSSeq(sseq1, cb);
475                 cb.check();
476             }
477 
478             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
479                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
480             smap1.put("a", s1);
481             {
482                 class OpSMapCallback extends test.Ice.scope.Test.Inner.Callback_I_opSMap
483                 {
484                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s2,
485                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s3)
486                     {
487                         test(s1.equals(s2.get("a")));
488                         test(s1.equals(s3.get("a")));
489                         _callback.called();
490                     }
491 
492                     public void exception(Ice.LocalException ex)
493                     {
494                         test(false);
495                     }
496 
497                     public void check()
498                     {
499                         _callback.check();
500                     }
501 
502                     private Callback _callback = new Callback();
503                 }
504                 OpSMapCallback cb = new OpSMapCallback();
505                 i.begin_opSMap(smap1, cb);
506                 cb.check();
507             }
508 
509             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
510             {
511                 class OpCCallback extends test.Ice.scope.Test.Inner.Callback_I_opC
512                 {
513                     public void response(test.Ice.scope.Test.Inner.Inner2.C c2,
514                                          test.Ice.scope.Test.Inner.Inner2.C c3)
515                     {
516                         test(s1.equals(c2.s));
517                         test(s1.equals(c3.s));
518                         _callback.called();
519                     }
520 
521                     public void exception(Ice.LocalException ex)
522                     {
523                         test(false);
524                     }
525 
526                     public void check()
527                     {
528                         _callback.check();
529                     }
530 
531                     private Callback _callback = new Callback();
532                 }
533                 OpCCallback cb = new OpCCallback();
534                 i.begin_opC(c1, cb);
535                 cb.check();
536             }
537 
538             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 =
539                 new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
540             {
541                 class OpCSeqCallback extends test.Ice.scope.Test.Inner.Callback_I_opCSeq
542                 {
543                     public void response(test.Ice.scope.Test.Inner.Inner2.C[] c2,
544                                          test.Ice.scope.Test.Inner.Inner2.C[] c3)
545                     {
546                         test(s1.equals(c2[0].s));
547                         test(s1.equals(c3[0].s));
548                         _callback.called();
549                     }
550 
551                     public void exception(Ice.LocalException ex)
552                     {
553                         test(false);
554                     }
555 
556                     public void check()
557                     {
558                         _callback.check();
559                     }
560 
561                     private Callback _callback = new Callback();
562                 }
563                 OpCSeqCallback cb = new OpCSeqCallback();
564                 i.begin_opCSeq(cseq1, cb);
565                 cb.check();
566             }
567 
568             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
569                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
570             cmap1.put("a", c1);
571             {
572                 class OpCMapCallback extends test.Ice.scope.Test.Inner.Callback_I_opCMap
573                 {
574                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c2,
575                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c3)
576                     {
577                         test(s1.equals(c2.get("a").s));
578                         test(s1.equals(c3.get("a").s));
579                         _callback.called();
580                     }
581 
582                     public void exception(Ice.LocalException ex)
583                     {
584                         test(false);
585                     }
586 
587                     public void check()
588                     {
589                         _callback.check();
590                     }
591 
592                     private Callback _callback = new Callback();
593                 }
594                 OpCMapCallback cb = new OpCMapCallback();
595                 i.begin_opCMap(cmap1, cb);
596                 cb.check();
597             }
598         }
599 
600         //  test.Ice.scope
601 
602         {
603             Ice.ObjectPrx obj = communicator.stringToProxy("i3:" + helper.getTestEndpoint());
604             test.Ice.scope.Test.Inner.Inner2.IPrx i = test.Ice.scope.Test.Inner.Inner2.IPrxHelper.checkedCast(obj);
605 
606             test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
607             test.Ice.scope.Test.Inner.Inner2.SHolder s2 = new test.Ice.scope.Test.Inner.Inner2.SHolder();
608             test.Ice.scope.Test.Inner.Inner2.S s3 = i.opS(s1, s2);
609             test(s1.equals(s2.value));
610             test(s1.equals(s3));
611 
612             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
613             test.Ice.scope.Test.Inner.Inner2.SSeqHolder sseq2 = new test.Ice.scope.Test.Inner.Inner2.SSeqHolder();
614             test.Ice.scope.Test.Inner.Inner2.S[] sseq3 = i.opSSeq(sseq1, sseq2);
615             test(sseq2.value[0].equals(s1));
616             test(sseq3[0].equals(s1));
617 
618             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
619                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
620             smap1.put("a", s1);
621             test.Ice.scope.Test.Inner.Inner2.SMapHolder smap2 = new test.Ice.scope.Test.Inner.Inner2.SMapHolder();
622             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap3 = i.opSMap(smap1, smap2);
623             test(smap2.value.get("a").equals(s1));
624             test(smap3.get("a").equals(s1));
625 
626             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
627             test.Ice.scope.Test.Inner.Inner2.CHolder c2 = new test.Ice.scope.Test.Inner.Inner2.CHolder();
628             test.Ice.scope.Test.Inner.Inner2.C c3 = i.opC(c1, c2);
629             test(c1.s.equals(c2.value.s));
630             test(c1.s.equals(c3.s));
631 
632             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 = new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
633             test.Ice.scope.Test.Inner.Inner2.CSeqHolder cseq2 = new test.Ice.scope.Test.Inner.Inner2.CSeqHolder();
634             test.Ice.scope.Test.Inner.Inner2.C[] cseq3 = i.opCSeq(cseq1, cseq2);
635             test(cseq2.value[0].s.equals(s1));
636             test(cseq3[0].s.equals(s1));
637 
638             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
639                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
640             cmap1.put("a", c1);
641             test.Ice.scope.Test.Inner.Inner2.CMapHolder cmap2 = new test.Ice.scope.Test.Inner.Inner2.CMapHolder();
642             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap3 = i.opCMap(cmap1, cmap2);
643             test(cmap2.value.get("a").s.equals(s1));
644             test(cmap3.get("a").s.equals(s1));
645         }
646 
647         {
648             Ice.ObjectPrx obj = communicator.stringToProxy("i3:" + helper.getTestEndpoint());
649             test.Ice.scope.Test.Inner.Inner2.IPrx i = test.Ice.scope.Test.Inner.Inner2.IPrxHelper.checkedCast(obj);
650 
651             test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
652             test.Ice.scope.Test.Inner.Inner2.SHolder s2 = new test.Ice.scope.Test.Inner.Inner2.SHolder();
653             test.Ice.scope.Test.Inner.Inner2.S s3 = i.end_opS(s2, i.begin_opS(s1));
654             test(s1.equals(s2.value));
655             test(s1.equals(s3));
656 
657             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
658             test.Ice.scope.Test.Inner.Inner2.SSeqHolder sseq2 = new test.Ice.scope.Test.Inner.Inner2.SSeqHolder();
659             test.Ice.scope.Test.Inner.Inner2.S[] sseq3 = i.end_opSSeq(sseq2, i.begin_opSSeq(sseq1));
660             test(sseq2.value[0].equals(s1));
661             test(sseq3[0].equals(s1));
662 
663             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
664                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
665             smap1.put("a", s1);
666             test.Ice.scope.Test.Inner.Inner2.SMapHolder smap2 = new test.Ice.scope.Test.Inner.Inner2.SMapHolder();
667             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap3 =
668                 i.end_opSMap(smap2, i.begin_opSMap(smap1));
669             test(smap2.value.get("a").equals(s1));
670             test(smap3.get("a").equals(s1));
671 
672             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
673             test.Ice.scope.Test.Inner.Inner2.CHolder c2 = new test.Ice.scope.Test.Inner.Inner2.CHolder();
674             test.Ice.scope.Test.Inner.Inner2.C c3 = i.end_opC(c2, i.begin_opC(c1));
675             test(c1.s.equals(c2.value.s));
676             test(c1.s.equals(c3.s));
677 
678             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 = new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
679             test.Ice.scope.Test.Inner.Inner2.CSeqHolder cseq2 = new test.Ice.scope.Test.Inner.Inner2.CSeqHolder();
680             test.Ice.scope.Test.Inner.Inner2.C[] cseq3 = i.end_opCSeq(cseq2, i.begin_opCSeq(cseq1));
681             test(cseq2.value[0].s.equals(s1));
682             test(cseq3[0].s.equals(s1));
683 
684             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
685                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
686             cmap1.put("a", c1);
687             test.Ice.scope.Test.Inner.Inner2.CMapHolder cmap2 = new test.Ice.scope.Test.Inner.Inner2.CMapHolder();
688             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap3 =
689                 i.end_opCMap(cmap2, i.begin_opCMap(cmap1));
690             test(cmap2.value.get("a").s.equals(s1));
691             test(cmap3.get("a").s.equals(s1));
692         }
693 
694         {
695             Ice.ObjectPrx obj = communicator.stringToProxy("i3:" + helper.getTestEndpoint());
696             test.Ice.scope.Test.Inner.Inner2.IPrx i = test.Ice.scope.Test.Inner.Inner2.IPrxHelper.checkedCast(obj);
697 
698             final test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
699             {
700                 class OpSCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opS
701                 {
702                     public void response(test.Ice.scope.Test.Inner.Inner2.S s2,
703                                          test.Ice.scope.Test.Inner.Inner2.S s3)
704                     {
705                         test(s1.equals(s2));
706                         test(s1.equals(s3));
707                         _callback.called();
708                     }
709 
710                     public void exception(Ice.LocalException ex)
711                     {
712                         test(false);
713                     }
714 
715                     public void check()
716                     {
717                         _callback.check();
718                     }
719 
720                     private Callback _callback = new Callback();
721                 }
722                 OpSCallback cb = new OpSCallback();
723                 i.begin_opS(s1, cb);
724                 cb.check();
725             }
726 
727             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
728             {
729                 class OpSSeqCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opSSeq
730                 {
731                     public void response(test.Ice.scope.Test.Inner.Inner2.S[] s2,
732                                          test.Ice.scope.Test.Inner.Inner2.S[] s3)
733                     {
734                         test(s1.equals(s2[0]));
735                         test(s1.equals(s3[0]));
736                         _callback.called();
737                     }
738 
739                     public void exception(Ice.LocalException ex)
740                     {
741                         test(false);
742                     }
743 
744                     public void check()
745                     {
746                         _callback.check();
747                     }
748 
749                     private Callback _callback = new Callback();
750                 }
751                 OpSSeqCallback cb = new OpSSeqCallback();
752                 i.begin_opSSeq(sseq1, cb);
753                 cb.check();
754             }
755 
756             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
757                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
758             smap1.put("a", s1);
759             {
760                 class OpSMapCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opSMap
761                 {
762                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s2,
763                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s3)
764                     {
765                         test(s1.equals(s2.get("a")));
766                         test(s1.equals(s3.get("a")));
767                         _callback.called();
768                     }
769 
770                     public void exception(Ice.LocalException ex)
771                     {
772                         test(false);
773                     }
774 
775                     public void check()
776                     {
777                         _callback.check();
778                     }
779 
780                     private Callback _callback = new Callback();
781                 }
782                 OpSMapCallback cb = new OpSMapCallback();
783                 i.begin_opSMap(smap1, cb);
784                 cb.check();
785             }
786 
787             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
788             {
789                 class OpCCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opC
790                 {
791                     public void response(test.Ice.scope.Test.Inner.Inner2.C c2,
792                                          test.Ice.scope.Test.Inner.Inner2.C c3)
793                     {
794                         test(s1.equals(c2.s));
795                         test(s1.equals(c3.s));
796                         _callback.called();
797                     }
798 
799                     public void exception(Ice.LocalException ex)
800                     {
801                         test(false);
802                     }
803 
804                     public void check()
805                     {
806                         _callback.check();
807                     }
808 
809                     private Callback _callback = new Callback();
810                 }
811                 OpCCallback cb = new OpCCallback();
812                 i.begin_opC(c1, cb);
813                 cb.check();
814             }
815 
816             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 =
817                 new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
818             {
819                 class OpCSeqCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opCSeq
820                 {
821                     public void response(test.Ice.scope.Test.Inner.Inner2.C[] c2,
822                                          test.Ice.scope.Test.Inner.Inner2.C[] c3)
823                     {
824                         test(s1.equals(c2[0].s));
825                         test(s1.equals(c3[0].s));
826                         _callback.called();
827                     }
828 
829                     public void exception(Ice.LocalException ex)
830                     {
831                         test(false);
832                     }
833 
834                     public void check()
835                     {
836                         _callback.check();
837                     }
838 
839                     private Callback _callback = new Callback();
840                 }
841                 OpCSeqCallback cb = new OpCSeqCallback();
842                 i.begin_opCSeq(cseq1, cb);
843                 cb.check();
844             }
845 
846             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
847                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
848             cmap1.put("a", c1);
849             {
850                 class OpCMapCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opCMap
851                 {
852                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c2,
853                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c3)
854                     {
855                         test(s1.equals(c2.get("a").s));
856                         test(s1.equals(c3.get("a").s));
857                         _callback.called();
858                     }
859 
860                     public void exception(Ice.LocalException ex)
861                     {
862                         test(false);
863                     }
864 
865                     public void check()
866                     {
867                         _callback.check();
868                     }
869 
870                     private Callback _callback = new Callback();
871                 }
872                 OpCMapCallback cb = new OpCMapCallback();
873                 i.begin_opCMap(cmap1, cb);
874                 cb.check();
875             }
876         }
877 
878         {
879             Ice.ObjectPrx obj = communicator.stringToProxy("i4:" + helper.getTestEndpoint());
880             test.Ice.scope.Inner.Test.Inner2.IPrx i = test.Ice.scope.Inner.Test.Inner2.IPrxHelper.checkedCast(obj);
881 
882             test.Ice.scope.Test.S s1 = new test.Ice.scope.Test.S(0);
883             test.Ice.scope.Test.SHolder s2 = new test.Ice.scope.Test.SHolder();
884             test.Ice.scope.Test.S s3 = i.opS(s1, s2);
885             test(s1.equals(s2.value));
886             test(s1.equals(s3));
887 
888             test.Ice.scope.Test.S[] sseq1 = new test.Ice.scope.Test.S[]{ s1 };
889             test.Ice.scope.Test.SSeqHolder sseq2 = new test.Ice.scope.Test.SSeqHolder();
890             test.Ice.scope.Test.S[] sseq3 = i.opSSeq(sseq1, sseq2);
891             test(sseq2.value[0].equals(s1));
892             test(sseq3[0].equals(s1));
893 
894             java.util.Map<String, test.Ice.scope.Test.S> smap1 = new java.util.HashMap<String, test.Ice.scope.Test.S>();
895             smap1.put("a", s1);
896             test.Ice.scope.Test.SMapHolder smap2 = new test.Ice.scope.Test.SMapHolder();
897             java.util.Map<String, test.Ice.scope.Test.S> smap3 = i.opSMap(smap1, smap2);
898             test(smap2.value.get("a").equals(s1));
899             test(smap3.get("a").equals(s1));
900 
901             test.Ice.scope.Test.C c1 = new test.Ice.scope.Test.C(s1);
902             test.Ice.scope.Test.CHolder c2 = new test.Ice.scope.Test.CHolder();
903             test.Ice.scope.Test.C c3 = i.opC(c1, c2);
904             test(c1.s.equals(c2.value.s));
905             test(c1.s.equals(c3.s));
906 
907             test.Ice.scope.Test.C[] cseq1 = new test.Ice.scope.Test.C[]{ c1 };
908             test.Ice.scope.Test.CSeqHolder cseq2 = new test.Ice.scope.Test.CSeqHolder();
909             test.Ice.scope.Test.C[] cseq3 = i.opCSeq(cseq1, cseq2);
910             test(cseq2.value[0].s.equals(s1));
911             test(cseq3[0].s.equals(s1));
912 
913             java.util.Map<String, test.Ice.scope.Test.C> cmap1 = new java.util.HashMap<String, test.Ice.scope.Test.C>();
914             cmap1.put("a", c1);
915             test.Ice.scope.Test.CMapHolder cmap2 = new test.Ice.scope.Test.CMapHolder();
916             java.util.Map<String, test.Ice.scope.Test.C> cmap3 = i.opCMap(cmap1, cmap2);
917             test(cmap2.value.get("a").s.equals(s1));
918             test(cmap3.get("a").s.equals(s1));
919         }
920 
921         {
922             Ice.ObjectPrx obj = communicator.stringToProxy("i4:" + helper.getTestEndpoint());
923             test.Ice.scope.Inner.Test.Inner2.IPrx i = test.Ice.scope.Inner.Test.Inner2.IPrxHelper.checkedCast(obj);
924 
925             test.Ice.scope.Test.S s1 = new test.Ice.scope.Test.S(0);
926             test.Ice.scope.Test.SHolder s2 = new test.Ice.scope.Test.SHolder();
927             test.Ice.scope.Test.S s3 = i.end_opS(s2, i.begin_opS(s1));
928             test(s1.equals(s2.value));
929             test(s1.equals(s3));
930 
931             test.Ice.scope.Test.S[] sseq1 = new test.Ice.scope.Test.S[]{ s1 };
932             test.Ice.scope.Test.SSeqHolder sseq2 = new test.Ice.scope.Test.SSeqHolder();
933             test.Ice.scope.Test.S[] sseq3 = i.end_opSSeq(sseq2, i.begin_opSSeq(sseq1));
934             test(sseq2.value[0].equals(s1));
935             test(sseq3[0].equals(s1));
936 
937             java.util.Map<String, test.Ice.scope.Test.S> smap1 = new java.util.HashMap<String, test.Ice.scope.Test.S>();
938             smap1.put("a", s1);
939             test.Ice.scope.Test.SMapHolder smap2 = new test.Ice.scope.Test.SMapHolder();
940             java.util.Map<String, test.Ice.scope.Test.S> smap3 = i.end_opSMap(smap2, i.begin_opSMap(smap1));
941             test(smap2.value.get("a").equals(s1));
942             test(smap3.get("a").equals(s1));
943 
944             test.Ice.scope.Test.C c1 = new test.Ice.scope.Test.C(s1);
945             test.Ice.scope.Test.CHolder c2 = new test.Ice.scope.Test.CHolder();
946             test.Ice.scope.Test.C c3 = i.end_opC(c2, i.begin_opC(c1));
947             test(c1.s.equals(c2.value.s));
948             test(c1.s.equals(c3.s));
949 
950             test.Ice.scope.Test.C[] cseq1 = new test.Ice.scope.Test.C[]{ c1 };
951             test.Ice.scope.Test.CSeqHolder cseq2 = new test.Ice.scope.Test.CSeqHolder();
952             test.Ice.scope.Test.C[] cseq3 = i.end_opCSeq(cseq2, i.begin_opCSeq(cseq1));
953             test(cseq2.value[0].s.equals(s1));
954             test(cseq3[0].s.equals(s1));
955 
956             java.util.Map<String, test.Ice.scope.Test.C> cmap1 = new java.util.HashMap<String, test.Ice.scope.Test.C>();
957             cmap1.put("a", c1);
958             test.Ice.scope.Test.CMapHolder cmap2 = new test.Ice.scope.Test.CMapHolder();
959             java.util.Map<String, test.Ice.scope.Test.C> cmap3 = i.end_opCMap(cmap2, i.begin_opCMap(cmap1));
960             test(cmap2.value.get("a").s.equals(s1));
961             test(cmap3.get("a").s.equals(s1));
962         }
963 
964         {
965             Ice.ObjectPrx obj = communicator.stringToProxy("i3:" + helper.getTestEndpoint());
966             test.Ice.scope.Test.Inner.Inner2.IPrx i = test.Ice.scope.Test.Inner.Inner2.IPrxHelper.checkedCast(obj);
967 
968             final test.Ice.scope.Test.Inner.Inner2.S s1 = new test.Ice.scope.Test.Inner.Inner2.S(0);
969             {
970                 class OpSCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opS
971                 {
972                     public void response(test.Ice.scope.Test.Inner.Inner2.S s2,
973                                          test.Ice.scope.Test.Inner.Inner2.S s3)
974                     {
975                         test(s1.equals(s2));
976                         test(s1.equals(s3));
977                         _callback.called();
978                     }
979 
980                     public void exception(Ice.LocalException ex)
981                     {
982                         test(false);
983                     }
984 
985                     public void check()
986                     {
987                         _callback.check();
988                     }
989 
990                     private Callback _callback = new Callback();
991                 }
992                 OpSCallback cb = new OpSCallback();
993                 i.begin_opS(s1, cb);
994                 cb.check();
995             }
996 
997             test.Ice.scope.Test.Inner.Inner2.S[] sseq1 = new test.Ice.scope.Test.Inner.Inner2.S[]{ s1 };
998             {
999                 class OpSSeqCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opSSeq
1000                 {
1001                     public void response(test.Ice.scope.Test.Inner.Inner2.S[] s2,
1002                                          test.Ice.scope.Test.Inner.Inner2.S[] s3)
1003                     {
1004                         test(s1.equals(s2[0]));
1005                         test(s1.equals(s3[0]));
1006                         _callback.called();
1007                     }
1008 
1009                     public void exception(Ice.LocalException ex)
1010                     {
1011                         test(false);
1012                     }
1013 
1014                     public void check()
1015                     {
1016                         _callback.check();
1017                     }
1018 
1019                     private Callback _callback = new Callback();
1020                 }
1021                 OpSSeqCallback cb = new OpSSeqCallback();
1022                 i.begin_opSSeq(sseq1, cb);
1023                 cb.check();
1024             }
1025 
1026             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> smap1 =
1027                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.S>();
1028             smap1.put("a", s1);
1029             {
1030                 class OpSMapCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opSMap
1031                 {
1032                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s2,
1033                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.S> s3)
1034                     {
1035                         test(s1.equals(s2.get("a")));
1036                         test(s1.equals(s3.get("a")));
1037                         _callback.called();
1038                     }
1039 
1040                     public void exception(Ice.LocalException ex)
1041                     {
1042                         test(false);
1043                     }
1044 
1045                     public void check()
1046                     {
1047                         _callback.check();
1048                     }
1049 
1050                     private Callback _callback = new Callback();
1051                 }
1052                 OpSMapCallback cb = new OpSMapCallback();
1053                 i.begin_opSMap(smap1, cb);
1054                 cb.check();
1055             }
1056 
1057             test.Ice.scope.Test.Inner.Inner2.C c1 = new test.Ice.scope.Test.Inner.Inner2.C(s1);
1058             {
1059                 class OpCCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opC
1060                 {
1061                     public void response(test.Ice.scope.Test.Inner.Inner2.C c2,
1062                                          test.Ice.scope.Test.Inner.Inner2.C c3)
1063                     {
1064                         test(s1.equals(c2.s));
1065                         test(s1.equals(c3.s));
1066                         _callback.called();
1067                     }
1068 
1069                     public void exception(Ice.LocalException ex)
1070                     {
1071                         test(false);
1072                     }
1073 
1074                     public void check()
1075                     {
1076                         _callback.check();
1077                     }
1078 
1079                     private Callback _callback = new Callback();
1080                 }
1081                 OpCCallback cb = new OpCCallback();
1082                 i.begin_opC(c1, cb);
1083                 cb.check();
1084             }
1085 
1086             test.Ice.scope.Test.Inner.Inner2.C[] cseq1 =
1087                 new test.Ice.scope.Test.Inner.Inner2.C[]{ c1 };
1088             {
1089                 class OpCSeqCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opCSeq
1090                 {
1091                     public void response(test.Ice.scope.Test.Inner.Inner2.C[] c2,
1092                                          test.Ice.scope.Test.Inner.Inner2.C[] c3)
1093                     {
1094                         test(s1.equals(c2[0].s));
1095                         test(s1.equals(c3[0].s));
1096                         _callback.called();
1097                     }
1098 
1099                     public void exception(Ice.LocalException ex)
1100                     {
1101                         test(false);
1102                     }
1103 
1104                     public void check()
1105                     {
1106                         _callback.check();
1107                     }
1108 
1109                     private Callback _callback = new Callback();
1110                 }
1111                 OpCSeqCallback cb = new OpCSeqCallback();
1112                 i.begin_opCSeq(cseq1, cb);
1113                 cb.check();
1114             }
1115 
1116             java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> cmap1 =
1117                 new java.util.HashMap<String, test.Ice.scope.Test.Inner.Inner2.C>();
1118             cmap1.put("a", c1);
1119             {
1120                 class OpCMapCallback extends test.Ice.scope.Test.Inner.Inner2.Callback_I_opCMap
1121                 {
1122                     public void response(java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c2,
1123                                          java.util.Map<String, test.Ice.scope.Test.Inner.Inner2.C> c3)
1124                     {
1125                         test(s1.equals(c2.get("a").s));
1126                         test(s1.equals(c3.get("a").s));
1127                         _callback.called();
1128                     }
1129 
1130                     public void exception(Ice.LocalException ex)
1131                     {
1132                         test(false);
1133                     }
1134 
1135                     public void check()
1136                     {
1137                         _callback.check();
1138                     }
1139 
1140                     private Callback _callback = new Callback();
1141                 }
1142                 OpCMapCallback cb = new OpCMapCallback();
1143                 i.begin_opCMap(cmap1, cb);
1144                 cb.check();
1145             }
1146         }
1147 
1148         {
1149             Ice.ObjectPrx obj = communicator.stringToProxy("i1:" + helper.getTestEndpoint());
1150             test.Ice.scope.Test.IPrx i = test.Ice.scope.Test.IPrxHelper.checkedCast(obj);
1151             i.shutdown();
1152         }
1153     }
1154 }
1155