List of usage examples for io.vertx.core.eventbus Message body
@CacheReturn T body();
From source file:org.entcore.timeline.services.impl.DefaultTimelineMailerService.java
License:Open Source License
private void getRecipientsUsers(Date from, final Handler<JsonArray> handler) { final JsonObject aggregation = new JsonObject(); JsonArray pipeline = new fr.wseduc.webutils.collections.JsonArray(); aggregation.put("aggregate", "timeline").put("allowDiskUse", true).put("pipeline", pipeline); JsonObject matcher = MongoQueryBuilder.build(QueryBuilder.start("date").greaterThanEquals(from)); JsonObject grouper = new JsonObject( "{ \"_id\" : \"notifiedUsers\", \"recipients\" : {\"$addToSet\" : \"$recipients.userId\"}}"); pipeline.add(new JsonObject().put("$match", matcher)); pipeline.add(new JsonObject().put("$unwind", "$recipients")); pipeline.add(new JsonObject().put("$group", grouper)); mongo.command(aggregation.toString(), new Handler<Message<JsonObject>>() { @Override// w w w . j a v a 2 s . c om public void handle(Message<JsonObject> event) { if ("error".equals(event.body().getString("status", "error"))) { handler.handle(new fr.wseduc.webutils.collections.JsonArray()); } else { JsonArray r = event.body().getJsonObject("result", new JsonObject()).getJsonArray("result"); if (r != null && r.size() > 0) { handler.handle(r.getJsonObject(0).getJsonArray("recipients", new fr.wseduc.webutils.collections.JsonArray())); } else { handler.handle(new fr.wseduc.webutils.collections.JsonArray()); } } } }); }
From source file:org.entcore.timeline.services.impl.DefaultTimelineMailerService.java
License:Open Source License
/** * Retrieves an aggregated list of notifications from mongodb for a single user. * * Notifications are grouped by type & event-type. * @param userId : Userid/*from www. j av a 2 s .co m*/ * @param from : Starting date in the past * @param handler: Handles the notifications */ private void getAggregatedUserNotifications(String userId, Date from, final Handler<JsonArray> handler) { final JsonObject aggregation = new JsonObject(); JsonArray pipeline = new fr.wseduc.webutils.collections.JsonArray(); aggregation.put("aggregate", "timeline").put("allowDiskUse", true).put("pipeline", pipeline); JsonObject matcher = MongoQueryBuilder.build(QueryBuilder.start("recipients") .elemMatch(QueryBuilder.start("userId").is(userId).get()).and("date").greaterThanEquals(from)); JsonObject grouper = new JsonObject( "{ \"_id\" : { \"type\": \"$type\", \"event-type\": \"$event-type\"}, \"count\": { \"$sum\": 1 } }"); JsonObject transformer = new JsonObject( "{ \"type\": \"$_id.type\", \"event-type\": \"$_id.event-type\", \"count\": 1, \"_id\": 0 }"); pipeline.add(new JsonObject().put("$match", matcher)); pipeline.add(new JsonObject().put("$group", grouper)); pipeline.add(new JsonObject().put("$project", transformer)); mongo.command(aggregation.toString(), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if ("error".equals(event.body().getString("status", "error"))) { handler.handle(new fr.wseduc.webutils.collections.JsonArray()); } else { handler.handle(event.body().getJsonObject("result", new JsonObject()).getJsonArray("result", new fr.wseduc.webutils.collections.JsonArray())); } } }); }
From source file:org.entcore.workspace.controllers.AudioRecorderHandler.java
License:Open Source License
@Override public void handle(final ServerWebSocket ws) { ws.pause();//from www . j a va2s .c om String sessionId = CookieHelper.getInstance().getSigned(SESSION_ID, ws); UserUtils.getSession(Server.getEventBus(vertx), sessionId, new Handler<JsonObject>() { public void handle(final JsonObject infos) { if (infos == null) { ws.reject(); return; } final String id = ws.path().replaceFirst("/audio/", ""); eb.send(AudioRecorderWorker.class.getSimpleName(), new JsonObject().put("action", "open").put("id", id), handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> m) { if ("ok".equals(m.body().getString("status"))) { ws.frameHandler(new Handler<WebSocketFrame>() { @Override public void handle(WebSocketFrame frame) { if (frame.isBinary()) { log.debug("frame handler"); eb.send(AudioRecorderWorker.class.getSimpleName() + id, frame.binaryData().getBytes(), new DeliveryOptions().setSendTimeout(TIMEOUT), new Handler<AsyncResult<Message<JsonObject>>>() { @Override public void handle( AsyncResult<Message<JsonObject>> ar) { if (ar.failed() || !"ok".equals( ar.result().body().getString("status"))) { ws.writeTextMessage("audio.chunk.error"); } } }); } else { final String command = frame.textData(); if (command != null && command.startsWith("save-")) { save(id, command.substring(5), infos, ws); } else if ("cancel".equals(command)) { cancel(id, ws); } else if ("rawdata".equals(command)) { disableCompression(id, ws); } } } }); ws.closeHandler(new Handler<Void>() { @Override public void handle(Void event) { cancel(id, null); } }); ws.resume(); } else { ws.writeTextMessage(m.body().getString("message")); } } })); } }); }
From source file:org.entcore.workspace.controllers.AudioRecorderHandler.java
License:Open Source License
private void save(String id, String name, JsonObject infos, final ServerWebSocket ws) { JsonObject message = new JsonObject().put("action", "save").put("id", id).put("session", infos); if (isNotEmpty(name)) { message.put("name", name); }/* w w w . j a va 2 s. c om*/ eb.send(AudioRecorderWorker.class.getSimpleName(), message, handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { ws.writeTextMessage("ok"); } else { ws.writeTextMessage(event.body().getString("message")); } ws.close(); } })); }
From source file:org.entcore.workspace.controllers.AudioRecorderHandler.java
License:Open Source License
private void cancel(String id, final ServerWebSocket ws) { eb.send(AudioRecorderWorker.class.getSimpleName(), new JsonObject().put("action", "cancel").put("id", id), handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override/*w ww . j a v a 2 s . com*/ public void handle(Message<JsonObject> event) { if (ws != null) { if ("ok".equals(event.body().getString("status"))) { ws.writeTextMessage("ok"); } else { ws.writeTextMessage(event.body().getString("message")); } ws.close(); } } })); }
From source file:org.entcore.workspace.controllers.AudioRecorderHandler.java
License:Open Source License
private void disableCompression(String id, final ServerWebSocket ws) { eb.send(AudioRecorderWorker.class.getSimpleName(), new JsonObject().put("action", "rawdata").put("id", id), handlerToAsyncHandler(new Handler<Message<JsonObject>>() { @Override//from w w w . j a v a2s. co m public void handle(Message<JsonObject> event) { if (ws != null) { if ("ok".equals(event.body().getString("status"))) { ws.writeTextMessage("ok"); } else { ws.writeTextMessage(event.body().getString("message")); } } } })); }
From source file:org.entcore.workspace.controllers.QuotaController.java
License:Open Source License
@BusAddress("activation.ack") public void initQuota(final Message<JsonObject> message) { String userId = message.body().getString("userId"); if (userId != null && !userId.trim().isEmpty()) { quotaService.init(userId);// w w w . ja v a 2 s .c o m } }
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/* www . ja va 2 s .c o m*/ 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.dao.GenericDao.java
License:Open Source License
public void findById(String id, final Handler<JsonObject> handler) { mongo.findOne(collection, idMatcher(id), new Handler<Message<JsonObject>>() { @Override//from w w w. j a va2s . c o m public void handle(Message<JsonObject> res) { handler.handle(res.body()); } }); }
From source file:org.entcore.workspace.dao.GenericDao.java
License:Open Source License
public void findById(String id, JsonObject keys, final Handler<JsonObject> handler) { mongo.findOne(collection, idMatcher(id), keys, new Handler<Message<JsonObject>>() { @Override/* w w w.ja va 2 s. c o m*/ public void handle(Message<JsonObject> res) { handler.handle(res.body()); } }); }