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

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

Introduction

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

Prototype

public String encodePrettily() 

Source Link

Document

Encode this JSON object a a string, with whitespace to make the object easier to read by a human, or other sentient organism.

Usage

From source file:org.sfs.SfsSingletonServer.java

License:Apache License

@Override
public void start(final Future<Void> startedResult) {
    Preconditions.checkState(STARTED.compareAndSet(false, true), "Only one instance is allowed.");
    final Server _this = this;

    LOGGER.info("Starting verticle " + _this);

    initRxSchedulers(vertx);//from w  w  w.j av  a  2  s . c om

    JsonObject config = config();

    String fsHome = ConfigHelper.getFieldOrEnv(config, "fs.home");
    if (fsHome == null) {
        fsHome = System.getProperty("user.home");
        if (fsHome != null) {
            fsHome = Paths.get(fsHome, "data", "sfs").toString();
        }
    }
    config.put("fs.home", fsHome);
    LOGGER.info(String.format("Config: %s", config.encodePrettily()));

    Path fileSystem = Paths.get(fsHome);

    testMode = Boolean.valueOf(ConfigHelper.getFieldOrEnv(config, "test_mode", "false"));

    FileSystemLock fileSystemLock = new FileSystemLock(Paths.get(fileSystem.toString(), ".lock"), 60,
            TimeUnit.SECONDS);

    for (String jsonListenAddress : ConfigHelper.getArrayFieldOrEnv(config, "http.listen.addresses",
            new String[] {})) {
        parsedListenAddresses.add(HostAndPort.fromString(jsonListenAddress));
    }

    for (String jsonPublishAddress : ConfigHelper.getArrayFieldOrEnv(config, "http.publish.addresses",
            Iterables.transform(parsedListenAddresses, input -> input.toString()))) {
        parsedPublishAddresses.add(HostAndPort.fromString(jsonPublishAddress));
    }

    if (parsedPublishAddresses.isEmpty()) {
        parsedPublishAddresses.addAll(parsedListenAddresses);
    }

    for (String jsonClusterHost : ConfigHelper.getArrayFieldOrEnv(config, "cluster.hosts",
            Iterables.transform(parsedPublishAddresses, input -> input.toString()))) {
        clusterHosts.add(HostAndPort.fromString(jsonClusterHost));
    }

    // adds itself to the list if the list is empty
    if (clusterHosts.isEmpty()) {
        clusterHosts.addAll(parsedPublishAddresses);
    }

    int threadPoolIoQueueSize = new Integer(
            ConfigHelper.getFieldOrEnv(config, "threadpool.io.queuesize", "10000"));
    Preconditions.checkArgument(threadPoolIoQueueSize > 0, "threadpool.io.queuesize must be greater than 0");

    int threadPoolIoSize = new Integer(ConfigHelper.getFieldOrEnv(config, "threadpool.io.size",
            String.valueOf(Runtime.getRuntime().availableProcessors() * 2)));
    Preconditions.checkArgument(threadPoolIoSize > 0, "threadpool.io.size must be greater than 0");

    int threadPoolBackgroundSize = new Integer(ConfigHelper.getFieldOrEnv(config, "threadpool.background.size",
            String.valueOf(Runtime.getRuntime().availableProcessors() * 2)));
    Preconditions.checkArgument(threadPoolBackgroundSize > 0,
            "threadpool.background.size must be greater than 0");

    int threadPoolBackgroundQueueSize = new Integer(
            ConfigHelper.getFieldOrEnv(config, "threadpool.background.queuesize", "10000"));
    Preconditions.checkArgument(threadPoolBackgroundQueueSize > 0,
            "threadpool.background.queuesize must be greater than 0");

    ioPool = NamedCapacityFixedThreadPool.newInstance(threadPoolIoSize, threadPoolIoQueueSize, "sfs-io-pool");
    backgroundPool = NamedCapacityFixedThreadPool.newInstance(threadPoolBackgroundSize,
            threadPoolBackgroundQueueSize, "sfs-blocking-action-pool");

    this.vertxContext = new VertxContext<>(this);

    nodes = new Nodes();

    verticleMaxHeaderSize = new Integer(ConfigHelper.getFieldOrEnv(config, "http.maxheadersize", "8192"));
    Preconditions.checkArgument(verticleMaxHeaderSize > 0, "http.maxheadersize must be greater than 0");

    int nodeStatsRefreshInterval = new Integer(ConfigHelper.getFieldOrEnv(config, "node_stats_refresh_interval",
            String.valueOf(TimeUnit.SECONDS.toMillis(1))));
    Preconditions.checkArgument(nodeStatsRefreshInterval > 0,
            "node_stats_refresh_interval must be greater than 0");

    remoteNodeMaxPoolSize = new Integer(ConfigHelper.getFieldOrEnv(config, "remotenode.maxpoolsize", "25"));
    Preconditions.checkArgument(remoteNodeMaxPoolSize > 0, "remotenode.maxpoolsize must be greater than 0");

    remoteNodeConnectTimeout = new Integer(
            ConfigHelper.getFieldOrEnv(config, "remotenode.connectimeout", "30000"));
    Preconditions.checkArgument(remoteNodeConnectTimeout > 0,
            "remotenode.connectimeout must be greater than 0");

    int remoteNodeResponseTimeout = new Integer(
            ConfigHelper.getFieldOrEnv(config, "remotenode.responsetimeout", "30000"));
    Preconditions.checkArgument(remoteNodeResponseTimeout > 0,
            "remotenode.responsetimeout must be greater than 0");

    String strRemoteNodeSecret = ConfigHelper.getFieldOrEnv(config, "remotenode.secret");
    Preconditions.checkArgument(strRemoteNodeSecret != null, "remotenode.secret is required");
    remoteNodeSecret = BaseEncoding.base64().decode(strRemoteNodeSecret);

    int numberOfObjectReplicas = new Integer(
            ConfigHelper.getFieldOrEnv(config, "number_of_object_replicas", "0"));
    Preconditions.checkArgument(numberOfObjectReplicas >= 0,
            "number_of_object_replicas must be greater or equal to 0");

    int tempFileTtl = new Integer(ConfigHelper.getFieldOrEnv(config, "temp_file_ttl", "86400000"));
    Preconditions.checkArgument(tempFileTtl >= 0, "temp_file_ttl must be greater or equal to 0");

    final boolean dataNode = Boolean.valueOf(ConfigHelper.getFieldOrEnv(config, "node.data", "true"));
    final boolean masterNode = Boolean.valueOf(ConfigHelper.getFieldOrEnv(config, "node.master", "true"));

    this.httpsClient = createHttpClient(vertx, true);
    this.httpClient = createHttpClient(vertx, false);

    Defer.aVoid().flatMap(aVoid -> sfsFileSystem.open(vertxContext, fileSystem))
            .flatMap(aVoid -> fileSystemLock.lock(vertxContext))
            .flatMap(aVoid -> authProviderService.open(vertxContext))
            .flatMap(aVoid -> awsKms.start(vertxContext, config))
            .flatMap(aVoid -> azureKms.start(vertxContext, config))
            .flatMap(aVoid -> tempDirectoryCleaner.start(vertxContext, tempFileTtl))
            .flatMap(aVoid -> elasticsearch.start(vertxContext, config, masterNode))
            .flatMap(aVoid -> nodes.open(vertxContext, parsedPublishAddresses, clusterHosts,
                    remoteNodeMaxPoolSize, remoteNodeConnectTimeout, remoteNodeResponseTimeout,
                    numberOfObjectReplicas, nodeStatsRefreshInterval, dataNode, masterNode))
            .flatMap(aVoid -> nodeStats.open(vertxContext)).flatMap(aVoid -> clusterInfo.open(vertxContext))
            .flatMap(aVoid -> masterKeys.start(vertxContext))
            .flatMap(aVoid -> containerKeys.start(vertxContext))
            .flatMap(aVoid -> jobs.open(vertxContext, config))
            .flatMap(aVoid -> initHttpListeners(vertxContext, true))
            .doOnNext(httpServers1 -> httpServers.addAll(httpServers)).subscribe(o -> {
                // do nothing
            }, throwable -> {
                LOGGER.error("Failed to start verticle " + _this, throwable);
                startException = throwable;
                started = true;
                startedResult.fail(throwable);
            }, () -> {
                LOGGER.info("Started verticle " + _this);
                started = true;
                startedResult.complete();
            });
}

From source file:org.sfs.util.HttpRequestValidationException.java

License:Apache License

public HttpRequestValidationException(int statusCode, JsonObject entity) {
    super(entity.encodePrettily());
    this.statusCode = statusCode;
    this.entity = entity;
    checkEntity(this.entity);
    this.entity.put("code", statusCode);
}

From source file:org.sfs.util.HttpRequestValidationException.java

License:Apache License

public HttpRequestValidationException(Throwable cause, int statusCode, JsonObject entity) {
    super(entity.encodePrettily(), cause);
    this.statusCode = statusCode;
    this.entity = entity;
    checkEntity(this.entity);
    this.entity.put("code", statusCode);
}

From source file:org.sfs.vo.XObject.java

License:Apache License

public T merge(JsonObject document) {
    this.versions.clear();
    this.ownerGuid = document.getString("owner_guid");
    this.nodeId = document.getString("node_id");
    JsonArray jsonVerionArray = document.getJsonArray("versions");
    if (jsonVerionArray != null) {
        for (Object o : jsonVerionArray) {
            JsonObject versionDocument = (JsonObject) o;
            Long id = versionDocument.getLong("id");
            if (id == null) {
                checkNotNull(id, "id is null for %s", document.encodePrettily());
            }//  ww w.ja v  a 2  s.  c  o m
            TransientVersion transientVersion = new TransientVersion(this, id).merge(versionDocument);
            versions.add(transientVersion);
        }
    }

    String createTimestamp = document.getString("create_ts");
    String updateTimestamp = document.getString("update_ts");

    if (createTimestamp != null) {
        setCreateTs(fromDateTimeString(createTimestamp));
    }
    if (updateTimestamp != null) {
        setUpdateTs(fromDateTimeString(updateTimestamp));
    }
    return (T) this;
}

From source file:se.liquidbytes.jel.web.api.AdapterApi.java

License:Apache License

public void list(RoutingContext context) {
    service.listAdapters((r) -> {//from  w w w.  ja  v  a2  s .  c  o  m
        if (r.succeeded()) {
            JsonArray adapters = new JsonArray();
            r.result().forEach(a -> {
                JsonObject adapter = (JsonObject) a;
                adapter.put("devices",
                        String.format("%s/adapters/%s/devices", API_ENDPOINT, adapter.getString("id")));
                adapter.put("supportedDevices", String.format("%s/adapters/%s/supportedDevices", API_ENDPOINT,
                        adapter.getString("id")));
                adapters.add(adapter);
            });

            JsonObject result = new JsonObject().put("devices", API_ENDPOINT + "/adapters/devices")
                    .put("adapters", adapters);

            context.response().end(result.encodePrettily());
        } else {
            context.fail(r.cause());
        }
    });
}

From source file:se.liquidbytes.jel.web.api.AdapterApi.java

License:Apache License

public void retrieve(RoutingContext context) {
    HttpServerRequest request = context.request();
    String adapterId = request.getParam("adapterId");
    if (adapterId == null) {
        context.fail(400);//from w  w w.  ja va 2s  . c o  m
        return;
    }

    service.retrieveAdapter(adapterId, (r) -> {
        if (r.succeeded()) {
            JsonObject adapter = r.result();
            adapter.put("devices",
                    String.format("%s/adapters/%s/devices", API_ENDPOINT, adapter.getString("id")));
            adapter.put("supportedDevices",
                    String.format("%s/adapters/%s/supportedDevices", API_ENDPOINT, adapter.getString("id")));

            context.response().end(adapter.encodePrettily());
        } else {
            context.fail(r.cause());
        }
    });
}

From source file:se.liquidbytes.jel.web.api.DeviceApi.java

License:Apache License

public void retrieveAdapterDevice(RoutingContext context) {
      HttpServerRequest request = context.request();
      String adapterId = request.getParam("adapterId");
      String deviceId = request.getParam("deviceId");

      if (adapterId == null || deviceId == null) {
          context.fail(400);//w  w w  .ja  v  a2 s .c  om
          return;
      }
      // As device id is unique we don't really need adapter id, we use it only to get a semantic route.
      service.retrieveAdapterDevice(deviceId, (r) -> {
          if (r.succeeded()) {
              JsonObject device = r.result();
              device.put("currentValue",
                      String.format("%s/adapters/%s/devices/%s/value", API_ENDPOINT, adapterId, deviceId));
              context.response().end(device.encodePrettily());
          } else {
              context.fail(r.cause());
          }
      });
  }

From source file:us.juggl.raffle.Main.java

License:Apache License

/**
 * Handler for the PUT requests to '/rest/entry'. Adds a new entry to the Person table.
 * @param rc The {@link RoutingContext} for the incoming request.
 *///from  ww  w .j  a v a2s  .co  m
private void addEntry(final RoutingContext rc) {
    JsonObject body = rc.getBodyAsJson();
    LOG.debug("BODY: " + body.encodePrettily());

    try (Connection c = ds.getConnection(); PreparedStatement s = c.prepareStatement(INSERT_ENTRY)) {
        if (body.getString(FAMILY) != null && body.getString(GIVEN) != null) {
            body.put(FULL, body.getString(FAMILY) + ", " + body.getString(GIVEN));
            s.setString(1, body.getString(GIVEN));
            s.setString(2, body.getString(FAMILY));
            s.setString(3, body.getString(FULL));
            s.executeUpdate();
            sendResponse(rc, 202, "Accepted", body);
        } else {
            JsonObject result = new JsonObject();
            result.put(ERROR, "Request MUST provide 'given_name' and 'family_name' in the JSON body.");
            sendResponse(rc, 400, "Bad Request", result);
        }
    } catch (SQLException sqle) {
        LOG.error("SQLException", sqle);
        JsonObject result = new JsonObject();
        result.put(ERROR, sqle.getLocalizedMessage());
        sendResponse(rc, 400, "Bad Request", result);
    }
}

From source file:us.juggl.raffle.Main.java

License:Apache License

/**
 * Sends the appropriate response using the {@link RoutingContext}'s {@link io.vertx.core.http.HttpServerResponse}
 * @param rc The {@link RoutingContext} for the incoming request.
 * @param code The HTTP status code to be set
 * @param msg The HTTP status message to be set
 * @param body The {@link JsonObject} to be serialized and send as the response body.
 *//* w  ww .j  a v a  2 s.  c o  m*/
private void sendResponse(RoutingContext rc, int code, String msg, JsonObject body) {
    rc.response().setStatusCode(code).setStatusMessage(msg).putHeader("Content-Type", JSON)
            .end(body.encodePrettily());
}

From source file:vertx_react.verticles.EventsVerticle.java

@Override
public void start(Future<Void> startFuture) throws Exception {
    EventBus eb = this.getVertx().eventBus();
    eb.consumer("incoming", (Message<JsonObject> handler) -> {
        JsonObject m = handler.body();
        JsonArray ja = new JsonArray(getRandomArray());
        JsonObject j = new JsonObject().put("table", m.getInteger("table")).put("openSeats", ja);
        handler.reply(j);//  www . j av  a  2 s . co  m
        log.info(Json.encodePrettily(m.encodePrettily()));
    });
    super.start(startFuture);
}