Scarab commit: svn commit: r10653 - trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java
Johannes Höchstädter <[email protected]>
| Newsgroups | gmane.comp.java.scarab.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: jhoech
Date: 2008-12-03 01:32:07-0800
New Revision: 10653
Modified:
trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java
Log:
sensitive characters in AttributeValue (if StringAttribute) are escaped in IssueSearch, by method from QueryParser itself: QueryParser.escape(String)
Modified: trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java?view=diff&pathrev=10653&r1=10652&r2=10653
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java (original)
+++ trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java 2008-12-03 01:32:07-0800
@@ -72,6 +72,7 @@
import org.apache.torque.util.Criteria;
import org.apache.torque.util.SqlEnum;
import org.apache.fulcrum.intake.Retrievable;
+import org.apache.lucene.queryParser.QueryParser;
import org.tigris.scarab.attribute.DateAttribute;
import org.tigris.scarab.attribute.OptionAttribute;
import org.tigris.scarab.attribute.StringAttribute;
@@ -142,12 +143,6 @@
Pattern.CASE_INSENSITIVE
);
- /**
- * all characters, which have to escaped for
- * org.apache.lucene.queryParser.QueryParser
- */
- private static final String[] CHARACTERS_WHICH_HAVE_TO_BE_ESCAPED= {"\\", "+", "-", "!", "(", ")", ":", "^", "]", "{", "}", "~", "*", "?"};
-
private SimpleDateFormat formatter;
private ScarabUser searchingUser;
@@ -1044,7 +1039,7 @@
else if (aval instanceof StringAttribute)
{
AttributeValue copyAval = aval.copy();
- copyAval.setValue(escapeSpecialCharacters(copyAval.getValue()));
+ copyAval.setValue(QueryParser.escape(copyAval.getValue()));
query.addAttrClause(copyAval);
}
}
@@ -1823,20 +1818,4 @@
}
}
}
-
- /**
- * escapes all characters from array in CHARACTERS_WHICH_HAVE_TO_BE_ESCAPED
- * @param text
- * @return
- */
- private String escapeSpecialCharacters(String text){
- String returnValue = text;
-
- for(int i=0; i < CHARACTERS_WHICH_HAVE_TO_BE_ESCAPED.length;i++){
- returnValue = StringUtils.replace(returnValue, CHARACTERS_WHICH_HAVE_TO_BE_ESCAPED[i],
- "\\"+CHARACTERS_WHICH_HAVE_TO_BE_ESCAPED[i]);
- }
-
- return returnValue;
- }
}
------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=978778