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