diff options
author | Mark Spruiell <mes@zeroc.com> | 2001-12-15 22:14:32 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2001-12-15 22:14:32 +0000 |
commit | 0d636760d254ab9ecec94338ad2a753ffcc85f80 (patch) | |
tree | 9aeaed871191b8bab59cab524b62360c5fb70d6d /java/src/IceInternal/Reference.java | |
parent | fixes (diff) | |
download | ice-0d636760d254ab9ecec94338ad2a753ffcc85f80.tar.bz2 ice-0d636760d254ab9ecec94338ad2a753ffcc85f80.tar.xz ice-0d636760d254ab9ecec94338ad2a753ffcc85f80.zip |
porting stable_30
Diffstat (limited to 'java/src/IceInternal/Reference.java')
-rw-r--r-- | java/src/IceInternal/Reference.java | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java index dd347107b35..7b5918234c0 100644 --- a/java/src/IceInternal/Reference.java +++ b/java/src/IceInternal/Reference.java @@ -20,8 +20,8 @@ public final class Reference public final static int ModeBatchLast = ModeBatchDatagram; public - Reference(Instance inst, String ident, String fac, int md, boolean sec, - Endpoint[] origEndpts, Endpoint[] endpts) + Reference(Instance inst, Ice.Identity ident, String fac, int md, + boolean sec, Endpoint[] origEndpts, Endpoint[] endpts) { instance = inst; identity = ident; @@ -62,7 +62,7 @@ public final class Reference } String[] arr = init.split("[ \t\n\r]+"); - identity = arr[0]; + identity = Ice.Util.stringToIdentity(arr[0]); int i = 1; while (i < arr.length) @@ -197,7 +197,7 @@ public final class Reference } String es = s.substring(beg, end); - Endpoint endp = Endpoint.endpointFromString(es); + Endpoint endp = Endpoint.endpointFromString(instance, es); if (orig) { @@ -231,7 +231,7 @@ public final class Reference } public - Reference(String ident, BasicStream s) + Reference(Ice.Identity ident, BasicStream s) { instance = s.instance(); identity = ident; @@ -289,7 +289,12 @@ public final class Reference return true; } - if (!identity.equals(r.identity)) + if (!identity.category.equals(r.identity.category)) + { + return false; + } + + if (!identity.name.equals(r.identity.name)) { return false; } @@ -392,7 +397,7 @@ public final class Reference // All members are treated as const, because References are immutable. // public Instance instance; - public String identity; + public Ice.Identity identity; public String facet; public int mode; public boolean secure; @@ -405,7 +410,7 @@ public final class Reference // certain values. // public Reference - changeIdentity(String newIdentity) + changeIdentity(Ice.Identity newIdentity) { if (newIdentity.equals(identity)) { @@ -505,10 +510,16 @@ public final class Reference { int h = 0; - int sz = identity.length(); + int sz = identity.name.length(); + for (int i = 0; i < sz; i++) + { + h = 5 * h + (int)identity.name.charAt(i); + } + + sz = identity.category.length(); for (int i = 0; i < sz; i++) { - h = 5 * h + (int)identity.charAt(i); + h = 5 * h + (int)identity.category.charAt(i); } sz = facet.length(); |