Example usage for com.google.common.io Flushables flushQuietly

List of usage examples for com.google.common.io Flushables flushQuietly

Introduction

In this page you can find the example usage for com.google.common.io Flushables flushQuietly.

Prototype

public static void flushQuietly(Flushable flushable) 

Source Link

Document

Equivalent to calling flush(flushable, true) , but with no IOException in the signature.

Usage

From source file:org.prebake.service.ClientChannel.java

@Override
public void publish(LogRecord r) {
    out.writeRecord(r);// ww w . j a va2  s.  co m
    Appendable underlying = out.out;
    if (underlying instanceof Flushable) {
        Flushables.flushQuietly((Flushable) underlying);
    }
}

From source file:org.prebake.service.LogRecordWriter.java

public void flush() {
    if (out instanceof Flushable) {
        Flushables.flushQuietly((Flushable) out);
    }
}

From source file:com.planet57.gshell.util.io.StreamSet.java

public void flush() {
    Flushables.flushQuietly(out);

    if (!isOutputCombined()) {
        Flushables.flushQuietly(err);
    }
}

From source file:com.planet57.gshell.commands.pref.ExportPreferencesAction.java

@Override
public Object execute(@Nonnull final CommandContext context) throws Exception {
    IO io = context.getIo();//from   w ww .j  av  a 2s . c o m
    java.util.prefs.Preferences prefs = node();

    try (OutputStream out = openStream(io)) {
        if (subTree) {
            prefs.exportSubtree(out);
        } else {
            prefs.exportNode(out);
        }

        Flushables.flushQuietly(out);
    }

    prefs.sync();

    return null;
}

From source file:com.planet57.gshell.commands.shell.WgetAction.java

@Override
public Object execute(@Nonnull final CommandContext context) throws Exception {
    IO io = context.getIo();/*w w  w . ja v a  2  s.c  o m*/

    io.format("Downloading: %s%n", source);
    if (verbose) {
        io.format("Connecting to: %s:%s%n", source.getHost(),
                source.getPort() != -1 ? source.getPort() : source.getDefaultPort());
    }

    URLConnection conn = source.openConnection();

    if (verbose) {
        io.format("Length: %s [%s]%n", conn.getContentLength(), conn.getContentType());
    }

    InputStream in = conn.getInputStream();

    OutputStream out;
    if (outputFile != null) {
        if (verbose) {
            io.format("Saving to file: %s%n", outputFile);
        }
        out = new BufferedOutputStream(new FileOutputStream(outputFile));
    } else {
        out = io.streams.out;
    }

    ByteStreams.copy(in, out);

    // if we write a file, close it then return the file
    if (outputFile != null) {
        Closeables.close(out);
        io.format("Saved %s [%s]%n", outputFile, outputFile.length());
        return outputFile;
    }

    // else flush the stream and say we did good
    Flushables.flushQuietly(out);
    return null;
}

From source file:org.atlasapi.output.JsonTranslator.java

@Override
public void writeTo(HttpServletRequest request, HttpServletResponse response, T model,
        Set<Annotation> annotations, ApplicationConfiguration config) throws IOException {

    OutputStream out = response.getOutputStream();

    String callback = callback(request);

    String accepts = request.getHeader(HttpHeaders.ACCEPT_ENCODING);
    if (accepts != null && accepts.contains(GZIP_HEADER_VALUE)) {
        response.setHeader(HttpHeaders.CONTENT_ENCODING, GZIP_HEADER_VALUE);
        out = new GZIPOutputStream(out);
    }//from   w  ww  . j  a  va2s . c o m

    OutputStreamWriter writer = new OutputStreamWriter(out, Charsets.UTF_8);

    try {
        if (callback != null) {
            writer.write(callback + "(");
        }
        gson.toJson(model, writer);
        if (callback != null) {
            writer.write(");");
        }
    } finally {
        Flushables.flushQuietly(writer);
        if (out instanceof GZIPOutputStream) {
            ((GZIPOutputStream) out).finish();
        }
    }
}

From source file:org.sonatype.nexus.test.utils.NexusConfigUtil.java

public void saveNexusConfig(final Configuration config) throws IOException {
    // save it/*from   w w  w  .  j av  a2  s  .  co m*/
    final FileWriter fos = new FileWriter(getSecurityConfigurationFile());
    final NexusConfigurationXpp3Writer writer = new NexusConfigurationXpp3Writer();
    try {
        writer.write(fos, config);
    } finally {
        Flushables.flushQuietly(fos);
        Closeables.closeQuietly(fos);
    }
}

From source file:org.sonatype.nexus.test.utils.NexusConfigUtil.java

public void saveSecurityConfig(final SecurityConfiguration config) throws IOException {
    // save it//from   ww w.  ja va2  s . c o  m
    final FileWriter fos = new FileWriter(getSecurityConfigurationFile());
    final SecurityConfigurationXpp3Writer writer = new SecurityConfigurationXpp3Writer();
    try {
        writer.write(fos, config);
    } finally {
        Flushables.flushQuietly(fos);
        Closeables.closeQuietly(fos);
    }
}

From source file:org.jmxtrans.embedded.samples.graphite.GraphiteDataInjector.java

public void exportMetrics(TimeSeries timeSeries) throws IOException {
    System.out.println("Export '" + timeSeries.getKey() + "' to " + graphiteHost + " with prefix '"
            + graphiteMetricPrefix + "'");
    Socket socket = new Socket(graphiteHost, graphitePort);
    OutputStream outputStream = socket.getOutputStream();

    if (generateDataPointsFile) {
        JFreeChart chart = ChartFactory.createXYLineChart("Purchase", "date", "Amount",
                new TimeSeriesCollection(timeSeries), PlotOrientation.VERTICAL, true, true, false);
        // chart.getXYPlot().setRenderer(new XYSplineRenderer(60));

        File file = new File("/tmp/" + timeSeries.getKey() + ".png");
        ChartUtilities.saveChartAsPNG(file, chart, 1200, 800);
        System.out.println("Exported " + file.getAbsolutePath());

        String pickleFileName = "/tmp/" + timeSeries.getKey().toString() + ".pickle";
        System.out.println("Generate " + pickleFileName);
        outputStream = new TeeOutputStream(outputStream, new FileOutputStream(pickleFileName));
    }/*  w  w w  .j  a va  2  s .  com*/

    PyList list = new PyList();

    for (int i = 0; i < timeSeries.getItemCount(); i++) {
        if (debug)
            System.out.println(new DateTime(timeSeries.getDataItem(i).getPeriod().getStart()) + "\t"
                    + timeSeries.getDataItem(i).getValue().intValue());
        String metricName = graphiteMetricPrefix + timeSeries.getKey().toString();
        int time = (int) TimeUnit.SECONDS.convert(timeSeries.getDataItem(i).getPeriod().getStart().getTime(),
                TimeUnit.MILLISECONDS);
        int value = timeSeries.getDataItem(i).getValue().intValue();

        list.add(new PyTuple(new PyString(metricName), new PyTuple(new PyInteger(time), new PyInteger(value))));

        if (list.size() >= batchSize) {
            System.out.print("-");
            rateLimiter.acquire(list.size());
            sendDataPoints(outputStream, list);
        }
    }

    // send last data points
    if (!list.isEmpty()) {
        rateLimiter.acquire(list.size());
        sendDataPoints(outputStream, list);
    }

    Flushables.flushQuietly(outputStream);
    Closeables.close(outputStream, true);
    try {
        socket.close();
    } catch (Exception e) {
        // swallow exception
        e.printStackTrace();
    }

    System.out.println();
    System.out.println("Exported " + timeSeries.getKey() + ": " + timeSeries.getItemCount() + " items");
}

From source file:org.prebake.service.LogHydra.java

/**
 * Should only be called once per instance.
 * @param inheritedProcessStreams typically {@code System.out} and
 *     {@code System.err}.//ww w  .j  ava 2s.c om
 */
public void install(OutputStream... inheritedProcessStreams) {
    int n = inheritedProcessStreams.length;
    OutputStream[] wrappedInheritedProcessStreams = new OutputStream[n];
    for (int i = 0; i < n; ++i) {
        final OutputStream inherited = inheritedProcessStreams[i];
        OutputStream wrapped = new OutputStream() {
            @Override
            public void write(int b) {
                try {
                    inherited.write(b);
                } catch (IOException ex) {
                    // ignore
                }
                Head h = inhQ.first();
                if (h != null) {
                    multicastBytes(h, new byte[] { (byte) b }, 0, 1);
                }
            }

            @Override
            public void write(byte[] bytes, int off, int len) {
                try {
                    inherited.write(bytes, off, len);
                } catch (IOException ex) {
                    // ignore
                }
                multicastBytes(inhQ.first(), bytes, off, len);
            }

            private void multicastBytes(Head h, byte[] bytes, int off, int len) {
                for (; h != null; h = inhQ.after(h)) {
                    sendBytes(h, bytes, off, len);
                }
            }
        };
        wrappedInheritedProcessStreams[i] = wrapped;
    }
    Handler logHandler = new Handler() {
        @Override
        public void close() throws SecurityException {
            for (Head h = loggerQ.first(); h != null; h = loggerQ.after(h)) {
                artifactProcessingEnded(h.artifactDescriptor);
            }
        }

        @Override
        public void flush() {
            for (Head h = loggerQ.first(); h != null; h = loggerQ.after(h)) {
                try {
                    h.out.flush();
                } catch (IOException ex) {
                    artifactProcessingEnded(h.artifactDescriptor);
                }
            }
        }

        @Override
        public void publish(LogRecord r) {
            Head h = loggerQ.first();
            if (h != null) {
                ByteArrayOutputStream bout = new ByteArrayOutputStream();
                OutputStreamWriter out = new OutputStreamWriter(bout, Charsets.UTF_8);
                LogRecordWriter w = new LogRecordWriter(out);
                w.writeRecord(r);
                Flushables.flushQuietly(out);
                byte[] logBytes = bout.toByteArray();
                int n = logBytes.length;
                for (; h != null; h = loggerQ.after(h)) {
                    sendBytes(h, logBytes, 0, n);
                }
            }
        }
    };
    doInstall(wrappedInheritedProcessStreams, logHandler);
}