Merge branch 'stable-2.12' * stable-2.12: Make VelocityRuntimeProvider singleton, not RuntimeInstance Throw QueryParseException if the created phrase query is null Change-Id: I2ca604abd6bc0c14b95ea67fee4e63f8088621ca
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java index ab06edc..a993b49 100644 --- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java +++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java
@@ -241,7 +241,12 @@ throw new QueryParseException( "Full-text search over empty string not supported"); } - return queryBuilder.createPhraseQuery(p.getField().getName(), value); + Query query = queryBuilder.createPhraseQuery(p.getField().getName(), value); + if (query == null) { + throw new QueryParseException( + "Cannot create full-text query with value: " + value); + } + return query; } public int toIndexTimeInMinutes(Date ts) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java index e80c613..7ef964c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java
@@ -271,8 +271,7 @@ bind(ApprovalsUtil.class); bind(RuntimeInstance.class) - .toProvider(VelocityRuntimeProvider.class) - .in(SINGLETON); + .toProvider(VelocityRuntimeProvider.class); bind(FromAddressGenerator.class).toProvider( FromAddressGeneratorProvider.class).in(SINGLETON); bind(Boolean.class).annotatedWith(DisableReverseDnsLookup.class)
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java index 101aaac..3fdc550 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/VelocityRuntimeProvider.java
@@ -18,6 +18,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.ProvisionException; +import com.google.inject.Singleton; import org.apache.velocity.runtime.RuntimeConstants; import org.apache.velocity.runtime.RuntimeInstance; @@ -30,6 +31,7 @@ import java.util.Properties; /** Configures Velocity template engine for sending email. */ +@Singleton public class VelocityRuntimeProvider implements Provider<RuntimeInstance> { private final SitePaths site;