Example usage for io.vertx.core.json JsonArray JsonArray

List of usage examples for io.vertx.core.json JsonArray JsonArray

Introduction

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

Prototype

public JsonArray() 

Source Link

Document

Create an empty instance

Usage

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

@Override
public Future<JsonObject> getAll(JsonObject params) {
    Future<JsonObject> result = Future.future();
    StringBuffer sqlCount = new StringBuffer(SQL_QUERY_COUNT);
    StringBuffer sqlQuery = new StringBuffer(SQL_QUERY_ALL);
    StringBuffer order = new StringBuffer();
    StringBuffer where = new StringBuffer();
    JsonArray queryparams = new JsonArray();
    JsonArray countparams = new JsonArray();
    params.forEach(r -> {//w  w  w  .  j av  a2  s . c o m
        String key = r.getKey();
        if (key.equals("orderby")) {
            order.append(" order by ").append(r.getValue());
        } else if (key.equals("page")) {
        } else if (key.equals("page_size")) {
        } else {
            if (where.length() == 0)
                where.append(" where ");
            else
                where.append(" and ");
            where.append(key).append(" like ? ");
            queryparams.add("%" + r.getValue() + "%");
            countparams.add("%" + r.getValue() + "%");
        }
    });

    if (where.length() > 0) {
        sqlCount.append(where);
        sqlQuery.append(where);
    }
    JsonObject jrs = new JsonObject();
    client.getConnection(connHandler(result, connection -> {
        log.info(sqlCount);
        if (countparams.size() == 0)
            connection.query(sqlCount.toString(), r -> {
                if (r.failed()) {
                    result.fail(r.cause());
                } else {
                    int count = r.result().getRows().get(0).getInteger("count");
                    jrs.put("total", count);
                }
            });
        else
            connection.queryWithParams(sqlCount.toString(), countparams, r -> {
                if (r.failed()) {
                    result.fail(r.cause());
                } else {
                    int count = r.result().getRows().get(0).getInteger("count");
                    jrs.put("total", count);
                }
            });
        if (order.length() > 0) {
            sqlQuery.append(order);
            queryparams.add(params.getString("orderby"));
        }
        if (params.getValue("page") == null) {
            params.put("page", "0");
            params.put("page_size", "" + Integer.MAX_VALUE);
        }
        sqlQuery.append(" limit ?,? ");
        log.info(sqlQuery);
        int page = Integer.parseInt(params.getString("page"));
        int limit = Integer.parseInt(params.getString("page_size"));
        queryparams.add(Utils.calcPage(page, limit)).add(limit);
        connection.queryWithParams(sqlQuery.toString(), queryparams, r -> {
            if (r.failed()) {
                result.fail(r.cause());
            } else {
                log.info(r.result().getRows().toString());
                jrs.put("data", r.result().getRows().stream().map(Line::new).collect(Collectors.toList()));
                jrs.put("per_page", limit);
                jrs.put("current_page", page);
            }
            result.complete(new JsonObject().put("status", 200).put("data", new JsonObject().put("list", jrs)));
        });
        connection.close();

    }));
    return result;
}

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

@Override
public Future<Optional<Line>> getOne(String id) {
    Future<Optional<Line>> result = Future.future();
    client.getConnection(connHandler(result, connection -> {
        connection.queryWithParams(SQL_QUERY, new JsonArray().add(id), r -> {
            if (r.failed()) {
                result.fail(r.cause());/*from  w  w w  .j a v a2s.  c om*/
            } else {
                List<JsonObject> list = r.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<Optional<Line>> insert(JsonObject json) {
    log.info(json.toString());//  w w  w.  j  a v  a  2  s.c  o m
    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 -> {
            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 -> {//from   ww  w.j a v  a2  s.co 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<JsonObject> getAll(JsonObject params) {
    Future<JsonObject> result = Future.future();
    StringBuffer sqlCount = new StringBuffer(SQL_QUERY_COUNT);
    StringBuffer sqlQuery = new StringBuffer(SQL_QUERY_ALL);
    StringBuffer order = new StringBuffer();
    StringBuffer where = new StringBuffer();
    JsonArray queryparams = new JsonArray();
    JsonArray countparams = new JsonArray();
    params.forEach(r -> {//  w  ww.  j a va  2 s.c o  m
        String key = r.getKey();
        if (key.equals("orderby")) {
            order.append(" order by ").append(r.getValue());
        } else if (key.equals("page")) {
        } else if (key.equals("page_size")) {
        } else {
            if (where.length() == 0)
                where.append(" where ");
            else
                where.append(" and ");
            where.append(key).append(" like ? ");
            queryparams.add("%" + r.getValue() + "%");
            countparams.add("%" + r.getValue() + "%");
        }
    });

    if (where.length() > 0) {
        sqlCount.append(where);
        sqlQuery.append(where);
    }
    JsonObject jrs = new JsonObject();
    client.getConnection(connHandler(result, connection -> {
        log.info(sqlCount);
        if (countparams.size() == 0)
            connection.query(sqlCount.toString(), r -> {
                if (r.failed()) {
                    result.fail(r.cause());
                } else {
                    int count = r.result().getRows().get(0).getInteger("count");
                    jrs.put("total", count);
                }
            });
        else
            connection.queryWithParams(sqlCount.toString(), countparams, r -> {
                if (r.failed()) {
                    result.fail(r.cause());
                } else {
                    int count = r.result().getRows().get(0).getInteger("count");
                    jrs.put("total", count);
                }
            });
        if (order.length() > 0) {
            sqlQuery.append(order);
            queryparams.add(params.getString("orderby"));
        }
        if (params.getValue("page") == null) {
            params.put("page", "0");
            params.put("page_size", "" + Integer.MAX_VALUE);
        }
        sqlQuery.append(" limit ?,? ");
        log.info(sqlQuery);
        int page = Integer.parseInt(params.getString("page"));
        int limit = Integer.parseInt(params.getString("page_size"));
        queryparams.add(Utils.calcPage(page, limit)).add(limit);
        connection.queryWithParams(sqlQuery.toString(), queryparams, r -> {
            if (r.failed()) {
                result.fail(r.cause());
            } else {
                jrs.put("data", r.result().getRows().stream().map(Truck::new).collect(Collectors.toList()));
                jrs.put("per_page", limit);
                jrs.put("current_page", page);
            }
            result.complete(new JsonObject().put("status", 200).put("data", new JsonObject().put("list", jrs)));
        });
        connection.close();

    }));
    return result;
}

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

@Override
public Future<Optional<Truck>> getOne(String id) {
    Future<Optional<Truck>> result = Future.future();
    client.getConnection(connHandler(result, connection -> {
        connection.queryWithParams(SQL_QUERY, new JsonArray().add(id), r -> {
            if (r.failed()) {
                result.fail(r.cause());/*from  w  ww .ja v a 2s .c om*/
            } else {
                List<JsonObject> list = r.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.funmix.service.TruckServiceImpl.java

@Override
public Future<Optional<Truck>> insert(JsonObject json) {
    log.info(json.toString());//from  w w  w.  j  ava  2  s.co  m
    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());
    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.github.ithildir.numbers.game.util.ConversationUtil.java

License:Open Source License

private static JsonObject _getExpectedInputJSON(String initialPrompt, String[] noInputPrompts) {

    JsonObject expectedInputJSON = new JsonObject();

    JsonObject inputPromptJSON = new JsonObject();

    inputPromptJSON.put("initial_prompts", JsonUtil.getArray(_getPromptJSON(initialPrompt)));

    if (noInputPrompts.length > 0) {
        JsonArray noInputPromptsJSON = new JsonArray();

        for (String noInputPrompt : noInputPrompts) {
            noInputPromptsJSON.add(_getPromptJSON(noInputPrompt));
        }/*  www  . j  av  a2s  .c om*/

        inputPromptJSON.put("no_input_prompts", noInputPromptsJSON);
    }

    expectedInputJSON.put("input_prompt", inputPromptJSON);

    expectedInputJSON.put("possible_intents", _getPossibleIntentsJSON(INTENT_TEXT));

    return expectedInputJSON;
}

From source file:com.github.ithildir.numbers.game.util.JsonUtil.java

License:Open Source License

public static JsonArray getArray(JsonObject jsonObject) {
    JsonArray jsonArray = new JsonArray();

    jsonArray.add(jsonObject);

    return jsonArray;
}

From source file:com.groupon.vertx.redis.RedisClient.java

License:Apache License

@Override
protected Future<JsonObject> sendCommand(RedisCommand command) {
    final Future<JsonObject> finalResult = Future.future();
    final DeliveryOptions deliveryOptions = new DeliveryOptions().setSendTimeout(replyTimeout);
    eventBus.send(eventBusAddress, new JsonObject().put("commands", new JsonArray().add(command.toJson())),
            deliveryOptions, new Handler<AsyncResult<Message<JsonObject>>>() {
                @Override/*from  w  w w  .j a  va 2  s.  c om*/
                public void handle(AsyncResult<Message<JsonObject>> messageAsyncResult) {
                    if (messageAsyncResult.succeeded() && messageAsyncResult.result() != null) {
                        finalResult.complete(messageAsyncResult.result().body());
                    } else {
                        RedisCommandException exception;
                        if (messageAsyncResult.cause() != null) {
                            String errorMessage;
                            final Throwable cause = messageAsyncResult.cause();
                            if (cause instanceof ReplyException) {
                                errorMessage = createErrorJson(((ReplyException) cause).failureType().name());
                            } else {
                                errorMessage = createErrorJson(cause.getMessage());
                            }
                            exception = new RedisCommandException(errorMessage);
                            exception.addSuppressed(messageAsyncResult.cause());
                        } else {
                            exception = new RedisCommandException(
                                    createErrorJson(HttpResponseStatus.INTERNAL_SERVER_ERROR.reasonPhrase()));
                        }
                        finalResult.fail(exception);
                    }
                }
            });
    return finalResult;
}