Merge "Check null before use of schema()."
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/account/InternalAccountQuery.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/account/InternalAccountQuery.java
index bbcb811..bc418b8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/account/InternalAccountQuery.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/account/InternalAccountQuery.java
@@ -22,6 +22,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import com.google.gerrit.index.IndexConfig;
+import com.google.gerrit.index.Schema;
import com.google.gerrit.index.query.InternalQuery;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.account.AccountState;
@@ -123,7 +124,7 @@
* @throws OrmException if query cannot be parsed
*/
public List<AccountState> byPreferredEmail(String email) throws OrmException {
- if (schema().hasField(AccountField.PREFERRED_EMAIL_EXACT)) {
+ if (hasPreferredEmailExact()) {
return query(AccountPredicates.preferredEmailExact(email));
}
@@ -144,7 +145,7 @@
public Multimap<String, AccountState> byPreferredEmail(String... emails) throws OrmException {
List<String> emailList = Arrays.asList(emails);
- if (schema().hasField(AccountField.PREFERRED_EMAIL_EXACT)) {
+ if (hasPreferredEmailExact()) {
List<List<AccountState>> r =
query(
emailList
@@ -176,4 +177,9 @@
public List<AccountState> byWatchedProject(Project.NameKey project) throws OrmException {
return query(AccountPredicates.watchedProject(project));
}
+
+ private boolean hasPreferredEmailExact() {
+ Schema<AccountState> s = schema();
+ return (s != null && s.hasField(AccountField.PREFERRED_EMAIL_EXACT));
+ }
}