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

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

Introduction

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

Prototype


public <C extends Closeable> C register(@Nullable C closeable) 

Source Link

Document

Registers the given closeable to be closed when this Closer is #close closed .

Usage

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

private void writeResults(Server server, Query query, Iterable<Result> results,
        HttpURLConnection httpURLConnection) throws IOException {
    Closer closer = Closer.create();
    try {/*from w  ww  .jav  a 2s .  c  o  m*/
        OutputStreamWriter outputStream = closer
                .register(new OutputStreamWriter(httpURLConnection.getOutputStream(), charset));

        target.write(outputStream, server, query, results);
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:com.googlecode.jmxtrans.model.output.LibratoWriter2.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 {//from   w  ww  . ja  v  a2 s .c  om
        JsonGenerator g = closer.register(jsonFactory.createGenerator(writer));
        g.writeStartObject();
        g.writeArrayFieldStart("counters");
        g.writeEndArray();

        String source = getSource(server);

        g.writeArrayFieldStart("gauges");
        for (Result result : results) {
            Map<String, Object> resultValues = result.getValues();
            if (resultValues != null) {
                for (Map.Entry<String, Object> values : resultValues.entrySet()) {
                    if (isNumeric(values.getValue())) {
                        g.writeStartObject();
                        g.writeStringField("name", KeyUtils.getKeyString(query, result, values, typeNames));
                        if (source != null && !source.isEmpty()) {
                            g.writeStringField("source", source);
                        }
                        g.writeNumberField("measure_time", SECONDS.convert(result.getEpoch(), MILLISECONDS));
                        Object value = values.getValue();
                        if (value instanceof Integer) {
                            g.writeNumberField("value", (Integer) value);
                        } else if (value instanceof Long) {
                            g.writeNumberField("value", (Long) value);
                        } else if (value instanceof Float) {
                            g.writeNumberField("value", (Float) value);
                        } else if (value instanceof Double) {
                            g.writeNumberField("value", (Double) value);
                        }
                        g.writeEndObject();
                    }
                }
            }
        }
        g.writeEndArray();
        g.writeEndObject();
        g.flush();
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:org.jclouds.vsphere.functions.CreateOrGetTagsId.java

@Inject
public synchronized void start() {
    Closer closer = Closer.create();
    VSphereServiceInstance client = serviceInstance.get();
    closer.register(client);
    try {//from ww w  . j a v  a 2 s.com
        try {

            CustomFieldDef[] customFieldDefs = client.getInstance().getCustomFieldsManager().getField();
            if (null != customFieldDefs) {
                for (CustomFieldDef field : customFieldDefs) {
                    if (field.getName().equalsIgnoreCase(VSphereConstants.JCLOUDS_TAGS)) {
                        customFieldDefMap.put(VSphereConstants.JCLOUDS_TAGS, field);
                    } else if (field.getName().equalsIgnoreCase(VSphereConstants.JCLOUDS_GROUP)) {
                        customFieldDefMap.put(VSphereConstants.JCLOUDS_GROUP, field);
                    }
                }
            }
            if (!customFieldDefMap.containsKey(VSphereConstants.JCLOUDS_TAGS))
                customFieldDefMap.put(VSphereConstants.JCLOUDS_TAGS,
                        client.getInstance().getCustomFieldsManager()
                                .addCustomFieldDef(VSphereConstants.JCLOUDS_TAGS, null, null, null));
            if (!customFieldDefMap.containsKey(VSphereConstants.JCLOUDS_GROUP))
                customFieldDefMap.put(VSphereConstants.JCLOUDS_GROUP,
                        client.getInstance().getCustomFieldsManager()
                                .addCustomFieldDef(VSphereConstants.JCLOUDS_GROUP, null, null, null));
        } catch (Throwable t) {
            throw closer.rethrow(t);
        } finally {
            closer.close();
        }
    } catch (IOException e) {
        Throwables.propagate(e);
    }
}

From source file:org.gradle.caching.internal.LocalDirectoryBuildCache.java

@Override
public boolean load(final BuildCacheKey key, final BuildCacheEntryReader reader) throws BuildCacheException {
    return persistentCache.useCache("load build cache entry", new Factory<Boolean>() {
        @Override//from   w w w.  j a  v  a2 s . c  om
        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;
                    } finally {
                        closer.close();
                    }
                } catch (IOException ex) {
                    throw new UncheckedIOException(ex);
                }
            }
            return false;
        }
    });
}

From source file:org.gradle.caching.internal.LocalDirectoryBuildCacheService.java

@Override
public boolean load(final BuildCacheKey key, final BuildCacheEntryReader reader) throws BuildCacheException {
    return persistentCache.useCache(new Factory<Boolean>() {
        @Override/*from   w  w w .j  ava2s .  c  o  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;
                    } finally {
                        closer.close();
                    }
                } catch (IOException ex) {
                    throw new UncheckedIOException(ex);
                }
            }
            return false;
        }
    });
}

From source file:com.google.caliper.runner.config.LoggingConfigLoader.java

void loadLoggingConfig() {
    File loggingPropertiesFile = new File(caliperDirectory, "logging.properties");
    if (loggingPropertiesFile.isFile()) {
        Closer closer = Closer.create();
        FileInputStream fis = null;
        try {//from   www. j a va 2s.  c om
            fis = closer.register(new FileInputStream(loggingPropertiesFile));
            logManager.readConfiguration(fis);
        } catch (SecurityException e) {
            logConfigurationException(e);
        } catch (IOException e) {
            logConfigurationException(e);
        } finally {
            try {
                closer.close();
            } catch (IOException e) {
                logger.log(SEVERE, "could not close " + loggingPropertiesFile, e);
            }
        }
        logger.info(String.format("Using logging configuration at %s", loggingPropertiesFile));
    } else {
        try {
            maybeLoadDefaultLogConfiguration(LogManager.getLogManager());
        } catch (SecurityException e) {
            logConfigurationException(e);
        } catch (IOException e) {
            logConfigurationException(e);
        }
    }
}

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/*from   ww w. ja  v  a2 s  .  c o  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:org.apache.jackrabbit.oak.upgrade.cli.node.JdbcFactory.java

@Override
public NodeStore create(BlobStore blobStore, Closer closer) {
    DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcUri, user, password);
    if (ds instanceof Closeable) {
        closer.register((Closeable) ds);
    }/*from  w ww.ja v a  2  s  .com*/
    DocumentMK.Builder builder = MongoFactory.getBuilder(cacheSize);
    if (blobStore != null) {
        builder.setBlobStore(blobStore);
    }
    builder.setRDBConnection(ds);
    log.info("Initialized DocumentNodeStore on RDB with Cache size : {} MB, Fast migration : {}", cacheSize,
            builder.isDisableBranches());
    DocumentNodeStore documentNodeStore = builder.getNodeStore();
    closer.register(MongoFactory.asCloseable(documentNodeStore));
    return documentNodeStore;
}

From source file:li.klass.fhem.util.ApplicationProperties.java

void load(URL url) throws Exception {
    Closer closer = Closer.create();
    InputStream stream = url.openStream();
    closer.register(stream);
    try {//w  ww  .  j ava  2s  .c  om
        properties.load(stream);
    } catch (IOException e) {
        Log.e(TAG, "error while loading url", e);
    } finally {
        closer.close();
    }
}

From source file:se.sics.caracaldb.store.CleanupReq.java

@Override
public StorageResponse execute(Persistence store) throws IOException {
    long size = 0;
    long keys = 0;

    Closer closer = Closer.create();
    Batch b;/*from w  ww .  j a va 2 s.co m*/
    try {
        byte[] begin = range.begin.getArray();
        b = closer.register(store.createBatch());
        for (StoreIterator it = closer.register(store.iterator(begin)); it.hasNext(); it.next()) {
            byte[] key = it.peekKey();
            if (range.contains(key)) {
                int l = b.deleteVersions(key, versionId);
                if (l > 0) {
                    keys++;
                    size += key.length;
                    size += l;
                }
            } else {
                //special case (a,b) and key is a
                if (Key.compare(begin, key) != 0) {
                    break; // reached end of range
                }
            }
        }
        store.writeBatch(b);
    } catch (Throwable e) {
        closer.rethrow(e);
    } finally {
        closer.close();
    }
    return new SizeResp(this, new Diff(size, keys, true));
}