summaryrefslogtreecommitdiff
path: root/java/test
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
parentundo previous merge (diff)
downloadice-cf95cce15efb9e8d5226b94e8d080252336a491c.tar.bz2
ice-cf95cce15efb9e8d5226b94e8d080252336a491c.tar.xz
ice-cf95cce15efb9e8d5226b94e8d080252336a491c.zip
Implicit Context implementation + test
Diffstat (limited to 'java/test')
-rw-r--r--java/test/Ice/operations/AllTests.java10
-rw-r--r--java/test/Ice/operations/Client.java6
-rw-r--r--java/test/Ice/operations/Collocated.java6
-rw-r--r--java/test/Ice/operations/Twoways.java54
-rw-r--r--java/test/Ice/operations/TwowaysAMI.java71
5 files changed, 134 insertions, 13 deletions
diff --git a/java/test/Ice/operations/AllTests.java b/java/test/Ice/operations/AllTests.java
index 00ab5171cc2..9e7550bcf85 100644
--- a/java/test/Ice/operations/AllTests.java
+++ b/java/test/Ice/operations/AllTests.java
@@ -19,7 +19,7 @@ public class AllTests
}
public static Test.MyClassPrx
- allTests(Ice.Communicator communicator, Ice.InitializationData initData, boolean collocated)
+ allTests(Ice.Communicator communicator, boolean collocated)
{
System.out.print("testing stringToProxy... ");
System.out.flush();
@@ -154,8 +154,8 @@ public class AllTests
System.out.print("testing twoway operations... ");
System.out.flush();
- Twoways.twoways(communicator, initData, cl);
- Twoways.twoways(communicator, initData, derived);
+ Twoways.twoways(communicator, cl);
+ Twoways.twoways(communicator, derived);
derived.opDerived();
System.out.println("ok");
@@ -163,8 +163,8 @@ public class AllTests
{
System.out.print("testing twoway operations with AMI... ");
System.out.flush();
- TwowaysAMI.twowaysAMI(communicator, initData, cl);
- TwowaysAMI.twowaysAMI(communicator, initData, derived);
+ TwowaysAMI.twowaysAMI(communicator, cl);
+ TwowaysAMI.twowaysAMI(communicator, derived);
System.out.println("ok");
System.out.print("testing batch oneway operations... ");
diff --git a/java/test/Ice/operations/Client.java b/java/test/Ice/operations/Client.java
index 581c66fa01e..6d0cbf2ca90 100644
--- a/java/test/Ice/operations/Client.java
+++ b/java/test/Ice/operations/Client.java
@@ -10,9 +10,9 @@
public class Client
{
private static int
- run(String[] args, Ice.Communicator communicator, Ice.InitializationData initData)
+ run(String[] args, Ice.Communicator communicator)
{
- Test.MyClassPrx myClass = AllTests.allTests(communicator, initData, false);
+ Test.MyClassPrx myClass = AllTests.allTests(communicator, false);
System.out.print("testing server shutdown... ");
System.out.flush();
@@ -61,7 +61,7 @@ public class Client
initData.properties.setProperty("Ice.Warn.Connections", "0");
communicator = Ice.Util.initialize(argsH, initData);
- status = run(argsH.value, communicator, initData);
+ status = run(argsH.value, communicator);
}
catch(Ice.LocalException ex)
{
diff --git a/java/test/Ice/operations/Collocated.java b/java/test/Ice/operations/Collocated.java
index 37370eaac76..bd792b1b193 100644
--- a/java/test/Ice/operations/Collocated.java
+++ b/java/test/Ice/operations/Collocated.java
@@ -10,7 +10,7 @@
public class Collocated
{
private static int
- run(String[] args, Ice.Communicator communicator, Ice.InitializationData initData)
+ run(String[] args, Ice.Communicator communicator)
{
communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
@@ -19,7 +19,7 @@ public class Collocated
adapter.add(new TestCheckedCastI(), communicator.stringToIdentity("context"));
adapter.activate();
- AllTests.allTests(communicator, initData, true);
+ AllTests.allTests(communicator, true);
return 0;
}
@@ -36,7 +36,7 @@ public class Collocated
Ice.InitializationData initData = new Ice.InitializationData();
initData.properties = Ice.Util.createProperties(argsH);
communicator = Ice.Util.initialize(argsH, initData);
- status = run(args, communicator, initData);
+ status = run(args, communicator);
}
catch(Ice.LocalException ex)
{
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;
diff --git a/java/test/Ice/operations/TwowaysAMI.java b/java/test/Ice/operations/TwowaysAMI.java
index 35be9834d1d..33490eb7c8f 100644
--- a/java/test/Ice/operations/TwowaysAMI.java
+++ b/java/test/Ice/operations/TwowaysAMI.java
@@ -1075,7 +1075,7 @@ class TwowaysAMI
}
static void
- twowaysAMI(Ice.Communicator communicator, Ice.InitializationData initData, Test.MyClassPrx p)
+ twowaysAMI(Ice.Communicator communicator, Test.MyClassPrx p)
{
{
// Check that a call to a void operation raises TwowayOnlyException
@@ -1538,6 +1538,75 @@ class TwowaysAMI
}
{
+ //
+ // 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));
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
+ p3.opContext_async(cb);
+ test(cb.check());
+ }
+
+ ic.getImplicitContext().set("zero", "ZERO");
+ test(ic.getImplicitContext().get("zero").equals("ZERO"));
+ test(ic.getImplicitContext().getWithDefault("foobar", "foo").equals("foo"));
+
+ ctx = ic.getImplicitContext().getContext();
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
+ p3.opContext_async(cb);
+ test(cb.check());
+ }
+
+ 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);
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(prxContext);
+ p3.opContext_async(cb);
+ test(cb.check());
+ }
+
+ ic.getImplicitContext().setContext(ctx);
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(combined);
+ p3.opContext_async(cb);
+ test(cb.check());
+ }
+
+ ic.destroy();
+ }
+ }
+
+ {
double d = 1278312346.0 / 13.0;
double[] ds = new double[5];
for(int i = 0; i < 5; i++)