Replace getOperator() with getField().getName()

The index fields may be named differently then the operators supplied
by a user.  This offers some flexibility in aliasing operators like
"change" to have different backend fields based on the input string
format, or "age" being aliased to a range query on "updated".

Change-Id: Icb16b91cf7687d23694835ebaa4faf318b6af30c
This commit is contained in:
Shawn Pearce
2013-06-25 23:24:12 -06:00
parent 864ec28cee
commit 79322b058e

View File

@@ -286,7 +286,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
throw new QueryParseException("not an integer: " + p.getValue()); throw new QueryParseException("not an integer: " + p.getValue());
} }
return new TermQuery(intTerm(p.getOperator(), value)); return new TermQuery(intTerm(p.getField().getName(), value));
} }
private static Query sortKeyQuery(SortKeyPredicate p) { private static Query sortKeyQuery(SortKeyPredicate p) {
@@ -327,7 +327,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
if (p instanceof RegexPredicate<?>) { if (p instanceof RegexPredicate<?>) {
return regexQuery(p); return regexQuery(p);
} else { } else {
return new TermQuery(new Term(p.getOperator(), p.getValue())); return new TermQuery(new Term(p.getField().getName(), p.getValue()));
} }
} }
@@ -340,11 +340,11 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
re = re.substring(0, re.length() - 1); re = re.substring(0, re.length() - 1);
} }
return new RegexpQuery(new Term(p.getOperator(), re)); return new RegexpQuery(new Term(p.getField().getName(), re));
} }
private Query prefixQuery(IndexPredicate<ChangeData> p) { private Query prefixQuery(IndexPredicate<ChangeData> p) {
return new PrefixQuery(new Term(p.getOperator(), p.getValue())); return new PrefixQuery(new Term(p.getField().getName(), p.getValue()));
} }
private class QuerySource implements ChangeDataSource { private class QuerySource implements ChangeDataSource {