List of usage examples for io.vertx.core.json JsonObject encodePrettily
public String encodePrettily()
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); }