summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Glacier2/src/main/java/com/zeroc/Glacier2/SessionFactoryHelper.java2
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java4
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java2
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/Util.java21
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorObserverI.java6
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/Incoming.java4
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/Instance.java26
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/LocatorInfo.java12
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java5
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/Reference.java33
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/RoutableReference.java3
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/ServantManager.java18
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/TraceUtil.java10
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceUtilInternal/StringUtil.java375
-rw-r--r--java/src/IceBox/src/main/java/com/zeroc/IceBox/Admin.java4
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/AdapterEditor.java7
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PropertiesField.java4
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ReplicaGroupEditor.java6
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java6
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java2
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java12
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TableField.java2
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/ObjectObserverI.java2
-rw-r--r--java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/SessionKeeper.java12
24 files changed, 383 insertions, 195 deletions
diff --git a/java/src/Glacier2/src/main/java/com/zeroc/Glacier2/SessionFactoryHelper.java b/java/src/Glacier2/src/main/java/com/zeroc/Glacier2/SessionFactoryHelper.java
index f7b86f48c09..d7c293bd3c7 100644
--- a/java/src/Glacier2/src/main/java/com/zeroc/Glacier2/SessionFactoryHelper.java
+++ b/java/src/Glacier2/src/main/java/com/zeroc/Glacier2/SessionFactoryHelper.java
@@ -352,7 +352,7 @@ public class SessionFactoryHelper
{
StringBuilder sb = new StringBuilder();
sb.append("\"");
- sb.append(Util.identityToString(ident));
+ sb.append(Util.identityToString(ident, com.zeroc.Ice.ToStringMode.Unicode));
sb.append("\":");
sb.append(_protocol + " -p ");
sb.append(getPortInternal());
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
index 64ff934f6d4..035c6b39f15 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
@@ -74,11 +74,11 @@ public final class CommunicatorI implements Communicator
return Util.stringToIdentity(s);
}
- @Override @SuppressWarnings("deprecation")
+ @Override
public String
identityToString(Identity ident)
{
- return Util.identityToString(ident);
+ return Util.identityToString(ident, _instance.toStringMode());
}
@Override
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
index 61cf6d72537..2ae50796171 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
@@ -981,7 +981,7 @@ public final class ObjectAdapterI implements ObjectAdapter
if(_routerInfo.getAdapter() != null)
{
throw new AlreadyRegisteredException("object adapter with router",
- Util.identityToString(router.ice_getIdentity()));
+ _communicator.identityToString(router.ice_getIdentity()));
}
//
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java
index 20ec18f99bd..2cb75ec9cd0 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java
@@ -275,21 +275,36 @@ public final class Util
*
* @param ident The object identity to convert.
*
+ * @param toStringMode Specifies if and how non-printable ASCII characters are escaped in the result.
+ *
* @return The string representation of the object identity.
**/
- public static String identityToString(Identity ident)
+ public static String identityToString(Identity ident, ToStringMode toStringMode)
{
if(ident.category == null || ident.category.length() == 0)
{
- return StringUtil.escapeString(ident.name, "/");
+ return StringUtil.escapeString(ident.name, "/", toStringMode);
}
else
{
- return StringUtil.escapeString(ident.category, "/") + '/' + StringUtil.escapeString(ident.name, "/");
+ return StringUtil.escapeString(ident.category, "/", toStringMode) + '/' +
+ StringUtil.escapeString(ident.name, "/", toStringMode);
}
}
/**
+ * Converts an object identity to a string.
+ *
+ * @param ident The object identity to convert.
+ *
+ * @return The string representation of the object identity using the default mode (Unicode)
+ **/
+ public static String identityToString(Identity ident)
+ {
+ return identityToString(ident, ToStringMode.Unicode);
+ }
+
+ /**
* Compares the object identities of two proxies.
*
* @param lhs A proxy.
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorObserverI.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorObserverI.java
index d16ba494470..a3ffebca386 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorObserverI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorObserverI.java
@@ -320,7 +320,7 @@ public class CommunicatorObserverI implements com.zeroc.Ice.Instrumentation.Comm
public String
getIdentity()
{
- return com.zeroc.Ice.Util.identityToString(_current.id);
+ return _current.adapter.getCommunicator().identityToString(_current.id);
}
final private com.zeroc.Ice.Current _current;
@@ -429,7 +429,7 @@ public class CommunicatorObserverI implements com.zeroc.Ice.Instrumentation.Comm
catch(Exception ex)
{
// Either a fixed proxy or the communicator is destroyed.
- os.append(com.zeroc.Ice.Util.identityToString(_proxy.ice_getIdentity()));
+ os.append(_proxy.ice_getCommunicator().identityToString(_proxy.ice_getIdentity()));
os.append(" [").append(_operation).append(']');
}
_id = os.toString();
@@ -459,7 +459,7 @@ public class CommunicatorObserverI implements com.zeroc.Ice.Instrumentation.Comm
{
if(_proxy != null)
{
- return com.zeroc.Ice.Util.identityToString(_proxy.ice_getIdentity());
+ return _proxy.ice_getCommunicator().identityToString(_proxy.ice_getIdentity());
}
else
{
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Incoming.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Incoming.java
index 8929771e994..67941f3b1e5 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Incoming.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Incoming.java
@@ -533,8 +533,8 @@ final public class Incoming implements com.zeroc.Ice.Request
com.zeroc.IceUtilInternal.OutputBase out = new com.zeroc.IceUtilInternal.OutputBase(pw);
out.setUseTab(false);
out.print("dispatch exception:");
- out.print("\nidentity: " + Util.identityToString(_current.id));
- out.print("\nfacet: " + com.zeroc.IceUtilInternal.StringUtil.escapeString(_current.facet, ""));
+ out.print("\nidentity: " + Util.identityToString(_current.id, _instance.toStringMode()));
+ out.print("\nfacet: " + com.zeroc.IceUtilInternal.StringUtil.escapeString(_current.facet, "", _instance.toStringMode()));
out.print("\noperation: " + _current.operation);
if(_current.con != null)
{
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Instance.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Instance.java
index d4c3663560f..5bf70b1d2f6 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Instance.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Instance.java
@@ -390,6 +390,13 @@ public final class Instance implements com.zeroc.Ice.ClassResolver
return _batchAutoFlushSize;
}
+ public com.zeroc.Ice.ToStringMode
+ toStringMode()
+ {
+ // No mutex lock, immutable
+ return _toStringMode;
+ }
+
public int
cacheMessageBuffers()
{
@@ -1065,6 +1072,24 @@ public final class Instance implements com.zeroc.Ice.ClassResolver
}
}
+ String toStringModeStr = _initData.properties.getPropertyWithDefault("Ice.ToStringMode", "Unicode");
+ if(toStringModeStr.equals("Unicode"))
+ {
+ _toStringMode = com.zeroc.Ice.ToStringMode.Unicode;
+ }
+ else if(toStringModeStr.equals("ASCII"))
+ {
+ _toStringMode = com.zeroc.Ice.ToStringMode.ASCII;
+ }
+ else if(toStringModeStr.equals("Compat"))
+ {
+ _toStringMode = com.zeroc.Ice.ToStringMode.Compat;
+ }
+ else
+ {
+ throw new com.zeroc.Ice.InitializationException("The value for Ice.ToStringMode must be Unicode, ASCII or Compat");
+ }
+
_implicitContext =
com.zeroc.Ice.ImplicitContextI.create(_initData.properties.getProperty("Ice.ImplicitContext"));
@@ -1875,6 +1900,7 @@ public final class Instance implements com.zeroc.Ice.ClassResolver
private final DefaultsAndOverrides _defaultsAndOverrides; // Immutable, not reset by destroy().
private final int _messageSizeMax; // Immutable, not reset by destroy().
private final int _batchAutoFlushSize; // Immutable, not reset by destroy().
+ private final com.zeroc.Ice.ToStringMode _toStringMode; // Immutable, not reset by destroy().
private final int _cacheMessageBuffers; // Immutable, not reset by destroy().
private final ACMConfig _clientACM; // Immutable, not reset by destroy().
private final ACMConfig _serverACM; // Immutable, not reset by destroy().
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/LocatorInfo.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/LocatorInfo.java
index f363157b13a..8e5cc8974ce 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/LocatorInfo.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/LocatorInfo.java
@@ -462,7 +462,7 @@ public final class LocatorInfo
else
{
s.append("object = ");
- s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity()));
+ s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity(), ref.getInstance().toStringMode()));
s.append("\n");
}
@@ -514,13 +514,13 @@ public final class LocatorInfo
StringBuilder s = new StringBuilder(128);
s.append("object not found\n");
s.append("object = ");
- s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity()));
+ s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity(), instance.toStringMode()));
instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
com.zeroc.Ice.NotRegisteredException e = new com.zeroc.Ice.NotRegisteredException();
e.kindOfObject = "object";
- e.id = com.zeroc.Ice.Util.identityToString(ref.getIdentity());
+ e.id = com.zeroc.Ice.Util.identityToString(ref.getIdentity(), instance.toStringMode());
throw e;
}
catch(com.zeroc.Ice.NotRegisteredException ex)
@@ -543,7 +543,7 @@ public final class LocatorInfo
else
{
s.append("object = ");
- s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity()));
+ s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity(), instance.toStringMode()));
s.append("\n");
}
s.append("reason = " + ex);
@@ -587,7 +587,7 @@ public final class LocatorInfo
{
s.append("object\n");
s.append("object = ");
- s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity()));
+ s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity(), instance.toStringMode()));
s.append("\n");
}
instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
@@ -626,7 +626,7 @@ public final class LocatorInfo
StringBuilder s = new StringBuilder(128);
s.append("searching for object by id\n");
s.append("object = ");
- s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity()));
+ s.append(com.zeroc.Ice.Util.identityToString(ref.getIdentity(), instance.toStringMode()));
instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java
index 45647f08494..46750aa5e7a 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java
@@ -6,7 +6,7 @@
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
-// Generated by makeprops.py from file ..\config\PropertyNames.xml, Fri Jul 15 14:02:34 2016
+// Generated by makeprops.py from file PropertyNames.xml, Tue Oct 18 11:38:54 2016
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -165,6 +165,7 @@ public final class PropertyNames
new Property("Ice\\.ThreadPool\\.Server\\.ThreadIdleTime", false, null),
new Property("Ice\\.ThreadPool\\.Server\\.ThreadPriority", false, null),
new Property("Ice\\.ThreadPriority", false, null),
+ new Property("Ice\\.ToStringMode", false, null),
new Property("Ice\\.Trace\\.Admin\\.Properties", false, null),
new Property("Ice\\.Trace\\.Admin\\.Logger", false, null),
new Property("Ice\\.Trace\\.Locator", false, null),
@@ -980,7 +981,7 @@ public final class PropertyNames
new Property("IceSSL\\.DHParams", false, null),
new Property("IceSSL\\.EntropyDaemon", false, null),
new Property("IceSSL\\.FindCert", false, null),
- new Property("IceSSL\\.FindCert\\.[^\\s]+", true, "IceSSL.FindCert"),
+ new Property("IceSSL\\.FindCert\\.[^\\s]+", true, null),
new Property("IceSSL\\.InitOpenSSL", false, null),
new Property("IceSSL\\.KeyFile", true, null),
new Property("IceSSL\\.Keychain", false, null),
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Reference.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Reference.java
index e8420c9c6f7..2b2d2fc12e0 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/Reference.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/Reference.java
@@ -306,13 +306,18 @@ public abstract class Reference implements Cloneable
//
StringBuilder s = new StringBuilder(128);
+ com.zeroc.Ice.ToStringMode toStringMode = _instance.toStringMode();
+ final String separators = " :@";
+
+ String id = com.zeroc.Ice.Util.identityToString(_identity, toStringMode);
+
//
// If the encoded identity string contains characters which
// the reference parser uses as separators, then we enclose
// the identity string in quotes.
//
- String id = com.zeroc.Ice.Util.identityToString(_identity);
- if(com.zeroc.IceUtilInternal.StringUtil.findFirstOf(id, " :@") != -1)
+
+ if(com.zeroc.IceUtilInternal.StringUtil.findFirstOf(id, separators) != -1)
{
s.append('"');
s.append(id);
@@ -331,8 +336,8 @@ public abstract class Reference implements Cloneable
// the facet string in quotes.
//
s.append(" -f ");
- String fs = com.zeroc.IceUtilInternal.StringUtil.escapeString(_facet, "");
- if(com.zeroc.IceUtilInternal.StringUtil.findFirstOf(fs, " :@") != -1)
+ String fs = com.zeroc.IceUtilInternal.StringUtil.escapeString(_facet, "", toStringMode);
+ if(com.zeroc.IceUtilInternal.StringUtil.findFirstOf(fs, separators) != -1)
{
s.append('"');
s.append(fs);
@@ -481,16 +486,16 @@ public abstract class Reference implements Cloneable
@Override
public Reference clone()
{
- Reference c = null;
- try
- {
- c = (Reference)super.clone();
- }
- catch(CloneNotSupportedException ex)
- {
- assert false;
- }
- return c;
+ Reference c = null;
+ try
+ {
+ c = (Reference)super.clone();
+ }
+ catch(CloneNotSupportedException ex)
+ {
+ assert false;
+ }
+ return c;
}
protected int _hashValue;
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/RoutableReference.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/RoutableReference.java
index b383011df95..4600da1e9d3 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/RoutableReference.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/RoutableReference.java
@@ -353,7 +353,8 @@ public class RoutableReference extends Reference
// the reference parser uses as separators, then we enclose
// the adapter id string in quotes.
//
- String a = com.zeroc.IceUtilInternal.StringUtil.escapeString(_adapterId, null);
+
+ String a = com.zeroc.IceUtilInternal.StringUtil.escapeString(_adapterId, null, getInstance().toStringMode());
if(com.zeroc.IceUtilInternal.StringUtil.findFirstOf(a, " :@") != -1)
{
s.append('"');
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ServantManager.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ServantManager.java
index d83dfb8e141..badc3786f45 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ServantManager.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ServantManager.java
@@ -32,11 +32,12 @@ public final class ServantManager
if(m.containsKey(facet))
{
com.zeroc.Ice.AlreadyRegisteredException ex = new com.zeroc.Ice.AlreadyRegisteredException();
- ex.id = com.zeroc.Ice.Util.identityToString(ident);
+ ex.id = com.zeroc.Ice.Util.identityToString(ident, _instance.toStringMode());
ex.kindOfObject = "servant";
if(facet.length() > 0)
{
- ex.id += " -f " + com.zeroc.IceUtilInternal.StringUtil.escapeString(facet, "");
+ ex.id += " -f " + com.zeroc.IceUtilInternal.StringUtil.escapeString(facet, "",
+ _instance.toStringMode());
}
throw ex;
}
@@ -77,11 +78,12 @@ public final class ServantManager
if(m == null || (obj = m.remove(facet)) == null)
{
com.zeroc.Ice.NotRegisteredException ex = new com.zeroc.Ice.NotRegisteredException();
- ex.id = com.zeroc.Ice.Util.identityToString(ident);
+ ex.id = com.zeroc.Ice.Util.identityToString(ident, _instance.toStringMode());
ex.kindOfObject = "servant";
if(facet.length() > 0)
{
- ex.id += " -f " + com.zeroc.IceUtilInternal.StringUtil.escapeString(facet, "");
+ ex.id += " -f " + com.zeroc.IceUtilInternal.StringUtil.escapeString(facet, "",
+ _instance.toStringMode());
}
throw ex;
}
@@ -120,7 +122,7 @@ public final class ServantManager
if(m == null)
{
com.zeroc.Ice.NotRegisteredException ex = new com.zeroc.Ice.NotRegisteredException();
- ex.id = com.zeroc.Ice.Util.identityToString(ident);
+ ex.id = com.zeroc.Ice.Util.identityToString(ident, _instance.toStringMode());
ex.kindOfObject = "servant";
throw ex;
}
@@ -218,7 +220,8 @@ public final class ServantManager
if(l != null)
{
com.zeroc.Ice.AlreadyRegisteredException ex = new com.zeroc.Ice.AlreadyRegisteredException();
- ex.id = com.zeroc.IceUtilInternal.StringUtil.escapeString(category, "");
+ ex.id = com.zeroc.IceUtilInternal.StringUtil.escapeString(category, "",
+ _instance.toStringMode());
ex.kindOfObject = "servant locator";
throw ex;
}
@@ -236,7 +239,8 @@ public final class ServantManager
if(l == null)
{
com.zeroc.Ice.NotRegisteredException ex = new com.zeroc.Ice.NotRegisteredException();
- ex.id = com.zeroc.IceUtilInternal.StringUtil.escapeString(category, "");
+ ex.id = com.zeroc.IceUtilInternal.StringUtil.escapeString(category, "",
+ _instance.toStringMode());
ex.kindOfObject = "servant locator";
throw ex;
}
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/TraceUtil.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/TraceUtil.java
index 4798d1be659..36b60e57168 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/TraceUtil.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/TraceUtil.java
@@ -168,14 +168,20 @@ public final class TraceUtil
{
try
{
+ com.zeroc.Ice.ToStringMode toStringMode = com.zeroc.Ice.ToStringMode.Unicode;
+ if(stream.instance() != null)
+ {
+ toStringMode = stream.instance().toStringMode();
+ }
+
com.zeroc.Ice.Identity identity = com.zeroc.Ice.Identity.read(stream, null);
- out.write("\nidentity = " + com.zeroc.Ice.Util.identityToString(identity));
+ out.write("\nidentity = " + com.zeroc.Ice.Util.identityToString(identity, toStringMode));
String[] facet = stream.readStringSeq();
out.write("\nfacet = ");
if(facet.length > 0)
{
- out.write(com.zeroc.IceUtilInternal.StringUtil.escapeString(facet[0], ""));
+ out.write(com.zeroc.IceUtilInternal.StringUtil.escapeString(facet[0], "", toStringMode));
}
String operation = stream.readString();
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceUtilInternal/StringUtil.java b/java/src/Ice/src/main/java/com/zeroc/IceUtilInternal/StringUtil.java
index cf6de757a9c..782c352c218 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceUtilInternal/StringUtil.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceUtilInternal/StringUtil.java
@@ -75,97 +75,119 @@ public final class StringUtil
return -1;
}
- //
- // Write the byte b as an escape sequence if it isn't a printable ASCII
- // character and append the escape sequence to sb. Additional characters
- // that should be escaped can be passed in special. If b is any of these
- // characters, b is preceded by a backslash in sb.
- //
private static void
- encodeChar(byte b, StringBuilder sb, String special)
+ encodeChar(char c, StringBuilder sb, String special, com.zeroc.Ice.ToStringMode toStringMode)
{
- switch(b)
+ switch(c)
{
- case (byte)'\\':
+ case '\\':
{
sb.append("\\\\");
break;
}
- case (byte)'\'':
+ case '\'':
{
sb.append("\\'");
break;
}
- case (byte)'"':
+ case '"':
{
sb.append("\\\"");
break;
}
- case (byte)'\b':
+ case '\b':
{
sb.append("\\b");
break;
}
- case (byte)'\f':
+ case '\f':
{
sb.append("\\f");
break;
}
- case (byte)'\n':
+ case '\n':
{
sb.append("\\n");
break;
}
- case (byte)'\r':
+ case '\r':
{
sb.append("\\r");
break;
}
- case (byte)'\t':
+ case '\t':
{
sb.append("\\t");
break;
}
default:
{
- if(!(b >= 32 && b <= 126))
- {
- sb.append('\\');
- String octal = Integer.toOctalString(b < 0 ? b + 256 : b);
- //
- // Add leading zeroes so that we avoid problems during
- // decoding. For example, consider the encoded string
- // \0013 (i.e., a character with value 1 followed by
- // the character '3'). If the leading zeroes were omitted,
- // the result would be incorrectly interpreted by the
- // decoder as a single character with value 11.
- //
- for(int j = octal.length(); j < 3; j++)
- {
- sb.append('0');
- }
- sb.append(octal);
- }
- else if(special != null && special.indexOf((char)b) != -1)
+ if(special != null && special.indexOf(c) != -1)
{
sb.append('\\');
- sb.append((char)b);
+ sb.append(c);
}
else
{
- sb.append((char)b);
+ if(c < 32 || c > 126)
+ {
+ if(toStringMode == com.zeroc.Ice.ToStringMode.Compat)
+ {
+ //
+ // When ToStringMode=Compat, c is a UTF-8 byte
+ //
+ assert(c < 256);
+
+ sb.append('\\');
+ String octal = Integer.toOctalString(c);
+ //
+ // Add leading zeroes so that we avoid problems during
+ // decoding. For example, consider the encoded string
+ // \0013 (i.e., a character with value 1 followed by
+ // the character '3'). If the leading zeroes were omitted,
+ // the result would be incorrectly interpreted by the
+ // decoder as a single character with value 11.
+ //
+ for(int j = octal.length(); j < 3; j++)
+ {
+ sb.append('0');
+ }
+ sb.append(octal);
+ }
+ else if(c < 32 || c == 127 || toStringMode == com.zeroc.Ice.ToStringMode.ASCII)
+ {
+ // append \\unnnn
+ sb.append("\\u");
+ String hex = Integer.toHexString(c);
+ for(int j = hex.length(); j < 4; j++)
+ {
+ sb.append('0');
+ }
+ sb.append(hex);
+ }
+ else
+ {
+ // keep as is
+ sb.append(c);
+ }
+ }
+ else
+ {
+ // printable ASCII character
+ sb.append(c);
+ }
}
+ break;
}
}
}
//
- // Add escape sequences (such as "\n", or "\007") to make a string
- // readable in ASCII. Any characters that appear in special are
- // prefixed with a backlash in the returned string.
+ // Add escape sequences (like "\n" to the input string)
+ // The second parameter adds characters to escape, and can be empty.
//
public static String
- escapeString(String s, String special)
+ escapeString(String s, String special, com.zeroc.Ice.ToStringMode toStringMode)
{
if(special != null)
{
@@ -178,31 +200,72 @@ public final class StringUtil
}
}
- byte[] bytes = null;
- try
+ if(toStringMode == com.zeroc.Ice.ToStringMode.Compat)
{
- bytes = s.getBytes("UTF8");
+ // Encode UTF-8 bytes
+
+ byte[] bytes = null;
+ try
+ {
+ bytes = s.getBytes("UTF8");
+ }
+ catch(java.io.UnsupportedEncodingException ex)
+ {
+ assert(false);
+ return null;
+ }
+
+ StringBuilder result = new StringBuilder(bytes.length);
+ for(int i = 0; i < bytes.length; i++)
+ {
+ encodeChar((char)(bytes[i] & 0xFF), result, special, toStringMode);
+ }
+
+ return result.toString();
}
- catch(java.io.UnsupportedEncodingException ex)
+ else
{
- assert(false);
- return null;
- }
+ StringBuilder result = new StringBuilder(s.length());
- StringBuilder result = new StringBuilder(bytes.length);
- for(int i = 0; i < bytes.length; i++)
- {
- encodeChar(bytes[i], result, special);
- }
+ for(int i = 0; i < s.length(); i++)
+ {
+ char c = s.charAt(i);
+ if(toStringMode == com.zeroc.Ice.ToStringMode.Unicode || !Character.isSurrogate(c))
+ {
+ encodeChar(c, result, special, toStringMode);
+ }
+ else
+ {
+ assert(toStringMode == com.zeroc.Ice.ToStringMode.ASCII && Character.isSurrogate(c));
+ if(i + 1 == s.length())
+ {
+ throw new IllegalArgumentException("High surrogate without low surrogate");
+ }
+ else
+ {
+ i++;
+ int codePoint = Character.toCodePoint(c, s.charAt(i));
+ // append \Unnnnnnnn
+ result.append("\\U");
+ String hex = Integer.toHexString(codePoint);
+ for(int j = hex.length(); j < 8; j++)
+ {
+ result.append('0');
+ }
+ result.append(hex);
+ }
+ }
+ }
- return result.toString();
+ return result.toString();
+ }
}
private static char
checkChar(String s, int pos)
{
char c = s.charAt(pos);
- if(!(c >= 32 && c <= 126))
+ if(c < 32 || c == 127)
{
String msg;
if(pos > 0)
@@ -213,42 +276,27 @@ public final class StringUtil
{
msg = "first character";
}
- msg += " is not a printable ASCII character (ordinal " + (int)c + ")";
+ msg += " has invalid ordinal value " + (int)c;
throw new IllegalArgumentException(msg);
}
return c;
}
- static class Holder<T>
- {
- public Holder()
- {
- }
-
- public Holder(T value)
- {
- this.value = value;
- }
-
- public T value;
- }
-
//
- // Decode the character or escape sequence starting at start and return it.
- // newStart is set to the index of the first character following the decoded character
+ // Decode the character or escape sequence starting at start and appends it to result;
+ // returns the index of the first character following the decoded character
// or escape sequence.
//
- private static char decodeChar(String s, int start, int end, Holder<Integer> nextStart)
+ private static int
+ decodeChar(String s, int start, int end, StringBuilder result)
{
assert(start >= 0);
assert(start < end);
assert(end <= s.length());
- char c;
-
if(s.charAt(start) != '\\')
{
- c = checkChar(s, start++);
+ result.append(checkChar(s, start++));
}
else
{
@@ -256,45 +304,98 @@ public final class StringUtil
{
throw new IllegalArgumentException("trailing backslash");
}
- switch(s.charAt(++start))
+
+ char c = s.charAt(++start);
+
+ switch(c)
{
case '\\':
case '\'':
case '"':
{
- c = s.charAt(start++);
+ ++start;
+ result.append(c);
break;
}
case 'b':
{
++start;
- c = '\b';
+ result.append('\b');
break;
}
case 'f':
{
++start;
- c = '\f';
+ result.append('\f');
break;
}
case 'n':
{
++start;
- c = '\n';
+ result.append('\n');
break;
}
case 'r':
{
++start;
- c = '\r';
+ result.append('\r');
break;
}
case 't':
{
++start;
- c = '\t';
+ result.append('\t');
+ break;
+ }
+ case 'u':
+ case 'U':
+ {
+ int codePoint = 0;
+ boolean inBMP = (c == 'u');
+ int size = inBMP ? 4 : 8;
+ ++start;
+ while(size > 0 && start < end)
+ {
+ c = s.charAt(start++);
+ int charVal = 0;
+ if(c >= '0' && c <= '9')
+ {
+ charVal = c - '0';
+ }
+ else if(c >= 'a' && c <= 'f')
+ {
+ charVal = 10 + (c - 'a');
+ }
+ else if(c >= 'A' && c <= 'F')
+ {
+ charVal = 10 + (c - 'A');
+ }
+ else
+ {
+ break; // while
+ }
+ codePoint = codePoint * 16 + charVal;
+ --size;
+ }
+ if(size > 0)
+ {
+ throw new IllegalArgumentException("Invalid universal character name: too few hex digits");
+ }
+ if(inBMP && Character.isSurrogate((char)codePoint))
+ {
+ throw new IllegalArgumentException("A non-BMP character cannot be encoded with \\unnnn, use \\Unnnnnnnn instead");
+ }
+ if(inBMP || Character.isBmpCodePoint(codePoint))
+ {
+ result.append((char)codePoint);
+ }
+ else
+ {
+ result.append(Character.toChars(codePoint));
+ }
break;
}
+
case '0':
case '1':
case '2':
@@ -304,49 +405,71 @@ public final class StringUtil
case '6':
case '7':
{
- int val = 0;
- for(int j = 0; j < 3 && start < end; ++j)
+ // UTF-8 byte sequence encoded with octal escapes
+
+ byte[] arr = new byte[end - start];
+ int i = 0;
+ boolean done = false;
+ while(!done)
{
- int charVal = s.charAt(start++) - '0';
- if(charVal < 0 || charVal > 7)
+ int val = 0;
+ for(int j = 0; j < 3 && start < end; ++j)
{
- --start;
- break;
+ int charVal = s.charAt(start++) - '0';
+ if(charVal < 0 || charVal > 7)
+ {
+ --start;
+ if(j == 0)
+ {
+ // first character after escape is not 0-7:
+ done = true;
+ --start; // go back to the previous backslash
+ }
+ break; // for
+ }
+ val = val * 8 + charVal;
+ }
+
+ if(!done)
+ {
+ if(val > 255)
+ {
+ String msg = "octal value \\" + Integer.toOctalString(val) + " (" + val + ") is out of range";
+ throw new IllegalArgumentException(msg);
+ }
+ arr[i++] = (byte)val;
+
+ if((start + 1 < end) && s.charAt(start) == '\\')
+ {
+ start++;
+ // loop, read next octal escape sequence
+ }
+ else
+ {
+ done = true;
+ }
}
- val = val * 8 + charVal;
}
- if(val > 255)
+
+ try
{
- String msg = "octal value \\" + Integer.toOctalString(val) + " (" + val + ") is out of range";
- throw new IllegalArgumentException(msg);
+ result.append(new String(arr, 0, i, "UTF8"));
+ }
+ catch(java.io.UnsupportedEncodingException ex)
+ {
+ throw new IllegalArgumentException("unsupported encoding", ex);
}
- c = (char)val;
break;
}
default:
{
- c = checkChar(s, start++);
+ result.append(checkChar(s, start++));
break;
}
}
}
- nextStart.value = start;
- return c;
- }
- //
- // Remove escape sequences from s and append the result to sb.
- // Return true if successful, false otherwise.
- //
- private static void
- decodeString(String s, int start, int end, StringBuilder sb)
- {
- Holder<Integer> nextStart = new Holder<>();
- while(start < end)
- {
- sb.append(decodeChar(s, start, end, nextStart));
- start = nextStart.value;
- }
+ return start;
}
//
@@ -358,23 +481,25 @@ public final class StringUtil
{
assert(start >= 0 && start <= end && end <= s.length());
- StringBuilder sb = new StringBuilder(end - start);
- decodeString(s, start, end, sb);
- String decodedString = sb.toString();
-
- byte[] arr = new byte[decodedString.length()];
- for(int i = 0; i < arr.length; ++i)
+ // Optimization for strings without escapes
+ int p = s.indexOf('\\', start);
+ if(p == -1 || p >= end)
{
- arr[i] = (byte)decodedString.charAt(i);
- }
-
- try
- {
- return new String(arr, 0, arr.length, "UTF8");
+ p = start;
+ while(p < end)
+ {
+ checkChar(s, p++);
+ }
+ return s.substring(start, end);
}
- catch(java.io.UnsupportedEncodingException ex)
+ else
{
- throw new IllegalArgumentException("unsupported encoding", ex);
+ StringBuilder sb = new StringBuilder(end - start);
+ while(start < end)
+ {
+ start = decodeChar(s, start, end, sb);
+ }
+ return sb.toString();
}
}
diff --git a/java/src/IceBox/src/main/java/com/zeroc/IceBox/Admin.java b/java/src/IceBox/src/main/java/com/zeroc/IceBox/Admin.java
index ace16b7d0b7..6f1645bb53b 100644
--- a/java/src/IceBox/src/main/java/com/zeroc/IceBox/Admin.java
+++ b/java/src/IceBox/src/main/java/com/zeroc/IceBox/Admin.java
@@ -82,7 +82,7 @@ public final class Admin
return 1;
}
- managerProxy = "\"" + com.zeroc.Ice.Util.identityToString(managerIdentity) + "\" :" +
+ managerProxy = "\"" + communicator().identityToString(managerIdentity) + "\" :" +
managerEndpoints;
}
else
@@ -94,7 +94,7 @@ public final class Admin
return 1;
}
- managerProxy = "\"" + com.zeroc.Ice.Util.identityToString(managerIdentity) + "\" @" +
+ managerProxy = "\"" + communicator().identityToString(managerIdentity) + "\" @" +
managerAdapterId;
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/AdapterEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/AdapterEditor.java
index 6b2477854f8..20415fa116f 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/AdapterEditor.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/AdapterEditor.java
@@ -575,9 +575,11 @@ class AdapterEditor extends CommunicatorChildEditor
private java.util.Map<String, String[]> objectDescriptorSeqToMap(java.util.List<ObjectDescriptor> objects)
{
java.util.Map<String, String[]> result = new java.util.TreeMap<>();
+ com.zeroc.Ice.Communicator communicator = getAdapter().getRoot().getCoordinator().getCommunicator();
+
for(ObjectDescriptor p : objects)
{
- String k = com.zeroc.Ice.Util.identityToString(p.id);
+ String k = communicator.identityToString(p.id);
result.put(k, new String[]{p.type, getAdapter().lookupPropertyValue(k),p.proxyOptions});
}
return result;
@@ -587,11 +589,12 @@ class AdapterEditor extends CommunicatorChildEditor
{
String badIdentities = "";
java.util.LinkedList<ObjectDescriptor> result = new java.util.LinkedList<>();
+ com.zeroc.Ice.Communicator communicator = getAdapter().getRoot().getCoordinator().getCommunicator();
for(java.util.Map.Entry<String, String[]> p : map.entrySet())
{
try
{
- com.zeroc.Ice.Identity id = com.zeroc.Ice.Util.stringToIdentity(p.getKey());
+ com.zeroc.Ice.Identity id = communicator.stringToIdentity(p.getKey());
String[] val = p.getValue();
result.add(new ObjectDescriptor(id, val[0], val[2]));
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PropertiesField.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PropertiesField.java
index 782c476376e..cb6ad3998f0 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PropertiesField.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PropertiesField.java
@@ -111,11 +111,11 @@ public class PropertiesField extends JTable
for(ObjectDescriptor q : p.objects)
{
- hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id));
+ hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id, com.zeroc.Ice.ToStringMode.Unicode));
}
for(ObjectDescriptor q : p.allocatables)
{
- hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id));
+ hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id, com.zeroc.Ice.ToStringMode.Unicode));
}
}
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ReplicaGroupEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ReplicaGroupEditor.java
index 4f1642b15e8..c81585473f1 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ReplicaGroupEditor.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ReplicaGroupEditor.java
@@ -422,9 +422,10 @@ class ReplicaGroupEditor extends Editor
private java.util.Map<String, String[]> objectDescriptorSeqToMap(java.util.List<ObjectDescriptor> objects)
{
java.util.Map<String, String[]> result = new java.util.TreeMap<>();
+ com.zeroc.Ice.Communicator communicator = _target.getCoordinator().getCommunicator();
for(ObjectDescriptor p : objects)
{
- result.put(com.zeroc.Ice.Util.identityToString(p.id), new String[]{p.type, p.proxyOptions});
+ result.put(communicator.identityToString(p.id), new String[]{p.type, p.proxyOptions});
}
return result;
}
@@ -433,12 +434,13 @@ class ReplicaGroupEditor extends Editor
{
String badIdentities = "";
java.util.LinkedList<ObjectDescriptor> result = new java.util.LinkedList<>();
+ com.zeroc.Ice.Communicator communicator = _target.getCoordinator().getCommunicator();
for(java.util.Map.Entry<String, String[]> p : map.entrySet())
{
try
{
- com.zeroc.Ice.Identity id = com.zeroc.Ice.Util.stringToIdentity(p.getKey());
+ com.zeroc.Ice.Identity id = communicator.stringToIdentity(p.getKey());
String[] val = p.getValue();
result.add(new ObjectDescriptor(id, val[0], val[1]));
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java
index f8276f2dc2c..56dd18e634e 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java
@@ -140,11 +140,11 @@ public abstract class TreeNode extends TreeNodeBase
for(ObjectDescriptor q : p.objects)
{
- hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id));
+ hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id, com.zeroc.Ice.ToStringMode.Unicode));
}
for(ObjectDescriptor q : p.allocatables)
{
- hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id));
+ hiddenPropertyValues.add(com.zeroc.Ice.Util.identityToString(q.id, com.zeroc.Ice.ToStringMode.Unicode));
}
}
}
@@ -261,7 +261,7 @@ public abstract class TreeNode extends TreeNodeBase
for(ObjectDescriptor p : objects)
{
java.util.List<String[]> attributes = new java.util.LinkedList<>();
- String strId = com.zeroc.Ice.Util.identityToString(p.id);
+ String strId = com.zeroc.Ice.Util.identityToString(p.id, com.zeroc.Ice.ToStringMode.Unicode);
attributes.add(createAttribute("identity", strId));
if(p.type.length() > 0)
{
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java
index 8bbd0625ac1..c35d5e3608f 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java
@@ -2014,7 +2014,7 @@ public class Coordinator
masterRegistryId.name = "Registry";
cb.setRegistry(RegistryPrx.uncheckedCast(_communicator.stringToProxy(
- "\"" + com.zeroc.Ice.Util.identityToString(masterRegistryId) +
+ "\"" + _communicator.identityToString(masterRegistryId) +
"\"")));
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java
index 277e5c34a56..c0f646fa74f 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java
@@ -600,23 +600,23 @@ public class Root extends ListArrayTreeNode
{
for(ObjectInfo info : objects)
{
- _objects.put(com.zeroc.Ice.Util.identityToString(info.proxy.ice_getIdentity()), info);
+ _objects.put(info.proxy.ice_getCommunicator().identityToString(info.proxy.ice_getIdentity()), info);
}
}
public void objectAdded(ObjectInfo info)
{
- _objects.put(com.zeroc.Ice.Util.identityToString(info.proxy.ice_getIdentity()), info);
+ _objects.put(info.proxy.ice_getCommunicator().identityToString(info.proxy.ice_getIdentity()), info);
}
public void objectUpdated(ObjectInfo info)
{
- _objects.put(com.zeroc.Ice.Util.identityToString(info.proxy.ice_getIdentity()), info);
+ _objects.put(info.proxy.ice_getCommunicator().identityToString(info.proxy.ice_getIdentity()), info);
}
public void objectRemoved(com.zeroc.Ice.Identity id)
{
- _objects.remove(com.zeroc.Ice.Util.identityToString(id));
+ _objects.remove(_coordinator.getCommunicator().identityToString(id));
}
//
@@ -836,7 +836,7 @@ public class Root extends ListArrayTreeNode
JOptionPane.ERROR_MESSAGE);
}
- String strIdentity = com.zeroc.Ice.Util.identityToString(proxy.ice_getIdentity());
+ String strIdentity = _coordinator.getCommunicator().identityToString(proxy.ice_getIdentity());
final String prefix = "Adding well-known object '" + strIdentity + "'...";
final AdminPrx admin = _coordinator.getAdmin();
@@ -887,7 +887,7 @@ public class Root extends ListArrayTreeNode
{
com.zeroc.Ice.ObjectPrx proxy = _coordinator.getCommunicator().stringToProxy(strProxy);
com.zeroc.Ice.Identity identity = proxy.ice_getIdentity();
- final String strIdentity = com.zeroc.Ice.Util.identityToString(identity);
+ final String strIdentity = _coordinator.getCommunicator().identityToString(identity);
final String prefix = "Removing well-known object '" + strIdentity + "'...";
final String errorTitle = "Failed to remove object '" + strIdentity + "'";
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TableField.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TableField.java
index 77ac0980e60..8bb4a53393d 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TableField.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TableField.java
@@ -77,7 +77,7 @@ public class TableField extends JTable
{
com.zeroc.Ice.Identity id =
new com.zeroc.Ice.Identity(resolver.substitute(p.id.name), resolver.substitute(p.id.category));
- map.put(com.zeroc.Ice.Util.identityToString(id), resolver.substitute(p.type));
+ map.put(com.zeroc.Ice.Util.identityToString(id, com.zeroc.Ice.ToStringMode.Unicode), resolver.substitute(p.type));
}
setSortedMap(map);
}
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/ObjectObserverI.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/ObjectObserverI.java
index f68074429f7..7d80cf457fb 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/ObjectObserverI.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/ObjectObserverI.java
@@ -71,7 +71,7 @@ class ObjectObserverI implements ObjectObserver
{
if(_trace)
{
- _coordinator.traceObserver("objectRemoved for object " + com.zeroc.Ice.Util.identityToString(id));
+ _coordinator.traceObserver("objectRemoved for object " + _coordinator.getCommunicator().identityToString(id));
}
SwingUtilities.invokeLater(() -> _coordinator.objectRemoved(id));
diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/SessionKeeper.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/SessionKeeper.java
index 53d4f2a83ca..e6da2e4b8b6 100644
--- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/SessionKeeper.java
+++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/SessionKeeper.java
@@ -1114,7 +1114,7 @@ public class SessionKeeper
{
com.zeroc.Ice.LocatorPrx prx = com.zeroc.Ice.LocatorPrx.uncheckedCast(
communicator.stringToProxy(
- com.zeroc.Ice.Util.identityToString(locator.ice_getIdentity()) +
+ communicator.identityToString(locator.ice_getIdentity()) +
":" + e.toString()));
if(_directDiscoveryEndpointModel.indexOf(prx) == -1)
@@ -2226,7 +2226,7 @@ public class SessionKeeper
id.name = "Locator";
id.category = _directInstanceName.getText();
StringBuilder endpoint = new StringBuilder();
- endpoint.append(com.zeroc.Ice.Util.identityToString(id));
+ endpoint.append(_coordinator.getCommunicator().identityToString(id));
endpoint.append(":");
endpoint.append(_directCustomEndpointValue.getText());
_coordinator.getCommunicator().stringToProxy(endpoint.toString());
@@ -2283,7 +2283,7 @@ public class SessionKeeper
id.name = "router";
id.category = _routedInstanceName.getText();
StringBuilder endpoint = new StringBuilder();
- endpoint.append(com.zeroc.Ice.Util.identityToString(id));
+ endpoint.append(_coordinator.getCommunicator().identityToString(id));
endpoint.append(":");
endpoint.append(_routedCustomEndpointValue.getText());
_coordinator.getCommunicator().stringToProxy(endpoint.toString());
@@ -3125,7 +3125,7 @@ public class SessionKeeper
id.name = "Locator";
id.category = _directInstanceName.getText();
StringBuilder endpoint = new StringBuilder();
- endpoint.append(com.zeroc.Ice.Util.identityToString(id));
+ endpoint.append(_coordinator.getCommunicator().identityToString(id));
endpoint.append(":");
endpoint.append(_directCustomEndpointValue.getText());
return containsSecureEndpoints(endpoint.toString());
@@ -3143,7 +3143,7 @@ public class SessionKeeper
id.name = "router";
id.category = _routedInstanceName.getText();
StringBuilder endpoint = new StringBuilder();
- endpoint.append(com.zeroc.Ice.Util.identityToString(id));
+ endpoint.append(_coordinator.getCommunicator().identityToString(id));
endpoint.append(":");
endpoint.append(_routedCustomEndpointValue.getText());
return containsSecureEndpoints(endpoint.toString());
@@ -3335,7 +3335,7 @@ public class SessionKeeper
id.name = inf.getDirect() ? "Locator" : "router";
id.category = inf.getInstanceName();
StringBuilder endpoint = new StringBuilder();
- endpoint.append(com.zeroc.Ice.Util.identityToString(id));
+ endpoint.append(_coordinator.getCommunicator().identityToString(id));
endpoint.append(":");
endpoint.append(inf.getEndpoint());
ssl = containsSecureEndpoints(endpoint.toString());