diff options
author | Mark Spruiell <mes@zeroc.com> | 2005-02-08 20:17:26 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2005-02-08 20:17:26 +0000 |
commit | 6b669e5ba099f8ae780faae2a4865fc611f178a9 (patch) | |
tree | a34ba4e9bcf23352147a8b95fc8d67ec6a08d65a /java/src/IceInternal/RoutableReference.java | |
parent | changing sequence unmarshaling for fixed-length types (diff) | |
download | ice-6b669e5ba099f8ae780faae2a4865fc611f178a9.tar.bz2 ice-6b669e5ba099f8ae780faae2a4865fc611f178a9.tar.xz ice-6b669e5ba099f8ae780faae2a4865fc611f178a9.zip |
Reference fixes:
- Moving _secure to RoutableReference
- Fixing changeDefault()
- Fixing changeRouter() and changeLocator() to return appropriate values
Diffstat (limited to 'java/src/IceInternal/RoutableReference.java')
-rw-r--r-- | java/src/IceInternal/RoutableReference.java | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java index bcd79b01591..a98d561e2a3 100644 --- a/java/src/IceInternal/RoutableReference.java +++ b/java/src/IceInternal/RoutableReference.java @@ -33,29 +33,50 @@ public abstract class RoutableReference extends Reference } public final boolean + getSecure() + { + return _secure; + } + + public final boolean getCollocationOptimization() { return _collocationOptimization; } public Reference - changeRouter(Ice.RouterPrx newRouter) + changeDefault() { - RouterInfo newRouterInfo = getInstance().routerManager().get(newRouter); - if(newRouterInfo == _routerInfo) + RoutableReference r = (RoutableReference)super.changeDefault(); + r._secure = false; + r._routerInfo = getInstance().routerManager().get(getInstance().referenceFactory().getDefaultRouter()); + r._collocationOptimization = false; + return r; + } + + public Reference + changeSecure(boolean newSecure) + { + if(newSecure == _secure) { return this; } RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this); - r._routerInfo = newRouterInfo; + r._secure = newSecure; return r; } public Reference - changeDefault() + changeRouter(Ice.RouterPrx newRouter) { + RouterInfo newRouterInfo = getInstance().routerManager().get(newRouter); + if((newRouterInfo == _routerInfo) || + (newRouterInfo != null && _routerInfo != null && newRouterInfo.equals(_routerInfo))) + { + return this; + } RoutableReference r = (RoutableReference)getInstance().referenceFactory().copy(this); - r._routerInfo = getInstance().routerManager().get(getInstance().referenceFactory().getDefaultRouter()); + r._routerInfo = newRouterInfo; return r; } @@ -83,6 +104,10 @@ public abstract class RoutableReference extends Reference return false; } RoutableReference rhs = (RoutableReference)obj; // Guaranteed to succeed. + if(_secure != rhs._secure) + { + return false; + } if(_collocationOptimization != rhs._collocationOptimization) { return false; @@ -100,11 +125,13 @@ public abstract class RoutableReference extends Reference RouterInfo rtrInfo, boolean collocationOpt) { - super(inst, ident, ctx, fac, md, sec); + super(inst, ident, ctx, fac, md); + _secure = sec; _routerInfo = rtrInfo; _collocationOptimization = collocationOpt; } + private boolean _secure; private RouterInfo _routerInfo; // Null if no router is used. private boolean _collocationOptimization; } |