You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2008/01/25 00:28:04 UTC
svn commit: r615079 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
Author: pauls
Date: Thu Jan 24 15:27:58 2008
New Revision: 615079
URL: http://svn.apache.org/viewvc?rev=615079&view=rev
Log:
Make FilterImpl.toString() add escape characters where needed (FELIX-471).
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java?rev=615079&r1=615078&r2=615079&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/ldap/Parser.java Thu Jan 24 15:27:58 2008
@@ -1044,7 +1044,7 @@
public void toStringInfix(StringBuffer b)
{
- b.append(val.toString());
+ appendEscaped(b, val.toString());
}
}
@@ -1195,12 +1195,12 @@
b.append("=");
for (int i = 0; i < pieces.length; i++)
{
- String piece = (String) pieces[i];
+ String piece = pieces[i];
if (i > 0)
{
b.append("*");
}
- b.append(piece);
+ appendEscaped(b, piece);
}
b.append(")");
}
@@ -1374,6 +1374,19 @@
return false;
}
+ private static void appendEscaped(StringBuffer buf, String value)
+ {
+ for (int i = 0; i < value.length(); i++)
+ {
+ char c = value.charAt(i);
+ if (c == '(' || c == ')' || c == '*' || c == '\\')
+ {
+ buf.append('\\');
+ }
+ buf.append(c);
+ }
+ }
+
/**
* This is an ugly utility method to convert an array of primitives
* to an array of primitive wrapper objects. This method simplifies