Example usage for io.vertx.core.file OpenOptions OpenOptions

List of usage examples for io.vertx.core.file OpenOptions OpenOptions

Introduction

In this page you can find the example usage for io.vertx.core.file OpenOptions OpenOptions.

Prototype

public OpenOptions() 

Source Link

Document

Default constructor

Usage

From source file:com.deblox.releaseboard.ReleaseBoardVerticle.java

License:Apache License

public void saveState() {
    logger.info("saving state");
    JsonObject db = new JsonObject();
    JsonArray releases = new JsonArray();

    Iterator<Map.Entry<String, JsonObject>> iter = releasesData.entrySet().iterator();
    while (iter.hasNext()) {
        Map.Entry<String, JsonObject> entry = iter.next();
        JsonObject rel = new JsonObject();
        rel.put("id", entry.getKey());
        rel.put("data", entry.getValue());
        releases.add(rel);//from  w  w w .j a  v  a 2s . com
    }

    db.put("releases", releases);

    vertx.fileSystem().exists(stateFile, te -> {
        if (te.succeeded()) {
            if (te.result().booleanValue()) {
                vertx.fileSystem().deleteBlocking(stateFile);
                vertx.fileSystem().createFileBlocking(stateFile);
            } else {
                vertx.fileSystem().createFileBlocking(stateFile);
            }

        } else {
            logger.warn("unable to check if file exists: " + stateFile);
        }

        vertx.fileSystem().open(stateFile, new OpenOptions().setCreate(true).setWrite(true), r -> {
            if (r.succeeded()) {
                AsyncFile file = r.result();
                file.write(Buffer.buffer(db.toString()));
                file.close();
            } else {
                logger.warn(r.cause());
            }
        });

    });

}

From source file:de.notizwerk.Consumer.java

License:Open Source License

private void setUpFileSystem(Handler<Void> onCompletion) {
    OpenOptions options = new OpenOptions();
    options.setCreate(true).setTruncateExisting(true).setDsync(false);

    String fileName = name + ".txt";
    vertx.fileSystem().open(fileName, options, res -> {
        if (res.succeeded()) {
            file = res.result();/*w  w w .  j a va2 s .  co m*/
            onCompletion.handle(null);
        } else {
            System.out.println("unable to setup file:" + fileName);
        }
    });
}

From source file:examples.FileSystemExamples.java

License:Open Source License

public void example3(FileSystem fileSystem) {
    OpenOptions options = new OpenOptions();
    fileSystem.open("myfile.txt", options, res -> {
        if (res.succeeded()) {
            AsyncFile file = res.result();
        } else {//from   w ww. ja v a  2  s.  c  o  m
            // Something went wrong!
        }
    });
}

From source file:examples.FileSystemExamples.java

License:Open Source License

public void asyncFileWrite() {
    Vertx vertx = Vertx.vertx();/*from   w ww.  j  a  v  a 2 s.co  m*/
    vertx.fileSystem().open("target/classes/hello.txt", new OpenOptions(), result -> {
        if (result.succeeded()) {
            AsyncFile file = result.result();
            Buffer buff = Buffer.buffer("foo");
            for (int i = 0; i < 5; i++) {
                file.write(buff, buff.length() * i, ar -> {
                    if (ar.succeeded()) {
                        System.out.println("Written ok!");
                        // etc
                    } else {
                        System.err.println("Failed to write: " + ar.cause());
                    }
                });
            }
        } else {
            System.err.println("Cannot open file " + result.cause());
        }
    });
}

From source file:examples.FileSystemExamples.java

License:Open Source License

public void asyncFileRead() {
    Vertx vertx = Vertx.vertx();//from w w w .j  a  v a 2s  .  co  m
    vertx.fileSystem().open("target/classes/les_miserables.txt", new OpenOptions(), result -> {
        if (result.succeeded()) {
            AsyncFile file = result.result();
            Buffer buff = Buffer.buffer(1000);
            for (int i = 0; i < 10; i++) {
                file.read(buff, i * 100, i * 100, 100, ar -> {
                    if (ar.succeeded()) {
                        System.out.println("Read ok!");
                    } else {
                        System.err.println("Failed to write: " + ar.cause());
                    }
                });
            }
        } else {
            System.err.println("Cannot open file " + result.cause());
        }
    });
}

From source file:examples.FileSystemExamples.java

License:Open Source License

public void asyncFilePump() {
    Vertx vertx = Vertx.vertx();/*from   w w w . j a va 2 s.  c om*/
    final AsyncFile output = vertx.fileSystem().openBlocking("target/classes/plagiary.txt", new OpenOptions());

    vertx.fileSystem().open("target/classes/les_miserables.txt", new OpenOptions(), result -> {
        if (result.succeeded()) {
            AsyncFile file = result.result();
            Pump.pump(file, output).start();
            file.endHandler((r) -> {
                System.out.println("Copy done");
            });
        } else {
            System.err.println("Cannot open file " + result.cause());
        }
    });
}

From source file:io.knotx.mocks.knot.KnotContextKeys.java

License:Apache License

Observable<Optional<Object>> mockValue(FileSystem fileSystem, String resourcePath) {
    return fileSystem.rxOpen(resourcePath, new OpenOptions().setCreate(false).setWrite(false))
            .flatMap(this::processFile).map(this::toJson).toObservable();
}

From source file:org.apache.servicecomb.foundation.vertx.http.ReadStreamPart.java

License:Apache License

/**
 *
 * @param fileName// w w  w  .j a v  a2 s  .  c  o  m
 * @return future of save to file, future complete means write to file finished
 */
public CompletableFuture<File> saveToFile(String fileName) {
    File file = new File(fileName);
    file.getParentFile().mkdirs();
    OpenOptions openOptions = new OpenOptions().setCreateNew(true);
    return saveToFile(file, openOptions);
}

From source file:org.entcore.common.storage.impl.GridfsStorage.java

License:Open Source License

@Override
public void writeFsFile(final String id, final String filePath, final Handler<JsonObject> handler) {
    if (id == null || id.trim().isEmpty() || filePath == null || filePath.trim().isEmpty()
            || filePath.endsWith(File.separator)) {
        handler.handle(new JsonObject().put("status", "error").put("message", "invalid.parameter"));
        return;//w  w w. j  a  v  a  2  s .  c  o m
    }
    final String filename = filePath.contains(File.separator)
            ? filePath.substring(filePath.lastIndexOf(File.separator) + 1)
            : filePath;
    final String contentType = getContentType(filePath);
    vertx.fileSystem().props(filePath, new Handler<AsyncResult<FileProps>>() {
        @Override
        public void handle(AsyncResult<FileProps> event) {
            if (event.succeeded()) {
                final long fileSize = event.result().size();
                vertx.fileSystem().open(filePath, new OpenOptions(), new Handler<AsyncResult<AsyncFile>>() {
                    @Override
                    public void handle(AsyncResult<AsyncFile> event) {
                        if (event.succeeded()) {
                            final AsyncFile asyncFile = event.result();
                            int nbChunks = (int) Math.ceil(fileSize / BUFFER_SIZE);
                            final Handler[] handlers = new Handler[nbChunks + 1];

                            handlers[handlers.length - 1] = new Handler<AsyncResult<Buffer>>() {
                                @Override
                                public void handle(AsyncResult<Buffer> asyncResult) {
                                    if (asyncResult.failed()) {
                                        handler.handle(new JsonObject().put("status", "error").put("message",
                                                asyncResult.cause().getMessage()));
                                        return;
                                    }
                                    Buffer buff = asyncResult.result();
                                    saveChunk(id, buff, handlers.length - 1, contentType, filename, fileSize,
                                            handler);
                                    asyncFile.close();
                                }
                            };

                            for (int i = nbChunks - 1; i >= 0; i--) {
                                final int j = i;
                                handlers[i] = new Handler<AsyncResult<Buffer>>() {
                                    @Override
                                    public void handle(AsyncResult<Buffer> asyncResult) {
                                        if (asyncResult.failed()) {
                                            handler.handle(new JsonObject().put("status", "error")
                                                    .put("message", asyncResult.cause().getMessage()));
                                            return;
                                        }
                                        Buffer buff = asyncResult.result();
                                        saveChunk(id, buff, j, contentType, filename, fileSize,
                                                new Handler<JsonObject>() {
                                                    @Override
                                                    public void handle(JsonObject message) {
                                                        if ("ok".equals(message.getString("status"))) {
                                                            asyncFile.read(Buffer.buffer((int) BUFFER_SIZE), 0,
                                                                    (j + 1) * BUFFER_SIZE, (int) BUFFER_SIZE,
                                                                    handlers[j + 1]);
                                                        } else {
                                                            handler.handle(message);
                                                        }
                                                    }
                                                });
                                    }
                                };
                            }

                            asyncFile.read(Buffer.buffer((int) BUFFER_SIZE), 0, 0, (int) BUFFER_SIZE,
                                    handlers[0]);

                        } else {
                            handler.handle(new JsonObject().put("status", "error").put("message",
                                    event.cause().getMessage()));
                        }
                    }
                });
            } else {
                handler.handle(
                        new JsonObject().put("status", "error").put("message", event.cause().getMessage()));
            }
        }
    });
}

From source file:org.entcore.feeder.utils.CSVUtil.java

License:Open Source License

public static void getCharset(Vertx vertx, String path, final Handler<String> handler) {
    vertx.fileSystem().open(path, new OpenOptions(), new Handler<AsyncResult<AsyncFile>>() {
        @Override//from  w w w.  ja va2  s . c om
        public void handle(final AsyncResult<AsyncFile> event) {
            if (event.succeeded()) {
                event.result().read(Buffer.buffer(4), 0, 0, 4, new Handler<AsyncResult<Buffer>>() {
                    @Override
                    public void handle(AsyncResult<Buffer> ar) {
                        event.result().close();
                        if (ar.succeeded() && ar.result().toString("UTF-8").startsWith(UTF8_BOM)) {
                            handler.handle("UTF-8");
                        } else {
                            handler.handle("ISO-8859-1");
                        }
                    }
                });
            } else {
                handler.handle("ISO-8859-1");
            }
        }
    });
}