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

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

Introduction

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

Prototype

public Object remove(String key) 

Source Link

Document

Remove an entry from this object.

Usage

From source file:org.entcore.auth.adapter.UserInfoAdapterV1_0Json.java

License:Open Source License

@Override
public JsonObject getInfo(JsonObject info, String clientId) {
    final JsonObject filteredInfos = getCommonFilteredInfos(info, clientId);
    filteredInfos.remove("realClassesNames");
    return filteredInfos;
}

From source file:org.entcore.auth.adapter.UserInfoAdapterV1_0Json.java

License:Open Source License

protected JsonObject getCommonFilteredInfos(JsonObject info, String clientId) {
    JsonObject filteredInfos = info.copy();
    String type = Utils.getOrElse(types.get(info.getString("type", "")), "");
    filteredInfos.put("type", type);
    filteredInfos.remove("cache");
    if (filteredInfos.getString("level") == null) {
        filteredInfos.put("level", "");
    } else if (filteredInfos.getString("level").contains("$")) {
        String[] level = filteredInfos.getString("level").split("\\$");
        filteredInfos.put("level", level[level.length - 1]);
    }// w  ww  .j a v  a  2 s .  c  o m
    if (clientId != null && !clientId.trim().isEmpty()) {
        JsonArray classNames = filteredInfos.getJsonArray("classNames");
        filteredInfos.remove("classNames");
        JsonArray structureNames = filteredInfos.getJsonArray("structureNames");
        filteredInfos.remove("structureNames");
        filteredInfos.remove("federated");
        if (classNames != null && classNames.size() > 0) {
            filteredInfos.put("classId", classNames.getString(0));
        }
        if (structureNames != null && structureNames.size() > 0) {
            filteredInfos.put("schoolName", structureNames.getString(0));
        }
        filteredInfos.remove("functions");
        filteredInfos.remove("groupsIds");
        filteredInfos.remove("structures");
        filteredInfos.remove("classes");
        filteredInfos.remove("apps");
        filteredInfos.remove("authorizedActions");
        filteredInfos.remove("children");
        JsonArray authorizedActions = new fr.wseduc.webutils.collections.JsonArray();
        for (Object o : info.getJsonArray("authorizedActions")) {
            JsonObject j = (JsonObject) o;
            String name = j.getString("name");
            if (name != null && name.startsWith(clientId + "|")) {
                authorizedActions.add(j);
            }
        }
        if (authorizedActions.size() > 0) {
            filteredInfos.put("authorizedActions", authorizedActions);
        }
    }
    return filteredInfos;
}

From source file:org.entcore.auth.adapter.UserInfoAdapterV2_0Json.java

License:Open Source License

@Override
public JsonObject getInfo(JsonObject info, String clientId) {
    JsonObject s = info.copy();
    s.remove("cache");
    return s;//from w w w  .  ja v  a  2  s . com
}

From source file:org.entcore.auth.controllers.AuthController.java

License:Open Source License

@Post("/forgot-id")
public void forgetId(final HttpServerRequest request) {
    RequestUtils.bodyToJson(request, new io.vertx.core.Handler<JsonObject>() {
        public void handle(JsonObject data) {
            final String mail = data.getString("mail");
            final String service = data.getString("service");
            final String firstName = data.getString("firstName");
            final String structure = data.getString("structureId");
            if (mail == null || mail.trim().isEmpty()) {
                badRequest(request);/*from w  ww. j  ava  2s  .c  o  m*/
                return;
            }
            userAuthAccount.findByMailAndFirstNameAndStructure(mail, firstName, structure,
                    new io.vertx.core.Handler<Either<String, JsonArray>>() {
                        @Override
                        public void handle(Either<String, JsonArray> event) {
                            //No user with that email, or more than one found.
                            if (event.isLeft()) {
                                badRequest(request, event.left().getValue());
                                return;
                            }
                            JsonArray results = event.right().getValue();
                            if (results.size() == 0) {
                                badRequest(request, "no.match");
                                return;
                            }
                            JsonArray structures = new fr.wseduc.webutils.collections.JsonArray();
                            if (results.size() > 1) {
                                for (Object ob : results) {
                                    JsonObject j = (JsonObject) ob;
                                    j.remove("login");
                                    j.remove("mobile");
                                    if (!structures.toString().contains(j.getString("structureId")))
                                        structures.add(j);
                                }
                                if (firstName != null && structures.size() == 1)
                                    badRequest(request, "non.unique.result");
                                else
                                    renderJson(request, new JsonObject().put("structures", structures));
                                return;
                            }
                            JsonObject match = results.getJsonObject(0);
                            final String id = match.getString("login", "");
                            final String mobile = match.getString("mobile", "");

                            //Force mail
                            if ("mail".equals(service)) {
                                userAuthAccount.sendForgottenIdMail(request, id, mail,
                                        new io.vertx.core.Handler<Either<String, JsonObject>>() {
                                            public void handle(Either<String, JsonObject> event) {
                                                if (event.isLeft()) {
                                                    badRequest(request, event.left().getValue());
                                                    return;
                                                }
                                                if (smsProvider != null && !smsProvider.isEmpty()) {
                                                    final String obfuscatedMobile = StringValidation
                                                            .obfuscateMobile(mobile);
                                                    renderJson(request,
                                                            new JsonObject().put("mobile", obfuscatedMobile));
                                                } else {
                                                    renderJson(request, new JsonObject());
                                                }
                                            }
                                        });
                            } else if ("mobile".equals(service) && !mobile.isEmpty() && smsProvider != null
                                    && !smsProvider.isEmpty()) {
                                eventStore.createAndStoreEvent(AuthEvent.SMS.name(), id);
                                userAuthAccount.sendForgottenIdSms(request, id, mobile,
                                        DefaultResponseHandler.defaultResponseHandler(request));
                            } else {
                                badRequest(request);
                            }
                        }
                    });
        }
    });
}

From source file:org.entcore.auth.oauth.OAuthDataHandler.java

License:Open Source License

private void createAuthInfo(String clientId, String userId, String scope, String redirectUri,
        final Handler<AuthInfo> handler) {
    final JsonObject auth = new JsonObject().put("clientId", clientId).put("userId", userId).put("scope", scope)
            .put("createdAt", MongoDb.now()).put("refreshToken", UUID.randomUUID().toString());
    if (redirectUri != null) {
        auth.put("redirectUri", redirectUri).put("code", UUID.randomUUID().toString());
    }//from   ww  w  . java2s. com
    mongo.save(AUTH_INFO_COLLECTION, auth, new io.vertx.core.Handler<Message<JsonObject>>() {

        @Override
        public void handle(Message<JsonObject> res) {
            if ("ok".equals(res.body().getString("status"))) {
                auth.put("id", res.body().getString("_id"));
                auth.remove("createdAt");
                ObjectMapper mapper = new ObjectMapper();
                try {
                    handler.handle(mapper.readValue(auth.encode(), AuthInfo.class));
                } catch (IOException e) {
                    handler.handle(null);
                }
            } else {
                handler.handle(null);
            }
        }
    });
}

From source file:org.entcore.auth.oauth.OAuthDataHandler.java

License:Open Source License

@Override
public void getAuthInfoByCode(String code, final Handler<AuthInfo> handler) {
    if (code != null && !code.trim().isEmpty()) {
        JsonObject query = new JsonObject().put("code", code).put("createdAt", new JsonObject().put("$gte",
                new JsonObject().put("$date", System.currentTimeMillis() - CODE_EXPIRES)));
        mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() {

            @Override//from w ww.  java 2  s.  co m
            public void handle(Message<JsonObject> res) {
                JsonObject r = res.body().getJsonObject("result");
                if ("ok".equals(res.body().getString("status")) && r != null && r.size() > 0) {
                    r.put("id", r.getString("_id"));
                    r.remove("_id");
                    r.remove("createdAt");
                    ObjectMapper mapper = new ObjectMapper();
                    try {
                        handler.handle(mapper.readValue(r.encode(), AuthInfo.class));
                    } catch (IOException e) {
                        handler.handle(null);
                    }
                } else {
                    handler.handle(null);
                }
            }
        });
    } else {
        handler.handle(null);
    }
}

From source file:org.entcore.auth.oauth.OAuthDataHandler.java

License:Open Source License

@Override
public void getAuthInfoByRefreshToken(String refreshToken, final Handler<AuthInfo> handler) {
    if (refreshToken != null && !refreshToken.trim().isEmpty()) {
        JsonObject query = new JsonObject().put("refreshToken", refreshToken);
        mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() {

            @Override/*from  w w  w. ja  v a2s.  c  o m*/
            public void handle(Message<JsonObject> res) {
                if ("ok".equals(res.body().getString("status"))) {
                    JsonObject r = res.body().getJsonObject("result");
                    if (r == null) {
                        handler.handle(null);
                        return;
                    }
                    r.put("id", r.getString("_id"));
                    r.remove("_id");
                    r.remove("createdAt");
                    ObjectMapper mapper = new ObjectMapper();
                    try {
                        handler.handle(mapper.readValue(r.encode(), AuthInfo.class));
                    } catch (IOException e) {
                        handler.handle(null);
                    }
                } else {
                    handler.handle(null);
                }
            }
        });
    } else {
        handler.handle(null);
    }
}

From source file:org.entcore.auth.oauth.OAuthDataHandler.java

License:Open Source License

@Override
public void getAuthInfoById(String id, final Handler<AuthInfo> handler) {
    if (id != null && !id.trim().isEmpty()) {
        JsonObject query = new JsonObject().put("_id", id);
        mongo.findOne(AUTH_INFO_COLLECTION, query, new io.vertx.core.Handler<Message<JsonObject>>() {

            @Override//from w  ww .j  a v  a2s.co m
            public void handle(Message<JsonObject> res) {
                if ("ok".equals(res.body().getString("status"))) {
                    JsonObject r = res.body().getJsonObject("result");
                    r.put("id", r.getString("_id"));
                    r.remove("_id");
                    r.remove("createdAt");
                    ObjectMapper mapper = new ObjectMapper();
                    try {
                        handler.handle(mapper.readValue(r.encode(), AuthInfo.class));
                    } catch (IOException e) {
                        handler.handle(null);
                    }
                } else {
                    handler.handle(null);
                }
            }
        });
    } else {
        handler.handle(null);
    }
}

From source file:org.entcore.blog.services.impl.DefaultBlogService.java

License:Open Source License

@Override
public void update(String blogId, JsonObject blog, final Handler<Either<String, JsonObject>> result) {
    blog.put("modified", MongoDb.now());
    if (blog.getString("comment-type") != null) {
        try {//from w  ww  . j av  a 2  s  . com
            CommentType.valueOf(blog.getString("comment-type").toUpperCase());
            blog.put("comment-type", blog.getString("comment-type").toUpperCase());
        } catch (IllegalArgumentException | NullPointerException e) {
            blog.remove("comment-type");
        }
    }
    if (blog.getString("publish-type") != null) {
        try {
            PublishType.valueOf(blog.getString("publish-type").toUpperCase());
            blog.put("publish-type", blog.getString("publish-type").toUpperCase());
        } catch (IllegalArgumentException | NullPointerException e) {
            blog.remove("publish-type");
        }
    }
    JsonObject b = Utils.validAndGet(blog, UPDATABLE_FIELDS, Collections.<String>emptyList());
    if (validationError(result, b))
        return;
    QueryBuilder query = QueryBuilder.start("_id").is(blogId);
    MongoUpdateBuilder modifier = new MongoUpdateBuilder();
    for (String attr : b.fieldNames()) {
        modifier.set(attr, b.getValue(attr));
    }
    mongo.update(BLOG_COLLECTION, MongoQueryBuilder.build(query), modifier.build(),
            new Handler<Message<JsonObject>>() {
                @Override
                public void handle(Message<JsonObject> event) {
                    result.handle(Utils.validResult(event));
                }
            });
}

From source file:org.entcore.blog.services.impl.DefaultPostService.java

License:Open Source License

@Override
public void list(String blogId, final UserInfos user, final Integer page, final int limit, final String search,
        final Set<String> states, final Handler<Either<String, JsonArray>> result) {
    final QueryBuilder accessQuery;
    if (states == null || states.isEmpty()) {
        accessQuery = QueryBuilder.start("blog.$id").is(blogId);
    } else {//from  w  w w.j  av  a  2 s. c o  m
        accessQuery = QueryBuilder.start("blog.$id").is(blogId).put("state").in(states);
    }

    final QueryBuilder isManagerQuery = getDefautQueryBuilderForList(blogId, user, true);
    final JsonObject sort = new JsonObject().put("modified", -1);
    final JsonObject projection = defaultKeys.copy();
    projection.remove("content");

    final Handler<Message<JsonObject>> finalHandler = new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> event) {
            result.handle(Utils.validResults(event));
        }
    };

    mongo.count("blogs", MongoQueryBuilder.build(isManagerQuery), new Handler<Message<JsonObject>>() {
        public void handle(Message<JsonObject> event) {
            JsonObject res = event.body();
            if (res == null || !"ok".equals(res.getString("status"))) {
                result.handle(new Either.Left<String, JsonArray>(event.body().encodePrettily()));
                return;
            }
            boolean isManager = 1 == res.getInteger("count", 0);

            accessQuery.or(QueryBuilder.start("state").is(StateType.PUBLISHED.name()).get(),
                    QueryBuilder.start()
                            .and(QueryBuilder.start("author.userId").is(user.getUserId()).get(),
                                    QueryBuilder.start("state").is(StateType.DRAFT.name()).get())
                            .get(),
                    isManager ? QueryBuilder.start("state").is(StateType.SUBMITTED.name()).get()
                            : QueryBuilder.start()
                                    .and(QueryBuilder.start("author.userId").is(user.getUserId()).get(),
                                            QueryBuilder.start("state").is(StateType.SUBMITTED.name()).get())
                                    .get());

            final QueryBuilder query = getQueryListBuilder(search, result, accessQuery);

            if (query != null) {
                if (limit > 0 && page == null) {
                    mongo.find(POST_COLLECTION, MongoQueryBuilder.build(query), sort, projection, 0, limit,
                            limit, finalHandler);
                } else if (page == null) {
                    mongo.find(POST_COLLECTION, MongoQueryBuilder.build(query), sort, projection, finalHandler);
                } else {
                    final JsonObject sortPag = new JsonObject().put("sorted", -1);
                    final int skip = (0 == page) ? -1 : page * limit;
                    mongo.find(POST_COLLECTION, MongoQueryBuilder.build(query), sortPag, projection, skip,
                            limit, limit, finalHandler);
                }
            }
        }
    });
}