List of usage examples for org.apache.commons.io.output StringBuilderWriter getBuilder
public StringBuilder getBuilder()
From source file:com.addthis.hydra.query.web.LegacyHandler.java
public static Query handleQuery(Query query, KVPairs kv, HttpRequest request, ChannelHandlerContext ctx) throws IOException, QueryException { String async = kv.getValue("async"); if (async == null) { return query; } else if (async.equals("new")) { StringBuilderWriter writer = new StringBuilderWriter(50); HttpResponse response = HttpUtils.startResponse(writer); String asyncUuid = genAsyncUuid(); asyncCache.put(asyncUuid, query); Query.traceLog.info("async create {} from {}", asyncUuid, query); writer.write("{\"id\":\"" + asyncUuid + "\"}"); ByteBuf textResponse = ByteBufUtil.encodeString(ctx.alloc(), CharBuffer.wrap(writer.getBuilder()), CharsetUtil.UTF_8);/* w w w .j a v a 2s.com*/ HttpContent content = new DefaultHttpContent(textResponse); response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, textResponse.readableBytes()); if (HttpHeaders.isKeepAlive(request)) { response.headers().set(HttpHeaders.Names.CONNECTION, HttpHeaders.Values.KEEP_ALIVE); } ctx.write(response); ctx.write(content); ChannelFuture lastContentFuture = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); if (!HttpHeaders.isKeepAlive(request)) { lastContentFuture.addListener(ChannelFutureListener.CLOSE); } return null; } else { Query asyncQuery = asyncCache.getIfPresent(async); asyncCache.invalidate(async); Query.traceLog.info("async restore {} as {}", async, asyncQuery); if (asyncQuery != null) { return asyncQuery; } else { throw new QueryException("Missing Async Id"); } } }
From source file:com.addthis.hydra.query.web.GoogleDriveAuthentication.java
/** * Send an HTML formatted error message. */// w ww . j av a2 s .c om private static void sendErrorMessage(ChannelHandlerContext ctx, String message) throws IOException { HttpResponse response = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); response.headers().set(CONTENT_TYPE, "text/html; charset=utf-8"); StringBuilderWriter writer = new StringBuilderWriter(50); writer.append("<html><head><title>Hydra Query Master</title></head><body>"); writer.append("<h3>"); writer.append(message); writer.append("</h3></body></html>"); ByteBuf textResponse = ByteBufUtil.encodeString(ctx.alloc(), CharBuffer.wrap(writer.getBuilder()), CharsetUtil.UTF_8); HttpContent content = new DefaultHttpContent(textResponse); response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, textResponse.readableBytes()); ctx.write(response); ctx.write(content); ChannelFuture lastContentFuture = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); lastContentFuture.addListener(ChannelFutureListener.CLOSE); }
From source file:io.apiman.manager.api.rest.impl.mappers.RestExceptionMapper.java
/** * Gets the full stack trace for the given exception and returns it as a * string./*from w w w .j a v a 2 s . c om*/ * @param data */ private String getStackTrace(AbstractRestException data) { StringBuilderWriter writer = new StringBuilderWriter(); data.printStackTrace(new PrintWriter(writer)); return writer.getBuilder().toString(); }
From source file:io.apiman.gateway.api.rest.impl.mappers.RestExceptionMapper.java
/** * Gets the full stack trace for the given exception and returns it as a * string.//from w ww . j av a 2s .c o m * @param data */ private String getStackTrace(AbstractEngineException data) { StringBuilderWriter writer = new StringBuilderWriter(); try { data.printStackTrace(new PrintWriter(writer)); return writer.getBuilder().toString(); } finally { writer.close(); } }
From source file:io.apiman.gateway.platforms.servlet.components.HttpClientResponseImpl.java
/** * @see io.apiman.gateway.engine.components.http.IHttpClientResponse#getBody() *///from w ww . j av a2 s .c om @Override public String getBody() { InputStream body = null; try { body = connection.getInputStream(); if (body != null) { StringBuilderWriter writer = new StringBuilderWriter(); try { IOUtils.copy(body, writer); } catch (IOException e) { throw new RuntimeException(e); } return writer.getBuilder().toString(); } else { return null; } } catch (IOException e) { throw new RuntimeException(e); } finally { IOUtils.closeQuietly(body); } }
From source file:com.addthis.hydra.query.web.HttpQueryHandler.java
private void fastHandle(ChannelHandlerContext ctx, FullHttpRequest request, String target, KVPairs kv) throws Exception { StringBuilderWriter writer = new StringBuilderWriter(50); HttpResponse response = HttpUtils.startResponse(writer); response.headers().add("Access-Control-Allow-Origin", "*"); switch (target) { case "/metrics": { fakeMetricsServlet.writeMetrics(writer, kv); break;//ww w.j a v a 2s.com } case "/running": case "/query/list": case "/query/running": case "/v2/queries/running.list": { Jackson.defaultMapper().writerWithDefaultPrettyPrinter().writeValue(writer, tracker.getRunning()); break; } case "/done": case "/complete": case "/query/done": case "/query/complete": case "/completed/list": case "/v2/queries/finished.list": { Jackson.defaultMapper().writerWithDefaultPrettyPrinter().writeValue(writer, tracker.getCompleted()); break; } case "/query/all": case "/v2/queries/list": { Collection<QueryEntryInfo> aggregatingSnapshot = tracker.getRunning(); aggregatingSnapshot.addAll(tracker.getCompleted()); Jackson.defaultMapper().writerWithDefaultPrettyPrinter().writeValue(writer, aggregatingSnapshot); break; } case "/cancel": case "/query/cancel": { if (tracker.cancelRunning(kv.getValue("uuid"))) { writer.write("canceled " + kv.getValue("uuid")); } else { writer.write("canceled failed for " + kv.getValue("uuid")); response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR); } break; } case "/workers": case "/query/workers": case "/v2/queries/workers": { Map<String, Integer> workerSnapshot = meshQueryMaster.worky().values().stream() .collect(toMap(WorkerData::hostName, WorkerData::queryLeases)); Jackson.defaultMapper().writerWithDefaultPrettyPrinter().writeValue(writer, workerSnapshot); break; } case "/host": case "/host/list": case "/v2/host/list": String queryStatusUuid = kv.getValue("uuid"); QueryEntry queryEntry = tracker.getQueryEntry(queryStatusUuid); if (queryEntry != null) { DetailedStatusHandler hostDetailsHandler = new DetailedStatusHandler(writer, response, ctx, request, queryEntry); hostDetailsHandler.handle(); return; } else { QueryEntryInfo queryEntryInfo = tracker.getCompletedQueryInfo(queryStatusUuid); if (queryEntryInfo != null) { Jackson.defaultMapper().writerWithDefaultPrettyPrinter().writeValue(writer, queryEntryInfo); } else { log.trace("could not find query for status"); if (ctx.channel().isActive()) { sendError(ctx, new HttpResponseStatus(NOT_FOUND.code(), "could not find query")); } return; } break; } case "/git": case "/v2/settings/git.properties": { try { Jackson.defaultMapper().writeValue(writer, ConfigFactory.parseResourcesAnySyntax("/hydra-git.properties").getConfig("git")); } catch (Exception ex) { String noGitWarning = "Error loading git.properties, possibly jar was not compiled with maven."; log.warn(noGitWarning); writer.write(noGitWarning); } break; } case "/query/encode": { Query q = new Query(null, new String[] { kv.getValue("query", kv.getValue("path", "")) }, null); JSONArray path = CodecJSON.encodeJSON(q).getJSONArray("path"); writer.write(path.toString()); break; } case "/query/decode": { String qo = "{path:" + kv.getValue("query", kv.getValue("path", "")) + "}"; Query q = CodecJSON.decodeString(Query.class, qo); writer.write(q.getPaths()[0]); break; } default: // forward to static file server ctx.pipeline().addLast(staticFileHandler); request.retain(); ctx.fireChannelRead(request); return; // don't do text response clean up } log.trace("response being sent {}", writer); ByteBuf textResponse = ByteBufUtil.encodeString(ctx.alloc(), CharBuffer.wrap(writer.getBuilder()), UTF_8); HttpContent content = new DefaultHttpContent(textResponse); response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, textResponse.readableBytes()); if (HttpHeaders.isKeepAlive(request)) { response.headers().set(HttpHeaders.Names.CONNECTION, HttpHeaders.Values.KEEP_ALIVE); } ctx.write(response); ctx.write(content); ChannelFuture lastContentFuture = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); log.trace("response pending"); if (!HttpHeaders.isKeepAlive(request)) { log.trace("Setting close listener"); ((Future<Void>) lastContentFuture).addListener(ChannelFutureListener.CLOSE); } }
From source file:org.apache.hive.beeline.SeparatedValuesOutputFormat.java
private String getLine(StringBuilderWriter buf) { String line = buf.toString(); buf.getBuilder().setLength(0); return line; }
From source file:org.apereo.portal.portlet.container.cache.LimitingTeeWriterTest.java
@Test public void testContentExceedsClearBuffer() throws IOException { final String content = "<p>Simple content</p>"; final StringBuilderWriter stringWriter = new StringBuilderWriter(); LimitingTeeWriter writer = new LimitingTeeWriter(content.length() - 1, NullWriter.NULL_WRITER, stringWriter, new Function<LimitingTeeWriter, Object>() { @Override// w w w .j a v a 2 s . c o m public Object apply(LimitingTeeWriter input) { final StringBuilder builder = stringWriter.getBuilder(); builder.delete(0, builder.length()); return null; } }); // write the first few chars writer.write(content.substring(0, 5)); // verify content successfully buffered Assert.assertFalse(writer.isLimitReached()); Assert.assertEquals(content.substring(0, 5), stringWriter.toString()); // now write the remainder writer.write(content.substring(5, content.length())); Assert.assertTrue(writer.isLimitReached()); Assert.assertEquals("", stringWriter.toString()); // try to write more and see no results writer.write("a"); Assert.assertEquals("", stringWriter.toString()); }
From source file:org.geoserver.wfs.notification.GMLNotificationSerializer.java
String getInsertUpdateRawMessage(Feature feature) {
final StringBuilderWriter sw = new StringBuilderWriter();
long start = System.nanoTime();
boolean success = true;
try {/*w ww . jav a2s .c om*/
long modCount = catalogModCount.get();
if (modCount != catalogModCountLocal.get().longValue()) {
catalogModCountLocal.set(modCount);
encoder.remove();
}
final Encoder encoder = this.encoder.get();
TransformerHandler handler = STF.newTransformerHandler();
handler.setResult(new StreamResult(sw));
encoder.setInline(true);
loadNamespaceBindings(encoder.getNamespaces(), feature, xmlConfig.getXSD().getSchema());
encoder.encode(feature, GML._Feature, handler);
return sw.toString();
} catch (Exception e) {
success = false;
throw new WFSException(e);
} finally {
if (success) {
double millis = ((double) System.nanoTime() - start) / 1000000;
Name name = WFSNotify.getTypeName(feature);
serializationMillis.add(millis);
serializationChars.add(sw.getBuilder().length());
Statistics statsByType = serializationMillisByType.get(name);
if (statsByType == null) {
Statistics newStats = new Statistics();
statsByType = serializationMillisByType.put(name, newStats);
if (statsByType == null) {
statsByType = newStats;
}
}
statsByType.add(millis);
}
}
}
From source file:org.xmlsh.sh.shell.Shell.java
public void logExec(ICommandExpr c, boolean bExec, SourceLocation loc) { StringBuilderWriter sw = new StringBuilderWriter(); PrintWriter w = new PrintWriter(sw); c.print(w, bExec);//w w w.j a va2 s . c o m w.flush(); StringBuilder sb = sw.getBuilder(); if (sb.length() > 0) { String scmd = sb.toString(); if (mOpts.mTrace && getLogger().isEnabled(mOpts.mTraceLevel)) { traceExec(loc, scmd); } if (mOpts.mExec) { if (loc != null) { printErr("+ " + loc.format(mOpts.mLocationFormat)); printErr(scmd); } else printErr("+ " + scmd); } } }