diff options
author | Bernard Normier <bernard@zeroc.com> | 2006-07-20 20:17:51 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2006-07-20 20:17:51 +0000 |
commit | 55363a13e1c750b39db419c5312217b9256f1fec (patch) | |
tree | 76aa0e305ccd7a3db64e7e03703f74e2dadb0c34 /java/src | |
parent | file Communicator.cpp was initially added on branch R3_1_branch. (diff) | |
download | ice-55363a13e1c750b39db419c5312217b9256f1fec.tar.bz2 ice-55363a13e1c750b39db419c5312217b9256f1fec.tar.xz ice-55363a13e1c750b39db419c5312217b9256f1fec.zip |
Merge from R3_1_branch
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/CommunicatorI.java | 8 | ||||
-rw-r--r-- | java/src/Ice/ConnectionI.java | 2 | ||||
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/Instance.java | 36 | ||||
-rw-r--r-- | java/src/IceInternal/Reference.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/ReferenceFactory.java | 10 |
6 files changed, 50 insertions, 10 deletions
diff --git a/java/src/Ice/CommunicatorI.java b/java/src/Ice/CommunicatorI.java index 5514f9dc71b..2f08175e6f3 100644 --- a/java/src/Ice/CommunicatorI.java +++ b/java/src/Ice/CommunicatorI.java @@ -128,7 +128,13 @@ public final class CommunicatorI extends LocalObjectImpl implements Communicator public java.util.Map getDefaultContext() { - return _instance.initializationData().defaultContext; + return _instance.getDefaultContext(); + } + + public void + setDefaultContext(java.util.Map ctx) + { + _instance.setDefaultContext(ctx); } public PluginManager diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java index ee57f415c01..20e36f9a699 100644 --- a/java/src/Ice/ConnectionI.java +++ b/java/src/Ice/ConnectionI.java @@ -1153,7 +1153,7 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne ConnectionI[] connections = new ConnectionI[1]; connections[0] = this; IceInternal.Reference ref = - _instance.referenceFactory().create(ident, _instance.initializationData().defaultContext, "", + _instance.referenceFactory().create(ident, _instance.getDefaultContext(), "", IceInternal.Reference.ModeTwoway, connections); return _instance.proxyFactory().referenceToProxy(ref); } diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index 4b6e3cb1b04..bb0232fce2f 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -519,7 +519,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt ConnectionI[] arr = new ConnectionI[connections.size()]; connections.toArray(arr); IceInternal.Reference ref = - _instance.referenceFactory().create(ident, _instance.initializationData().defaultContext, "", + _instance.referenceFactory().create(ident, _instance.getDefaultContext(), "", IceInternal.Reference.ModeTwoway, arr); return _instance.proxyFactory().referenceToProxy(ref); } diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java index dfdef6b8ca0..9ccb667aff8 100644 --- a/java/src/IceInternal/Instance.java +++ b/java/src/IceInternal/Instance.java @@ -213,6 +213,35 @@ public final class Instance return _serverACM; } + public synchronized void + setDefaultContext(java.util.Map ctx) + { + if(_state == StateDestroyed) + { + throw new Ice.CommunicatorDestroyedException(); + } + + if(ctx == null || ctx.isEmpty()) + { + _defaultContext = _emptyContext; + } + else + { + _defaultContext = new java.util.HashMap(ctx); + } + } + + public synchronized java.util.Map + getDefaultContext() + { + if(_state == StateDestroyed) + { + throw new Ice.CommunicatorDestroyedException(); + } + + return new java.util.HashMap(_defaultContext); + } + public void flushBatchRequests() { @@ -395,7 +424,11 @@ public final class Instance if(_initData.defaultContext == null) { - _initData.defaultContext = _emptyContext; + _defaultContext = _emptyContext; + } + else + { + _defaultContext = _initData.defaultContext; } _outgoingConnectionFactory = new OutgoingConnectionFactory(this); @@ -678,6 +711,7 @@ public final class Instance private final int _threadPerConnectionStackSize; private EndpointFactoryManager _endpointFactoryManager; private Ice.PluginManager _pluginManager; + private java.util.Map _defaultContext; private static java.util.Map _emptyContext = new java.util.HashMap(); private static boolean _oneOffDone = false; diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java index fd124f1cce3..10c5915b680 100644 --- a/java/src/IceInternal/Reference.java +++ b/java/src/IceInternal/Reference.java @@ -52,7 +52,7 @@ public abstract class Reference implements Cloneable defaultContext() { Reference r = _instance.referenceFactory().copy(this); - r._context = _instance.initializationData().defaultContext; + r._context = _instance.getDefaultContext(); return r; } diff --git a/java/src/IceInternal/ReferenceFactory.java b/java/src/IceInternal/ReferenceFactory.java index 5ac28ee297a..450e357d970 100644 --- a/java/src/IceInternal/ReferenceFactory.java +++ b/java/src/IceInternal/ReferenceFactory.java @@ -390,7 +390,7 @@ public final class ReferenceFactory if(beg == -1) { - return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, "", routerInfo, + return create(ident, _instance.getDefaultContext(), facet, mode, secure, "", routerInfo, locatorInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization, _instance.defaultsAndOverrides().defaultLocatorCacheTimeout); } @@ -444,7 +444,7 @@ public final class ReferenceFactory EndpointI[] endp = new EndpointI[endpoints.size()]; endpoints.toArray(endp); - return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endp, routerInfo, + return create(ident, _instance.getDefaultContext(), facet, mode, secure, endp, routerInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization); } else if(s.charAt(beg) == '@') @@ -485,7 +485,7 @@ public final class ReferenceFactory throw e; } adapter = token.value; - return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, adapter, + return create(ident, _instance.getDefaultContext(), facet, mode, secure, adapter, routerInfo, locatorInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization, _instance.defaultsAndOverrides().defaultLocatorCacheTimeout); } @@ -548,14 +548,14 @@ public final class ReferenceFactory { endpoints[i] = _instance.endpointFactoryManager().read(s); } - return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endpoints, + return create(ident, _instance.getDefaultContext(), facet, mode, secure, endpoints, routerInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization); } else { endpoints = new EndpointI[0]; adapterId = s.readString(); - return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, + return create(ident, _instance.getDefaultContext(), facet, mode, secure, adapterId, routerInfo, locatorInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization, _instance.defaultsAndOverrides().defaultLocatorCacheTimeout); |