List of usage examples for io.vertx.core.json JsonArray remove
public Object remove(int pos)
From source file:org.entcore.directory.services.impl.DefaultShareBookmarkService.java
License:Open Source License
@Override public void list(String userId, Handler<Either<String, JsonArray>> handler) { final String query = "MATCH (:User {id:{userId}})-[:HAS_SB]->(sb:ShareBookmark) return sb"; JsonObject params = new JsonObject(); params.put("userId", userId); neo4j.execute(query, params, fullNodeMergeHandler("sb", node -> { if (node.isRight()) { final JsonObject j = node.right().getValue(); final JsonArray result = new JsonArray(); for (String id : j.fieldNames()) { final JsonArray value = j.getJsonArray(id); if (value == null || value.size() < 2) { delete(userId, id, dres -> { if (dres.isLeft()) { log.error("Error deleting sharebookmark " + id + " : " + dres.left().getValue()); }/* w ww. j a v a 2 s .c o m*/ }); continue; } final JsonObject r = new fr.wseduc.webutils.collections.JsonObject(); r.put("id", id); r.put("name", value.remove(0)); //r.put("membersIds", value); result.add(r); } handler.handle(new Either.Right<>(result)); } else { handler.handle(new Either.Left<>(node.left().getValue())); } })); }
From source file:org.folio.auth.permissions_module.impl.MongoPermissionsStore.java
@Override public Future<Boolean> removePermissionFromUser(String user, String permission, String tenant) { JsonObject query = new JsonObject().put("username", user).put("tenant", tenant); Future<Boolean> future = Future.future(); mongoClient.find("users", query, res -> { if (res.failed() || res.result().size() < 1) { future.complete(false);//ww w.ja v a 2 s. c o m } else { getPermissionsForUser(user, tenant, false).setHandler(res2 -> { if (res2.failed()) { future.fail("Unable to retrieve initial permissions: " + res2.cause().getMessage()); } else { JsonArray permissions = res2.result(); logger.debug("PERMISSIONS: " + permissions.encode()); if (!permissions.contains(permission)) { future.complete(true); } else { permissions.remove(permission); JsonObject update = new JsonObject().put("$set", new JsonObject().put("permissions", permissions)); mongoClient.updateCollection("users", query, update, res3 -> { if (res3.failed()) { future.fail("Unable to remove permission:" + res3.cause().getMessage()); } else { logger.debug("Permissions> Permission '" + permission + "' removed"); future.complete(true); } }); } } }); } }); return future; }