List of usage examples for io.vertx.core.json JsonArray JsonArray
public JsonArray(Buffer buf)
From source file:DbHelper.java
private void getFileFromFrolder(String projectId, List<JsonObject> listFolders, Handler<JsonArray> handler) { String queryFile = "SELECT files.`name` as name, files.crete_date as dateCreated, files.modify_date as dateModified , files.pk_id_file as id, files.FOLDERS_pk_id_folder as folderId FROM folders RIGHT JOIN files ON folders.pk_id_folder=files.pk_id_file and folders.pk_id_folder IN (SELECT pk_id_folder FROM folders WHERE `PROJECT_pk_id_project`=" + projectId + ")"; mySQLClient.getConnection(resConnection -> { if (resConnection.succeeded()) { SQLConnection connection;//from w w w . ja v a 2 s . c om connection = resConnection.result(); connection.setAutoCommit(false, autoCommit -> { if (autoCommit.succeeded()) { connection.query(queryFile, handlerQuery -> { if (handlerQuery.succeeded()) { ResultSet resultSet = handlerQuery.result(); List<JsonObject> listFiles = resultSet.getRows(); // System.out.println(new JsonArray(list).toString()); for (JsonObject listFile : listFiles) { int folderId = listFile.getInteger("folderId"); // System.out.println("id folder " + folderId); for (JsonObject listFolder : listFolders) { if (listFolder.getInteger("id") == folderId) { try { listFolder.getJsonArray("files").add(listFile); } catch (Exception e) { List<JsonObject> listTmpFile = new ArrayList<>(); listTmpFile.add(listFile); listFolder.put("files", listTmpFile); } } } } // System.out.println(new JsonArray(listFolders).toString()); handler.handle(new JsonArray(listFolders)); } else { System.out.println("failed " + handlerQuery.cause()); } connection.close(); }); } else { System.out.println("auto commit failed"); } }); // Got a connection } else { // Failed to get connection - deal with it System.out.println("true failes"); } }); }
From source file:cm.study.vertx.database.WikiDatabaseServiceVertxEBProxy.java
License:Apache License
private <T> Map<String, T> convertMap(Map map) { if (map.isEmpty()) { return (Map<String, T>) map; }/*from w ww. ja v a 2 s . c o m*/ Object elem = map.values().stream().findFirst().get(); if (!(elem instanceof Map) && !(elem instanceof List)) { return (Map<String, T>) map; } else { Function<Object, T> converter; if (elem instanceof List) { converter = object -> (T) new JsonArray((List) object); } else { converter = object -> (T) new JsonObject((Map) object); } return ((Map<String, T>) map).entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, converter::apply)); } }
From source file:cm.study.vertx.database.WikiDatabaseServiceVertxEBProxy.java
License:Apache License
private <T> List<T> convertList(List list) { if (list.isEmpty()) { return (List<T>) list; }/* ww w .java2s . c om*/ Object elem = list.get(0); if (!(elem instanceof Map) && !(elem instanceof List)) { return (List<T>) list; } else { Function<Object, T> converter; if (elem instanceof List) { converter = object -> (T) new JsonArray((List) object); } else { converter = object -> (T) new JsonObject((Map) object); } return (List<T>) list.stream().map(converter).collect(Collectors.toList()); } }
From source file:cm.study.vertx.database.WikiDatabaseServiceVertxProxyHandler.java
License:Apache License
private <T> Handler<AsyncResult<List<T>>> createListHandler(Message msg) { return res -> { if (res.failed()) { if (res.cause() instanceof ServiceException) { msg.reply(res.cause());/*from www.j av a 2 s. c o m*/ } else { msg.reply(new ServiceException(-1, res.cause().getMessage())); } } else { msg.reply(new JsonArray(res.result())); } }; }
From source file:cm.study.vertx.database.WikiDatabaseServiceVertxProxyHandler.java
License:Apache License
private <T> Handler<AsyncResult<Set<T>>> createSetHandler(Message msg) { return res -> { if (res.failed()) { if (res.cause() instanceof ServiceException) { msg.reply(res.cause());/*w ww.j av a 2 s . co m*/ } else { msg.reply(new ServiceException(-1, res.cause().getMessage())); } } else { msg.reply(new JsonArray(new ArrayList<>(res.result()))); } }; }
From source file:com.cyngn.vertx.bosun.BosunReporter.java
License:Apache License
@Override public void start(final Future<Void> startedResult) { // setup the default config values JsonObject config = context.config(); hosts = config.getJsonArray("hosts", new JsonArray("[{ \"host\" : \"localhost\", \"port\" : 8070}]")); address = config.getString("address", DEFAULT_ADDRESS); maxTags = config.getInteger("max_tags", OPENTSDB_DEFAULT_MAX_TAGS); maxIndexCacheSize = config.getInteger("max_index_cache_size", DEFAULT_UNIQUE_METRICS_INDEXED); indexExpiryInMinutes = config.getInteger("index_expiry_minutes", DEFAULT_INDEX_EXPIRY_MINUTES); timeout = config.getInteger("default_timeout_ms", DEFAULT_TIMEOUT_MS); metricsIndexed = new AtomicInteger(0); metricsPut = new AtomicInteger(0); metricsErrors = new AtomicInteger(0); eventBus = vertx.eventBus();//from ww w . j a va2 s . com // create the list of workers connections = new ArrayList<>(hosts.size()); initializeConnections(startedResult); createMessageHandlers(); outputConfig(); // initialize the in memory index cache distinctMetrics = CacheBuilder.newBuilder().maximumSize(maxIndexCacheSize) .expireAfterWrite(DEFAULT_INDEX_EXPIRY_MINUTES, TimeUnit.MINUTES) .build(new CacheLoader<String, Boolean>() { public Boolean load(String key) throws Exception { return true; } }); // start listening for incoming messages eventBus.consumer(address, this); initStatsReporting(); }
From source file:com.deblox.solacemonitor.MonitorVerticle.java
License:Apache License
/** * Start the verticle/*from w ww .j a va 2 s. co 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.emikra.vertx.oak.OakServiceVertxProxyHandler.java
License:Apache License
private <T> Handler<AsyncResult<List<T>>> createListHandler(Message msg) { return res -> { if (res.failed()) { msg.fail(-1, res.cause().getMessage()); } else {/* w w w.ja v a2 s . com*/ msg.reply(new JsonArray(res.result())); } }; }
From source file:com.emikra.vertx.oak.OakServiceVertxProxyHandler.java
License:Apache License
private <T> Handler<AsyncResult<Set<T>>> createSetHandler(Message msg) { return res -> { if (res.failed()) { msg.fail(-1, res.cause().getMessage()); } else {/*from ww w . ja v a 2s . c o m*/ msg.reply(new JsonArray(new ArrayList<>(res.result()))); } }; }
From source file:com.englishtown.vertx.elasticsearch.ElasticSearchAdminServiceVertxEBProxy.java
License:Apache License
public void putMapping(List<String> indices, String type, JsonObject source, MappingOptions options, Handler<AsyncResult<JsonObject>> resultHandler) { if (closed) { resultHandler.handle(Future.failedFuture(new IllegalStateException("Proxy is closed"))); return;//from ww w . ja v a2 s . com } JsonObject _json = new JsonObject(); _json.put("indices", new JsonArray(indices)); _json.put("type", type); _json.put("source", source); _json.put("options", options == null ? null : options.toJson()); DeliveryOptions _deliveryOptions = (_options != null) ? new DeliveryOptions(_options) : new DeliveryOptions(); _deliveryOptions.addHeader("action", "putMapping"); _vertx.eventBus().<JsonObject>send(_address, _json, _deliveryOptions, res -> { if (res.failed()) { resultHandler.handle(Future.failedFuture(res.cause())); } else { resultHandler.handle(Future.succeededFuture(res.result().body())); } }); }