List of usage examples for com.google.common.io Closer rethrow
public RuntimeException rethrow(Throwable e) throws IOException
From source file:net.ripe.rpki.commons.crypto.x509cert.X509CertificateParser.java
private void parse() { try {/*from w ww. j a va 2 s .c om*/ final Closer closer = Closer.create(); try { final InputStream input = closer.register(new ByteArrayInputStream(encoded)); final CertificateFactory factory = CertificateFactory.getInstance("X.509"); certificate = (X509Certificate) factory.generateCertificate(input); } catch (final CertificateException e) { certificate = null; } catch (final Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } } catch (final IOException e) { certificate = null; } result.rejectIfNull(certificate, CERTIFICATE_PARSED); }
From source file:net.ripe.rpki.commons.crypto.util.PregeneratedKeyPairFactory.java
private void initKeyStore() { try {/*from w ww . j a v a 2s .c om*/ final Closer closer = Closer.create(); try { InputStream input; try { input = closer.register(new FileInputStream(keyStoreFile)); } catch (FileNotFoundException e) { input = null; } pregeneratedKeys = KeyStore.getInstance("JKS", "SUN"); pregeneratedKeys.load(input, PASSPHRASE); } catch (final Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } } catch (final IOException e) { throw new RuntimeException(e); } }
From source file:org.pantsbuild.tools.jar.Main.java
private Manifest loadManifest() throws IOException { Manifest mf = new Manifest(); if (options.manifest != null) { Closer closer = Closer.create(); try {//from w w w .ja v a 2s . c om FileInputStream input = closer.register(new FileInputStream(options.manifest)); mf.read(input); } catch (IOException e) { throw closer.rethrow(new IOException("Failed to load manifest from " + options.manifest, e)); } finally { closer.close(); } } return JarBuilder.ensureDefaultManifestEntries(mf); }
From source file:com.google.caliper.worker.CaliperProxy.java
/** * Opens a socket connection using the given ID and then copies the given {@code InputStream} to * it, effectively piping the output from the process to the other end of the connection. *//*from w ww .ja v a2 s .co m*/ private Future<?> pipeProcessInputStream(UUID streamId, final InputStream in) { return executor.submit(new Runnable() { @Override public void run() { try { Closer closer = Closer.create(); try { SocketChannel channel = closer.register(SocketChannel.open(clientAddress)); Uuids.writeToChannel(streamId, channel); ByteStreams.copy(Channels.newChannel(in), channel); } catch (Throwable e) { throw closer.rethrow(e); } finally { closer.close(); } } catch (IOException e) { notifyError(e); } } }); }
From source file:com.googlecode.jmxtrans.guice.JmxTransModule.java
@Provides @Inject/*from w w w . jav a 2s .c o m*/ Scheduler scheduler(JmxTransConfiguration configuration, GuiceJobFactory jobFactory) throws SchedulerException, IOException { StdSchedulerFactory serverSchedFact = new StdSchedulerFactory(); Closer closer = Closer.create(); try { InputStream stream; if (configuration.getQuartzPropertiesFile() == null) { stream = closer.register(JmxTransModule.class.getResourceAsStream("/quartz.server.properties")); } else { stream = closer.register(new FileInputStream(configuration.getQuartzPropertiesFile())); } serverSchedFact.initialize(stream); } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } Scheduler scheduler = serverSchedFact.getScheduler(); scheduler.setJobFactory(jobFactory); return scheduler; }
From source file:org.jclouds.vsphere.loaders.VSphereTemplateLoader.java
@Override public Optional<VirtualMachine> load(String vmName) { Closer closer = Closer.create(); VSphereServiceInstance instance = serviceInstance.get(); closer.register(instance);/*from w w w.j a va 2 s . com*/ try { try { VirtualMachine vm = (VirtualMachine) new InventoryNavigator(instance.getInstance().getRootFolder()) .searchManagedEntity("VirtualMachine", vmName); if (VSpherePredicate.isTemplatePredicate.apply(vm)) { return Optional.of(vm); } } catch (Exception e) { logger.error("Can't find template", e); throw closer.rethrow(e); } finally { closer.close(); } } catch (IOException e) { logger.error(e.getMessage(), e); } finally { return Optional.absent(); } }
From source file:org.gradle.api.internal.tasks.cache.TarTaskOutputPacker.java
@Override public void pack(TaskOutputsInternal taskOutputs, OutputStream output) throws IOException { Closer closer = Closer.create(); TarOutputStream outputStream = closer.register(new TarOutputStream(output, "utf-8")); outputStream.setLongFileMode(TarOutputStream.LONGFILE_POSIX); outputStream.setBigNumberMode(TarOutputStream.BIGNUMBER_POSIX); outputStream.setAddPaxHeadersForNonAsciiNames(true); try {/*from w ww .j a v a 2 s. c o m*/ pack(taskOutputs, outputStream); } catch (Throwable ex) { throw closer.rethrow(ex); } finally { closer.close(); } }
From source file:com.googlecode.jmxtrans.model.output.SensuWriter2.java
@Override public void write(@Nonnull Writer writer, @Nonnull Server server, @Nonnull Query query, @Nonnull Iterable<Result> results) throws IOException { Closer closer = Closer.create(); try {//w w w . ja va 2 s .c o m JsonGenerator g = closer.register(jsonFactory.createGenerator(writer)); g.useDefaultPrettyPrinter(); g.writeStartObject(); g.writeStringField("name", "jmxtrans"); g.writeStringField("type", "metric"); g.writeStringField("handler", "graphite"); StringWriter temporaryWriter = closer.register(new StringWriter()); graphiteWriter.write(temporaryWriter, server, query, results); g.writeStringField("output", temporaryWriter.toString()); g.writeEndObject(); g.flush(); } catch (Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } }
From source file:net.ripe.rpki.commons.provisioning.payload.ProvisioningPayloadXmlSerializer.java
private String serializeUTF8Encoded(T payload) throws IOException { final String xml; final Closer closer = Closer.create(); try {/*from w w w . j a v a2s . c o m*/ final ByteArrayOutputStream outputStream = closer.register(new ByteArrayOutputStream()); final Writer writer = closer.register(new OutputStreamWriter(outputStream, Charsets.UTF_8)); writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); writer.write(System.getProperty("line.separator")); super.serialize(payload, writer); final String rawXml = new String(outputStream.toByteArray(), Charsets.UTF_8); xml = rawXml.replace("<message", "<message xmlns=\"http://www.apnic.net/specs/rescerts/up-down/\""); } catch (final Throwable t) { throw closer.rethrow(t); } finally { closer.close(); } return xml; }
From source file:com.android.tools.lint.Reporter.java
/** Returns a URL to a local copy of the given resource, or null. There is * no filename conflict resolution. */ protected String addLocalResources(URL url) throws IOException { // Attempt to make local copy File resourceDir = computeResourceDir(); if (resourceDir != null) { String base = url.getFile(); base = base.substring(base.lastIndexOf('/') + 1); mNameToFile.put(base, new File(url.toExternalForm())); File target = new File(resourceDir, base); Closer closer = Closer.create(); try {/*ww w . ja v a2s . c o m*/ FileOutputStream output = closer.register(new FileOutputStream(target)); InputStream input = closer.register(url.openStream()); ByteStreams.copy(input, output); } catch (Throwable e) { closer.rethrow(e); } finally { closer.close(); } return resourceDir.getName() + '/' + encodeUrl(base); } return null; }