List of usage examples for io.vertx.core.eventbus Message body
@CacheReturn T body();
From source file:org.entcore.common.share.impl.MongoDbShareService.java
License:Open Source License
private void share(String resourceId, final String groupShareId, final List<String> actions, boolean isGroup, final Handler<Either<String, JsonObject>> handler) { final String shareIdAttr = isGroup ? "groupId" : "userId"; QueryBuilder query = QueryBuilder.start("_id").is(resourceId); JsonObject keys = new JsonObject().put("shared", 1); final JsonObject q = MongoQueryBuilder.build(query); mongo.findOne(collection, q, keys, new Handler<Message<JsonObject>>() { @Override/*from www . j a v a 2s. com*/ public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status")) && event.body().getJsonObject("result") != null) { JsonArray actual = event.body().getJsonObject("result").getJsonArray("shared", new fr.wseduc.webutils.collections.JsonArray()); boolean exist = false; for (int i = 0; i < actual.size(); i++) { JsonObject s = actual.getJsonObject(i); String id = s.getString(shareIdAttr); if (groupShareId.equals(id)) { for (String action : actions) { s.put(action, true); } if (groupedActions != null) { for (Map.Entry<String, List<String>> ga : groupedActions.entrySet()) { if (actions.containsAll(ga.getValue())) { s.put(ga.getKey(), true); } } } exist = true; break; } } final AtomicBoolean notifyTimeline = new AtomicBoolean(false); if (!exist) { JsonObject t = new JsonObject().put(shareIdAttr, groupShareId); actual.add(t); for (String action : actions) { t.put(action, true); } if (groupedActions != null) { for (Map.Entry<String, List<String>> ga : groupedActions.entrySet()) { if (actions.containsAll(ga.getValue())) { t.put(ga.getKey(), true); } } } notifyTimeline.set(true); } MongoUpdateBuilder updateQuery = new MongoUpdateBuilder().set("shared", actual); mongo.update(collection, q, updateQuery.build(), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { if (notifyTimeline.get()) { JsonObject notify = new JsonObject(); notify.put(shareIdAttr, groupShareId); res.body().put("notify-timeline", notify); } handler.handle(Utils.validResult(res)); } }); } else { handler.handle(new Either.Left<String, JsonObject>("Resource not found.")); } } }); }
From source file:org.entcore.common.share.impl.MongoDbShareService.java
License:Open Source License
private void removeShare(String resourceId, final String shareId, List<String> removeActions, boolean isGroup, final Handler<Either<String, JsonObject>> handler) { final String shareIdAttr = isGroup ? "groupId" : "userId"; final List<String> actions = findRemoveActions(removeActions); QueryBuilder query = QueryBuilder.start("_id").is(resourceId); JsonObject keys = new JsonObject().put("shared", 1); final JsonObject q = MongoQueryBuilder.build(query); mongo.findOne(collection, q, keys, new Handler<Message<JsonObject>>() { @Override/* ww w.j a v a 2 s .com*/ public void handle(Message<JsonObject> event) { if ("ok".equals(event.body().getString("status")) && event.body().getJsonObject("result") != null) { JsonArray actual = event.body().getJsonObject("result").getJsonArray("shared", new fr.wseduc.webutils.collections.JsonArray()); JsonArray shared = new fr.wseduc.webutils.collections.JsonArray(); for (int i = 0; i < actual.size(); i++) { JsonObject s = actual.getJsonObject(i); String id = s.getString(shareIdAttr); if (shareId.equals(id)) { if (actions != null) { for (String action : actions) { s.remove(action); } if (s.size() > 1) { shared.add(s); } } } else { shared.add(s); } } MongoUpdateBuilder updateQuery = new MongoUpdateBuilder().set("shared", shared); mongo.update(collection, q, updateQuery.build(), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { handler.handle(Utils.validResult(res)); } }); } else { handler.handle(new Either.Left<String, JsonObject>("Resource not found.")); } } }); }
From source file:org.entcore.common.share.impl.SqlShareService.java
License:Open Source License
@Override public void shareInfos(final String userId, String resourceId, final String acceptLanguage, final String search, final Handler<Either<String, JsonObject>> handler) { if (userId == null || userId.trim().isEmpty()) { handler.handle(new Either.Left<String, JsonObject>("Invalid userId.")); return;/* www. j a v a 2 s .c o m*/ } if (resourceId == null || resourceId.trim().isEmpty()) { handler.handle(new Either.Left<String, JsonObject>("Invalid resourceId.")); return; } final JsonArray actions = getResoureActions(securedActions); String query = "SELECT s.member_id, s.action, m.group_id FROM " + shareTable + " AS s " + "JOIN " + schema + "members AS m ON s.member_id = m.id WHERE resource_id = ?"; sql.prepared(query, new fr.wseduc.webutils.collections.JsonArray().add(Sql.parseId(resourceId)), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> message) { if ("ok".equals(message.body().getString("status"))) { JsonArray r = message.body().getJsonArray("results"); JsonObject groupCheckedActions = new JsonObject(); JsonObject userCheckedActions = new JsonObject(); for (Object o : r) { if (!(o instanceof JsonArray)) continue; JsonArray row = (JsonArray) o; final String memberId = row.getString(0); if (memberId == null || memberId.equals(userId)) continue; final JsonObject checkedActions = (row.getValue(2) != null) ? groupCheckedActions : userCheckedActions; JsonArray m = checkedActions.getJsonArray(memberId); if (m == null) { m = new fr.wseduc.webutils.collections.JsonArray(); checkedActions.put(memberId, m); } m.add(row.getValue(1)); } getShareInfos(userId, actions, groupCheckedActions, userCheckedActions, acceptLanguage, search, new Handler<JsonObject>() { @Override public void handle(JsonObject event) { if (event != null && event.size() == 3) { handler.handle(new Either.Right<String, JsonObject>(event)); } else { handler.handle(new Either.Left<String, JsonObject>( "Error finding shared resource.")); } } }); } } }); }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Long countResult(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonArray values = res.body().getJsonArray("results"); if (values != null && values.size() == 1) { JsonArray row = values.getJsonArray(0); if (row != null && row.size() == 1) { return row.getLong(0); }/* w ww. j av a 2 s . c o m*/ } } return null; }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Either<String, JsonArray> validResult(int idx, Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonArray a = res.body().getJsonArray("results"); if (a != null && idx < a.size()) { return jsonToEither(a.getJsonObject(idx).put("jsonb_fields", res.body().getJsonArray("jsonb_fields", new fr.wseduc.webutils.collections.JsonArray()))); } else {//from w w w . j a v a2 s . c om return new Either.Left<>("missing.result"); } } else { return new Either.Left<>(res.body().getString("message", "")); } }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Either<String, JsonArray> validResults(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonArray a = res.body().getJsonArray("results"); JsonArray r = new fr.wseduc.webutils.collections.JsonArray(); for (Object o : a) { if (!(o instanceof JsonObject)) continue; r.add(transform((JsonObject) o)); }/*ww w . j a v a 2 s .c o m*/ return new Either.Right<>(r); } else { return new Either.Left<>(res.body().getString("message", "")); } }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Either<String, JsonArray> validResult(Message<JsonObject> res) { return jsonToEither(res.body()); }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Either<String, JsonObject> validRowsResult(Message<JsonObject> res) { JsonObject body = res.body(); return validRows(body); }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Either<String, JsonObject> validRowsResult(int idx, Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonArray a = res.body().getJsonArray("results"); if (a != null && idx < a.size()) { return validRows(a.getJsonObject(idx)); } else {/*from w w w . j a va 2 s.c o m*/ return new Either.Left<>("missing.result"); } } else { return new Either.Left<>(res.body().getString("message", "")); } }
From source file:org.entcore.common.sql.SqlResult.java
License:Open Source License
public static Handler<Message<JsonObject>> validUniqueResultHandler( final Handler<Either<String, JsonObject>> handler, final String... jsonbFields) { return new Handler<Message<JsonObject>>() { @Override//from w w w .j a v a 2 s .co m public void handle(Message<JsonObject> event) { if (jsonbFields != null && jsonbFields.length > 0) { event.body().put("jsonb_fields", new fr.wseduc.webutils.collections.JsonArray(Arrays.asList(jsonbFields))); } handler.handle(validUniqueResult(event)); } }; }