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:org.entcore.registry.controllers.ExternalApplicationController.java

License:Open Source License

@BusAddress("external-application")
public void externalApplications(Message<JsonObject> message) {
    final String structureId = message.body().getString("structureId");
    switch (message.body().getString("action", "")) {
    case "list":
        externalAppService.listExternalApps(structureId, busArrayHandler(message));
        break;//from w w w  .  j a  v  a2 s  . co  m
    default:
        message.reply(new JsonObject().put("status", "error").put("message", "invalid.action"));
    }
}

From source file:org.entcore.registry.controllers.WidgetController.java

License:Open Source License

@BusAddress("wse.app.registry.widgets")
public void collectWidgets(final Message<JsonObject> message) {
    final JsonArray widgets = message.body().getJsonArray("widgets",
            new fr.wseduc.webutils.collections.JsonArray());
    if (widgets.size() == 0 && message.body().containsKey("widget")) {
        widgets.add(message.body().getJsonObject("widget"));
    } else if (widgets.size() == 0) {
        message.reply(new JsonObject().put("status", "error").put("message", "invalid.parameters"));
        return;/*from   ww  w  .  j a  v a2s  .co m*/
    }

    final AtomicInteger countdown = new AtomicInteger(widgets.size());
    final JsonObject reply = new JsonObject().put("status", "ok").put("errors",
            new fr.wseduc.webutils.collections.JsonArray());

    final Handler<JsonObject> replyHandler = new Handler<JsonObject>() {
        public void handle(JsonObject res) {
            if ("error".equals(res.getString("status"))) {
                reply.put("status", "error");
                reply.getJsonArray("errors").add(reply.getString("message"));
            }
            if (countdown.decrementAndGet() == 0) {
                message.reply(reply);
            }
        }
    };

    for (Object widgetObj : widgets) {
        registerWidget((JsonObject) widgetObj, replyHandler);
    }
}

From source file:org.entcore.registry.services.impl.NopAppRegistryEventService.java

License:Open Source License

@Override
public void userGroupUpdated(JsonArray users, Message<JsonObject> message) {
    message.reply(new JsonObject().put("status", "ok"));
}

From source file:org.entcore.timeline.controllers.TimelineController.java

License:Open Source License

@BusAddress("wse.timeline")
public void busApi(final Message<JsonObject> message) {
    if (message == null) {
        return;// w  w w  .j ava2s .c  om
    }
    final JsonObject json = message.body();
    if (json == null) {
        message.reply(new JsonObject().put("status", "error").put("message", "Invalid body."));
        return;
    }

    final Handler<JsonObject> handler = new Handler<JsonObject>() {
        public void handle(JsonObject event) {
            message.reply(event);
        }
    };

    String action = json.getString("action");
    if (action == null) {
        log.warn("Invalid action.");
        message.reply(new JsonObject().put("status", "error").put("message", "Invalid action."));
        return;
    }

    switch (action) {
    case "add":
        final String sender = json.getString("sender");
        if (sender == null || sender.startsWith("no-reply") || json.getBoolean("disableAntiFlood", false)
                || antiFlood.add(sender)) {
            store.add(json, new Handler<JsonObject>() {
                public void handle(JsonObject result) {
                    notificationHelper.sendImmediateNotifications(
                            new JsonHttpServerRequest(json.getJsonObject("request")), json);
                    handler.handle(result);
                }
            });
            if (refreshTypesCache && eventTypes != null && !eventTypes.contains(json.getString("type"))) {
                eventTypes = null;
            }
        } else {
            message.reply(new JsonObject().put("status", "error").put("message", "flood"));
        }
        break;
    case "get":
        UserInfos u = new UserInfos();
        u.setUserId(json.getString("recipient"));
        u.setExternalId(json.getString("externalId"));
        store.get(u, null, json.getInteger("offset", 0), json.getInteger("limit", 25), null, false, handler);
        break;
    case "delete":
        store.delete(json.getString("resource"), handler);
        break;
    case "deleteSubResource":
        store.deleteSubResource(json.getString("sub-resource"), handler);
    case "list-types":
        store.listTypes(new Handler<JsonArray>() {
            @Override
            public void handle(JsonArray types) {
                message.reply(new JsonObject().put("status", "ok").put("types", types));
            }
        });
        break;
    default:
        message.reply(new JsonObject().put("status", "error").put("message", "Invalid action."));
    }
}

From source file:org.entcore.workspace.controllers.QuotaController.java

License:Open Source License

@BusAddress("org.entcore.workspace.quota")
public void quotaEventBusHandler(final Message<JsonObject> message) {
    Handler<Either<String, JsonObject>> responseHandler = new Handler<Either<String, JsonObject>>() {
        @Override/*from  w  ww .j  a v  a2s . com*/
        public void handle(Either<String, JsonObject> res) {
            if (res.isRight()) {
                message.reply(res.right().getValue());
            } else {
                message.reply(new JsonObject().put("status", "error").put("message", res.left().getValue()));
            }
        }
    };

    String userId = message.body().getString("userId");

    switch (message.body().getString("action", "")) {
    case "getUserQuota":
        quotaService.quotaAndUsage(userId, responseHandler);
        break;
    case "updateUserQuota":
        long size = message.body().getLong("size");
        int threshold = message.body().getInteger("threshold");
        quotaService.incrementStorage(userId, size, threshold, responseHandler);
        break;
    default:
        message.reply(new JsonObject().put("status", "error").put("message", "invalid.action"));
    }
}

From source file:org.entcore.workspace.service.impl.AudioRecorderWorker.java

License:Open Source License

private void open(final String id, final Message<JsonObject> message) {
    Handler<Message<byte[]>> handler = new Handler<Message<byte[]>>() {
        @Override//w w  w  .j ava2 s. co m
        public void handle(Message<byte[]> chunk) {
            try {
                final PersistantBuffer buf = buffers.get(id);
                final Buffer tmp;
                if (disabledCompression.contains(id)) {
                    tmp = Buffer.buffer(chunk.body());
                } else {
                    tmp = Buffer.buffer(ZLib.decompress(chunk.body()));
                }
                if (buf != null) {
                    buf.appendBuffer(tmp);
                } else {
                    PersistantBuffer pb = new PersistantBuffer(vertx, tmp, id);
                    pb.exceptionHandler(new Handler<Throwable>() {
                        @Override
                        public void handle(Throwable event) {
                            logger.error("Error with PersistantBuffer " + id, event);
                        }
                    });
                    buffers.put(id, pb);
                }
                chunk.reply(new JsonObject().put("status", "ok"));
            } catch (Exception e) {
                logger.error("Error receiving chunk.", e);
                chunk.reply(new JsonObject().put("status", "error").put("message", "audioworker.chunk.error"));
            }
        }
    };
    MessageConsumer<byte[]> consumer = vertx.eventBus()
            .localConsumer(AudioRecorderWorker.class.getSimpleName() + id, handler);
    consumers.put(id, consumer);
    sendOK(message);
}

From source file:org.entcore.workspace.service.WorkspaceService.java

License:Open Source License

@BusAddress("org.entcore.workspace")
public void workspaceEventBusHandler(final Message<JsonObject> message) {
    switch (message.body().getString("action", "")) {
    case "addDocument":
        addDocument(message);/*from   ww  w.  ja  va  2s .c o m*/
        break;
    case "updateDocument":
        updateDocument(message);
        break;
    case "getDocument":
        getDocument(message);
        break;
    case "copyDocument":
        copyDocument(message);
        break;
    default:
        message.reply(new JsonObject().put("status", "error").put("message", "invalid.action"));
    }
}

From source file:org.entcore.workspace.service.WorkspaceService.java

License:Open Source License

private void getDocument(final Message<JsonObject> message) {
    documentDao.findById(message.body().getString("id"), new Handler<JsonObject>() {
        @Override/*from w  ww.j a v  a  2  s .  co  m*/
        public void handle(JsonObject res) {
            message.reply(res);
        }
    });
}

From source file:org.entcore.workspace.service.WorkspaceService.java

License:Open Source License

private void addDocument(final Message<JsonObject> message) {
    JsonObject uploaded = message.body().getJsonObject("uploaded");
    JsonObject doc = message.body().getJsonObject("document");
    if (doc == null || uploaded == null) {
        message.reply(new JsonObject().put("status", "error").put("message", "missing.attribute"));
        return;/*  w ww .j a v a  2  s. co m*/
    }
    String name = message.body().getString("name");
    String application = message.body().getString("application");
    JsonArray t = message.body().getJsonArray("thumbs", new fr.wseduc.webutils.collections.JsonArray());
    List<String> thumbs = new ArrayList<>();
    for (int i = 0; i < t.size(); i++) {
        thumbs.add(t.getString(i));
    }
    addAfterUpload(uploaded, doc, name, application, thumbs, DocumentDao.DOCUMENTS_COLLECTION,
            new Handler<Message<JsonObject>>() {
                @Override
                public void handle(Message<JsonObject> m) {
                    if (m != null) {
                        message.reply(m.body());
                    }
                }
            });
}

From source file:org.entcore.workspace.service.WorkspaceService.java

License:Open Source License

private void updateDocument(final Message<JsonObject> message) {
    JsonObject uploaded = message.body().getJsonObject("uploaded");
    String id = message.body().getString("id");
    if (uploaded == null || id == null || id.trim().isEmpty()) {
        message.reply(new JsonObject().put("status", "error").put("message", "missing.attribute"));
        return;/*from ww w . ja v  a2s .  c om*/
    }
    String name = message.body().getString("name");
    JsonArray t = message.body().getJsonArray("thumbs", new fr.wseduc.webutils.collections.JsonArray());
    List<String> thumbs = new ArrayList<>();
    for (int i = 0; i < t.size(); i++) {
        thumbs.add(t.getString(i));
    }
    updateAfterUpload(id, name, uploaded, thumbs, null, new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> m) {
            if (m != null) {
                message.reply(m.body());
            }
        }
    });
}