diff options
author | Benoit Foucher <benoit@zeroc.com> | 2017-07-06 00:18:03 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2017-07-06 00:18:03 +0200 |
commit | 54d8f3fb0d3d53f851051980f1bc941c4e39a60f (patch) | |
tree | 0d8259f0cd48b3ba0a3792556821aa41d6f718a7 /java | |
parent | Fixed ICE-8223 - renamed cloneImpl to _iceCloneImpl (diff) | |
download | ice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.tar.bz2 ice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.tar.xz ice-54d8f3fb0d3d53f851051980f1bc941c4e39a60f.zip |
Added Ice::UserException::ice_getSlicedData and Ice::UnkownSlicedValue::ice_id methods
Diffstat (limited to 'java')
5 files changed, 68 insertions, 13 deletions
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/UnknownSlicedValue.java b/java/src/Ice/src/main/java/com/zeroc/Ice/UnknownSlicedValue.java index 41ce5a574e4..648fd2f611a 100644 --- a/java/src/Ice/src/main/java/com/zeroc/Ice/UnknownSlicedValue.java +++ b/java/src/Ice/src/main/java/com/zeroc/Ice/UnknownSlicedValue.java @@ -25,25 +25,26 @@ public final class UnknownSlicedValue extends Value } /** - * Determine the Slice type ID associated with this object. + * Returns the sliced data if the value has a preserved-slice base class and has been sliced during + * un-marshaling of the value, null is returned otherwise. * - * @return The type ID. + * @return The sliced data or null. **/ - public String getUnknownTypeId() + @Override + public SlicedData ice_getSlicedData() { - return _unknownTypeId; + return _slicedData; } /** - * Returns the sliced data if the value has a preserved-slice base class and has been sliced during - * un-marshaling of the value, null is returned otherwise. + * Determine the Slice type ID associated with this object. * - * @return The sliced data or null. + * @return The type ID. **/ @Override - public SlicedData ice_getSlicedData() + public String ice_id() { - return _slicedData; + return _unknownTypeId; } @Override diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/UserException.java b/java/src/Ice/src/main/java/com/zeroc/Ice/UserException.java index 32a57624c4a..c09452fdbcb 100644 --- a/java/src/Ice/src/main/java/com/zeroc/Ice/UserException.java +++ b/java/src/Ice/src/main/java/com/zeroc/Ice/UserException.java @@ -65,6 +65,17 @@ public abstract class UserException extends java.lang.Exception implements Clone public abstract String ice_id(); /** + * Returns the sliced data if the exception has a preserved-slice base class and has been sliced during + * un-marshaling, null is returned otherwise. + * + * @return The sliced data or null. + **/ + public com.zeroc.Ice.SlicedData ice_getSlicedData() + { + return null; + } + + /** * Returns a string representation of this exception. * * @return A string representation of this exception. diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Ex.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Ex.java index c3bedd51bb7..a784cb38b12 100644 --- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Ex.java +++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Ex.java @@ -21,7 +21,7 @@ public class Ex if(v instanceof com.zeroc.Ice.UnknownSlicedValue) { com.zeroc.Ice.UnknownSlicedValue usv = (com.zeroc.Ice.UnknownSlicedValue)v; - throw new com.zeroc.Ice.NoValueFactoryException("", usv.getUnknownTypeId()); + throw new com.zeroc.Ice.NoValueFactoryException("", usv.ice_id()); } String type = v.ice_id(); @@ -48,7 +48,7 @@ public class Ex if(v instanceof com.zeroc.Ice.UnknownSlicedValue) { com.zeroc.Ice.UnknownSlicedValue usv = (com.zeroc.Ice.UnknownSlicedValue)v; - throw new com.zeroc.Ice.NoValueFactoryException("", usv.getUnknownTypeId()); + throw new com.zeroc.Ice.NoValueFactoryException("", usv.ice_id()); } String type = v.ice_id(); diff --git a/java/test/src/main/java/test/Ice/slicing/exceptions/AllTests.java b/java/test/src/main/java/test/Ice/slicing/exceptions/AllTests.java index 8445d06ae74..610957cce0f 100644 --- a/java/test/src/main/java/test/Ice/slicing/exceptions/AllTests.java +++ b/java/test/src/main/java/test/Ice/slicing/exceptions/AllTests.java @@ -652,6 +652,49 @@ public class AllTests out.print("preserved exceptions... "); out.flush(); { + try + { + test.unknownPreservedAsBase(); + test(false); + } + catch(Base ex) + { + if(test.ice_getEncodingVersion().equals(com.zeroc.Ice.Util.Encoding_1_0)) + { + test(ex.ice_getSlicedData() == null); + } + else + { + com.zeroc.Ice.SlicedData slicedData = ex.ice_getSlicedData(); + test(slicedData != null); + test(slicedData.slices.length == 2); + test(slicedData.slices[1].typeId.equals("::Test::SPreserved1")); + test(slicedData.slices[0].typeId.equals("::Test::SPreserved2")); + } + } + + try + { + test.unknownPreservedAsKnownPreserved(); + test(false); + } + catch(KnownPreserved ex) + { + test(ex.kp.equals("preserved")); + if(test.ice_getEncodingVersion().equals(com.zeroc.Ice.Util.Encoding_1_0)) + { + test(ex.ice_getSlicedData() == null); + } + else + { + com.zeroc.Ice.SlicedData slicedData = ex.ice_getSlicedData(); + test(slicedData != null); + test(slicedData.slices.length == 2); + test(slicedData.slices[1].typeId.equals("::Test::SPreserved1")); + test(slicedData.slices[0].typeId.equals("::Test::SPreserved2")); + } + } + com.zeroc.Ice.ObjectAdapter adapter = communicator.createObjectAdapter(""); RelayPrx relay = RelayPrx.uncheckedCast(adapter.addWithUUID(new RelayI())); adapter.activate(); diff --git a/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java b/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java index 30c55660224..1a96bd0dd87 100644 --- a/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/slicing/objects/AllTests.java @@ -377,7 +377,7 @@ public class AllTests o = test.SUnknownAsObject(); test(!test.ice_getEncodingVersion().equals(Util.Encoding_1_0)); test(o instanceof com.zeroc.Ice.UnknownSlicedValue); - test(((com.zeroc.Ice.UnknownSlicedValue)o).getUnknownTypeId().equals("::Test::SUnknown")); + test(((com.zeroc.Ice.UnknownSlicedValue)o).ice_id().equals("::Test::SUnknown")); test(((com.zeroc.Ice.UnknownSlicedValue)o).ice_getSlicedData() != null); test.checkSUnknown(o); } @@ -413,7 +413,7 @@ public class AllTests { test(ex == null); test(result instanceof com.zeroc.Ice.UnknownSlicedValue); - test(((com.zeroc.Ice.UnknownSlicedValue)result).getUnknownTypeId().equals("::Test::SUnknown")); + test(((com.zeroc.Ice.UnknownSlicedValue)result).ice_id().equals("::Test::SUnknown")); cb.called(); }); cb.check(); |