diff options
author | slewis | 2008-09-28 16:21:39 +0000 |
---|---|---|
committer | slewis | 2008-09-28 16:21:39 +0000 |
commit | ec1f1e4dc98a03402724aa7eb08e71d2e0bc5a24 (patch) | |
tree | b7d5780b60769e14684261c8d46f0911a5e2070c | |
parent | 2cd76715d32eb003516a31aeb8e71a794f1af898 (diff) | |
download | org.eclipse.ecf-ec1f1e4dc98a03402724aa7eb08e71d2e0bc5a24.tar.gz org.eclipse.ecf-ec1f1e4dc98a03402724aa7eb08e71d2e0bc5a24.tar.xz org.eclipse.ecf-ec1f1e4dc98a03402724aa7eb08e71d2e0bc5a24.zip |
Fix for unauthorized use of String.replace.
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java index 2ea878778..c69a6f7cb 100644 --- a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java +++ b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java @@ -17,6 +17,7 @@ import java.util.Iterator; import org.eclipse.ecf.core.identity.BaseID; import org.eclipse.ecf.core.identity.Namespace; +import org.eclipse.ecf.core.util.StringUtils; import org.eclipse.ecf.internal.provider.xmpp.Messages; import org.eclipse.ecf.presence.im.IChatID; @@ -38,8 +39,8 @@ public class XMPPID extends BaseID implements IChatID { } } - public CharSequence getAsCharSequence() { - return buf; + public String getAsString() { + return buf.toString(); } } @@ -66,7 +67,7 @@ public class XMPPID extends BaseID implements IChatID { for (final Iterator i = escapeTable.keySet().iterator(); i.hasNext();) { final String key = (String) i.next(); final XMPPEscape escape = (XMPPEscape) escapeTable.get(key); - node = node.replace(new StringBuffer(key), escape.getAsCharSequence()); + node = StringUtils.replaceAll(node, key, escape.getAsString()); } return node; } @@ -74,7 +75,7 @@ public class XMPPID extends BaseID implements IChatID { static String fixPercentEscape(String src) { if (src == null) return null; - return src.replaceAll("%", "%25"); + return StringUtils.replaceAll(src, "%", "%25"); } public static String unfixEscapeInNode(String node) { @@ -83,7 +84,7 @@ public class XMPPID extends BaseID implements IChatID { for (final Iterator i = escapeTable.keySet().iterator(); i.hasNext();) { final String key = (String) i.next(); final XMPPEscape escape = (XMPPEscape) escapeTable.get(key); - node = node.replace(escape.getAsCharSequence(), new StringBuffer(key)); + node = StringUtils.replaceAll(node, escape.getAsString(), key); } return node; } |