diff options
author | Mark Spruiell <mes@zeroc.com> | 2006-01-11 22:20:47 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2006-01-11 22:20:47 +0000 |
commit | 9ce7664c50e5a3a7076b223fa9fafe11cc3d0fee (patch) | |
tree | da8e49c37aa6d2122b49ddde0ff7298e1b92b3ac /java/src | |
parent | file rtf.hdr was initially added on branch R3_0_branch. (diff) | |
download | ice-9ce7664c50e5a3a7076b223fa9fafe11cc3d0fee.tar.bz2 ice-9ce7664c50e5a3a7076b223fa9fafe11cc3d0fee.tar.xz ice-9ce7664c50e5a3a7076b223fa9fafe11cc3d0fee.zip |
fixing bug 732: equals() can raise ClassCastException
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/LocalObjectImpl.java | 14 | ||||
-rw-r--r-- | java/src/Ice/ObjectPrxHelperBase.java | 13 | ||||
-rw-r--r-- | java/src/Ice/ProxyIdentityFacetKey.java | 14 | ||||
-rw-r--r-- | java/src/Ice/ProxyIdentityKey.java | 14 | ||||
-rw-r--r-- | java/src/IceInternal/LocatorInfo.java | 20 | ||||
-rw-r--r-- | java/src/IceInternal/RouterInfo.java | 20 |
6 files changed, 45 insertions, 50 deletions
diff --git a/java/src/Ice/LocalObjectImpl.java b/java/src/Ice/LocalObjectImpl.java index 94e2c9230e2..abbd1119858 100644 --- a/java/src/Ice/LocalObjectImpl.java +++ b/java/src/Ice/LocalObjectImpl.java @@ -11,20 +11,6 @@ package Ice; public abstract class LocalObjectImpl implements LocalObject, java.lang.Cloneable { - public boolean - equals(java.lang.Object rhs) - { - try - { - LocalObject r = (LocalObject)rhs; - return this == r; - } - catch(ClassCastException ex) - { - } - return false; - } - public java.lang.Object clone() throws java.lang.CloneNotSupportedException diff --git a/java/src/Ice/ObjectPrxHelperBase.java b/java/src/Ice/ObjectPrxHelperBase.java index 7c7406a6f7c..1ba89f7c060 100644 --- a/java/src/Ice/ObjectPrxHelperBase.java +++ b/java/src/Ice/ObjectPrxHelperBase.java @@ -559,8 +559,17 @@ public class ObjectPrxHelperBase implements ObjectPrx public final boolean equals(java.lang.Object r) { - ObjectPrxHelperBase rhs = (ObjectPrxHelperBase)r; - return _reference.equals(rhs._reference); + if(this == r) + { + return true; + } + + if(r instanceof ObjectPrxHelperBase) + { + return _reference.equals(((ObjectPrxHelperBase)r)._reference); + } + + return false; } public final IceInternal.Reference diff --git a/java/src/Ice/ProxyIdentityFacetKey.java b/java/src/Ice/ProxyIdentityFacetKey.java index 1d77df3b82b..18fd132ce53 100644 --- a/java/src/Ice/ProxyIdentityFacetKey.java +++ b/java/src/Ice/ProxyIdentityFacetKey.java @@ -40,8 +40,18 @@ public class ProxyIdentityFacetKey public boolean equals(java.lang.Object obj) { - ProxyIdentityFacetKey other = (ProxyIdentityFacetKey)obj; - return (_hashCode == other._hashCode) && _identity.equals(other._identity) && _facet.equals(other._facet); + if(this == obj) + { + return true; + } + + if(obj instanceof ProxyIdentityFacetKey) + { + ProxyIdentityFacetKey other = (ProxyIdentityFacetKey)obj; + return (_hashCode == other._hashCode) && _identity.equals(other._identity) && _facet.equals(other._facet); + } + + return false; } public Ice.ObjectPrx diff --git a/java/src/Ice/ProxyIdentityKey.java b/java/src/Ice/ProxyIdentityKey.java index 316bbefd7c1..e3e394091f9 100644 --- a/java/src/Ice/ProxyIdentityKey.java +++ b/java/src/Ice/ProxyIdentityKey.java @@ -37,8 +37,18 @@ public class ProxyIdentityKey public boolean equals(java.lang.Object obj) { - ProxyIdentityKey other = (ProxyIdentityKey)obj; - return (_hashCode == other._hashCode) && _identity.equals(other._identity); + if(this == obj) + { + return true; + } + + if(obj instanceof ProxyIdentityKey) + { + ProxyIdentityKey other = (ProxyIdentityKey)obj; + return (_hashCode == other._hashCode) && _identity.equals(other._identity); + } + + return false; } public Ice.ObjectPrx diff --git a/java/src/IceInternal/LocatorInfo.java b/java/src/IceInternal/LocatorInfo.java index 42581e6ce9b..63bac9b401d 100644 --- a/java/src/IceInternal/LocatorInfo.java +++ b/java/src/IceInternal/LocatorInfo.java @@ -27,27 +27,17 @@ public final class LocatorInfo public boolean equals(java.lang.Object obj) { - if(obj == null) + if(this == obj) { - return false; + return true; } - if(obj == this) + if(obj instanceof LocatorInfo) { - return true; + return _locator.equals(((LocatorInfo)obj)._locator); } - LocatorInfo rhs = null; - try - { - rhs = (LocatorInfo)obj; - } - catch (ClassCastException ex) - { - return false; - } - - return _locator.equals(rhs._locator); + return false; } public Ice.LocatorPrx diff --git a/java/src/IceInternal/RouterInfo.java b/java/src/IceInternal/RouterInfo.java index e5e2f91ac05..a83ccbc78f8 100644 --- a/java/src/IceInternal/RouterInfo.java +++ b/java/src/IceInternal/RouterInfo.java @@ -31,27 +31,17 @@ public final class RouterInfo public boolean equals(java.lang.Object obj) { - if(obj == null) + if(this == obj) { - return false; + return true; } - if(obj == this) + if(obj instanceof RouterInfo) { - return true; + return _router.equals(((RouterInfo)obj)._router); } - RouterInfo rhs = null; - try - { - rhs = (RouterInfo)obj; - } - catch(ClassCastException ex) - { - return false; - } - - return _router.equals(rhs._router); + return false; } public Ice.RouterPrx |