diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-07-04 15:32:33 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-07-04 15:32:33 +0200 |
commit | 629b0329fbedf764e938c892a0a6ef29ed2a125f (patch) | |
tree | 92049c09a91ee1344583387209ddea6e206d23e1 /container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java | |
parent | 1cd8287f435ae60afdbc4178bcc585836183dcb8 (diff) |
Don't use separate renderer threads in unit tests
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java index b60c58fd90f..c1b15ecbbc2 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java @@ -13,6 +13,7 @@ import com.yahoo.search.Result; import java.util.Collection; import java.util.Collections; +import java.util.concurrent.Executor; /** * Holds all configured and built-in renderers. @@ -31,15 +32,32 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi this(Collections.emptyList()); } + /** + * Creates a registry containing the built-in renderers only, using a custom executor. + * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry: + * Use MoreExecutors.directExecutor(). + */ + public RendererRegistry(Executor executor) { + this(Collections.emptyList(), executor); + } + /** Creates a registry of the given renderers plus the built-in ones */ public RendererRegistry(Collection<Renderer> renderers) { + this(renderers, null); + } + + /** + * Creates a registry of the given renderers plus the built-in ones, using a custom executor. + * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry. + */ + public RendererRegistry(Collection<Renderer> renderers, Executor executor) { // add json renderer - Renderer jsonRenderer = new JsonRenderer(); + Renderer jsonRenderer = new JsonRenderer(executor); jsonRenderer.initId(RendererRegistry.jsonRendererId); register(jsonRenderer.getId(), jsonRenderer); // Add xml renderer - Renderer xmlRenderer = new DefaultRenderer(); + Renderer xmlRenderer = new DefaultRenderer(executor); xmlRenderer.initId(xmlRendererId); register(xmlRenderer.getId(), xmlRenderer); |