diff options
author | Mark Spruiell <mes@zeroc.com> | 2005-07-23 13:32:28 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2005-07-23 13:32:28 +0000 |
commit | 6a00eb78804340bcd2b50afae7215d60cc35f80d (patch) | |
tree | b51f39b5b22c61be57efd138ad60fb8c4f8df32e /java/src/Ice/_ObjectDelM.java | |
parent | do not retry on UnknownUserException (diff) | |
download | ice-6a00eb78804340bcd2b50afae7215d60cc35f80d.tar.bz2 ice-6a00eb78804340bcd2b50afae7215d60cc35f80d.tar.xz ice-6a00eb78804340bcd2b50afae7215d60cc35f80d.zip |
fix for bug 421
Diffstat (limited to 'java/src/Ice/_ObjectDelM.java')
-rw-r--r-- | java/src/Ice/_ObjectDelM.java | 136 |
1 files changed, 89 insertions, 47 deletions
diff --git a/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java index 0bd5a94651a..d9502f54ebd 100644 --- a/java/src/Ice/_ObjectDelM.java +++ b/java/src/Ice/_ObjectDelM.java @@ -19,21 +19,33 @@ public class _ObjectDelM implements _ObjectDel __context, __compress); try { - IceInternal.BasicStream __is = __og.is(); - IceInternal.BasicStream __os = __og.os(); - __os.writeString(__id); - if(!__og.invoke()) - { - throw new UnknownUserException(); - } - try - { - return __is.readBool(); - } - catch(LocalException __ex) - { - throw new IceInternal.NonRepeatable(__ex); - } + try + { + IceInternal.BasicStream __os = __og.os(); + __os.writeString(__id); + } + catch(LocalException __ex) + { + __og.abort(__ex); + } + boolean __ok = __og.invoke(); + try + { + IceInternal.BasicStream __is = __og.is(); + if(!__ok) + { + __is.throwException(); + } + return __is.readBool(); + } + catch(UserException __ex) + { + throw new UnknownUserException(__ex.ice_name()); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -49,10 +61,23 @@ public class _ObjectDelM implements _ObjectDel __context, __compress); try { - if(!__og.invoke()) - { - throw new UnknownUserException(); - } + boolean __ok = __og.invoke(); + try + { + IceInternal.BasicStream __is = __og.is(); + if(!__ok) + { + __is.throwException(); + } + } + catch(UserException __ex) + { + throw new UnknownUserException(__ex.ice_name()); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -68,19 +93,24 @@ public class _ObjectDelM implements _ObjectDel __context, __compress); try { - IceInternal.BasicStream __is = __og.is(); - if(!__og.invoke()) - { - throw new UnknownUserException(); - } - try - { - return __is.readStringSeq(); - } - catch(LocalException __ex) - { - throw new IceInternal.NonRepeatable(__ex); - } + boolean __ok = __og.invoke(); + try + { + IceInternal.BasicStream __is = __og.is(); + if(!__ok) + { + __is.throwException(); + } + return __is.readStringSeq(); + } + catch(UserException __ex) + { + throw new UnknownUserException(__ex.ice_name()); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -96,19 +126,24 @@ public class _ObjectDelM implements _ObjectDel __context, __compress); try { - IceInternal.BasicStream __is = __og.is(); - if(!__og.invoke()) - { - throw new UnknownUserException(); - } - try - { - return __is.readString(); - } - catch(LocalException __ex) - { - throw new IceInternal.NonRepeatable(__ex); - } + boolean __ok = __og.invoke(); + try + { + IceInternal.BasicStream __is = __og.is(); + if(!__ok) + { + __is.throwException(); + } + return __is.readString(); + } + catch(UserException __ex) + { + throw new UnknownUserException(__ex.ice_name()); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -125,8 +160,15 @@ public class _ObjectDelM implements _ObjectDel { if(inParams != null) { - IceInternal.BasicStream __os = __og.os(); - __os.writeBlob(inParams); + try + { + IceInternal.BasicStream __os = __og.os(); + __os.writeBlob(inParams); + } + catch(LocalException __ex) + { + __og.abort(__ex); + } } boolean ok = __og.invoke(); if(__reference.getMode() == IceInternal.Reference.ModeTwoway) |