1 // 2 // Copyright (c) ZeroC, Inc. All rights reserved. 3 // 4 5 package test.Ice.slicing.objects; 6 7 import test.Ice.slicing.objects.serverAMD.Test.*; 8 9 public final class AMDTestI extends _TestIntfDisp 10 { 11 private static void test(boolean b)12 test(boolean b) 13 { 14 if(!b) 15 { 16 throw new RuntimeException(); 17 } 18 } 19 20 @Override 21 public void shutdown_async(AMD_TestIntf_shutdown cb, Ice.Current current)22 shutdown_async(AMD_TestIntf_shutdown cb, Ice.Current current) 23 { 24 current.adapter.getCommunicator().shutdown(); 25 cb.ice_response(); 26 } 27 28 @Override 29 public void SBaseAsObject_async(AMD_TestIntf_SBaseAsObject cb, Ice.Current current)30 SBaseAsObject_async(AMD_TestIntf_SBaseAsObject cb, Ice.Current current) 31 { 32 SBase sb = new SBase(); 33 sb.sb = "SBase.sb"; 34 cb.ice_response(sb); 35 } 36 37 @Override 38 public void SBaseAsSBase_async(AMD_TestIntf_SBaseAsSBase cb, Ice.Current current)39 SBaseAsSBase_async(AMD_TestIntf_SBaseAsSBase cb, Ice.Current current) 40 { 41 SBase sb = new SBase(); 42 sb.sb = "SBase.sb"; 43 cb.ice_response(sb); 44 } 45 46 @Override 47 public void SBSKnownDerivedAsSBase_async(AMD_TestIntf_SBSKnownDerivedAsSBase cb, Ice.Current current)48 SBSKnownDerivedAsSBase_async(AMD_TestIntf_SBSKnownDerivedAsSBase cb, Ice.Current current) 49 { 50 SBSKnownDerived sbskd = new SBSKnownDerived(); 51 sbskd.sb = "SBSKnownDerived.sb"; 52 sbskd.sbskd = "SBSKnownDerived.sbskd"; 53 cb.ice_response(sbskd); 54 } 55 56 @Override 57 public void SBSKnownDerivedAsSBSKnownDerived_async(AMD_TestIntf_SBSKnownDerivedAsSBSKnownDerived cb, Ice.Current current)58 SBSKnownDerivedAsSBSKnownDerived_async(AMD_TestIntf_SBSKnownDerivedAsSBSKnownDerived cb, Ice.Current current) 59 { 60 SBSKnownDerived sbskd = new SBSKnownDerived(); 61 sbskd.sb = "SBSKnownDerived.sb"; 62 sbskd.sbskd = "SBSKnownDerived.sbskd"; 63 cb.ice_response(sbskd); 64 } 65 66 @Override 67 public void SBSUnknownDerivedAsSBase_async(AMD_TestIntf_SBSUnknownDerivedAsSBase cb, Ice.Current current)68 SBSUnknownDerivedAsSBase_async(AMD_TestIntf_SBSUnknownDerivedAsSBase cb, Ice.Current current) 69 { 70 SBSUnknownDerived sbsud = new SBSUnknownDerived(); 71 sbsud.sb = "SBSUnknownDerived.sb"; 72 sbsud.sbsud = "SBSUnknownDerived.sbsud"; 73 cb.ice_response(sbsud); 74 } 75 76 @Override 77 public void SBSUnknownDerivedAsSBaseCompact_async(AMD_TestIntf_SBSUnknownDerivedAsSBaseCompact cb, Ice.Current current)78 SBSUnknownDerivedAsSBaseCompact_async(AMD_TestIntf_SBSUnknownDerivedAsSBaseCompact cb, Ice.Current current) 79 { 80 SBSUnknownDerived sbsud = new SBSUnknownDerived(); 81 sbsud.sb = "SBSUnknownDerived.sb"; 82 sbsud.sbsud = "SBSUnknownDerived.sbsud"; 83 cb.ice_response(sbsud); 84 } 85 86 @Override 87 public void SUnknownAsObject_async(AMD_TestIntf_SUnknownAsObject cb, Ice.Current current)88 SUnknownAsObject_async(AMD_TestIntf_SUnknownAsObject cb, Ice.Current current) 89 { 90 SUnknown su = new SUnknown(); 91 su.su = "SUnknown.su"; 92 cb.ice_response(su); 93 } 94 95 @Override 96 public void checkSUnknown_async(AMD_TestIntf_checkSUnknown cb, Ice.Object obj, Ice.Current current)97 checkSUnknown_async(AMD_TestIntf_checkSUnknown cb, Ice.Object obj, Ice.Current current) 98 { 99 if(current.encoding.equals(Ice.Util.Encoding_1_0)) 100 { 101 test(!(obj instanceof SUnknown)); 102 } 103 else 104 { 105 SUnknown su = (SUnknown)obj; 106 test(su.su.equals("SUnknown.su")); 107 } 108 cb.ice_response(); 109 } 110 111 @Override 112 public void oneElementCycle_async(AMD_TestIntf_oneElementCycle cb, Ice.Current current)113 oneElementCycle_async(AMD_TestIntf_oneElementCycle cb, Ice.Current current) 114 { 115 B b = new B(); 116 b.sb = "B1.sb"; 117 b.pb = b; 118 cb.ice_response(b); 119 } 120 121 @Override 122 public void twoElementCycle_async(AMD_TestIntf_twoElementCycle cb, Ice.Current current)123 twoElementCycle_async(AMD_TestIntf_twoElementCycle cb, Ice.Current current) 124 { 125 B b1 = new B(); 126 b1.sb = "B1.sb"; 127 B b2 = new B(); 128 b2.sb = "B2.sb"; 129 b2.pb = b1; 130 b1.pb = b2; 131 cb.ice_response(b1); 132 } 133 134 @Override 135 public void D1AsB_async(AMD_TestIntf_D1AsB cb, Ice.Current current)136 D1AsB_async(AMD_TestIntf_D1AsB cb, Ice.Current current) 137 { 138 D1 d1 = new D1(); 139 d1.sb = "D1.sb"; 140 d1.sd1 = "D1.sd1"; 141 D2 d2 = new D2(); 142 d2.pb = d1; 143 d2.sb = "D2.sb"; 144 d2.sd2 = "D2.sd2"; 145 d2.pd2 = d1; 146 d1.pb = d2; 147 d1.pd1 = d2; 148 cb.ice_response(d1); 149 } 150 151 @Override 152 public void D1AsD1_async(AMD_TestIntf_D1AsD1 cb, Ice.Current current)153 D1AsD1_async(AMD_TestIntf_D1AsD1 cb, Ice.Current current) 154 { 155 D1 d1 = new D1(); 156 d1.sb = "D1.sb"; 157 d1.sd1 = "D1.sd1"; 158 D2 d2 = new D2(); 159 d2.pb = d1; 160 d2.sb = "D2.sb"; 161 d2.sd2 = "D2.sd2"; 162 d2.pd2 = d1; 163 d1.pb = d2; 164 d1.pd1 = d2; 165 cb.ice_response(d1); 166 } 167 168 @Override 169 public void D2AsB_async(AMD_TestIntf_D2AsB cb, Ice.Current current)170 D2AsB_async(AMD_TestIntf_D2AsB cb, Ice.Current current) 171 { 172 D2 d2 = new D2(); 173 d2.sb = "D2.sb"; 174 d2.sd2 = "D2.sd2"; 175 D1 d1 = new D1(); 176 d1.pb = d2; 177 d1.sb = "D1.sb"; 178 d1.sd1 = "D1.sd1"; 179 d1.pd1 = d2; 180 d2.pb = d1; 181 d2.pd2 = d1; 182 cb.ice_response(d2); 183 } 184 185 @Override 186 public void paramTest1_async(AMD_TestIntf_paramTest1 cb, Ice.Current current)187 paramTest1_async(AMD_TestIntf_paramTest1 cb, Ice.Current current) 188 { 189 D1 d1 = new D1(); 190 d1.sb = "D1.sb"; 191 d1.sd1 = "D1.sd1"; 192 D2 d2 = new D2(); 193 d2.pb = d1; 194 d2.sb = "D2.sb"; 195 d2.sd2 = "D2.sd2"; 196 d2.pd2 = d1; 197 d1.pb = d2; 198 d1.pd1 = d2; 199 cb.ice_response(d1, d2); 200 } 201 202 @Override 203 public void paramTest2_async(AMD_TestIntf_paramTest2 cb, Ice.Current current)204 paramTest2_async(AMD_TestIntf_paramTest2 cb, Ice.Current current) 205 { 206 D1 d1 = new D1(); 207 d1.sb = "D1.sb"; 208 d1.sd1 = "D1.sd1"; 209 D2 d2 = new D2(); 210 d2.pb = d1; 211 d2.sb = "D2.sb"; 212 d2.sd2 = "D2.sd2"; 213 d2.pd2 = d1; 214 d1.pb = d2; 215 d1.pd1 = d2; 216 cb.ice_response(d2, d1); 217 } 218 219 @Override 220 public void paramTest3_async(AMD_TestIntf_paramTest3 cb, Ice.Current current)221 paramTest3_async(AMD_TestIntf_paramTest3 cb, Ice.Current current) 222 { 223 D2 d2 = new D2(); 224 d2.sb = "D2.sb (p1 1)"; 225 d2.pb = null; 226 d2.sd2 = "D2.sd2 (p1 1)"; 227 228 D1 d1 = new D1(); 229 d1.sb = "D1.sb (p1 2)"; 230 d1.pb = null; 231 d1.sd1 = "D1.sd2 (p1 2)"; 232 d1.pd1 = null; 233 d2.pd2 = d1; 234 235 D2 d4 = new D2(); 236 d4.sb = "D2.sb (p2 1)"; 237 d4.pb = null; 238 d4.sd2 = "D2.sd2 (p2 1)"; 239 240 D1 d3 = new D1(); 241 d3.sb = "D1.sb (p2 2)"; 242 d3.pb = null; 243 d3.sd1 = "D1.sd2 (p2 2)"; 244 d3.pd1 = null; 245 d4.pd2 = d3; 246 cb.ice_response(d3, d2, d4); 247 } 248 249 @Override 250 public void paramTest4_async(AMD_TestIntf_paramTest4 cb, Ice.Current current)251 paramTest4_async(AMD_TestIntf_paramTest4 cb, Ice.Current current) 252 { 253 D4 d4 = new D4(); 254 d4.sb = "D4.sb (1)"; 255 d4.pb = null; 256 d4.p1 = new B(); 257 d4.p1.sb = "B.sb (1)"; 258 d4.p2 = new B(); 259 d4.p2.sb = "B.sb (2)"; 260 cb.ice_response(d4.p2, d4); 261 } 262 263 @Override 264 public void returnTest1_async(AMD_TestIntf_returnTest1 cb, Ice.Current current)265 returnTest1_async(AMD_TestIntf_returnTest1 cb, Ice.Current current) 266 { 267 D1 d1 = new D1(); 268 d1.sb = "D1.sb"; 269 d1.sd1 = "D1.sd1"; 270 D2 d2 = new D2(); 271 d2.pb = d1; 272 d2.sb = "D2.sb"; 273 d2.sd2 = "D2.sd2"; 274 d2.pd2 = d1; 275 d1.pb = d2; 276 d1.pd1 = d2; 277 cb.ice_response(d2, d2, d1); 278 } 279 280 @Override 281 public void returnTest2_async(AMD_TestIntf_returnTest2 cb, Ice.Current current)282 returnTest2_async(AMD_TestIntf_returnTest2 cb, Ice.Current current) 283 { 284 D1 d1 = new D1(); 285 d1.sb = "D1.sb"; 286 d1.sd1 = "D1.sd1"; 287 D2 d2 = new D2(); 288 d2.pb = d1; 289 d2.sb = "D2.sb"; 290 d2.sd2 = "D2.sd2"; 291 d2.pd2 = d1; 292 d1.pb = d2; 293 d1.pd1 = d2; 294 cb.ice_response(d1, d1, d2); 295 } 296 297 @Override 298 public void returnTest3_async(AMD_TestIntf_returnTest3 cb, B p1, B p2, Ice.Current current)299 returnTest3_async(AMD_TestIntf_returnTest3 cb, B p1, B p2, Ice.Current current) 300 { 301 cb.ice_response(p1); 302 } 303 304 @Override 305 public void sequenceTest_async(AMD_TestIntf_sequenceTest cb, SS1 p1, SS2 p2, Ice.Current current)306 sequenceTest_async(AMD_TestIntf_sequenceTest cb, SS1 p1, SS2 p2, Ice.Current current) 307 { 308 SS3 ss = new SS3(); 309 ss.c1 = p1; 310 ss.c2 = p2; 311 cb.ice_response(ss); 312 } 313 314 @Override 315 public void dictionaryTest_async(AMD_TestIntf_dictionaryTest cb, java.util.Map<Integer, B> bin, Ice.Current current)316 dictionaryTest_async(AMD_TestIntf_dictionaryTest cb, java.util.Map<Integer, B> bin, Ice.Current current) 317 { 318 java.util.Map<Integer, B> bout = new java.util.HashMap<Integer, B>(); 319 int i; 320 for(i = 0; i < 10; ++i) 321 { 322 B b = bin.get(i); 323 D2 d2 = new D2(); 324 d2.sb = b.sb; 325 d2.pb = b.pb; 326 d2.sd2 = "D2"; 327 d2.pd2 = d2; 328 bout.put(i * 10, d2); 329 } 330 java.util.Map<Integer, B> r = new java.util.HashMap<Integer, B>(); 331 for(i = 0; i < 10; ++i) 332 { 333 String s = "D1." + Integer.valueOf(i * 20).toString(); 334 D1 d1 = new D1(); 335 d1.sb = s; 336 d1.pb = (i == 0 ? null : r.get((i - 1) * 20)); 337 d1.sd1 = s; 338 d1.pd1 = d1; 339 r.put(i * 20, d1); 340 } 341 cb.ice_response(r, bout); 342 } 343 344 @Override 345 public void exchangePBase_async(AMD_TestIntf_exchangePBase cb, PBase pb, Ice.Current current)346 exchangePBase_async(AMD_TestIntf_exchangePBase cb, PBase pb, Ice.Current current) 347 { 348 cb.ice_response(pb); 349 } 350 351 @Override 352 public void PBSUnknownAsPreserved_async(AMD_TestIntf_PBSUnknownAsPreserved cb, Ice.Current current)353 PBSUnknownAsPreserved_async(AMD_TestIntf_PBSUnknownAsPreserved cb, Ice.Current current) 354 { 355 PSUnknown r = new PSUnknown(); 356 r.pi = 5; 357 r.ps = "preserved"; 358 r.psu = "unknown"; 359 r.graph = null; 360 if(!current.encoding.equals(Ice.Util.Encoding_1_0)) 361 { 362 // 363 // 1.0 encoding doesn't support unmarshaling unknown classes even if referenced 364 // from unread slice. 365 // 366 r.cl = new MyClass(15); 367 } 368 cb.ice_response(r); 369 } 370 371 @Override 372 public void checkPBSUnknown_async(AMD_TestIntf_checkPBSUnknown cb, Preserved p, Ice.Current current)373 checkPBSUnknown_async(AMD_TestIntf_checkPBSUnknown cb, Preserved p, Ice.Current current) 374 { 375 if(current.encoding.equals(Ice.Util.Encoding_1_0)) 376 { 377 test(!(p instanceof PSUnknown)); 378 test(p.pi == 5); 379 test(p.ps.equals("preserved")); 380 } 381 else 382 { 383 PSUnknown pu = (PSUnknown)p; 384 test(pu.pi == 5); 385 test(pu.ps.equals("preserved")); 386 test(pu.psu.equals("unknown")); 387 test(pu.graph == null); 388 test(pu.cl != null && pu.cl.i == 15); 389 } 390 cb.ice_response(); 391 } 392 393 @Override 394 public void PBSUnknownAsPreservedWithGraph_async(AMD_TestIntf_PBSUnknownAsPreservedWithGraph cb, Ice.Current current)395 PBSUnknownAsPreservedWithGraph_async(AMD_TestIntf_PBSUnknownAsPreservedWithGraph cb, Ice.Current current) 396 { 397 PSUnknown r = new PSUnknown(); 398 r.pi = 5; 399 r.ps = "preserved"; 400 r.psu = "unknown"; 401 r.graph = new PNode(); 402 r.graph.next = new PNode(); 403 r.graph.next.next = new PNode(); 404 r.graph.next.next.next = r.graph; 405 cb.ice_response(r); 406 r.graph.next.next.next = null; // Break the cycle. 407 } 408 409 @Override 410 public void checkPBSUnknownWithGraph_async(AMD_TestIntf_checkPBSUnknownWithGraph cb, Preserved p, Ice.Current current)411 checkPBSUnknownWithGraph_async(AMD_TestIntf_checkPBSUnknownWithGraph cb, Preserved p, Ice.Current current) 412 { 413 if(current.encoding.equals(Ice.Util.Encoding_1_0)) 414 { 415 test(!(p instanceof PSUnknown)); 416 test(p.pi == 5); 417 test(p.ps.equals("preserved")); 418 } 419 else 420 { 421 PSUnknown pu = (PSUnknown)p; 422 test(pu.pi == 5); 423 test(pu.ps.equals("preserved")); 424 test(pu.psu.equals("unknown")); 425 test(pu.graph != pu.graph.next); 426 test(pu.graph.next != pu.graph.next.next); 427 test(pu.graph.next.next.next == pu.graph); 428 pu.graph.next.next.next = null; // Break the cycle. 429 } 430 cb.ice_response(); 431 } 432 433 @Override 434 public void PBSUnknown2AsPreservedWithGraph_async(AMD_TestIntf_PBSUnknown2AsPreservedWithGraph cb, Ice.Current current)435 PBSUnknown2AsPreservedWithGraph_async(AMD_TestIntf_PBSUnknown2AsPreservedWithGraph cb, Ice.Current current) 436 { 437 PSUnknown2 r = new PSUnknown2(); 438 r.pi = 5; 439 r.ps = "preserved"; 440 r.pb = r; 441 cb.ice_response(r); 442 r.pb = null; // Break the cycle. 443 } 444 445 @Override 446 public void checkPBSUnknown2WithGraph_async(AMD_TestIntf_checkPBSUnknown2WithGraph cb, Preserved p, Ice.Current current)447 checkPBSUnknown2WithGraph_async(AMD_TestIntf_checkPBSUnknown2WithGraph cb, Preserved p, Ice.Current current) 448 { 449 if(current.encoding.equals(Ice.Util.Encoding_1_0)) 450 { 451 test(!(p instanceof PSUnknown2)); 452 test(p.pi == 5); 453 test(p.ps.equals("preserved")); 454 } 455 else 456 { 457 PSUnknown2 pu = (PSUnknown2)p; 458 test(pu.pi == 5); 459 test(pu.ps.equals("preserved")); 460 test(pu.pb == pu); 461 pu.pb = null; // Break the cycle. 462 } 463 cb.ice_response(); 464 } 465 466 @Override 467 public void exchangePNode_async(AMD_TestIntf_exchangePNode cb, PNode pn, Ice.Current current)468 exchangePNode_async(AMD_TestIntf_exchangePNode cb, PNode pn, Ice.Current current) 469 { 470 cb.ice_response(pn); 471 } 472 473 @Override 474 public void throwBaseAsBase_async(AMD_TestIntf_throwBaseAsBase cb, Ice.Current current)475 throwBaseAsBase_async(AMD_TestIntf_throwBaseAsBase cb, Ice.Current current) 476 throws BaseException 477 { 478 BaseException be = new BaseException(); 479 be.sbe = "sbe"; 480 be.pb = new B(); 481 be.pb.sb = "sb"; 482 be.pb.pb = be.pb; 483 cb.ice_exception(be); 484 } 485 486 @Override 487 public void throwDerivedAsBase_async(AMD_TestIntf_throwDerivedAsBase cb, Ice.Current current)488 throwDerivedAsBase_async(AMD_TestIntf_throwDerivedAsBase cb, Ice.Current current) 489 throws BaseException 490 { 491 DerivedException de = new DerivedException(); 492 de.sbe = "sbe"; 493 de.pb = new B(); 494 de.pb.sb = "sb1"; 495 de.pb.pb = de.pb; 496 de.sde = "sde1"; 497 de.pd1 = new D1(); 498 de.pd1.sb = "sb2"; 499 de.pd1.pb = de.pd1; 500 de.pd1.sd1 = "sd2"; 501 de.pd1.pd1 = de.pd1; 502 cb.ice_exception(de); 503 } 504 505 @Override 506 public void throwDerivedAsDerived_async(AMD_TestIntf_throwDerivedAsDerived cb, Ice.Current current)507 throwDerivedAsDerived_async(AMD_TestIntf_throwDerivedAsDerived cb, Ice.Current current) 508 throws DerivedException 509 { 510 DerivedException de = new DerivedException(); 511 de.sbe = "sbe"; 512 de.pb = new B(); 513 de.pb.sb = "sb1"; 514 de.pb.pb = de.pb; 515 de.sde = "sde1"; 516 de.pd1 = new D1(); 517 de.pd1.sb = "sb2"; 518 de.pd1.pb = de.pd1; 519 de.pd1.sd1 = "sd2"; 520 de.pd1.pd1 = de.pd1; 521 cb.ice_exception(de); 522 } 523 524 @Override 525 public void throwUnknownDerivedAsBase_async(AMD_TestIntf_throwUnknownDerivedAsBase cb, Ice.Current current)526 throwUnknownDerivedAsBase_async(AMD_TestIntf_throwUnknownDerivedAsBase cb, Ice.Current current) 527 throws BaseException 528 { 529 D2 d2 = new D2(); 530 d2.sb = "sb d2"; 531 d2.pb = d2; 532 d2.sd2 = "sd2 d2"; 533 d2.pd2 = d2; 534 535 UnknownDerivedException ude = new UnknownDerivedException(); 536 ude.sbe = "sbe"; 537 ude.pb = d2; 538 ude.sude = "sude"; 539 ude.pd2 = d2; 540 cb.ice_exception(ude); 541 } 542 543 @Override 544 public void throwPreservedException_async(AMD_TestIntf_throwPreservedException cb, Ice.Current current)545 throwPreservedException_async(AMD_TestIntf_throwPreservedException cb, Ice.Current current) 546 { 547 PSUnknownException ue = new PSUnknownException(); 548 ue.p = new PSUnknown2(); 549 ue.p.pi = 5; 550 ue.p.ps = "preserved"; 551 ue.p.pb = ue.p; 552 cb.ice_exception(ue); 553 ue.p.pb = null; // Break the cycle. 554 } 555 556 @Override 557 public void useForward_async(AMD_TestIntf_useForward cb, Ice.Current current)558 useForward_async(AMD_TestIntf_useForward cb, Ice.Current current) 559 { 560 Forward f = new Forward(); 561 f = new Forward(); 562 f.h = new Hidden(); 563 f.h.f = f; 564 cb.ice_response(f); 565 } 566 } 567