diff options
author | Mark Spruiell <mes@zeroc.com> | 2006-06-28 14:29:16 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2006-06-28 14:29:16 +0000 |
commit | 6284d4244805622d02799ed376b421bf4c3668b2 (patch) | |
tree | c9c16b176072b35a980de01ac6817131b0e0bf48 /java/test/Ice/stream/Client.java | |
parent | Solaris x86/amd64 support (diff) | |
download | ice-6284d4244805622d02799ed376b421bf4c3668b2.tar.bz2 ice-6284d4244805622d02799ed376b421bf4c3668b2.tar.xz ice-6284d4244805622d02799ed376b421bf4c3668b2.zip |
fix for removal of removeObjectFactory in bug 472
Diffstat (limited to 'java/test/Ice/stream/Client.java')
-rw-r--r-- | java/test/Ice/stream/Client.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/java/test/Ice/stream/Client.java b/java/test/Ice/stream/Client.java index 8289ad55d18..4078f1fb085 100644 --- a/java/test/Ice/stream/Client.java +++ b/java/test/Ice/stream/Client.java @@ -76,9 +76,39 @@ public class Client Ice.Object obj; } + private static class MyClassFactoryWrapper extends Ice.LocalObjectImpl implements Ice.ObjectFactory + { + MyClassFactoryWrapper() + { + _factory = Test.MyClass.ice_factory(); + } + + public Ice.Object + create(String type) + { + return _factory.create(type); + } + + public void + destroy() + { + } + + void + setFactory(Ice.ObjectFactory factory) + { + _factory = factory; + } + + private Ice.ObjectFactory _factory; + } + private static int run(String[] args, Ice.Communicator communicator) { + MyClassFactoryWrapper factoryWrapper = new MyClassFactoryWrapper(); + communicator.addObjectFactory(factoryWrapper, Test.MyClass.ice_staticId()); + Ice.InputStream in; Ice.OutputStream out; @@ -426,7 +456,19 @@ public class Client out.writePendingObjects(); byte[] data = out.finished(); test(writer.called); + factoryWrapper.setFactory(new TestObjectFactory()); + in = Ice.Util.createInputStream(communicator, data); + TestReadObjectCallback cb = new TestReadObjectCallback(); + in.readObject(cb); + in.readPendingObjects(); + test(cb.obj != null); + test(cb.obj instanceof TestObjectReader); + TestObjectReader reader = (TestObjectReader)cb.obj; + test(reader.called); + test(reader.obj != null); + test(reader.obj.s.e == Test.MyEnum.enum2); out.destroy(); + in.destroy(); } System.out.println("ok"); |