List of usage examples for com.google.common.io Closer register
public <C extends Closeable> C register(@Nullable C closeable)
From source file:com.googlecode.jmxtrans.test.TCPEchoServer.java
public void start() { checkState(thread == null, "Server already started"); thread = new Thread(new Runnable() { @Override// ww w .ja va2s . co 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:com.android.builder.internal.SymbolWriter.java
public void write() throws IOException { Splitter splitter = Splitter.on('.'); Iterable<String> folders = splitter.split(mPackageName); File file = new File(mOutFolder); for (String folder : folders) { file = new File(file, folder); }// ww w.j a v a 2 s .co m file.mkdirs(); file = new File(file, SdkConstants.FN_RESOURCE_CLASS); Closer closer = Closer.create(); try { BufferedWriter writer = closer.register(Files.newWriter(file, Charsets.UTF_8)); writer.write("/* AUTO-GENERATED FILE. DO NOT MODIFY.\n"); writer.write(" *\n"); writer.write(" * This class was automatically generated by the\n"); writer.write(" * aapt tool from the resource data it found. It\n"); writer.write(" * should not be modified by hand.\n"); writer.write(" */\n"); writer.write("package "); writer.write(mPackageName); writer.write(";\n\npublic final class R {\n"); Table<String, String, SymbolEntry> symbols = getAllSymbols(); Table<String, String, SymbolEntry> values = mValues.getSymbols(); Set<String> rowSet = symbols.rowKeySet(); List<String> rowList = Lists.newArrayList(rowSet); Collections.sort(rowList); for (String row : rowList) { writer.write("\tpublic static final class "); writer.write(row); writer.write(" {\n"); Map<String, SymbolEntry> rowMap = symbols.row(row); Set<String> symbolSet = rowMap.keySet(); ArrayList<String> symbolList = Lists.newArrayList(symbolSet); Collections.sort(symbolList); for (String symbolName : symbolList) { // get the matching SymbolEntry from the values Table. SymbolEntry value = values.get(row, symbolName); if (value != null) { writer.write("\t\tpublic static final "); writer.write(value.getType()); writer.write(" "); writer.write(value.getName()); writer.write(" = "); writer.write(value.getValue()); writer.write(";\n"); } } writer.write("\t}\n"); } writer.write("}\n"); } catch (Throwable e) { throw closer.rethrow(e); } finally { closer.close(); } }
From source file:com.sk89q.worldguard.six2five.RegionsProcessor.java
public boolean downgrade(File file) throws IOException { Yaml yaml = new Yaml(); Map<Object, Object> data; Closer closer = Closer.create(); try {/*from w ww. j ava 2 s . c om*/ InputStream is = closer.register(new FileInputStream(file)); BufferedInputStream bis = closer.register(new BufferedInputStream(is)); data = (Map<Object, Object>) yaml.load(bis); log.info("Converting UUIDs to names..."); downgrade(data); } catch (FileNotFoundException e) { log.log(Level.WARNING, "The file '" + file.getAbsolutePath() + "' does not exist"); return false; } catch (IOException e) { log.log(Level.WARNING, "Failed to open file for reading", e); return false; } finally { closer.close(); } closer = Closer.create(); try { File backupFile = new File(file.getParentFile(), Files.getNameWithoutExtension(file.getName()) + "-" + System.currentTimeMillis() + "." + Files.getFileExtension(file.getName()) + ".backup"); if (!file.renameTo(backupFile)) { throw new IOException("Failed to rename old file to " + backupFile.getAbsolutePath()); } log.info("Moved regions file to the backup file at " + backupFile.getAbsolutePath()); FileWriter fw = closer.register(new FileWriter(file)); yaml.dump(data, fw); } catch (IOException e) { log.log(Level.WARNING, "Failed to open file for writing", e); return false; } finally { closer.close(); } log.info("UUID -> name conversion is complete"); return true; }
From source file:alluxio.network.thrift.SocketTrackingTServerSocket.java
/** * Closes all socket connections that have been accepted by this server socket. *///from ww w. j a va 2s . c om private void closeClientSockets() throws IOException { // Possible since super constructor can call close(). if (mSockets == null) { return; } Closer closer = Closer.create(); int count = 0; for (Socket s : mSockets) { if (!s.isClosed()) { closer.register(s); count++; } } closer.close(); LOG.info("Closed {} client sockets", count); }
From source file:io.macgyver.plugin.artifactory.ArtifactoryClientImpl.java
@Override public File fetchArtifactToFile(String path, File out) throws IOException { Closer closer = Closer.create(); try {/*from w w w .ja v a2 s.c o m*/ BufferedInputStream is = new BufferedInputStream(fetchArtifact(path)); closer.register(is); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(out)); closer.register(bos); ByteStreams.copy(is, bos); } finally { closer.close(); } return out; }
From source file:org.grouplens.lenskit.eval.data.subsample.SubsampleTask.java
/** * Run the Subsample command.// w ww.jav a 2 s. c o 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:org.gradle.caching.local.internal.DirectoryBuildCacheService.java
@Override public void store(final BuildCacheKey key, final BuildCacheEntryWriter result) throws BuildCacheException { tempFileStore.withTempFile(key, new Action<File>() { @Override// ww w .j av a2 s.com public void execute(@Nonnull File file) { try { Closer closer = Closer.create(); try { result.writeTo(closer.register(new FileOutputStream(file))); } catch (Exception e) { throw closer.rethrow(e); } finally { closer.close(); } } catch (IOException ex) { throw UncheckedException.throwAsUncheckedException(ex); } storeLocally(key, file); } }); }
From source file:org.apache.jackrabbit.oak.plugins.tika.CSVFileGenerator.java
public void generate(FluentIterable<BinaryResource> binaries) throws IOException { Closer closer = Closer.create(); int count = 0; try {/*from ww w. j ava 2s.c o m*/ CSVPrinter printer = new CSVPrinter(Files.newWriter(outFile, Charsets.UTF_8), CSVFileBinaryResourceProvider.FORMAT); closer.register(printer); for (BinaryResource br : binaries) { count++; printer.printRecord(br.getBlobId(), br.getByteSource().size(), br.getMimeType(), br.getEncoding(), br.getPath()); } printer.flush(); log.info("Generated csv output at {} with {} entries", outFile.getAbsolutePath(), count); } finally { closer.close(); } }
From source file:net.ripe.rpki.commons.crypto.util.PregeneratedKeyPairFactory.java
private void initKeyStore() { try {// w w w .j a v a 2 s.com 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:com.skcraft.launcher.creator.util.ModInfoReader.java
/** * Detect the mods listed in the given .jar * * @param file The file/*from w ww. j av a 2s . co m*/ * @return A list of detected mods */ public List<? extends ModInfo> detectMods(File file) { Closer closer = Closer.create(); try { FileInputStream fis = closer.register(new FileInputStream(file)); BufferedInputStream bis = closer.register(new BufferedInputStream(fis)); ZipInputStream zis = closer.register(new ZipInputStream(bis)); ZipEntry entry; while ((entry = zis.getNextEntry()) != null) { if (entry.getName().equalsIgnoreCase(FORGE_INFO_FILENAME)) { List<ForgeModInfo> mods; String content = CharStreams.toString(new InputStreamReader(zis, Charsets.UTF_8)); try { mods = mapper.readValue(content, ForgeModManifest.class).getMods(); } catch (JsonMappingException | JsonParseException e) { mods = mapper.readValue(content, new TypeReference<List<ForgeModInfo>>() { }); } if (mods != null) { // Ignore "examplemod" return Collections.unmodifiableList( mods.stream().filter(info -> !info.getModId().equals("examplemod")) .collect(Collectors.toList())); } else { return Collections.emptyList(); } } else if (entry.getName().equalsIgnoreCase(LITELOADER_INFO_FILENAME)) { String content = CharStreams.toString(new InputStreamReader(zis, Charsets.UTF_8)); return new ImmutableList.Builder<ModInfo>() .add(mapper.readValue(content, LiteLoaderModInfo.class)).build(); } } return Collections.emptyList(); } catch (JsonMappingException e) { log.log(Level.WARNING, "Unknown format " + FORGE_INFO_FILENAME + " file in " + file.getAbsolutePath(), e); return Collections.emptyList(); } catch (JsonParseException e) { log.log(Level.WARNING, "Corrupt " + FORGE_INFO_FILENAME + " file in " + file.getAbsolutePath(), e); return Collections.emptyList(); } catch (IOException e) { log.log(Level.WARNING, "Failed to read " + file.getAbsolutePath(), e); return Collections.emptyList(); } finally { try { closer.close(); } catch (IOException ignored) { } } }