diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/CHANGES | 16 | ||||
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 18 |
2 files changed, 19 insertions, 15 deletions
diff --git a/java/CHANGES b/java/CHANGES index b6ff1abcea6..b4b9713eee4 100644 --- a/java/CHANGES +++ b/java/CHANGES @@ -1,9 +1,13 @@ Changes since version 1.5.1 --------------------------- -- Added the object adapter property <name>.PublishedEndpoints, - which specifies endpoints to advertise in proxies created - by the adapter. +- The proxy returned by the object adapter operations addFacet and + addFacetWithUUID did not contain the facet. This required the + application to make an extra call to ice_newFacet in order to + obtain the correct proxy. This has been fixed. + +- Added the object adapter property <name>.PublishedEndpoints, which + specifies endpoints to advertise in proxies created by the adapter. - Fixed a bug with AMD exception handling, where it was possible that certain exceptions propagate out of ice_response() or @@ -31,7 +35,7 @@ Changes since version 1.5.1 - Freeze dictionaries now support indices. You can index on the full value of the dictionary, or on a member (when the value is a struct or a class). When you index on a member, you can define several - indices (for different members). See the Freeze bench demo and the + indices (for different members). See the Freeze bench demo and the Freeze dbmap test for examples. - Fixed the slice2java compiler for operations with multiple @@ -98,7 +102,7 @@ Changes since version 1.5.1 void op(); } - This changes allows you to call an operation on a class without + This change allows you to call an operation on a class without having to supply a null dummy argument: Foo f = new FooI(); @@ -144,7 +148,7 @@ Changes since version 1.3.0 - Fixed a bug when making asynchronous invocations on a routed proxy. - Changed the way sequences are unmarshaled to protect against - malicous messages with faked very large sequence count values. + malicious messages with faked very large sequence count values. While even with previous versions of Ice, buffer overruns were impossible, malicious messages could cause large amounts of memory to be preallocated, causing the receiving process to run out of diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index 492c4aa3e66..940a0ae71c6 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -95,7 +95,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt Identity ident = new Identity(); ident.category = ""; ident.name = "dummy"; - locatorRegistry.setAdapterDirectProxy(_id, newDirectProxy(ident)); + locatorRegistry.setAdapterDirectProxy(_id, newDirectProxy(ident, "")); } catch(Ice.AdapterNotFoundException ex) { @@ -306,7 +306,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt _servantManager.addServant(object, id, facet); - return newProxy(id); + return newProxy(id, facet); } public ObjectPrx @@ -404,7 +404,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt checkForDeactivation(); checkIdentity(ident); - return newProxy(ident); + return newProxy(ident, ""); } public synchronized ObjectPrx @@ -413,7 +413,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt checkForDeactivation(); checkIdentity(ident); - return newDirectProxy(ident); + return newDirectProxy(ident, ""); } public synchronized ObjectPrx @@ -740,11 +740,11 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt } private ObjectPrx - newProxy(Identity ident) + newProxy(Identity ident, String facet) { if(_id.length() == 0) { - return newDirectProxy(ident); + return newDirectProxy(ident, facet); } else { @@ -755,7 +755,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt IceInternal.Endpoint[] endpoints = new IceInternal.Endpoint[0]; ConnectionI[] connections = new ConnectionI[0]; IceInternal.Reference reference = - _instance.referenceFactory().create(ident, new java.util.HashMap(), "", + _instance.referenceFactory().create(ident, new java.util.HashMap(), facet, IceInternal.Reference.ModeTwoway, false, _id, endpoints, null, _locatorInfo, connections, true); return _instance.proxyFactory().referenceToProxy(reference); @@ -763,7 +763,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt } private ObjectPrx - newDirectProxy(Identity ident) + newDirectProxy(Identity ident, String facet) { IceInternal.Endpoint[] endpoints; @@ -804,7 +804,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt // ConnectionI[] connections = new ConnectionI[0]; IceInternal.Reference reference = - _instance.referenceFactory().create(ident, new java.util.HashMap(), "", IceInternal.Reference.ModeTwoway, + _instance.referenceFactory().create(ident, new java.util.HashMap(), facet, IceInternal.Reference.ModeTwoway, false, "", endpoints, null, _locatorInfo, connections, true); return _instance.proxyFactory().referenceToProxy(reference); } |