List of usage examples for com.google.common.io Closer rethrow
public RuntimeException rethrow(Throwable e) throws IOException
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; }