List of usage examples for io.vertx.core.eventbus Message body
@CacheReturn T body();
From source file:org.entcore.infra.controllers.EventStoreController.java
License:Open Source License
@BusAddress("event.store") public void eventStore(final Message<JsonObject> message) { if (!authorizedUser(message.body())) { message.reply(new JsonObject().put("status", "ok")); } else {// www .j a va2s .co m eventStoreService.store(message.body(), new Handler<Either<String, Void>>() { @Override public void handle(Either<String, Void> event) { if (event.isRight()) { message.reply(new JsonObject().put("status", "ok")); } else { message.reply( new JsonObject().put("status", "error").put("message", event.left().getValue())); } } }); } }
From source file:org.entcore.infra.controllers.MonitoringController.java
License:Open Source License
private Handler<Message<JsonObject>> getResponseHandler(final String module, final long timerId, final JsonObject result, final AtomicInteger count, final HttpServerRequest request, final AtomicBoolean closed) { return new Handler<Message<JsonObject>>() { @Override/*from w w w . j av a 2s . c om*/ public void handle(Message<JsonObject> event) { result.put(module, event.body().getString("status")); if (count.decrementAndGet() <= 0 && !closed.get()) { vertx.cancelTimer(timerId); boolean error = false; for (String element : result.fieldNames()) { if (!"ok".equals(result.getString(element))) { error = true; break; } } if (error) { renderError(request, result); } else { renderJson(request, result); } } } }; }
From source file:org.entcore.infra.services.impl.AbstractAntivirusService.java
License:Open Source License
@Override public void handle(Message<JsonObject> event) { switch (event.body().getString("action", "")) { case "rmInfected": InfectedFile i = queue.remove(event.body().getString("id", "")); if (i != null) { vertx.cancelTimer(i.getTimerId()); i.setApplication(event.body().getString("application")); i.setName(event.body().getString("name")); i.setOwner(event.body().getString("owner")); removeInfectedFile(i, event); }/* w w w . j a va 2 s . com*/ break; } }
From source file:org.entcore.infra.services.impl.AbstractAntivirusService.java
License:Open Source License
private void removeInfectedFile(final InfectedFile i, final Message<JsonObject> message) { ObjectMapper mapper = new ObjectMapper(); try {// ww w. j a va 2 s. c o m final JsonObject params = new JsonObject(mapper.writeValueAsString(i)); log.info("Remove infected file : " + params.encode()); final HttpServerRequest request = new JsonHttpServerRequest(new JsonObject()); render.processTemplate(request, "text/infectedFile.txt", params, new Handler<String>() { @Override public void handle(String content) { storage.writeBuffer(i.getPath(), i.getId(), Buffer.buffer(content), "text/plain", i.getName() + ".txt", new Handler<JsonObject>() { @Override public void handle(JsonObject event) { if (timeline != null && i.getOwner() != null) { final List<String> recipients = new ArrayList<>(); recipients.add(i.getOwner()); timeline.notifyTimeline(request, "workspace.delete-virus", null, recipients, null, params); } if (message != null) { JsonObject m = new JsonObject().put("id", i.getId()) .put("name", i.getName() + ".txt").put("contentType", "text/plain") .put("action", "updateInfos"); message.reply(m, handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { if ("ok".equals(r.body().getString("status")) && r.body().getInteger("count", -1) > 0) { log.info("File info " + i.getId() + " updated."); } else { log.error("Error updating file info " + i.getId()); } } })); } } }); } }); } catch (IOException | DecodeException e) { log.error("Error serializing infected file : " + i.getId(), e); } }
From source file:org.entcore.infra.services.impl.ClamAvService.java
License:Open Source License
@Override public void scan(String file) { String command = "clamdscan -m --fdpass " + file; JsonObject m = new JsonObject().put("command", command); vertx.eventBus().send("exec.command", m, handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override//w w w.j a v a2 s . co m public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { List<InfectedFile> infectedFiles = parse(event.body().getString("result")); if (infectedFiles.size() > 0) { launchReplace(infectedFiles); } } } })); }
From source file:org.entcore.infra.services.impl.ExecCommandWorker.java
License:Open Source License
@Override public void handle(Message<JsonObject> event) { String command = event.body().getString("command"); if (isEmpty(command)) { sendError(event, "Invalid command"); return;/*from www. j a v a 2s . co m*/ } try { Process p = Runtime.getRuntime().exec(command); p.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); StringBuilder sb = new StringBuilder(); String line = ""; while ((line = reader.readLine()) != null) { sb.append(line).append("\n"); } sendOK(event, new JsonObject().put("result", sb.toString())); } catch (Exception e) { sendError(event, "Error executing command : " + command, e); } }
From source file:org.entcore.infra.Starter.java
License:Open Source License
private void registerWidget(final String widgetPath) { final String widgetName = new File(widgetPath).getName(); JsonObject widget = new JsonObject().put("name", widgetName) .put("js", "/assets/widgets/" + widgetName + "/" + widgetName + ".js") .put("path", "/assets/widgets/" + widgetName + "/" + widgetName + ".html"); if (vertx.fileSystem().existsBlocking(widgetPath + "/i18n")) { widget.put("i18n", "/assets/widgets/" + widgetName + "/i18n"); }/* w w w .ja va 2s. c o m*/ JsonObject message = new JsonObject().put("widget", widget); vertx.eventBus().send("wse.app.registry.widgets", message, handlerToAsyncHandler(new Handler<Message<JsonObject>>() { public void handle(Message<JsonObject> event) { if ("error".equals(event.body().getString("status"))) { log.error("Error while registering widget " + widgetName + ". " + event.body().getJsonArray("errors")); return; } log.info("Successfully registered widget " + widgetName); } })); }
From source file:org.entcore.portal.controllers.PortalController.java
License:Open Source License
@Get("/theme") @SecuredAction(value = "portal", type = ActionType.AUTHENTICATED) public void getTheme(final HttpServerRequest request) { final String theme_attr = THEME_ATTRIBUTE + getHost(request); UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override//from w w w . j a v a 2 s . co m public void handle(final UserInfos user) { if (user != null) { Object t = user.getAttribute(theme_attr); if (t != null) { renderJson(request, new JsonObject(t.toString())); return; } JsonObject urls = config.getJsonObject("urls", new JsonObject()); final JsonObject theme = new JsonObject().put("template", "/public/template/portal.html") .put("logoutCallback", getLogoutCallback(request, urls)); String query = "MATCH (n:User)-[:USERBOOK]->u " + "WHERE n.id = {id} " + "RETURN u.theme" + getSkinFromConditions(request).replaceAll("\\W+", "") + " as theme"; Map<String, Object> params = new HashMap<>(); params.put("id", user.getUserId()); Neo4j.getInstance().execute(query, params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { JsonArray result = event.body().getJsonArray("result"); String userTheme = (result != null && result.size() == 1) ? result.getJsonObject(0).getString("theme") : null; List<String> t = themes.get(getSkinFromConditions(request)); if (userTheme != null && t != null && t.contains(userTheme)) { theme.put("skin", getThemePrefix(request) + "/skins/" + userTheme + "/"); } else { theme.put("skin", getThemePrefix(request) + "/skins/default/"); } } else { theme.put("skin", getThemePrefix(request) + "/skins/default/"); } renderJson(request, theme); UserUtils.addSessionAttribute(eb, user.getUserId(), theme_attr, theme.encode(), null); } }); } else { unauthorized(request); } } }); }
From source file:org.entcore.registry.controllers.AppRegistryController.java
License:Open Source License
@Get("/cas-types") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(AdminFilter.class) public void listCasTypes(final HttpServerRequest request) { Server.getEventBus(vertx).send("cas.configuration", new JsonObject().put("action", "list-services"), handlerToAsyncHandler(new Handler<Message<JsonObject>>() { public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { renderJson(request, event.body().getJsonArray("result")); } else { log.error(event.body().getString("message")); }/* w w w . ja v a 2 s . co m*/ } })); }
From source file:org.entcore.registry.controllers.AppRegistryController.java
License:Open Source License
@BusAddress("wse.app.registry") public void collectApps(final Message<JsonObject> message) { final JsonObject app = message.body().getJsonObject("application"); final String application = app.getString("name"); final JsonArray securedActions = message.body().getJsonArray("actions"); if (application != null && securedActions != null && !application.trim().isEmpty()) { appRegistryService.createApplication(null, app, securedActions, new Handler<Either<String, JsonObject>>() { @Override//www . j a v a 2s .co m public void handle(Either<String, JsonObject> event) { JsonObject j = new JsonObject(); if (event.isRight()) { j.put("status", "ok"); } else { j.put("status", "error").put("message", event.left().getValue()); } message.reply(j); } }); } else { message.reply(new JsonObject().put("status", "error").put("message", "invalid.parameters")); } }