Example usage for io.vertx.core.json JsonArray remove

List of usage examples for io.vertx.core.json JsonArray remove

Introduction

In this page you can find the example usage for io.vertx.core.json JsonArray remove.

Prototype

public Object remove(int pos) 

Source Link

Document

Remove the value at the specified position in the JSON array.

Usage

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;
}