diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2009-10-26 14:55:24 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2009-10-26 14:55:24 -0230 |
commit | 20899304e74276a6d9c12ae9f713901e6ebfc840 (patch) | |
tree | 5970a5ff612c59e4bc3147908756ec742a1d09aa /java/src/IceInternal/RoutableReference.java | |
parent | Fixed Windows link error (diff) | |
download | ice-20899304e74276a6d9c12ae9f713901e6ebfc840.tar.bz2 ice-20899304e74276a6d9c12ae9f713901e6ebfc840.tar.xz ice-20899304e74276a6d9c12ae9f713901e6ebfc840.zip |
Bug 3137 - add proxyToProperty
Diffstat (limited to 'java/src/IceInternal/RoutableReference.java')
-rw-r--r-- | java/src/IceInternal/RoutableReference.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java index 4b1372977ff..9ac121dfdc3 100644 --- a/java/src/IceInternal/RoutableReference.java +++ b/java/src/IceInternal/RoutableReference.java @@ -324,6 +324,44 @@ public class RoutableReference extends Reference return s.toString(); } + public java.util.Map<String, String> toProperty(String prefix) + { + java.util.Map<String, String> properties = new java.util.HashMap<String, String>(); + + properties.put(prefix, toString()); + properties.put(prefix + ".CollocationOptimized", _collocationOptimized ? "1" : "0"); + properties.put(prefix + ".ConnectionCached", _cacheConnection ? "1" : "0"); + properties.put(prefix + ".PreferSecure", _preferSecure ? "1" : "0"); + properties.put(prefix + ".EndpointSelection", + _endpointSelection == Ice.EndpointSelectionType.Random ? "Random" : "Ordered"); + + StringBuffer s = new StringBuffer(); + s.append(_locatorCacheTimeout); + properties.put(prefix + ".LocatorCacheTimeout", s.toString()); + + if(_routerInfo != null) + { + Ice.ObjectPrxHelperBase h = (Ice.ObjectPrxHelperBase)_routerInfo.getRouter(); + java.util.Map<String, String> routerProperties = h.__reference().toProperty(prefix + ".Router"); + for(java.util.Map.Entry<String, String> p : routerProperties.entrySet()) + { + properties.put(p.getKey(), p.getValue()); + } + } + + if(_locatorInfo != null) + { + Ice.ObjectPrxHelperBase h = (Ice.ObjectPrxHelperBase)_locatorInfo.getLocator(); + java.util.Map<String, String> locatorProperties = h.__reference().toProperty(prefix + ".Locator"); + for(java.util.Map.Entry<String, String> p : locatorProperties.entrySet()) + { + properties.put(p.getKey(), p.getValue()); + } + } + + return properties; + } + public synchronized int hashCode() { |