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

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

Introduction

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

Prototype

public Long getLong(String key) 

Source Link

Document

Get the Long value with the specified key

Usage

From source file:com.waves_rsp.ikb4stream.communication.web.VertxServer.java

License:Open Source License

/**
 * Convert a request from Json to Java object
 *
 * @param jsonRequest {@link JsonObject} json formatted request
 * @return {@link Request}//  ww w. j a  va  2 s.  co  m
 * @throws NullPointerException if jsonRequest is null
 */
private Request parseRequest(JsonObject jsonRequest) {
    Objects.requireNonNull(jsonRequest);
    Date start = new Date(jsonRequest.getLong("start"));
    Date end = new Date(jsonRequest.getLong("end"));
    String address = jsonRequest.getString("address");
    Geocoder geocoder = Geocoder.geocode(address);
    if (geocoder.getLatLong() == null) {
        LOGGER.warn("Can't geocode this address {}", address);
        return null;
    }
    return new Request(start, end, new BoundingBox(geocoder.getBbox()), Date.from(Instant.now()));
}

From source file:de.notizwerk.Producer.java

License:Open Source License

private void generateAndSend(Long id) {
    if (!sendingActive) {
        vertx.setTimer(SEND_DELAY_IN_MSEC, this::generateAndSend);
        return;/*from   w  ww  .  j  a va  2s . c  om*/
    }
    long start = System.currentTimeMillis();
    long msgsToSend = Math.max(Math.floorDiv(msgPerSec * SEND_DELAY_IN_MSEC, 1000), 1);
    int m = 0;
    while (m < msgsToSend) {
        JsonObject msg = new JsonObject().put("ts", System.currentTimeMillis()).put("message", "messsage " + m);
        this.generatedMessages++;
        generatedMessagesInTick++;
        m++;
        vertx.eventBus().send("consumer", msg, new DeliveryOptions().setSendTimeout(10000), reply -> {
            if (reply.succeeded()) {
                if ("ok".equalsIgnoreCase(reply.result().body().toString())) {
                    this.sentMessages++;
                } else {
                    this.undeliveredMessages++;
                    file.write(Buffer.buffer("failed message :" + msg.getLong("ts") + ". "
                            + reply.cause().getMessage() + String.format("%n")));
                }
            } else {
                this.undeliveredMessages++;
                file.write(Buffer.buffer("failed message :" + msg.getLong("ts") + ". "
                        + reply.cause().getMessage() + String.format("%n")));
            }
        });
    }
    ;
    long diff = System.currentTimeMillis() - start;
    long delay = Math.max(SEND_DELAY_IN_MSEC - diff, 10);
    vertx.setTimer(delay, this::generateAndSend);
}

From source file:de.notizwerk.Producer.java

License:Open Source License

private void generateAndSendToConsumer(Long id) {
    if (!sendingActive || consumer.isEmpty()) {
        vertx.setTimer(SEND_DELAY_IN_MSEC, this::generateAndSendToConsumer);
        return;/*from  w  w  w. j ava  2 s  . c o m*/
    }
    consumer.removeIf(c -> c.online == false);
    if (consumer.isEmpty()) {
        vertx.setTimer(SEND_DELAY_IN_MSEC, this::generateAndSendToConsumer);
        return;
    }
    long start = System.currentTimeMillis();
    long msgsToSend = Math.max(Math.floorDiv(msgPerSec * SEND_DELAY_IN_MSEC, 1000), 1);
    int m = 0;
    while (m < msgsToSend) {
        for (Consumer consumer : consumer) {
            if (consumer.online) {
                JsonObject msg = new JsonObject().put("ts", System.currentTimeMillis()).put("message",
                        "messsage " + m);
                this.generatedMessages++;
                generatedMessagesInTick++;
                m++;
                vertx.eventBus().send("consumer", msg, new DeliveryOptions().setSendTimeout(10000), reply -> {
                    if (reply.succeeded()) {
                        if ("ok".equalsIgnoreCase(reply.result().body().toString())) {
                            this.sentMessages++;
                            consumer.online = true;
                        } else {
                            this.undeliveredMessages++;
                            file.write(Buffer.buffer("failed message :" + msg.getLong("ts") + ". "
                                    + reply.result().body() + String.format("%n")));
                        }
                    } else {
                        this.undeliveredMessages++;
                        file.write(Buffer.buffer("failed message :" + msg.getLong("ts") + ". "
                                + reply.cause().getMessage() + String.format("%n")));
                        consumer.online = false;
                    }
                });
                if (m >= msgsToSend)
                    break;
            }
        }
        ;
    }
    ;
    long diff = System.currentTimeMillis() - start;
    long delay = Math.max(SEND_DELAY_IN_MSEC - diff, 10);
    vertx.setTimer(delay, this::generateAndSendToConsumer);
}

From source file:fr.wseduc.rack.controllers.RackController.java

License:Open Source License

private void updateUserQuota(final String userId, long size) {
    JsonObject message = new JsonObject();
    message.put("action", "updateUserQuota");
    message.put("userId", userId);
    message.put("size", size);
    message.put("threshold", threshold);

    eb.send(QUOTA_BUS_ADDRESS, message, new Handler<AsyncResult<Message<JsonObject>>>() {
        @Override//from  w  ww .j a  v  a  2s.  c  om
        public void handle(AsyncResult<Message<JsonObject>> reply) {
            JsonObject obj = reply.result().body();
            UserUtils.addSessionAttribute(eb, userId, "storage", obj.getLong("storage"), null);
            if (obj.getBoolean("notify", false)) {
                notifyEmptySpaceIsSmall(userId);
            }
        }
    });

}

From source file:fr.wseduc.rack.security.RackResourcesProvider.java

License:Open Source License

private void authorizeOwner(HttpServerRequest request, UserInfos user, final Handler<Boolean> handler) {
    String id = request.params().get("id");
    String matcher = "{ \"_id\": \"" + id + "\", \"to\": \"" + user.getUserId() + "\" }";

    mongo.count(Rack.RACK_COLLECTION, new JsonObject(matcher), new Handler<Message<JsonObject>>() {
        public void handle(Message<JsonObject> result) {
            JsonObject res = result.body();
            handler.handle(res != null && "ok".equals(res.getString("status")) && res.getLong("count") == 1);
        }//from www  .  j a  v a  2  s .  co m
    });
}

From source file:io.flowly.auth.ExtJwtAuthProvider.java

License:Open Source License

@Override
public void authenticate(JsonObject authInfo, Handler<AsyncResult<User>> resultHandler) {
    try {//  www .  j  a v  a 2 s. c o  m
        final JsonObject payload = jwt.decode(authInfo.getString("jwt"));

        final JsonObject options = authInfo.getJsonObject("options", EMPTY_OBJECT);

        // All dates in JWT are of type NumericDate
        // a NumericDate is: numeric value representing the number of seconds from 1970-01-01T00:00:00Z UTC until
        // the specified UTC date/time, ignoring leap seconds
        final long now = System.currentTimeMillis() / 1000;

        if (payload.containsKey("exp") && !options.getBoolean("ignoreExpiration", false)) {
            if (now >= payload.getLong("exp")) {
                resultHandler.handle(Future.failedFuture("Expired JWT token: exp <= now"));
                return;
            }
        }

        if (payload.containsKey("iat")) {
            Long iat = payload.getLong("iat");
            // issue at must be in the past
            if (iat > now) {
                resultHandler.handle(Future.failedFuture("Invalid JWT token: iat > now"));
                return;
            }
        }

        if (payload.containsKey("nbf")) {
            Long nbf = payload.getLong("nbf");
            // not before must be after now
            if (nbf > now) {
                resultHandler.handle(Future.failedFuture("Invalid JWT token: nbf > now"));
                return;
            }
        }

        if (options.containsKey("audience")) {
            JsonArray audiences = options.getJsonArray("audience", EMPTY_ARRAY);
            JsonArray target = payload.getJsonArray("aud", EMPTY_ARRAY);

            if (Collections.disjoint(audiences.getList(), target.getList())) {
                resultHandler
                        .handle(Future.failedFuture("Invalid JWT audience. expected: " + audiences.encode()));
                return;
            }
        }

        if (options.containsKey("issuer")) {
            if (!options.getString("issuer").equals(payload.getString("iss"))) {
                resultHandler.handle(Future.failedFuture("Invalid JWT issuer"));
                return;
            }
        }

        resultHandler.handle(Future.succeededFuture(new ExtJwtUser(payload, permissionsClaimKey)));

    } catch (RuntimeException e) {
        resultHandler.handle(Future.failedFuture(e));
    }
}

From source file:io.flowly.engine.data.manager.UserManager.java

License:Open Source License

public Handler<Message<Object>> assignTaskHandler() {
    return message -> {
        JsonObject args = (JsonObject) message.body();
        message.reply(assignTask(args.getString(JsonKeys.SUBJECT_ID), args.getLong(JsonKeys.TASK_ID)));
    };//from   w  w  w  .  ja v a 2s. c om
}

From source file:io.flowly.engine.data.manager.UserManager.java

License:Open Source License

public Handler<Message<Object>> updateTaskHandler() {
    return message -> {
        JsonObject args = (JsonObject) message.body();
        message.reply(updateTask(null, args.getLong(JsonKeys.TASK_ID), args.getString(JsonKeys.STATUS)));
    };//from  ww  w .jav  a2 s . co m
}

From source file:io.nitor.api.backend.msgraph.GraphSessionTokenService.java

License:Apache License

private void handleRefreshResponse(HttpClientResponse resp, Future<TokenData> future,
        String previousRefreshToken) {
    resp.exceptionHandler(future::fail);
    resp.bodyHandler(body -> {/*from  ww w  . j  av a 2  s  .c  o m*/
        if (resp.statusCode() != 200) {
            future.fail(body.toString());
            return;
        }
        JsonObject json = body.toJsonObject();
        TokenData d = new TokenData(json.getString("access_token"),
                currentTimeMillis() + 1_000 * (json.getLong("expires_in") - 10),
                json.getString("refresh_token"));
        cache.put(d.refreshToken, d);
        if (previousRefreshToken != null) {
            cache.put(previousRefreshToken, d);
        }
        future.complete(d);
    });
}

From source file:net.kuujo.vertigo.network.impl.ConnectionConfigImpl.java

License:Apache License

@Override
public void update(JsonObject connection) {
    if (connection.containsKey(CONNECTION_SOURCE)) {
        if (this.source == null) {
            this.source = new SourceConfigImpl(connection.getJsonObject(CONNECTION_SOURCE));
        } else {//  ww  w .j  av  a 2 s. co m
            this.source.update(connection.getJsonObject(CONNECTION_SOURCE));
        }
    }
    if (connection.containsKey(CONNECTION_TARGET)) {
        if (this.target == null) {
            this.target = new TargetConfigImpl(connection.getJsonObject(CONNECTION_TARGET));
        } else {
            this.target.update(connection.getJsonObject(CONNECTION_TARGET));
        }
    }
    if (connection.containsKey(CONNECTION_ORDERED)) {
        this.ordered = connection.getBoolean(CONNECTION_ORDERED);
    }
    if (connection.containsKey(CONNECTION_AT_LEAST_ONCE)) {
        this.atLeastOnce = connection.getBoolean(CONNECTION_AT_LEAST_ONCE);
    }
    if (connection.containsKey(CONNECTION_SEND_TIMEOUT)) {
        this.sendTimeout = connection.getLong(CONNECTION_SEND_TIMEOUT);
    }
}