summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-07-20 20:17:51 +0000
committerBernard Normier <bernard@zeroc.com>2006-07-20 20:17:51 +0000
commit55363a13e1c750b39db419c5312217b9256f1fec (patch)
tree76aa0e305ccd7a3db64e7e03703f74e2dadb0c34 /java/src
parentfile Communicator.cpp was initially added on branch R3_1_branch. (diff)
downloadice-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.java8
-rw-r--r--java/src/Ice/ConnectionI.java2
-rw-r--r--java/src/Ice/ObjectAdapterI.java2
-rw-r--r--java/src/IceInternal/Instance.java36
-rw-r--r--java/src/IceInternal/Reference.java2
-rw-r--r--java/src/IceInternal/ReferenceFactory.java10
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);