List of usage examples for io.vertx.core.json JsonObject remove
public Object remove(String key)
From source file:org.entcore.directory.controllers.UserController.java
License:Open Source License
@Put("/user/:userId") @SecuredAction(value = "", type = ActionType.RESOURCE) public void update(final HttpServerRequest request) { bodyToJson(request, new Handler<JsonObject>() { @Override/*from w w w . j a va 2s .c om*/ public void handle(final JsonObject body) { UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { public void handle(UserInfos user) { String userId = request.params().get("userId"); //User name modification prevention for non-admins. if (!user.getFunctions().containsKey(DefaultFunctions.SUPER_ADMIN) && !user.getFunctions().containsKey(DefaultFunctions.ADMIN_LOCAL) && !user.getFunctions().containsKey(DefaultFunctions.CLASS_ADMIN)) { body.remove("lastName"); body.remove("firstName"); } userService.update(userId, body, notEmptyResponseHandler(request)); UserUtils.removeSessionAttribute(eb, userId, PERSON_ATTRIBUTE, null); } }); } }); }
From source file:org.entcore.directory.services.impl.DefaultTimetableService.java
License:Open Source License
@Override public void updateClassesMapping(final String structureId, final JsonObject mapping, final Handler<Either<String, JsonObject>> handler) { classesMapping(structureId, new Handler<Either<String, JsonObject>>() { @Override//from ww w. j a v a 2s . c o m public void handle(Either<String, JsonObject> event) { if (event.isRight()) { final JsonObject cm = event.right().getValue(); if (cm == null || cm.getJsonArray("unknownClasses") == null) { handler.handle(new Either.Left<String, JsonObject>("missing.classes.mapping")); return; } final JsonArray uc = cm.getJsonArray("unknownClasses"); final JsonObject m = mapping.getJsonObject("mapping"); for (String attr : m.copy().fieldNames()) { if (!uc.contains(attr)) { m.remove(attr); } } mapping.put("mapping", m.encode()); final String query = "MATCH (:Structure {id:{id}})<-[:MAPPING]-(cm:ClassesMapping) " + "SET cm.mapping = {mapping} "; neo4j.execute(query, mapping.put("id", structureId), validEmptyHandler(handler)); } else { handler.handle(event); } } }); }
From source file:org.entcore.directory.services.impl.DefaultUserService.java
License:Open Source License
@Override public void get(String id, boolean getManualGroups, JsonArray filterAttributes, Handler<Either<String, JsonObject>> result) { String getMgroups = ""; String resultMgroups = ""; if (getManualGroups) { getMgroups = "OPTIONAL MATCH u-[:IN]->(mgroup: ManualGroup) WITH COLLECT(distinct {id: mgroup.id, name: mgroup.name}) as manualGroups, admStruct, admGroups, parents, children, functions, u, structureNodes "; resultMgroups = "CASE WHEN manualGroups IS NULL THEN [] ELSE manualGroups END as manualGroups, "; }// w w w. j a v a2s . co m String query = "MATCH (u:`User` { id : {id}}) " + "OPTIONAL MATCH u-[:IN]->()-[:DEPENDS]->(s:Structure) WITH COLLECT(distinct s) as structureNodes, u " + "OPTIONAL MATCH u-[rf:HAS_FUNCTION]->fg-[:CONTAINS_FUNCTION*0..1]->(f:Function) WITH COLLECT(distinct [f.externalId, rf.scope]) as functions, u, structureNodes " + "OPTIONAL MATCH u<-[:RELATED]-(child: User) WITH COLLECT(distinct {id: child.id, displayName: child.displayName, externalId: child.externalId}) as children, functions, u, structureNodes " + "OPTIONAL MATCH u-[:RELATED]->(parent: User) WITH COLLECT(distinct {id: parent.id, displayName: parent.displayName, externalId: parent.externalId}) as parents, children, functions, u, structureNodes " + "OPTIONAL MATCH u-[:IN]->(fgroup: FunctionalGroup) WITH COLLECT(distinct {id: fgroup.id, name: fgroup.name}) as admGroups, parents, children, functions, u, structureNodes " + "OPTIONAL MATCH u-[:ADMINISTRATIVE_ATTACHMENT]->(admStruct: Structure) WITH COLLECT(distinct {id: admStruct.id}) as admStruct, admGroups, parents, children, functions, u, structureNodes " + getMgroups + "RETURN DISTINCT u.profiles as type, structureNodes, functions, " + "CASE WHEN children IS NULL THEN [] ELSE children END as children, " + "CASE WHEN parents IS NULL THEN [] ELSE parents END as parents, " + "CASE WHEN admGroups IS NULL THEN [] ELSE admGroups END as functionalGroups, " + "CASE WHEN admStruct IS NULL THEN [] ELSE admStruct END as administrativeStructures, " + resultMgroups + "u"; final Handler<Either<String, JsonObject>> filterResultHandler = event -> { if (event.isRight()) { final JsonObject r = event.right().getValue(); filterAttributes.add("password").add("resetCode").add("lastNameSearchField") .add("firstNameSearchField").add("displayNameSearchField").add("checksum"); for (Object o : filterAttributes) { r.remove((String) o); } } result.handle(event); }; neo.execute(query, new JsonObject().put("id", id), fullNodeMergeHandler("u", filterResultHandler, "structureNodes")); }
From source file:org.entcore.feeder.dictionary.structures.Transition.java
License:Open Source License
private void publishTransition(JsonObject struct, JsonArray classes) { if (struct == null) return;/*from w ww . j av a 2s . co m*/ final JsonObject structure = struct.copy(); structure.put("classes", classes); structure.remove("created"); structure.remove("modified"); structure.remove("checksum"); log.info("Publish transition : " + structure.encode()); vertx.eventBus().publish(Feeder.USER_REPOSITORY, new JsonObject().put("action", "transition").put("structure", structure)); }
From source file:org.entcore.feeder.timetable.AbstractTimetableImporter.java
License:Open Source License
protected void updateUser(JsonObject user) { user.remove("Ident"); user.remove("epj"); final String attrs = Neo4jUtils.nodeSetPropertiesFromJson("u", user, "id", "externalId", "login", "activationCode", "displayName", "email"); if (isNotEmpty(attrs.trim())) { final String updateUser = "MATCH (u:User {" + getTeacherMappingAttribute() + ": {" + getTeacherMappingAttribute() + "}}) " + "SET " + attrs; txXDT.add(updateUser, user);/*from w ww . jav a 2 s . c o m*/ } }
From source file:org.entcore.feeder.timetable.udt.UDTImporter.java
License:Open Source License
void addGroup(JsonObject currentEntity) { final String id = currentEntity.getString("code_div") + currentEntity.getString(CODE); groups.put(id, currentEntity);/*from www .j av a 2 s . c om*/ String name = currentEntity.getString("code_div") + " Gr " + currentEntity.getString(CODE); if (isEmpty(name)) { name = id; } currentEntity.put("code_gep", codeGepDiv.get(currentEntity.getString("code_div"))); currentEntity.put("idgpe", currentEntity.remove("id")); final String set = "SET " + Neo4jUtils.nodeSetPropertiesFromJson("fg", currentEntity); txXDT.add(CREATE_GROUPS + set, currentEntity.put("structureExternalId", structureExternalId).put("name", name) .put("displayNameSearchField", Validator.sanitize(name)) .put("externalId", structureExternalId + "$" + name).put("id", UUID.randomUUID().toString()) .put("source", getSource())); }
From source file:org.entcore.feeder.utils.Validator.java
License:Open Source License
public String validate(JsonObject object, String acceptLanguage) { if (object == null) { return i18n.translate("null.object", I18n.DEFAULT_DOMAIN, acceptLanguage); }/* ww w .j a v a 2 s . c om*/ final StringBuilder calcChecksum = new StringBuilder(); final Set<String> attributes = new HashSet<>(object.fieldNames()); for (String attr : attributes) { JsonObject v = validate.getJsonObject(attr); if (v == null) { object.remove(attr); } else { Object value = object.getValue(attr); String validator = v.getString("validator"); String type = v.getString("type", ""); String err; switch (type) { case "string": err = validString(attr, value, validator, acceptLanguage); break; case "array-string": err = validStringArray(attr, value, validator, acceptLanguage); break; case "boolean": err = validBoolean(attr, value, acceptLanguage); break; case "login-alias": err = validLoginAlias(attr, value, validator, acceptLanguage); break; default: err = i18n.translate("missing.type.validator", I18n.DEFAULT_DOMAIN, acceptLanguage, type); } if (err != null) { if (required.contains(attr)) { return err; } else { log.info(err); object.remove(attr); continue; } } if (value instanceof JsonArray) { calcChecksum.append(((JsonArray) value).encode()); } else if (value instanceof JsonObject) { calcChecksum.append(((JsonObject) value).encode()); } else { calcChecksum.append(value.toString()); } } } try { checksum(object, calcChecksum.toString()); } catch (NoSuchAlgorithmException e) { return e.getMessage(); } generate(object); return required(object, acceptLanguage); }
From source file:org.entcore.feeder.utils.Validator.java
License:Open Source License
public String modifiableValidate(JsonObject object) { if (object == null) { return "Null object."; }// ww w .ja v a 2 s . com final Set<String> attributes = new HashSet<>(object.fieldNames()); JsonObject generatedAttributes = null; for (String attr : attributes) { JsonObject v = validate.getJsonObject(attr); if (v == null || !modifiable.contains(attr)) { object.remove(attr); } else { Object value = object.getValue(attr); String validator = v.getString("validator"); String type = v.getString("type", ""); String err; switch (type) { case "string": if (!required.contains(attr) && (value == null || (value instanceof String && ((String) value).isEmpty()))) { err = null; } else { err = validString(attr, value, validator); } break; case "array-string": if (!required.contains(attr) && (value == null || (value instanceof JsonArray && ((JsonArray) value).size() == 0))) { err = null; } else { err = validStringArray(attr, value, validator); } break; case "boolean": err = validBoolean(attr, value); break; case "login-alias": err = validLoginAlias(attr, value, validator); break; default: err = "Missing type validator: " + type; } if (err != null) { return err; } if (value != null && generate.containsKey(attr)) { JsonObject g = generate.getJsonObject(attr); if (g != null && "displayName".equals(g.getString("generator"))) { if (generatedAttributes == null) { generatedAttributes = new JsonObject(); } generatedAttributes.put(attr + SEARCH_FIELD, removeAccents(value.toString()).toLowerCase()); } } } } if (generatedAttributes != null) { object.mergeIn(generatedAttributes); } JsonObject g = generate.getJsonObject("modified"); if (g != null) { nowDate("modified", object); } return (object.size() > 0) ? null : "Empty object."; }
From source file:org.entcore.registry.controllers.WidgetController.java
License:Open Source License
private void registerWidget(final JsonObject widget, final Handler<JsonObject> handler) { final String widgetName = widget.getString("name"); final String applicationName = widget.getString("applicationName"); widget.remove("applicationName"); if (widgetName != null && !widgetName.trim().isEmpty()) { service.createWidget(applicationName, widget, new Handler<Either<String, JsonObject>>() { @Override/* w w w. ja v a 2 s.c o m*/ public void handle(Either<String, JsonObject> event) { JsonObject j = new JsonObject(); if (event.isRight()) { j.put("status", "ok"); } else { j.put("status", "error").put("message", event.left().getValue()); } handler.handle(j); } }); } else { handler.handle(new JsonObject().put("status", "error").put("message", "invalid.parameters")); } }
From source file:org.entcore.registry.services.impl.DefaultAppRegistryService.java
License:Open Source License
@Override public void updateRole(String roleId, JsonObject role, JsonArray actions, Handler<Either<String, JsonObject>> handler) { if (defaultValidationParamsNull(handler, roleId, role, actions)) return;/*www. j a va 2s .c o m*/ role.remove("id"); String updateValues = ""; if (role.size() > 0) { updateValues = "SET " + nodeSetPropertiesFromJson("role", role); } String updateActions = "RETURN DISTINCT role.id as id"; if (actions.size() > 0) { updateActions = "DELETE r " + "WITH role " + "MATCH (n:Action) " + "WHERE n.name IN {actions} " + "CREATE UNIQUE role-[:AUTHORIZE]->n " + "RETURN DISTINCT role.id as id"; } String query = "MATCH (role:Role {id : {roleId}}) " + "OPTIONAL MATCH role-[r:AUTHORIZE]->(a:Action) " + updateValues + updateActions; role.put("actions", actions).put("roleId", roleId); neo.execute(query, role, validUniqueResultHandler(handler)); }