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:org.gradle.api.internal.tasks.cache.LocalDirectoryTaskOutputCache.java

@Override
public boolean load(final TaskCacheKey key, final TaskOutputReader reader) throws IOException {
    return persistentCache.useCache("load task output", new Factory<Boolean>() {
        @Override/*  www. ja va  2s  .co m*/
        public Boolean create() {
            File file = getFile(key.getHashCode());
            if (file.isFile()) {
                try {
                    Closer closer = Closer.create();
                    FileInputStream stream = closer.register(new FileInputStream(file));
                    try {
                        reader.readFrom(stream);
                        return true;
                    } catch (Throwable ex) {
                        throw closer.rethrow(ex);
                    } finally {
                        closer.close();
                    }
                } catch (IOException ex) {
                    throw new UncheckedIOException(ex);
                }
            }
            return false;
        }
    });
}

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/* w ww. j  ava2  s.  co  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:se.sics.datamodel.util.DMKeyFactory.java

public static DMKeyComponents getKeyComponents(Key key) throws IOException {
    Closer closer = Closer.create();
    try {// w w  w.  ja  va 2s. co  m
        ByteArrayInputStream bais = closer.register(new ByteArrayInputStream(key.getArray()));
        DataInputStream r = closer.register(new DataInputStream(bais));

        ByteId dbId = deserializeByteId(r);
        byte keyType = r.readByte();
        ByteId typeId = deserializeByteId(r);

        if (keyType == DMKeyFactory.typeKF) {
            return new TypeKeyComp(dbId, typeId);
            //            } else if (keyType == DMKeyFactory.tmFieldKF) {
            //                readTMFieldKey(r, dbId, typeId);
        } else if (keyType == DMKeyFactory.dataKF) {
            return readDataKey(r, dbId, typeId);
        } else if (keyType == DMKeyFactory.indexKF) {
            return readIndexKey(r, dbId, typeId);
        } else {
            throw new IOException("getKeyComponents - unknown type of key");
        }
    } catch (Throwable e) {
        throw closer.rethrow(e);
    } finally {
        closer.close();
    }
}

From source file:com.googlecode.jmxtrans.test.TCPEchoServer.java

public void start() {
    checkState(thread == null, "Server already started");

    thread = new Thread(new Runnable() {
        @Override/* w  w w  .  j  a v a 2s . c o  m*/
        public void run() {
            Closer closer = Closer.create();
            try {
                try {
                    server = closer.register(new ServerSocket(0));
                    while (true) {
                        processRequests(server);
                    }
                } catch (Throwable t) {
                    throw closer.rethrow(t);
                } finally {
                    closer.close();
                    server = 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("TCP Echo server seems to take too long to start", interrupted);
    }
}

From source file:org.sosy_lab.cpachecker.cmdline.CPAMain.java

@SuppressWarnings("deprecation")
private static void printResultAndStatistics(CPAcheckerResult mResult, String outputDirectory,
        MainOptions options, LogManager logManager) throws IOException {

    // setup output streams
    PrintStream console = options.printStatistics ? System.out : null;
    OutputStream file = null;// w w w  .  j  a va  2 s  .  c  o  m
    Closer closer = Closer.create();

    if (options.exportStatistics && options.exportStatisticsFile != null) {
        try {
            Files.createParentDirs(options.exportStatisticsFile);
            file = closer.register(options.exportStatisticsFile.asByteSink().openStream());
        } catch (IOException e) {
            logManager.logUserException(Level.WARNING, e, "Could not write statistics to file");
        }
    }

    PrintStream stream = makePrintStream(mergeStreams(console, file));

    try {
        // print statistics
        mResult.printStatistics(stream);
        stream.println();

        // print result
        if (!options.printStatistics) {
            stream = makePrintStream(mergeStreams(System.out, file)); // ensure that result is printed to System.out
        }
        mResult.printResult(stream);

        if (outputDirectory != null) {
            stream.println("More details about the verification run can be found in the directory \""
                    + outputDirectory + "\".");
        }

        stream.flush();
    } catch (Throwable t) {
        closer.rethrow(t);

    } finally {
        closer.close();
    }
}

From source file:org.grouplens.lenskit.cli.PackRatings.java

@Override
public void execute() throws IOException {
    logger.info("packing ratings from {}", input);
    logger.debug("using delimiter {}", getDelimiter());
    EventDAO dao = input.getEventDAO();/*  w ww  .j a  v  a2  s . co m*/
    EnumSet<BinaryFormatFlag> flags = EnumSet.noneOf(BinaryFormatFlag.class);
    if (useTimestamps()) {
        flags.add(BinaryFormatFlag.TIMESTAMPS);
    }
    logger.info("packing to {} with flags {}", getOutputFile(), flags);
    Closer closer = Closer.create();
    try {
        BinaryRatingPacker packer = closer.register(BinaryRatingPacker.open(getOutputFile(), flags));
        Cursor<Rating> ratings = closer.register(dao.streamEvents(Rating.class));
        packer.writeRatings(ratings);
        logger.info("packed {} ratings", packer.getRatingCount());
    } catch (Throwable th) {
        throw closer.rethrow(th);
    } finally {
        closer.close();
    }
}

From source file:com.googlecode.jmxtrans.model.output.support.HttpOutputWriter.java

private void consumeInputStreams(HttpURLConnection httpURLConnection) throws IOException {
    Closer closer = Closer.create();
    try {/*from w w  w. jav  a  2  s .c  o  m*/
        InputStream in = closer.register(httpURLConnection.getInputStream());
        InputStream err = closer.register(httpURLConnection.getErrorStream());
        copy(in, nullOutputStream());
        if (err != null)
            copy(err, nullOutputStream());
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:org.grouplens.lenskit.eval.data.subsample.SubsampleTask.java

/**
 * Run the Subsample command.//from  w ww .j  av  a 2s  .  co  m
 *
 * @return DataSource The subsample DataSource file
 * @throws org.grouplens.lenskit.eval.TaskExecutionException
 *
 */
@SuppressWarnings("PMD.AvoidCatchingThrowable")
@Override
public DataSource perform() throws TaskExecutionException {
    UpToDateChecker check = new UpToDateChecker();
    check.addInput(source.lastModified());
    File subsampleFile = getOutput();
    check.addOutput(subsampleFile);
    if (check.isUpToDate()) {
        logger.info("subsample {} up to date", getName());
        return makeDataSource();
    }
    try {
        logger.info("sampling {} of {}", subsampleFraction, source.getName());
        Closer closer = Closer.create();
        RatingWriter subsampleWriter = closer.register(RatingWriters.csv(subsampleFile));
        try {
            mode.doSample(source, subsampleWriter, subsampleFraction, getProject().getRandom());
        } catch (Throwable th) {
            throw closer.rethrow(th);
        } finally {
            closer.close();
        }
    } catch (IOException e) {
        throw new TaskExecutionException("Error writing output file", e);
    }
    return makeDataSource();
}

From source file:se.sics.kompics.network.netty.serialization.JavaSerializer.java

@Override
public Object fromBinary(ByteBuf buf, Optional<Class> hint) {
    // Ignore hint
    try {//from w  w w  .  j  a  v a 2  s  .  c o m
        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;
    }
}

From source file:ch.ledcom.maven.sitespeed.analyzer.SiteSpeedAnalyzer.java

private File extractYSlow() throws IOException {
    File yslow = File.createTempFile("yslow", ".js");
    Closer closer = Closer.create();
    try {//from   w w w  .  ja va2  s . c  o  m

        InputStream in = this.getClass().getClassLoader().getResourceAsStream(YSLOW);
        OutputStream out = new FileOutputStream(yslow);
        closer.register(in);
        closer.register(out);
        IOUtils.copy(in, out);
    } catch (Throwable t) {
        closer.rethrow(t);
    } finally {
        closer.close();
    }
    yslow.deleteOnExit();
    return yslow;
}