@Override public String getCharacterEncoding() { return renderer.getEncoding(); }
/** * Returns MIME type of this response */ @Override public String getContentType() { return rendererCopy.getMimeType(); }
@SuppressWarnings("unchecked") @Override public void render(OutputStream stream, ContentChannel channel, CompletionHandler completionHandler) throws IOException { if (renderer instanceof AsynchronousRenderer) { AsynchronousRenderer asyncRenderer = (AsynchronousRenderer)renderer; asyncRenderer.setNetworkWiring(channel, completionHandler); } renderer.render(stream, processingResponse, execution, processingRequest); // the stream is closed in AsynchronousSectionedRenderer, after all data // has arrived }
/** * Used to create a separate instance for each result to render. */ @Override public Renderer clone() { return (Renderer) super.clone(); }
/** * 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(executor); jsonRenderer.initId(RendererRegistry.jsonRendererId); register(jsonRenderer.getId(), jsonRenderer); // Add xml renderer Renderer xmlRenderer = new XmlRenderer(executor); xmlRenderer.initId(xmlRendererId); register(xmlRenderer.getId(), xmlRenderer); // Add page templates renderer Renderer pageRenderer = new PageTemplatesXmlRenderer(executor); pageRenderer.initId(pageRendererId); register(pageRenderer.getId(), pageRenderer); // add application renderers for (Renderer renderer : renderers) register(renderer.getId(), renderer); freeze(); }
private String rendererNames() { StringBuilder r = new StringBuilder(); for (Renderer<Result> c : allComponents()) { if (r.length() > 0) r.append(", "); r.append(c.getId().stringValue()); } return r.toString(); }
/** Must be called when use of this is discontinued to free the resources it has allocated */ public void deconstruct() { // deconstruct the renderers which was created by this getRenderer(jsonRendererId.toSpecification()).deconstruct(); getRenderer(xmlRendererId.toSpecification()).deconstruct(); getRenderer(pageRendererId.toSpecification()).deconstruct(); }
@Override protected ListenableFuture<Boolean> doProcessAndRender(ComponentSpecification chainSpec, Request request, Renderer<Response> renderer, ByteArrayOutputStream stream) throws IOException { Execution execution = handler.createExecution(getChain(chainSpec), request); Response response = execution.process(request); return renderer.render(stream, response, execution, request); }
public static ListenableFuture<Boolean> waitableRender(Result result, Query query, Renderer<Result> renderer, OutputStream stream) throws IOException { SearchResponse.trimHits(result); SearchResponse.removeEmptySummaryFeatureFields(result); return renderer.render(stream, result, query.getModel().getExecution(), query); }
/** * Returns expected character encoding of this response */ @Override public String getCharacterEncoding() { String encoding = result.getQuery().getModel().getEncoding(); return (encoding != null) ? encoding : rendererCopy.getEncoding(); }
@Override public String getContentType() { return renderer.getMimeType(); }