Example usage for com.google.common.io Closer rethrow

List of usage examples for com.google.common.io Closer rethrow

Introduction

In this page you can find the example usage for com.google.common.io Closer rethrow.

Prototype

public RuntimeException rethrow(Throwable e) throws IOException 

Source Link

Document

Stores the given throwable and rethrows it.

Usage

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;
}