summaryrefslogtreecommitdiff
path: root/java/test/Ice/operations/Twoways.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-10-27 20:06:22 +0000
committerBernard Normier <bernard@zeroc.com>2006-10-27 20:06:22 +0000
commitcf95cce15efb9e8d5226b94e8d080252336a491c (patch)
tree593f42dd1384cf44efd6a754035d8b0ded1a06a4 /java/test/Ice/operations/Twoways.java
parentundo previous merge (diff)
downloadice-cf95cce15efb9e8d5226b94e8d080252336a491c.tar.bz2
ice-cf95cce15efb9e8d5226b94e8d080252336a491c.tar.xz
ice-cf95cce15efb9e8d5226b94e8d080252336a491c.zip
Implicit Context implementation + test
Diffstat (limited to 'java/test/Ice/operations/Twoways.java')
-rw-r--r--java/test/Ice/operations/Twoways.java54
1 files changed, 53 insertions, 1 deletions
diff --git a/java/test/Ice/operations/Twoways.java b/java/test/Ice/operations/Twoways.java
index dc6f3069161..3317e05800b 100644
--- a/java/test/Ice/operations/Twoways.java
+++ b/java/test/Ice/operations/Twoways.java
@@ -19,7 +19,7 @@ class Twoways
}
static void
- twoways(Ice.Communicator communicator, Ice.InitializationData initData, Test.MyClassPrx p)
+ twoways(Ice.Communicator communicator, Test.MyClassPrx p)
{
{
p.opVoid();
@@ -663,6 +663,58 @@ class Twoways
communicator.setDefaultContext(new java.util.HashMap());
}
}
+ {
+ //
+ // Test implicit context propagation
+ //
+
+ String[] impls = {"Shared", "SharedWithoutLocking", "PerThread"};
+ for(int i = 0; i < 3; i++)
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.setProperty("Ice.ImplicitContext", impls[i]);
+
+ Ice.Communicator ic = Ice.Util.initialize(initData);
+
+ java.util.Map ctx = new java.util.HashMap();
+ ctx.put("one", "ONE");
+ ctx.put("two", "TWO");
+ ctx.put("three", "THREE");
+
+ Test.MyClassPrx p3 = Test.MyClassPrxHelper.uncheckedCast(
+ ic.stringToProxy("test:default -p 12010 -t 10000"));
+
+ ic.getImplicitContext().setContext(ctx);
+ test(ic.getImplicitContext().getContext().equals(ctx));
+ test(p3.opContext().equals(ctx));
+
+ ic.getImplicitContext().set("zero", "ZERO");
+ test(ic.getImplicitContext().get("zero").equals("ZERO"));
+ test(ic.getImplicitContext().getWithDefault("foobar", "foo").equals("foo"));
+
+ ctx = ic.getImplicitContext().getContext();
+ test(p3.opContext().equals(ctx));
+
+ java.util.Map prxContext = new java.util.HashMap();
+ prxContext.put("one", "UN");
+ prxContext.put("four", "QUATRE");
+
+ java.util.Map combined = new java.util.HashMap(ctx);
+ combined.putAll(prxContext);
+ test(combined.get("one").equals("UN"));
+
+ p3 = Test.MyClassPrxHelper.uncheckedCast(p3.ice_context(prxContext));
+
+ ic.getImplicitContext().setContext(null);
+ test(p3.opContext().equals(prxContext));
+
+ ic.getImplicitContext().setContext(ctx);
+ test(p3.opContext().equals(combined));
+
+ ic.destroy();
+ }
+ }
{
double d = 1278312346.0 / 13.0;