RM: Support query for empty strings against untokenised text properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16622 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2009-09-30 14:36:46 +00:00
parent 26a3750be0
commit 7098bab5ea

View File

@@ -932,7 +932,7 @@ public class LuceneQueryParser extends QueryParser
String localeString = null;
if (field.startsWith("@"))
{
if (queryText.charAt(0) == '\u0000')
if ((queryText.length() > 0) && (queryText.charAt(0) == '\u0000'))
{
int position = queryText.indexOf("\u0000", 1);
testText = queryText.substring(position + 1);
@@ -1299,6 +1299,8 @@ public class LuceneQueryParser extends QueryParser
if (replace != null)
{
StringBuilder postfix = new StringBuilder();
if ((replace.endOffset() >= 0) && (replace.endOffset() < testText.length()))
{
for (int i = replace.endOffset(); i < testText.length(); i++)
{
char test = testText.charAt(i);
@@ -1311,6 +1313,7 @@ public class LuceneQueryParser extends QueryParser
break;
}
}
}
String post = postfix.toString();
int oldPositionIncrement = replace.getPositionIncrement();
String replaceTermText = new String(replace.termBuffer(), 0, replace.termLength());