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

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

Introduction

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

Prototype

public static Closer create() 

Source Link

Document

Creates a new Closer .

Usage

From source file:net.myrrix.client.translating.TranslatingClientRecommender.java

private File copyAndTranslateToTempFile(Reader reader) throws IOException {
    File tempFile = File.createTempFile("myrrix-", ".csv.gz");
    tempFile.deleteOnExit();/*from  w  w w. j  a va 2  s. c  o m*/
    log.debug("Translating ingest input to {}", tempFile);
    Closer closer = Closer.create();
    try {
        BufferedReader buffered = closer.register(IOUtils.buffer(reader));
        Writer out = closer.register(IOUtils.buildGZIPWriter(tempFile));
        CharSequence line;
        while ((line = buffered.readLine()) != null) {
            Iterator<String> it = COMMA_SPLIT.split(line).iterator();
            String userIDString = it.next();
            String itemIDString = it.next();
            long longUserID = translateUser(userIDString);
            long longItemID = translateItem(itemIDString);
            String translatedLine;
            if (it.hasNext()) {
                String valueString = it.next();
                translatedLine = COMMA_JOIN.join(longUserID, longItemID, valueString);
            } else {
                translatedLine = COMMA_JOIN.join(longUserID, longItemID);
            }
            out.write(translatedLine);
            out.write('\n');
        }
    } finally {
        closer.close();
    }
    log.debug("Done translating ingest input to {}", tempFile);
    return tempFile;
}

From source file:com.android.builder.internal.packaging.IncrementalPackager.java

@Override
public void close() throws IOException {
    if (mApkCreator == null) {
        return;//from w w w .ja  va  2s .co  m
    }

    Closer closer = Closer.create();
    try {
        closer.register(mApkCreator);
        closer.register(mDexRenamer);
        mApkCreator = null;
    } finally {
        closer.close();
    }
}

From source file:io.prestosql.plugin.hive.s3.PrestoS3FileSystem.java

@Override
public void close() throws IOException {
    try (Closer closer = Closer.create()) {
        closer.register(super::close);
        if (credentialsProvider instanceof Closeable) {
            closer.register((Closeable) credentialsProvider);
        }/*w ww  .  j a va2s  .  co  m*/
        closer.register(s3::shutdown);
    }
}

From source file:org.apache.gobblin.runtime.JobLauncherTestHelper.java

public void runTestWithCommitSuccessfulTasksPolicy(Properties jobProps) throws Exception {
    String jobName = jobProps.getProperty(ConfigurationKeys.JOB_NAME_KEY);
    String jobId = JobLauncherUtils.newJobId(jobName).toString();
    jobProps.setProperty(ConfigurationKeys.JOB_ID_KEY, jobId);
    jobProps.setProperty(ConfigurationKeys.PUBLISH_DATA_AT_JOB_LEVEL, Boolean.FALSE.toString());
    jobProps.setProperty(ConfigurationKeys.JOB_COMMIT_POLICY_KEY, "successful");
    jobProps.setProperty(ConfigurationKeys.SOURCE_CLASS_KEY, TestSourceWithFaultyExtractor.class.getName());
    jobProps.setProperty(ConfigurationKeys.MAX_TASK_RETRIES_KEY, "0");

    Closer closer = Closer.create();
    try {//w w w  . ja va 2 s.c om
        JobLauncher jobLauncher = closer
                .register(JobLauncherFactory.newJobLauncher(this.launcherProps, jobProps));
        jobLauncher.launchJob(null);
    } finally {
        closer.close();
    }

    List<JobState.DatasetState> datasetStateList = this.datasetStateStore.getAll(jobName,
            sanitizeJobNameForDatasetStore(jobId) + ".jst");
    JobState jobState = datasetStateList.get(0);

    Assert.assertEquals(jobState.getState(), JobState.RunningState.COMMITTED);
    Assert.assertEquals(jobState.getCompletedTasks(), 4);
    for (TaskState taskState : jobState.getTaskStates()) {
        if (taskState.getTaskId().endsWith("0")) {
            Assert.assertEquals(taskState.getWorkingState(), WorkUnitState.WorkingState.FAILED);
        } else {
            Assert.assertEquals(taskState.getWorkingState(), WorkUnitState.WorkingState.COMMITTED);
            Assert.assertEquals(taskState.getPropAsLong(ConfigurationKeys.WRITER_RECORDS_WRITTEN),
                    TestExtractor.TOTAL_RECORDS);
        }
    }
}

From source file:gobblin.runtime.SafeDatasetCommit.java

@SuppressWarnings("unchecked")
private Optional<CommitSequence.Builder> generateCommitSequenceBuilder(JobState.DatasetState datasetState,
        Collection<TaskState> taskStates) {
    try (Closer closer = Closer.create()) {
        Class<? extends CommitSequencePublisher> dataPublisherClass = (Class<? extends CommitSequencePublisher>) Class
                .forName(datasetState.getProp(ConfigurationKeys.DATA_PUBLISHER_TYPE,
                        ConfigurationKeys.DEFAULT_DATA_PUBLISHER_TYPE));
        CommitSequencePublisher publisher = (CommitSequencePublisher) closer
                .register(DataPublisher.getInstance(dataPublisherClass, this.jobContext.getJobState()));
        publisher.publish(taskStates);// ww w. j  a  va  2  s .  c  om
        return publisher.getCommitSequenceBuilder();
    } catch (Throwable t) {
        log.error("Failed to generate commit sequence", t);
        setTaskFailureException(datasetState.getTaskStates(), t);
        throw Throwables.propagate(t);
    }
}

From source file:com.facebook.buck.android.exopackage.ExopackageInstaller.java

private void installMetadata(ImmutableMap<Path, String> metadataToInstall) throws Exception {
    try (Closer closer = Closer.create()) {
        Map<Path, Path> filesToInstall = new HashMap<>();
        for (Map.Entry<Path, String> entry : metadataToInstall.entrySet()) {
            NamedTemporaryFile temp = closer.register(new NamedTemporaryFile("metadata", "tmp"));
            com.google.common.io.Files.write(entry.getValue().getBytes(Charsets.UTF_8), temp.get().toFile());
            filesToInstall.put(entry.getKey(), temp.get());
        }/*from w w w.  j a  v a  2s  .c om*/
        installFiles("metadata", ImmutableMap.copyOf(filesToInstall));
    }
}

From source file:org.glowroot.local.ui.ClasspathCache.java

private static void loadClassNamesFromJarFile(File jarFile, Multimap<String, File> newClassNameLocations)
        throws IOException {
    Closer closer = Closer.create();
    InputStream s = new FileInputStream(jarFile);
    JarInputStream jarIn = closer.register(new JarInputStream(s));
    try {//from   w w w  .  ja v  a2 s  .c  o  m
        loadClassNamesFromManifestClassPath(jarIn, jarFile, newClassNameLocations);
        loadClassNamesFromJarInputStream(jarIn, jarFile, newClassNameLocations);
    } catch (Throwable t) {
        throw closer.rethrow(t);
    } finally {
        closer.close();
    }
}

From source file:org.grouplens.lenskit.eval.traintest.TrainTestEvalTask.java

/**
 * Run the evaluation on the train test data source files
 *
 * @return The summary output table./*  w  ww.  j a v  a  2s  . com*/
 * @throws org.grouplens.lenskit.eval.TaskExecutionException
 *          Failure of the evaluation
 */
@Override
@SuppressWarnings("PMD.AvoidCatchingThrowable")
public Table perform() throws TaskExecutionException, InterruptedException {
    try {
        experiments = createExperimentSuite();
        measurements = createMeasurementSuite();
        layout = ExperimentOutputLayout.create(experiments, measurements);
        TableBuilder resultsBuilder = new TableBuilder(layout.getResultsLayout());

        logger.info("Starting evaluation of {} algorithms ({} from LensKit) on {} data sets",
                Iterables.size(experiments.getAllAlgorithms()), experiments.getAlgorithms().size(),
                experiments.getDataSets().size());
        Closer closer = Closer.create();

        try {
            outputs = openExperimentOutputs(layout, measurements, resultsBuilder, closer);
            DAGNode<JobGraph.Node, JobGraph.Edge> jobGraph;
            try {
                jobGraph = makeJobGraph(experiments);
            } catch (RecommenderConfigurationException ex) {
                throw new TaskExecutionException("Recommender configuration error", ex);
            }
            if (taskGraphFile != null) {
                logger.info("writing task graph to {}", taskGraphFile);
                JobGraph.writeGraphDescription(jobGraph, taskGraphFile);
            }
            registerTaskListener(jobGraph);

            // tell all metrics to get started
            runEvaluations(jobGraph);
        } catch (Throwable th) {
            throw closer.rethrow(th, TaskExecutionException.class, InterruptedException.class);
        } finally {
            closer.close();
        }

        logger.info("evaluation {} completed", getName());

        return resultsBuilder.build();
    } catch (IOException e) {
        throw new TaskExecutionException("I/O error", e);
    } finally {
        experiments = null;
        measurements = null;
        outputs = null;
        layout = null;
    }
}

From source file:org.grouplens.lenskit.eval.data.crossfold.CrossfoldTask.java

/**
 * Write train-test split files//from w ww.j a  v  a 2  s  .co  m
 *
 * @throws IOException if there is an error writing the files.
 */
@SuppressWarnings("PMD.AvoidCatchingThrowable")
protected void createTTFiles() throws IOException {
    File[] trainFiles = getFiles(getTrainPattern());
    File[] testFiles = getFiles(getTestPattern());
    RatingWriter[] trainWriters = new RatingWriter[partitionCount];
    RatingWriter[] testWriters = new RatingWriter[partitionCount];
    Closer closer = Closer.create();
    try {
        for (int i = 0; i < partitionCount; i++) {
            File train = trainFiles[i];
            File test = testFiles[i];
            trainWriters[i] = closer.register(makeWriter(train));
            testWriters[i] = closer.register(makeWriter(test));
        }
        switch (method) {
        case PARTITION_USERS:
        case SAMPLE_USERS:
            writeTTFilesByUsers(trainWriters, testWriters);
            break;
        case PARTITION_RATINGS:
            writeTTFilesByRatings(trainWriters, testWriters);
            break;
        }
    } catch (Throwable th) {
        throw closer.rethrow(th);
    } finally {
        closer.close();
    }
}

From source file:net.sf.diningout.app.RestaurantService.java

/**
 * Download the photo at the URL and save it to disk.
 *
 * @return ETag header value, if available
 *//*from  w w  w .ja  v a 2s . c  o  m*/
private static String photo(long id, final long restaurantId, String url) throws IOException {
    File file = RestaurantPhotos.file(id, restaurantId);
    if (file == null) {
        return null;
    }
    Files.createParentDirs(file);
    File part = new File(file.getParentFile(), file.getName() + DOT_PART);
    URLConnection con = HttpClient.openConnection(url);
    Closer closer = Closer.create();
    try {
        ByteStreams.copy(closer.register(con.getInputStream()), closer.register(new FileOutputStream(part)));
    } catch (Throwable e) {
        throw closer.rethrow(e);
    } finally {
        closer.close();
    }
    part.renameTo(file);
    /* notify observers about new photo */
    new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
        @Override
        public void run() {
            cr().notifyChange(ContentUris.withAppendedId(Restaurants.CONTENT_URI, restaurantId), null, false);
        }
    }, 500L); // when the file will hopefully already be flushed to disk
    context().startService(new Intent(context(), RestaurantColorService.class)
            .putExtra(RestaurantColorService.EXTRA_ID, restaurantId));
    return con.getHeaderField("ETag");
}