List of usage examples for io.vertx.core.json JsonArray JsonArray
public JsonArray()
From source file:org.sfs.integration.java.BaseTestVerticle.java
License:Apache License
@Before public void before(TestContext context) { vertx = rule.vertx();//from w w w. j av a 2 s . c o m Async async = context.async(); aVoid().flatMap(aVoid -> { String clusteruuid = UUID.randomUUID().toString(); try { rootTmpDir = createTempDirectory(""); esTempDir = createTempDirectory(rootTmpDir, format("test-cluster-%s", clusteruuid)); tmpDir = createTempDirectory(rootTmpDir, valueOf(currentTimeMillis())); } catch (IOException e) { throw new RuntimeException(e); } int esPort = findFreePort(9300, 9400); esHost = "127.0.0.1:" + esPort; esClusterName = format("test-cluster-%s", clusteruuid); esNodeName = format("test-server-node-%s", clusteruuid); Builder settings = settingsBuilder(); settings.put("script.groovy.sandbox.enabled", false); settings.put("cluster.name", esClusterName); settings.put("node.name", esNodeName); settings.put("http.enabled", false); settings.put("discovery.zen.ping.multicast.enabled", false); settings.put("discovery.zen.ping.unicast.hosts", esHost); settings.put("transport.tcp.port", esPort); settings.put("network.host", "127.0.0.1"); settings.put("node.data", true); settings.put("node.master", true); settings.put("path.home", esTempDir); esNode = nodeBuilder().settings(settings).node(); esClient = esNode.client(); JsonObject verticleConfig; Buffer buffer = vertx.fileSystem().readFileBlocking( currentThread().getContextClassLoader().getResource("intgtestconfig.json").getFile()); verticleConfig = new JsonObject(buffer.toString(UTF_8)); verticleConfig.put("fs.home", tmpDir.toString()); if (!verticleConfig.containsKey("elasticsearch.cluster.name")) { verticleConfig.put("elasticsearch.cluster.name", esClusterName); } if (!verticleConfig.containsKey("elasticsearch.node.name")) { verticleConfig.put("elasticsearch.node.name", esNodeName); } if (!verticleConfig.containsKey("elasticsearch.discovery.zen.ping.unicast.hosts")) { verticleConfig.put("elasticsearch.discovery.zen.ping.unicast.hosts", new JsonArray().add(esHost)); } if (!verticleConfig.containsKey("http.listen.addresses")) { int freePort = findFreePort(6677, 7777); verticleConfig.put("http.listen.addresses", new JsonArray().add(HostAndPort.fromParts("127.0.0.1", freePort).toString())); } HostAndPort hostAndPort = HostAndPort .fromString(verticleConfig.getJsonArray("http.listen.addresses").getString(0)); HttpClientOptions httpClientOptions = new HttpClientOptions(); httpClientOptions.setDefaultPort(hostAndPort.getPort()).setDefaultHost(hostAndPort.getHostText()) .setMaxPoolSize(25).setConnectTimeout(1000).setKeepAlive(false).setLogActivity(true); HttpClientOptions httpsClientOptions = new HttpClientOptions(); httpsClientOptions.setDefaultPort(hostAndPort.getPort()).setDefaultHost(hostAndPort.getHostText()) .setMaxPoolSize(25).setConnectTimeout(1000).setKeepAlive(false).setLogActivity(true) .setSsl(true); httpClient = vertx.createHttpClient(httpClientOptions); httpsClient = vertx.createHttpClient(httpsClientOptions); SfsServer sfsServer = new SfsServer(); ObservableFuture<String> handler = RxHelper.observableFuture(); vertx.deployVerticle(sfsServer, new DeploymentOptions().setConfig(verticleConfig), handler.toHandler()); return handler.map(new ToVoid<>()).doOnNext(aVoid1 -> { vertxContext = sfsServer.vertxContext(); checkState(vertxContext != null, "VertxContext was null on Verticle %s", sfsServer); }).onErrorResumeNext(throwable -> { throwable.printStackTrace(); return cleanup().flatMap(aVoid1 -> Observable.<Void>error(throwable)); }); }).subscribe(new TestSubscriber(context, async)); }
From source file:org.sfs.metadata.Metadata.java
License:Apache License
public JsonArray toJsonObject() { JsonArray metadata = new JsonArray(); if (!meta.isEmpty()) { for (String key : keySet()) { SortedSet<String> values = get(key); if (!values.isEmpty()) { JsonArray valueJsonArray = new JsonArray(); for (String value : values) { valueJsonArray.add(value); }// www . ja v a2 s . co m JsonObject metaObject = new JsonObject(); metaObject.put("name", key); metaObject.put("values", valueJsonArray); metadata.add(metaObject); } } } return metadata; }
From source file:org.sfs.metadata.Metadata.java
License:Apache License
public Metadata withJsonObject(JsonArray metadataArray) { for (Object o : metadataArray) { JsonObject jsonObject = (JsonObject) o; String name = jsonObject.getString("name"); JsonArray valueArray = jsonObject.getJsonArray("values", new JsonArray()); for (Object p : valueArray) { String metaValue = (String) p; put(name, metaValue);/*w w w . j a va2 s . c o m*/ } } return this; }
From source file:org.sfs.nodes.all.stats.GetClusterStats.java
License:Apache License
@Override public void handle(final SfsRequest httpServerRequest) { VertxContext<Server> vertxContext = httpServerRequest.vertxContext(); aVoid().flatMap(new Authenticate(httpServerRequest)) .flatMap(new ValidateActionAdminOrSystem(httpServerRequest)).map(aVoid -> httpServerRequest) .map(new ToVoid<>()).map(aVoid -> { ClusterInfo clusterInfo = vertxContext.verticle().getClusterInfo(); JsonArray jsonArray = new JsonArray(); for (TransientServiceDef node : clusterInfo.getAllNodes()) { jsonArray.add(node.toJsonObject()); }/*from www.j av a 2 s . com*/ return jsonArray; }).single().subscribe(new Terminus<JsonArray>(httpServerRequest) { @Override public void onNext(JsonArray jsonArray) { Buffer encoded = buffer(jsonArray.encode().getBytes(UTF_8)); httpServerRequest.response().setStatusCode(HTTP_OK) .putHeader(CONTENT_LENGTH, valueOf(encoded.length())).write(encoded); } }); }
From source file:org.sfs.nodes.compute.account.GetAccount.java
License:Apache License
@Override public void handle(final SfsRequest httpServerRequest) { aVoid().flatMap(new Authenticate(httpServerRequest)) .flatMap(new ValidateActionAuthenticated(httpServerRequest)) .map(aVoid -> fromSfsRequest(httpServerRequest)).map(new ValidateAccountPath()) .map(objectPath -> objectPath.accountPath().get()) .flatMap(new LoadAccount(httpServerRequest.vertxContext())) .map(new ValidatePersistentAccountExists()).flatMap(new ListContainers(httpServerRequest)) .flatMap(containerList -> { HttpServerResponse httpServerResponse = httpServerRequest.response(); MultiMap headerParams = httpServerRequest.headers(); MultiMap queryParams = httpServerRequest.params(); String format = queryParams.get(FORMAT); String accept = headerParams.get(ACCEPT); Account account = containerList.getAccount(); Metadata metadata = account.getMetadata(); for (String key : metadata.keySet()) { SortedSet<String> values = metadata.get(key); if (values != null && !values.isEmpty()) { httpServerResponse.putHeader(format("%s%s", X_ADD_ACCOUNT_META_PREFIX, key), values); }/*from w w w.j av a 2s. c o m*/ } httpServerResponse.putHeader(X_ACCOUNT_OBJECT_COUNT, valueOf(containerList.getObjectCount())); httpServerResponse.putHeader(X_ACCOUNT_CONTAINER_COUNT, valueOf(containerList.getContainerCount())); httpServerResponse.putHeader(X_ACCOUNT_BYTES_USED, BigDecimal.valueOf(containerList.getBytesUsed()).setScale(0, ROUND_HALF_UP).toString()); MediaType parsedAccept = null; if (!isNullOrEmpty(accept)) { parsedAccept = parse(accept); } if (equalsIgnoreCase("xml", format)) { parsedAccept = APPLICATION_XML_UTF_8; } else if (equalsIgnoreCase("json", format)) { parsedAccept = JSON_UTF_8; } httpServerResponse.setStatusCode(HTTP_OK); if (parsedAccept != null && JSON_UTF_8.is(parsedAccept)) { String charset = UTF_8.toString(); JsonArray array = new JsonArray(); for (SparseContainer container : ordered(containerList.getContainers())) { array.add(new JsonObject().put("name", container.getContainerName()) .put("count", container.getObjectCount()) .put("bytes", BigDecimal.valueOf(container.getByteCount()) .setScale(0, ROUND_HALF_UP).longValue())); } Buffer buffer = buffer(array.encode(), charset); httpServerResponse = httpServerResponse.putHeader(CONTENT_TYPE, JSON_UTF_8.toString()); httpServerResponse = httpServerResponse.putHeader(CONTENT_LENGTH, valueOf(buffer.length())); return AsyncIO.append(buffer, httpServerResponse); } else if (parsedAccept != null && APPLICATION_XML_UTF_8.is(parsedAccept)) { BufferOutputStream bufferOutputStream = new BufferOutputStream(); String charset = UTF_8.toString(); XMLStreamWriter writer = null; try { writer = newFactory().createXMLStreamWriter(bufferOutputStream, charset); writer.writeStartDocument(charset, "1.0"); writer.writeStartElement("account"); writer.writeAttribute("name", fromPaths(account.getId()).accountName().get()); for (SparseContainer container : ordered(containerList.getContainers())) { writer.writeStartElement("container"); writer.writeStartElement("name"); writer.writeCharacters(container.getContainerName()); writer.writeEndElement(); writer.writeStartElement("count"); writer.writeCharacters(valueOf(container.getObjectCount())); writer.writeEndElement(); writer.writeStartElement("bytes"); writer.writeCharacters(BigDecimal.valueOf(container.getByteCount()) .setScale(0, ROUND_HALF_UP).toString()); writer.writeEndElement(); writer.writeEndElement(); } writer.writeEndElement(); writer.writeEndDocument(); } catch (XMLStreamException e) { throw new RuntimeException(e); } finally { try { if (writer != null) { writer.close(); } } catch (XMLStreamException e) { LOGGER.warn(e.getLocalizedMessage(), e); } } Buffer buffer = bufferOutputStream.toBuffer(); httpServerResponse = httpServerResponse.putHeader(CONTENT_TYPE, APPLICATION_XML_UTF_8.toString()); httpServerResponse = httpServerResponse.putHeader(CONTENT_LENGTH, valueOf(buffer.length())); return AsyncIO.append(buffer, httpServerResponse); } else { String charset = UTF_8.toString(); Buffer buffer = buffer(); for (SparseContainer container : ordered(containerList.getContainers())) { buffer.appendString(container.getContainerName(), charset); buffer.appendString("\n", charset); } httpServerResponse = httpServerResponse.putHeader(CONTENT_TYPE, PLAIN_TEXT_UTF_8.toString()); httpServerResponse = httpServerResponse.putHeader(CONTENT_LENGTH, valueOf(buffer.length())); return AsyncIO.append(buffer, httpServerResponse); } }).single().subscribe(new ConnectionCloseTerminus<Void>(httpServerRequest) { @Override public void onNext(Void aVoid) { } }); }
From source file:org.sfs.util.HttpServerRequestHeaderToJsonObject.java
License:Apache License
public static JsonObject call(HttpServerRequest httpServerRequest) { JsonObject jsonObject = new JsonObject(); String query = httpServerRequest.query(); String requestLine = String.format("%s %s%s %s", httpServerRequest.method(), httpServerRequest.path(), query != null ? '?' + query : "", httpServerRequest.version().toString()); jsonObject.put("request_line", requestLine); MultiMap headers = httpServerRequest.headers(); JsonArray jsonHeaders = new JsonArray(); for (String headerName : headers.names()) { List<String> values = headers.getAll(headerName); JsonObject jsonHeader = new JsonObject(); jsonHeader.put(headerName, values); jsonHeaders.add(jsonHeader);//from w w w. j a va 2 s .c o m } jsonObject.put("headers", jsonHeaders); return jsonObject; }
From source file:org.sfs.vo.Account.java
License:Apache License
public T merge(JsonObject document) { JsonArray metadataJsonObject = document.getJsonArray("metadata", new JsonArray()); metadata.withJsonObject(metadataJsonObject); setNodeId(document.getString("node_id")); String createTimestamp = document.getString("create_ts"); String updateTimestamp = document.getString("update_ts"); if (createTimestamp != null) { setCreateTs(fromDateTimeString(createTimestamp)); }//from w w w. ja v a 2s . c o m if (updateTimestamp != null) { setUpdateTs(fromDateTimeString(updateTimestamp)); } return (T) this; }
From source file:org.sfs.vo.Container.java
License:Apache License
public T merge(JsonObject document) { checkState(getParent().getId().equals(document.getString("account_id"))); setOwnerGuid(document.getString("owner_guid")); JsonArray metadataJsonObject = document.getJsonArray("metadata", new JsonArray()); getMetadata().withJsonObject(metadataJsonObject); setNodeId(document.getString("node_id")); String createTimestamp = document.getString("create_ts"); String updateTimestamp = document.getString("update_ts"); if (createTimestamp != null) { setCreateTs(fromDateTimeString(createTimestamp)); }/* w w w. j a v a 2 s .com*/ if (updateTimestamp != null) { setUpdateTs(fromDateTimeString(updateTimestamp)); } setObjectReplicas( document.containsKey("object_replicas") ? document.getInteger("object_replicas") : NOT_SET); return (T) this; }
From source file:org.sfs.vo.LargeObjectManifest.java
License:Apache License
public JsonArray toJsonObject() { JsonArray entryJsonArray = new JsonArray(); for (Entry entry : entries) { entryJsonArray.add(entry.toJsonObject()); }//from w w w .j av a 2 s.c o m return entryJsonArray; }
From source file:org.sfs.vo.Segment.java
License:Apache License
public JsonObject toJsonObject() { JsonObject document = new JsonObject(); document.put("id", id); document.put("read_md5", readMd5); document.put("read_sha512", readSha512); document.put("read_length", readLength); document.put("write_sha512", writeSha512); document.put("write_length", writeLength); document.put("tiny_data", tinyData); document.put("is_tiny_data", TRUE.equals(isTinyData)); document.put("is_tiny_data_deleted", TRUE.equals(isTinyDataDeleted)); if (tinyData != null) { checkState(TRUE.equals(isTinyData), "isTinyData must be set to true"); checkState(blobs == null || blobs.isEmpty(), "blobs must be empty when tinyData exists"); }//w w w . ja va2 s .com if (blobs != null && !blobs.isEmpty()) { checkState(!TRUE.equals(isTinyData), "isTinyData must be set to false"); checkState(tinyData == null, "tinyData must be empty when blobs exist"); } if (segmentCipher != null) { document = document.put("container_key_id", segmentCipher.containerKeyId).put("cipher_salt", segmentCipher.salt); } else { document.put("container_key_id", (String) null).put("cipher_salt", (byte[]) null); } JsonArray blobJsonArray = new JsonArray(); for (TransientBlobReference transientBlobReference : blobs) { blobJsonArray.add(transientBlobReference.toJsonObject()); } document.put("blobs", blobJsonArray); return document; }