summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2013-01-16 13:03:45 +0100
committerBenoit Foucher <benoit@zeroc.com>2013-01-16 13:03:45 +0100
commit3a7e1fda55a94937c8b9504b116a8b9bc29239ca (patch)
treec93d574855c871d95b5806bdc817a3ba5c58541b /java/src
parentFixed ICE-5131 - parsing of -p <version> for proxies, tweaked UDP endpoint de... (diff)
downloadice-3a7e1fda55a94937c8b9504b116a8b9bc29239ca.tar.bz2
ice-3a7e1fda55a94937c8b9504b116a8b9bc29239ca.tar.xz
ice-3a7e1fda55a94937c8b9504b116a8b9bc29239ca.zip
Fixed ICE-5143 and ICE-5140: stringified proxy and default raw encoding for opaque endpoints
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/EndpointFactoryManager.java2
-rw-r--r--java/src/IceInternal/OpaqueEndpointI.java4
-rw-r--r--java/src/IceInternal/Reference.java18
3 files changed, 16 insertions, 8 deletions
diff --git a/java/src/IceInternal/EndpointFactoryManager.java b/java/src/IceInternal/EndpointFactoryManager.java
index b3c666c4c6a..a0bbfbc95fa 100644
--- a/java/src/IceInternal/EndpointFactoryManager.java
+++ b/java/src/IceInternal/EndpointFactoryManager.java
@@ -97,7 +97,7 @@ public final class EndpointFactoryManager
//
if(protocol.equals("opaque"))
{
- EndpointI ue = new OpaqueEndpointI(s.substring(m.end()));
+ EndpointI ue = new OpaqueEndpointI(s.substring(m.end()), _instance);
for(int i = 0; i < _factories.size(); i++)
{
EndpointFactory f = _factories.get(i);
diff --git a/java/src/IceInternal/OpaqueEndpointI.java b/java/src/IceInternal/OpaqueEndpointI.java
index 42a0d2da8b0..3821eecfcb9 100644
--- a/java/src/IceInternal/OpaqueEndpointI.java
+++ b/java/src/IceInternal/OpaqueEndpointI.java
@@ -12,11 +12,11 @@ package IceInternal;
final class OpaqueEndpointI extends EndpointI
{
public
- OpaqueEndpointI(String str)
+ OpaqueEndpointI(String str, Instance instance)
{
super("");
- _rawEncoding = Protocol.currentEncoding;
+ _rawEncoding = instance.defaultsAndOverrides().defaultEncoding;
int topt = 0;
int vopt = 0;
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java
index b750743c252..6b95a8fc920 100644
--- a/java/src/IceInternal/Reference.java
+++ b/java/src/IceInternal/Reference.java
@@ -363,15 +363,23 @@ public abstract class Reference implements Cloneable
if(!_protocol.equals(Ice.Util.Protocol_1_0))
{
+ //
+ // We only print the protocol if it's not 1.0. It's fine as
+ // long as we don't add Ice.Default.ProtocolVersion, a
+ // stringified proxy will convert back to the same proxy with
+ // stringToProxy.
+ //
s.append(" -p ");
s.append(Ice.Util.protocolVersionToString(_protocol));
}
- if(!_encoding.equals(Ice.Util.Encoding_1_0))
- {
- s.append(" -e ");
- s.append(Ice.Util.encodingVersionToString(_encoding));
- }
+ //
+ // Always print the encoding version to ensure a stringified proxy
+ // will convert back to a proxy with the same encoding with
+ // stringToProxy (and won't use Ice.Default.EncodingVersion).
+ //
+ s.append(" -e ");
+ s.append(Ice.Util.encodingVersionToString(_encoding));
return s.toString();