diff options
Diffstat (limited to 'java/test/Ice/invoke/BlobjectAsyncI.java')
-rw-r--r-- | java/test/Ice/invoke/BlobjectAsyncI.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/java/test/Ice/invoke/BlobjectAsyncI.java b/java/test/Ice/invoke/BlobjectAsyncI.java new file mode 100644 index 00000000000..07f00734d13 --- /dev/null +++ b/java/test/Ice/invoke/BlobjectAsyncI.java @@ -0,0 +1,62 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package test.Ice.invoke; + +import test.Ice.invoke.Test.MyException; + +public class BlobjectAsyncI extends Ice.BlobjectAsync +{ + public void + ice_invoke_async(Ice.AMD_Object_ice_invoke cb, byte[] inParams, Ice.Current current) + { + Ice.Communicator communicator = current.adapter.getCommunicator(); + Ice.InputStream in = Ice.Util.createInputStream(communicator, inParams); + Ice.OutputStream out = Ice.Util.createOutputStream(communicator); + if(current.operation.equals("opString")) + { + String s = in.readString(); + out.writeString(s); + out.writeString(s); + cb.ice_response(true, out.finished()); + } + else if(current.operation.equals("opException")) + { + MyException ex = new MyException(); + out.writeException(ex); + cb.ice_response(false, out.finished()); + } + else if(current.operation.equals("shutdown")) + { + communicator.shutdown(); + cb.ice_response(true, null); + } + else if(current.operation.equals("ice_isA")) + { + String s = in.readString(); + if(s.equals("::Test::MyClass")) + { + out.writeBool(true); + } + else + { + out.writeBool(false); + } + cb.ice_response(true, out.finished()); + } + else + { + Ice.OperationNotExistException ex = new Ice.OperationNotExistException(); + ex.id = current.id; + ex.facet = current.facet; + ex.operation = current.operation; + throw ex; + } + } +} |