Example usage for io.vertx.core.eventbus Message reply

List of usage examples for io.vertx.core.eventbus Message reply

Introduction

In this page you can find the example usage for io.vertx.core.eventbus Message reply.

Prototype

default void reply(@Nullable Object message) 

Source Link

Document

Reply to this message.

Usage

From source file:de.notizwerk.Consumer.java

License:Open Source License

@Override
public void start(Future<Void> startFuture) throws Exception {

    setUpFileSystem(v -> {/* ww w .j a  va2  s.com*/
        vertx.eventBus().consumer("consumer", (Message<JsonObject> msg) -> {
            messagesInTick++;
            receivedMessages++;
            file.write(Buffer.buffer(msg.body().encode()));
            msg.reply("ok");
        });
        vertx.setPeriodic(REPORT_DELAY_IN_MSEC, (id) -> {
            long messageRate = Math.floorDiv(messagesInTick * 1000, REPORT_DELAY_IN_MSEC);
            messagesInTick = 0;
            JsonObject stats = new JsonObject().put("name", name).put("id", name)
                    .put("timestamp", AppStarter.TIME_FORMATTER.format(ZonedDateTime.now()))
                    .put("messageRate", messageRate).put("receivedMessages", receivedMessages);
            file.write(Buffer.buffer(stats.encode() + String.format("%n")));
            vertx.eventBus().publish("consumer.stats", stats);
        });
        startFuture.complete();
    });
}

From source file:fr.pjthin.vertx.client.UserDaoVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {//from w  w  w .  j av a  2s.co  m
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "save": {
            service.save(
                    json.getJsonObject("newUser") == null ? null
                            : new fr.pjthin.vertx.client.data.User(json.getJsonObject("newUser")),
                    createHandler(msg));
            break;
        }
        case "findAll": {
            service.findAll(res -> {
                if (res.failed()) {
                    msg.fail(-1, res.cause().getMessage());
                } else {
                    msg.reply(new JsonArray(
                            res.result().stream().map(User::toJson).collect(Collectors.toList())));
                }
            });
            break;
        }
        case "findUserByLogin": {
            service.findUserByLogin((java.lang.String) json.getValue("login"), res -> {
                if (res.failed()) {
                    msg.fail(-1, res.cause().getMessage());
                } else {
                    msg.reply(res.result() == null ? null : res.result().toJson());
                }
            });
            break;
        }
        case "deleteByLogin": {
            service.deleteByLogin((java.lang.String) json.getValue("login"), createHandler(msg));
            break;
        }
        case "close": {
            service.close();
            close();
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.fail(-1, t.getMessage());
        throw t;
    }
}

From source file:fr.wseduc.pages.controllers.PagesController.java

License:Open Source License

@BusAddress("pages")
public void busApi(Message<JsonObject> message) {
    String action = message.body().getString("action", "");
    final String pageId = message.body().getString("pageId");
    switch (action) {
    case "create":
        UserInfos user = UserUtils.sessionToUserInfos(message.body().getJsonObject("user"));
        JsonObject page = message.body().getJsonObject("page");
        crudService.create(page, user, busResponseHandler(message));
        break;/*from ww w  . j  a  v  a2 s. c  om*/
    case "share":
        String userId = message.body().getString("userId");
        String groupId = message.body().getString("groupId");
        List<String> actions = message.body().getJsonArray("actions").getList();
        shareService.groupShare(userId, groupId, pageId, actions, busResponseHandler(message));
        break;
    case "delete":
        crudService.delete(pageId, busResponseHandler(message));
        break;
    case "get":
        crudService.retrieve(pageId, busResponseHandler(message));
        break;
    case "update":
        crudService.update(pageId, message.body().getJsonObject("page"), busResponseHandler(message));
        break;
    default:
        message.reply(new JsonObject().put("status", "error").put("message", "invalid.action"));
    }
}

From source file:fr.wseduc.smsproxy.providers.ovh.OVHSmsProvider.java

License:Apache License

@Override
public void sendSms(final Message<JsonObject> message) {
    final JsonObject parameters = message.body().getJsonObject("parameters");
    logger.debug("[OVH][sendSms] Called with parameters : " + parameters);

    final Handler<HttpClientResponse> resultHandler = new Handler<HttpClientResponse>() {
        public void handle(HttpClientResponse response) {
            if (response == null) {
                sendError(message, "ovh.apicall.error", null);
            } else {
                response.bodyHandler(new Handler<Buffer>() {
                    public void handle(Buffer body) {
                        final JsonObject response = new JsonObject(body.toString());
                        final JsonArray invalidReceivers = response.getJsonArray("invalidReceivers",
                                new JsonArray());
                        final JsonArray validReceivers = response.getJsonArray("validReceivers",
                                new JsonArray());

                        if (validReceivers.size() == 0) {
                            sendError(message, "invalid.receivers.all", null, new JsonObject(body.toString()));
                        } else if (invalidReceivers.size() > 0) {
                            sendError(message, "invalid.receivers.partial", null,
                                    new JsonObject(body.toString()));
                        } else {
                            message.reply(response);
                        }//from  w w w  .  j av a2s . c om
                    }
                });
            }
        }
    };

    Handler<String> serviceCallback = new Handler<String>() {
        public void handle(String service) {
            if (service == null) {
                sendError(message, "ovh.apicall.error", null);
            } else {
                ovhRestClient.post("/sms/" + service + "/jobs/", parameters, resultHandler);
            }
        }
    };

    retrieveSmsService(message, serviceCallback);
}

From source file:fr.wseduc.smsproxy.providers.ovh.OVHSmsProvider.java

License:Apache License

@Override
public void getInfo(final Message<JsonObject> message) {
    final JsonObject parameters = message.body().getJsonObject("parameters");
    logger.debug("[OVH][getInfo] Called with parameters : " + parameters);

    retrieveSmsService(message, new Handler<String>() {
        public void handle(String service) {
            if (service == null) {
                sendError(message, "ovh.apicall.error", null);
            } else {
                ovhRestClient.get("/sms/" + service, parameters, new Handler<HttpClientResponse>() {
                    public void handle(HttpClientResponse response) {
                        if (response == null) {
                            sendError(message, "ovh.apicall.error", null);
                            return;
                        }//from w  ww  . j a  v a 2s .  c o m
                        response.bodyHandler(new Handler<Buffer>() {
                            public void handle(Buffer body) {
                                final JsonObject response = new JsonObject(body.toString());
                                message.reply(response);
                            }
                        });
                    }
                });
            }
        }
    });
}

From source file:fr.wseduc.smsproxy.providers.SmsProvider.java

License:Apache License

/**
 * Error management method, sends back a message containing the error details on the bus.
 * @param message : Original message//ww w. j ava 2  s  .com
 * @param error : Error message
 * @param e : Exception thrown
 * @param data : Additional data
 */
protected void sendError(Message<JsonObject> message, String error, Exception e, JsonObject data) {
    logger.error(error, e);
    JsonObject json = new JsonObject().put("status", "error").put("message", error).put("data", data);
    message.reply(json);
}

From source file:io.engagingspaces.graphql.query.QueryableVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {/*from  w  w w  . j a  v  a2 s  . co m*/
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {

        case "query": {
            service.query((java.lang.String) json.getValue("graphqlQuery"), res -> {
                if (res.failed()) {
                    if (res.cause() instanceof ServiceException) {
                        msg.reply(res.cause());
                    } else {
                        msg.reply(new ServiceException(-1, res.cause().getMessage()));
                    }
                } else {
                    msg.reply(res.result() == null ? null : res.result().toJson());
                }
            });
            break;
        }
        case "queryWithVariables": {
            service.queryWithVariables((java.lang.String) json.getValue("graphqlQuery"),
                    (io.vertx.core.json.JsonObject) json.getValue("variables"), res -> {
                        if (res.failed()) {
                            if (res.cause() instanceof ServiceException) {
                                msg.reply(res.cause());
                            } else {
                                msg.reply(new ServiceException(-1, res.cause().getMessage()));
                            }
                        } else {
                            msg.reply(res.result() == null ? null : res.result().toJson());
                        }
                    });
            break;
        }
        case "resolveType": {
            service.resolveType((java.lang.String) json.getValue("typeResolverId"),
                    (io.vertx.core.json.JsonObject) json.getValue("typeHolder"), createHandler(msg));
            break;
        }
        case "fetchData": {
            service.fetchData((java.lang.String) json.getValue("dataFetcherId"),
                    (io.vertx.core.json.JsonObject) json.getValue("dataFetchingEnvironment"),
                    createHandler(msg));
            break;
        }
        case "close": {
            service.close();
            close();
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}

From source file:io.github.jdocker.serviceregistry.ServiceRegistry.java

License:Apache License

private void findEndpointEndReply(String endpointName, Message<String> message, SharedData sd) {
    LocalMap<String, String> map1 = sd.getLocalMap(REG_NAME);
    final String endpointValue = map1.get(endpointName);
    // TODO should we define any timeouts or anything else?
    message.reply(endpointValue);
}

From source file:io.github.jdocker.serviceregistry.ServiceRegistry.java

License:Apache License

private void findEndpointInClusteredMapAndReply(String endpointName, Message<String> message, SharedData sd) {
    sd.<String, String>getClusterWideMap(REG_NAME, res -> {
        if (res.succeeded()) {
            AsyncMap<String, String> map = res.result();
            map.get(endpointName, result -> {
                if (result.succeeded()) {
                    final String endpointValue = result.result();
                    // TODO should we define any timeouts or anything else?
                    message.reply(endpointValue);
                }// w  w w .j  a v  a  2 s.  c o  m
            });
        } else {
            // Something went wrong!
        }
    });
}

From source file:io.github.pflima92.plyshare.common.configuration.ConfigurationProviderVertxProxyHandler.java

License:Apache License

public void handle(Message<JsonObject> msg) {
    try {// w ww. java2 s. c  o m
        JsonObject json = msg.body();
        String action = msg.headers().get("action");
        if (action == null) {
            throw new IllegalStateException("action not specified");
        }
        accessed();
        switch (action) {
        case "getConfiguration": {
            service.getConfiguration((java.lang.String) json.getValue("name"), createHandler(msg));
            break;
        }
        default: {
            throw new IllegalStateException("Invalid action: " + action);
        }
        }
    } catch (Throwable t) {
        msg.reply(new ServiceException(500, t.getMessage()));
        throw t;
    }
}