Example usage for io.vertx.core.json JsonObject toString

List of usage examples for io.vertx.core.json JsonObject toString

Introduction

In this page you can find the example usage for io.vertx.core.json JsonObject toString.

Prototype

@Override
    public String toString() 

Source Link

Usage

From source file:FileAccess.java

public JsonObject getProjectStructure(String projectId) {
    JsonObject projectStructure = new JsonObject();

    JsonArray rootFolder = new JsonArray();

    JsonArray rootFile = new JsonArray();

    List<String> rootDirectorys = vertx.fileSystem().readDirBlocking("project/" + projectId);

    System.out.println(new JsonArray(rootDirectorys).toString());

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    for (String directory : rootDirectorys) {
        System.out.println(directory + "directory");
        FileProps something = vertx.fileSystem().lpropsBlocking(directory);
        if (something.isDirectory()) {
            JsonObject directoryJSON = new JsonObject();
            String splitDirectory[] = directory.split("\\\\");
            directoryJSON.put("name", splitDirectory[splitDirectory.length - 1]);
            //                tinggal tambahkan encode menggunakan base 64 agar tidak terdeteksi titik.
            String id = splitDirectory[splitDirectory.length - 2];
            String tmpId = new Base32().encodeAsString(splitDirectory[splitDirectory.length - 1].getBytes())
                    .replace("=", "0");
            directoryJSON.put("id", tmpId);
            directoryJSON.put("create_date", dateFormat.format(new Date(something.creationTime())));
            directoryJSON.put("modify_date", dateFormat.format(new Date(something.lastModifiedTime())));
            rootFolder.add(directoryJSON);

            List<String> subDirectorysFiles = vertx.fileSystem().readDirBlocking(directory);
            JsonArray subFiles = new JsonArray();
            for (String subDirectoryFile : subDirectorysFiles) {
                JsonObject fileJSON = new JsonObject();
                String splitFile[] = subDirectoryFile.split("\\\\");
                fileJSON.put("name", splitFile[splitFile.length - 1]);
                fileJSON.put("id", new Base32().encodeAsString(
                        (splitFile[splitFile.length - 2] + "/" + splitFile[splitFile.length - 1]).getBytes())
                        .replace("=", "0"));
                fileJSON.put("create_date", dateFormat.format(new Date(something.creationTime())));
                fileJSON.put("modify_date", dateFormat.format(new Date(something.lastModifiedTime())));

                subFiles.add(fileJSON);//from   w w  w  .j a  va  2 s  .  c  om
            }
            directoryJSON.put("files", subFiles);

        } else {
            JsonObject fileJSON = new JsonObject();
            String splitFile[] = directory.split("\\\\");
            fileJSON.put("name", splitFile[splitFile.length - 1]);
            fileJSON.put("id",
                    new Base32().encodeAsString(splitFile[splitFile.length - 1].getBytes()).replace("=", "0"));
            fileJSON.put("create_date", dateFormat.format(new Date(something.creationTime())));
            fileJSON.put("modify_date", dateFormat.format(new Date(something.lastModifiedTime())));
            rootFile.add(fileJSON);
        }
    }

    projectStructure.put("folders", rootFolder);
    projectStructure.put("files", rootFile);

    System.out.println(projectStructure.toString());
    return projectStructure;
}

From source file:co.runrightfast.core.utils.JsonUtils.java

License:Apache License

static JsonObject toVertxJsonObject(@NonNull final javax.json.JsonObject json) {
    return new JsonObject(json.toString());
}

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);// w ww .ja va2s. c  o  m
    }

    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:com.deblox.server.MockServer.java

License:Apache License

@Override
public void start(Future<Void> startFuture) {
    logger.info("starting with config: " + config().toString());
    Router router = Router.router(vertx);

    try {//from w ww  .  j a v a 2s .c o  m
        serverConfig = Util.loadConfig(config().getString("serverConfig", "/conf.json")).getJsonObject(
                config().getString("serverVerticle", "com.deblox.solacemonitor.MonitorVerticle"));
        metrics = serverConfig.getJsonObject("config").getJsonObject("metrics");
        logger.info("metrics: " + metrics);
    } catch (IOException e) {
        e.printStackTrace();
    }

    router.route().handler(CorsHandler.create("*").allowedMethod(HttpMethod.GET).allowedMethod(HttpMethod.POST)
            .allowedMethod(HttpMethod.OPTIONS).allowedHeader("Content-Type"));

    router.get("/SEMP").handler(ctx -> {
        logger.debug("mock server taking request");
        ctx.response().setChunked(true);
        ctx.response().write("POST YOUR SEMP REQUESTS HERE");
        ctx.response().end();
    });

    /*
            
    accepts XML posted to /SEMP,
    matches XML against metrics's request string in serverConfig's metrics object
    reads a XML file from resources matching the NAME of the metric e.g. stats
            
     */

    router.post("/SEMP").handler(ctx -> {
        logger.debug("mock server taking request");

        for (Map.Entry<String, String> entry : ctx.request().headers()) {
            logger.debug("Header: " + entry.getKey() + " : " + entry.getValue());
        }

        ctx.request().bodyHandler(body -> {
            logger.debug("Body Handler");
            logger.debug(body.toString());

            logger.debug("Matching metrics:");

            metrics.forEach(e -> {
                logger.debug(e.getKey());

                JsonObject j = (JsonObject) e.getValue();

                try {

                    if (j.getString("request").equals(body.toString())) {
                        logger.debug("MATCHED");

                        ctx.response().setChunked(true);
                        try {
                            ctx.response().sendFile("mock/" + e.getKey() + ".xml");
                        } catch (Exception x) {
                            x.printStackTrace();
                        }

                    }
                } catch (Exception x) {
                    logger.warn("skipping " + j.toString());
                }

                logger.debug(j.getString("request"));

            });

        });

    });

    // the server itself
    vertx.createHttpServer().requestHandler(router::accept).listen(config().getInteger("port", 8081));

    // send back deployment complete
    startFuture.complete();
}

From source file:com.deblox.solacemonitor.MonitorVerticle.java

License:Apache License

/**
 * Start the verticle//  w ww .ja va2  s.c  o  m
 *
 * @param startFuture
 * @throws Exception
 */
public void start(Future<Void> startFuture) throws Exception {

    logger.info("starup with config: " + config().toString());

    // read startup config
    config = config();

    // vars
    host = config.getString("host", null);
    port = config.getInteger("port", 80);
    uri = config.getString("uri", "/");
    username = config.getString("username", "DEFAULT_USERNAME");
    password = config.getString("password", "DEFAULT_PASSWORD");
    credentials = String.format("%s:%s", username, password);
    method = config.getString("method", "GET");

    // map for connected clients
    clients = new HashMap<UUID, String>();

    // generate a uuid
    uuid = UUID.randomUUID().toString();

    // connect to the eventbus
    eb = vertx.eventBus();

    // create a instance of http client
    client = vertx.createHttpClient();

    // eventbus ping listner
    eb.consumer("ping-address", message -> {
        logger.info(uuid + ": replying");
        message.reply("pong!");
    });

    // handler for requests for metrics
    eb.consumer("request-metrics", message -> {
        logger.info(uuid + ": requesting metrics");

        try {
            getRest(message.body().toString(), event -> {
                logger.debug("response: " + event.toString());
                if (config().getBoolean("convert_xml_response_to_json", false)) {
                    message.reply(Util.xml2json(event.toString()));
                } else {
                    message.reply(event.toString());
                }
            });
        } catch (Exception e) {
            logger.warn("unable to get metric");
            e.printStackTrace();
        }

    });

    // returns a array of names for all metrics defined in config
    // used for setting up the client
    eb.consumer("request-config", message -> {

        String req = message.body().toString();

        logger.debug("config request for: " + req);

        JsonObject response = new JsonObject();

        // all = return a list of metrics
        if (req.equals("all")) {

            JsonArray results = new JsonArray(config.getJsonObject("metrics").stream()
                    .filter(r -> ((JsonObject) r.getValue()).getBoolean("show_in_menu", true))
                    .map(r -> r.getKey()).sorted().collect(Collectors.toList()));
            response.put("metrics", results);

        } else {
            // get a specific metric's config
            response = config.getJsonObject("metrics").getJsonObject(req);
            response.put("topic", req);
            logger.debug(response.toString());

        }

        message.reply(response);

    });

    // register new clients
    eb.consumer("newclient", message -> {
        logger.info("new client: " + message.body().toString());
        JsonObject client = new JsonObject(message.body().toString());
        clients.remove(client.getString("uuid"));
        clients.put(UUID.fromString(client.getString("uuid")), client.getString("version"));
    });

    // client ping maintains the clients map
    eb.consumer("client-ping", message -> {
        JsonObject client = new JsonObject(message.body().toString());
        clients.remove(client.getString("uuid"));
        clients.put(UUID.fromString(client.getString("uuid")), client.getString("version"));
    });

    // listen for broadcasts from other verticles / clients
    eb.consumer("broadcast", event -> {
        logger.info(event.body().toString());
        JsonObject message = new JsonObject(event.body().toString());
        broadcast(message.getString("topic", "unknown"), event.body().toString());
    });

    // create metric emitters
    Iterator iter = config.getJsonObject("metrics", new JsonObject()).iterator();
    while (iter.hasNext()) {

        Map.Entry<String, JsonObject> metricConfig = (Map.Entry) iter.next();

        logger.debug("registering metric: " + metricConfig.getKey());

        int interval = metricConfig.getValue().getInteger("interval", 0);

        if (interval != 0) {
            vertx.setPeriodic(interval, tid -> {

                logger.debug("metric interval handler for " + metricConfig.getKey() + " every " + interval);

                try {

                    getRest(metricConfig.getKey(), event -> {
                        logger.debug("metric: " + event.toString());

                        JsonObject metricMessage = new JsonObject();
                        metricMessage.put("topic", metricConfig.getKey());
                        metricMessage.put("data", Util.xml2json(event.toString()));

                        // get the config for the metric
                        JsonObject msgConfig = config.getJsonObject("metrics")
                                .getJsonObject(metricConfig.getKey()).getJsonObject("config", new JsonObject());

                        // get the view_format by name
                        msgConfig.put("view_format", config.getJsonObject("views", new JsonObject())
                                .getJsonObject(msgConfig.getString("view", "default")));

                        // put the config into the message
                        metricMessage.put("config", msgConfig);

                        // publish the metric
                        eb.publish(metricConfig.getKey(), metricMessage);

                    });
                } catch (Exception e) {
                    logger.warn("unable to publish metric");
                    e.printStackTrace();
                }
            });

        } else {
            logger.warn("metric " + metricConfig.getKey() + " is disabled ");

        }
    }

    // after 10 seconds, announce the server version to all clients
    vertx.setTimer(10000, tid -> {
        broadcast("broadcast", "Server Startup " + config.getString("version", server_version));
    });

    // after 10 seconds, announce the server version to all clients
    vertx.setPeriodic(1000, tping -> {
        eb.publish("ping", new JsonObject().put("data", "ping"));
    });

    // periodically nuke all the client sessions
    vertx.setPeriodic(config().getInteger("client_session_refresh", 300000), res -> {
        clients = new HashMap<UUID, String>();
    });

    // periodically log number of clients in the map
    vertx.setPeriodic(config().getInteger("client_session_show", 180000), res -> {
        logger.info(clients.size() + " connected clients");
    });

    startFuture.complete();

}

From source file:com.funmix.service.LineServiceImpl.java

@Override
public Future<Optional<Line>> insert(JsonObject json) {
    log.info(json.toString());
    Future<Optional<Line>> result = Future.future();
    JsonArray params = new JsonArray();
    // licenseplate,drivername,startaddr,starttime,endtime,endaddr,linename,path
    params.add(json.getString("licenseplate"));
    params.add(json.getString("drivername"));
    params.add(json.getString("startaddr"));
    params.add(json.getString("starttime"));
    params.add(json.getString("endtime"));
    params.add(json.getString("endaddr"));
    params.add(json.getString("linename"));
    params.add(json.getJsonArray("path").toString());
    StringBuffer updateOrder = new StringBuffer("update torder set status=2 where orderno in (");
    JsonArray setparams = new JsonArray();
    if (json.getValue("orderlist") != null) {
        JsonArray ja = json.getJsonArray("orderlist");
        ja.forEach(r -> {//from  ww w. ja va  2  s  . c  om
            updateOrder.append("?,");
            setparams.add(r);
        });
        updateOrder.deleteCharAt(updateOrder.length() - 1).append(")");
    }
    log.info(setparams.toString());
    log.info(params.toString());
    client.getConnection(connHandler(result, connection -> {
        connection.updateWithParams(updateOrder.toString(), setparams, ru -> {
            if (ru.failed()) {
                result.fail(ru.cause());
                log.info(ru.cause());
            } else {
                connection.updateWithParams(SQL_INSERT, params, r -> {
                    if (r.failed()) {
                        result.fail(r.cause());
                        log.info(r.cause());
                    } else {
                        UpdateResult urs = r.result();
                        params.clear();
                        params.add(urs.getKeys().getInteger(0));
                        log.info(urs.getKeys().getInteger(0));
                        connection.queryWithParams(SQL_QUERY, params, rs -> {
                            if (rs.failed()) {
                                result.fail(rs.cause());
                                log.info(rs.cause());
                            } else {
                                List<JsonObject> list = rs.result().getRows();
                                if (list == null || list.isEmpty()) {
                                    result.complete(Optional.empty());
                                } else {
                                    result.complete(Optional.of(new Line(list.get(0))));
                                }
                            }
                        });
                    }
                    connection.close();
                });
            }
        });

    }));
    return result;
}

From source file:com.funmix.service.LineServiceImpl.java

@Override
public Future<Boolean> update(JsonObject params) {
    Future<Boolean> result = Future.future();
    int id = params.getInteger("id");
    JsonArray setparams = new JsonArray();
    StringBuffer sqlSet = new StringBuffer();
    params.forEach(r -> {// w w w.  j a  v a  2  s .c o m
        if (!r.getKey().equals("id")) {
            sqlSet.append(r.getKey()).append("=?,");
            setparams.add(r.getValue());
        }
    });
    if (sqlSet.length() > 0) {
        sqlSet.deleteCharAt(sqlSet.length() - 1);
    } else {
        sqlSet.append("status=abs(status-1)");
    }
    sqlSet.append(" where id = ?");
    setparams.add(id);
    String sql = SQL_UPDATE + sqlSet.toString();
    log.info(sql);
    log.info(params.toString());
    client.getConnection(connHandler(result, connection -> {
        connection.updateWithParams(sql, setparams, r -> {
            if (r.failed()) {
                result.fail(r.cause());
            } else {
                result.complete(true);
            }
            connection.close();
        });
    }));
    return result;
}

From source file:com.funmix.service.TruckServiceImpl.java

@Override
public Future<Optional<Truck>> insert(JsonObject json) {
    log.info(json.toString());
    Future<Optional<Truck>> result = Future.future();
    JsonArray params = new JsonArray();
    //licenseplate,truck_type,tonnage,volume_length,,volume_width,volume_height,status
    params.add(json.getString("licenseplate"));
    params.add(json.getString("truck_type"));
    params.add(json.getDouble("tonnage"));
    params.add(json.getDouble("volume_length"));
    params.add(json.getDouble("volume_width"));
    params.add(json.getDouble("volume_height"));
    log.info(params.toString());/*from w  w w  .  j ava 2s . c  o m*/
    client.getConnection(connHandler(result, connection -> {
        connection.updateWithParams(SQL_INSERT, params, r -> {
            if (r.failed()) {
                result.fail(r.cause());
                log.info(r.cause());
            } else {
                UpdateResult urs = r.result();
                params.clear();
                params.add(urs.getKeys().getInteger(0));
                log.info(urs.getKeys().getInteger(0));
                connection.queryWithParams(SQL_QUERY, params, rs -> {
                    if (rs.failed()) {
                        result.fail(rs.cause());
                        log.info(rs.cause());
                    } else {
                        List<JsonObject> list = rs.result().getRows();
                        if (list == null || list.isEmpty()) {
                            result.complete(Optional.empty());
                        } else {
                            result.complete(Optional.of(new Truck(list.get(0))));
                        }
                    }
                });
            }
            connection.close();
        });
    }));
    return result;
}

From source file:com.hpe.sw.cms.verticle.ScanVerticle.java

License:Apache License

private void processImage(String dricHost, String reigstryHost, String image, String tag) throws Exception {
    final String swarmProtocol = config().getString("swarm.protocol");
    final String swarmHost = config().getString("swarm.host");

    JsonObject hostConfig = new JsonObject();
    hostConfig.put("Privileged", true);

    JsonObject restartPolicy = new JsonObject();
    restartPolicy.put("Name", "no");

    JsonObject createContinaerJson = new JsonObject();
    createContinaerJson.put("AttachStdin", true);
    createContinaerJson.put("AttachStdout", true);
    createContinaerJson.put("AttachStderr", true);
    createContinaerJson.put("Tty", true);
    createContinaerJson.put("OpenStdin", true);
    createContinaerJson.put("StdinOnce", true);
    JsonArray cmds = new JsonArray();
    cmds.add("-l=file").add(dricHost).add(reigstryHost).add(image).add(tag);
    createContinaerJson.put("Cmd", cmds);
    createContinaerJson.put("Image", config().getString("swarm.scan.image"));
    createContinaerJson.put("StopSignal", "SIGTERM");
    createContinaerJson.put("", true);

    hostConfig.put("RestartPolicy", restartPolicy);
    createContinaerJson.put("HostConfig", hostConfig);

    httpClient.postAbs(swarmProtocol + swarmHost + "/containers/create", new Handler<HttpClientResponse>() {
        @Override// w w w  . j  av a  2  s .co m
        public void handle(HttpClientResponse event) {
            event.bodyHandler(new Handler<Buffer>() {
                @Override
                public void handle(Buffer buffer) {
                    JsonObject retVal = buffer.toJsonObject();
                    String containerId = retVal.getString("Id");
                    getVertx().sharedData().getLocalMap("scanContainerIds").put(containerId, containerId);
                    httpClient.postAbs(swarmProtocol + swarmHost + "/containers/" + containerId + "/start",
                            new Handler<HttpClientResponse>() {
                                @Override
                                public void handle(HttpClientResponse event) {
                                    LOG.info("start container with response code :" + event.statusCode());
                                }
                            }).end();
                }
            });
        }
    }).putHeader("content-type", "application/json")
            .putHeader("content-length", String.valueOf(createContinaerJson.toString().length()))
            .write(createContinaerJson.toString()).end();
}

From source file:com.kumuluz.ee.samples.reactive.vertx.DiscoveryVerticle.java

License:MIT License

private void getService(HttpServerResponse response) {
    vertx.eventBus().send(REQUEST_ADDRESS, SERVICE, ar -> {
        if (ar.succeeded() && ar.result() != null) {
            JsonObject reply = (JsonObject) ar.result().body();
            response.end(reply.toString());
        } else {/* w w  w.  j  av a2  s.c  om*/
            response.end((new JsonObject().put("message", "Failed to retrieve service url.")).toString());
        }
    });
}