summaryrefslogtreecommitdiff
path: root/java/test
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2012-11-09 16:22:47 -0800
committerMark Spruiell <mes@zeroc.com>2012-11-09 16:22:47 -0800
commit493caea19fd83663eb03b4eeaf7714f99ac07b97 (patch)
tree39f8b7dc983394288cb25961a0907ebe0b0f5847 /java/test
parentICE-4914 - Update Database/Oracle demos (diff)
downloadice-493caea19fd83663eb03b4eeaf7714f99ac07b97.tar.bz2
ice-493caea19fd83663eb03b4eeaf7714f99ac07b97.tar.xz
ice-493caea19fd83663eb03b4eeaf7714f99ac07b97.zip
ICE-4930 - fixes for scripting languages
Diffstat (limited to 'java/test')
-rw-r--r--java/test/Ice/optional/AMDInitialI.java13
-rw-r--r--java/test/Ice/optional/AllTests.java30
-rw-r--r--java/test/Ice/optional/InitialI.java11
-rw-r--r--java/test/Ice/optional/Test.ice7
-rw-r--r--java/test/Ice/optional/TestAMD.ice7
5 files changed, 68 insertions, 0 deletions
diff --git a/java/test/Ice/optional/AMDInitialI.java b/java/test/Ice/optional/AMDInitialI.java
index 69b7a0b3dae..9a67487788c 100644
--- a/java/test/Ice/optional/AMDInitialI.java
+++ b/java/test/Ice/optional/AMDInitialI.java
@@ -485,6 +485,19 @@ public final class AMDInitialI extends Initial
}
public void
+ sendOptionalClass_async(AMD_Initial_sendOptionalClass cb, boolean req, Ice.Optional<OneOptional> o,
+ Ice.Current current)
+ {
+ cb.ice_response();
+ }
+
+ public void
+ returnOptionalClass_async(AMD_Initial_returnOptionalClass cb, boolean req, Ice.Current current)
+ {
+ cb.ice_response(new Ice.Optional<OneOptional>(new OneOptional(53)));
+ }
+
+ public void
supportsRequiredParams_async(AMD_Initial_supportsRequiredParams cb, Ice.Current current)
{
cb.ice_response(true);
diff --git a/java/test/Ice/optional/AllTests.java b/java/test/Ice/optional/AllTests.java
index 95e2a815d43..4782a02b03f 100644
--- a/java/test/Ice/optional/AllTests.java
+++ b/java/test/Ice/optional/AllTests.java
@@ -383,6 +383,19 @@ public class AllTests
test(cb.obj != null && cb.obj instanceof TestObjectReader);
factory.setEnabled(false);
+ //
+ // Use the 1.0 encoding with operations whose only class parameters are optional.
+ //
+ Ice.Optional<OneOptional> oo = new Ice.Optional<OneOptional>(new OneOptional(53));
+ initial.sendOptionalClass(true, oo);
+ InitialPrx initial2 = (InitialPrx)initial.ice_encodingVersion(Ice.Util.Encoding_1_0);
+ initial2.sendOptionalClass(true, oo);
+
+ initial.returnOptionalClass(true, oo);
+ test(oo.isSet());
+ initial2.returnOptionalClass(true, oo);
+ test(!oo.isSet());
+
out.println("ok");
out.print("testing marshaling of large containers with fixed size elements... ");
@@ -2068,6 +2081,23 @@ public class AllTests
try
{
+ //
+ // Use the 1.0 encoding with an exception whose only class members are optional.
+ //
+ Ice.IntOptional a = new Ice.IntOptional(30);
+ Ice.Optional<String> b = new Ice.Optional<String>("test");
+ Ice.Optional<OneOptional> o = new Ice.Optional<OneOptional>(new OneOptional(53));
+ initial2.opOptionalException(a, b, o);
+ }
+ catch(OptionalException ex)
+ {
+ test(!ex.hasA());
+ test(!ex.hasB());
+ test(!ex.hasO());
+ }
+
+ try
+ {
Ice.IntOptional a = new Ice.IntOptional();
Ice.Optional<String> b = new Ice.Optional<String>();
Ice.Optional<OneOptional> o = new Ice.Optional<OneOptional>();
diff --git a/java/test/Ice/optional/InitialI.java b/java/test/Ice/optional/InitialI.java
index e07bb4a1a2c..d16c997c82d 100644
--- a/java/test/Ice/optional/InitialI.java
+++ b/java/test/Ice/optional/InitialI.java
@@ -534,6 +534,17 @@ public final class InitialI extends Initial
{
}
+ public void
+ sendOptionalClass(boolean req, Ice.Optional<OneOptional> o, Ice.Current current)
+ {
+ }
+
+ public void
+ returnOptionalClass(boolean req, Ice.Optional<OneOptional> o, Ice.Current current)
+ {
+ o.set(new OneOptional(53));
+ }
+
public boolean
supportsRequiredParams(Ice.Current current)
{
diff --git a/java/test/Ice/optional/Test.ice b/java/test/Ice/optional/Test.ice
index 3fbe93fbfff..b506ae5303e 100644
--- a/java/test/Ice/optional/Test.ice
+++ b/java/test/Ice/optional/Test.ice
@@ -137,6 +137,7 @@ class WD
exception OptionalException
{
+ bool req = false;
optional(1) int a = 5;
optional(2) string b;
optional(50) OneOptional o;
@@ -282,6 +283,12 @@ class Initial
void opClassAndUnknownOptional(A p);
+ ["java:optional"]
+ void sendOptionalClass(bool req, optional(1) OneOptional o);
+
+ ["java:optional"]
+ void returnOptionalClass(bool req, out optional(1) OneOptional o);
+
bool supportsRequiredParams();
bool supportsJavaSerializable();
diff --git a/java/test/Ice/optional/TestAMD.ice b/java/test/Ice/optional/TestAMD.ice
index bfdfd0e175e..acb84d0dc02 100644
--- a/java/test/Ice/optional/TestAMD.ice
+++ b/java/test/Ice/optional/TestAMD.ice
@@ -137,6 +137,7 @@ class WD
exception OptionalException
{
+ bool req = false;
optional(1) int a = 5;
optional(2) string b;
optional(50) OneOptional o;
@@ -282,6 +283,12 @@ class Initial
void opClassAndUnknownOptional(A p);
+ ["java:optional"]
+ void sendOptionalClass(bool req, optional(1) OneOptional o);
+
+ ["java:optional"]
+ void returnOptionalClass(bool req, out optional(1) OneOptional o);
+
bool supportsRequiredParams();
bool supportsJavaSerializable();