List of usage examples for com.google.common.io Closer register
public <C extends Closeable> C register(@Nullable C closeable)
From source file:com.github.fge.jsonschema.core.load.URIManager.java
/** * Get the content at a given URI as a {@link JsonNode} * * @param uri the URI// w ww . j av a 2 s. c o m * @return the content * @throws NullPointerException provided URI is null * @throws ProcessingException scheme is not registered, failed to get * content, or content is not JSON */ public JsonNode getContent(final URI uri) throws ProcessingException { BUNDLE.checkNotNull(uri, "jsonRef.nullURI"); if (!uri.isAbsolute()) throw new ProcessingException(new ProcessingMessage() .setMessage(BUNDLE.getMessage("refProcessing.uriNotAbsolute")).put("uri", uri)); final String scheme = uri.getScheme(); final URIDownloader downloader = downloaders.get(scheme); if (downloader == null) throw new ProcessingException( new ProcessingMessage().setMessage(BUNDLE.getMessage("refProcessing.unhandledScheme")) .putArgument("scheme", scheme).putArgument("uri", uri)); final Closer closer = Closer.create(); final InputStream in; try { in = closer.register(downloader.fetch(uri)); return reader.fromInputStream(in); } catch (JsonMappingException e) { throw new ProcessingException( new ProcessingMessage().setMessage(e.getOriginalMessage()).put("uri", uri)); } catch (JsonParseException e) { throw new ProcessingException( new ProcessingMessage().setMessage(BUNDLE.getMessage("uriManager.uriNotJson")) .putArgument("uri", uri).put("parsingMessage", e.getOriginalMessage())); } catch (IOException e) { throw new ProcessingException( new ProcessingMessage().setMessage(BUNDLE.getMessage("uriManager.uriIOError")) .putArgument("uri", uri).put("exceptionMessage", e.getMessage())); } finally { try { closer.close(); } catch (IOException ignored) { throw new IllegalStateException(); } } }
From source file:com.android.builder.compiling.BuildConfigGenerator.java
/** * Generates the BuildConfig class./*from w w w .ja v a 2 s . c om*/ */ public void generate() throws IOException { File pkgFolder = getFolderPath(); if (!pkgFolder.isDirectory()) { if (!pkgFolder.mkdirs()) { throw new RuntimeException("Failed to create " + pkgFolder.getAbsolutePath()); } } File buildConfigJava = new File(pkgFolder, BUILD_CONFIG_NAME); Closer closer = Closer.create(); try { FileOutputStream fos = closer.register(new FileOutputStream(buildConfigJava)); OutputStreamWriter out = closer.register(new OutputStreamWriter(fos, Charsets.UTF_8)); JavaWriter writer = closer.register(new JavaWriter(out)); writer.emitJavadoc("Automatically generated file. DO NOT MODIFY").emitPackage(mBuildConfigPackageName) .beginType("BuildConfig", "class", PUBLIC_FINAL); for (ClassField field : mFields) { emitClassField(writer, field); } for (Object item : mItems) { if (item instanceof ClassField) { emitClassField(writer, (ClassField) item); } else if (item instanceof String) { writer.emitSingleLineComment((String) item); } } writer.endType(); } catch (Throwable e) { throw closer.rethrow(e); } finally { closer.close(); } }
From source file:org.eclipse.m2e.core.internal.index.nexus.AetherClientResourceFetcher.java
public void retrieve(String name, File targetFile) throws IOException, FileNotFoundException { String url = baseUrl + "/" + name; Response response = aetherClient.get(url); Closer closer = Closer.create(); try {/*from www.ja v a2 s .co m*/ InputStream is = closer.register(response.getInputStream()); OutputStream os = closer.register(new BufferedOutputStream(new FileOutputStream(targetFile))); final byte[] buffer = new byte[1024 * 1024]; int n = 0; while (-1 != (n = is.read(buffer))) { os.write(buffer, 0, n); if (monitor.isCanceled()) { throw new OperationCanceledException(); } } } finally { closer.close(); } }
From source file:com.spotify.docker.client.DefaultLogStream.java
public void attach(final OutputStream stdout, final OutputStream stderr, boolean closeAtEof) throws IOException { final Closer closer = Closer.create(); try {//from w ww.j av a 2 s .c o m if (closeAtEof) { closer.register(stdout); closer.register(stderr); } while (this.hasNext()) { final LogMessage message = this.next(); final ByteBuffer content = message.content(); switch (message.stream()) { case STDOUT: writeAndFlush(content, stdout); break; case STDERR: writeAndFlush(content, stderr); break; case STDIN: default: break; } } } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } }
From source file:com.android.builder.internal.packaging.zfile.ApkZFileCreator.java
@Override public void writeFile(@NonNull File inputFile, @NonNull String apkPath) throws IOException { Preconditions.checkState(!mClosed, "mClosed == true"); boolean mayCompress = !mNoCompressPredicate.test(apkPath); Closer closer = Closer.create(); try {/*from w w w. j ava2 s . c o m*/ FileInputStream inputFileStream = closer.register(new FileInputStream(inputFile)); mZip.add(apkPath, inputFileStream, mayCompress); } catch (IOException e) { throw closer.rethrow(e, IOException.class); } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } }
From source file:com.googlecode.jmxtrans.test.UdpLoggingServer.java
private void start() { checkState(thread == null, "UDP Server already started"); thread = new Thread(new Runnable() { @Override//from w w w . j a v a2 s. c o m public void run() { Closer closer = Closer.create(); try { try { socket = closer.register(new DatagramSocket()); while (true) { processRequests(socket); } } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); socket = null; } } catch (IOException ioe) { log.error("Exception in TCP echo server", ioe); } } }); thread.start(); try { synchronized (startSynchro) { startSynchro.wait(1000); } } catch (InterruptedException interrupted) { log.error("UDP server seems to take too long to start", interrupted); } }
From source file:com.googlecode.jmxtrans.model.output.kafka.KafkaWriter.java
private String createJsonMessage(Server server, Query query, List<String> typeNames, Result result, Entry<String, Object> values, Object value) throws IOException { String keyString = getKeyString(server, query, result, values, typeNames, this.rootPrefix); String cleanKeyString = keyString.replaceAll("[()]", "_"); Closer closer = Closer.create(); try {/*from ww w . j a v a 2 s .com*/ ByteArrayOutputStream out = closer.register(new ByteArrayOutputStream()); JsonGenerator generator = closer.register(jsonFactory.createGenerator(out, UTF8)); generator.writeStartObject(); generator.writeStringField("keyspace", cleanKeyString); generator.writeStringField("value", value.toString()); generator.writeNumberField("timestamp", result.getEpoch() / 1000); generator.writeObjectFieldStart("tags"); for (Entry<String, String> tag : this.tags.entrySet()) { generator.writeStringField(tag.getKey(), tag.getValue()); } generator.writeEndObject(); generator.writeEndObject(); generator.close(); return out.toString("UTF-8"); } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } }
From source file:org.apache.jackrabbit.oak.upgrade.cli.node.Jackrabbit2Factory.java
public RepositoryContext create(Closer closer) throws RepositoryException { RepositoryContext source = RepositoryContext.create(RepositoryConfig.create(repositoryFile, repositoryDir)); closer.register(asCloseable(source)); return source; }
From source file:com.tinspx.util.io.GroupReader.java
/** * Closes all active {@code Reader}s that have been added to this * GroupReader and removes all active {@code Readers}. Unless another Reader * is added to this GroupReader, all read methods will return -1 after * calling close.//from w w w. ja va 2 s.com * <p> * Additional Readers may be added and this GroupReader may continue to be * used after this method has been called. * * @throws IOException if any {@code Reader} contained by this GroupReader * throws an exception while being closed. */ @Override public void close() throws IOException { if (current != null) { Closer closer = Closer.create(); closer.register(current); current = null; if (readers != null && !readers.isEmpty()) { for (Reader reader : readers) { closer.register(reader); } readers.clear(); } closer.close(); } }
From source file:se.sics.kompics.network.netty.serialization.JavaSerializer.java
@Override public Object fromBinary(ByteBuf buf, Optional<Class> hint) { // Ignore hint try {/* www. j av a 2s . com*/ Closer closer = Closer.create(); try { ByteBufInputStream bbis = closer.register(new ByteBufInputStream(buf)); CompactObjectInputStream cois = closer.register(new CompactObjectInputStream(bbis, resolver)); return cois.readObject(); } catch (Throwable e) { throw closer.rethrow(e); } finally { closer.close(); } } catch (IOException ex) { Serializers.LOG.error("JavaSerializer: Could not deserialize object", ex); return null; } }