summaryrefslogtreecommitdiff
path: root/java/test/Ice/stream/Client.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2006-06-28 14:29:16 +0000
committerMark Spruiell <mes@zeroc.com>2006-06-28 14:29:16 +0000
commit6284d4244805622d02799ed376b421bf4c3668b2 (patch)
treec9c16b176072b35a980de01ac6817131b0e0bf48 /java/test/Ice/stream/Client.java
parentSolaris x86/amd64 support (diff)
downloadice-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.java42
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");