List of usage examples for io.vertx.core.json JsonArray getList
public List getList()
From source file:org.entcore.conversation.controllers.ConversationController.java
License:Open Source License
@Put("trash") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(MultipleMessageUserFilter.class) public void trash(final HttpServerRequest request) { bodyToJson(request, new Handler<JsonObject>() { @Override// ww w .ja v a 2s . c o m public void handle(JsonObject body) { JsonArray ids = body.getJsonArray("id"); if (ids == null || ids.isEmpty()) { badRequest(request); return; } getUserInfos(eb, request, new Handler<UserInfos>() { @Override public void handle(final UserInfos user) { if (user != null) { conversationService.trash(ids.getList(), user, defaultResponseHandler(request)); } else { unauthorized(request); } } }); } }); }
From source file:org.entcore.conversation.controllers.ConversationController.java
License:Open Source License
@Put("restore") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(MultipleMessageUserFilter.class) public void restore(final HttpServerRequest request) { bodyToJson(request, new Handler<JsonObject>() { @Override// ww w . j a va2 s. c o m public void handle(JsonObject body) { JsonArray ids = body.getJsonArray("id"); if (ids == null || ids.isEmpty()) { badRequest(request); return; } getUserInfos(eb, request, new Handler<UserInfos>() { @Override public void handle(final UserInfos user) { if (user != null) { conversationService.restore(ids.getList(), user, defaultResponseHandler(request)); } else { unauthorized(request); } } }); } }); }
From source file:org.entcore.conversation.controllers.ConversationController.java
License:Open Source License
@Put("delete") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(MultipleMessageUserFilter.class) public void delete(final HttpServerRequest request) { bodyToJson(request, new Handler<JsonObject>() { @Override//ww w .ja v a 2s. c o m public void handle(JsonObject body) { JsonArray ids = body.getJsonArray("id"); if (ids == null || ids.isEmpty()) { badRequest(request); return; } deleteMessages(request, ids.getList(), false); } }); }
From source file:org.entcore.conversation.controllers.ConversationController.java
License:Open Source License
@Post("toggleUnread") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(MultipleMessageUserFilter.class) public void toggleUnread(final HttpServerRequest request) { bodyToJson(request, new Handler<JsonObject>() { @Override//w ww . ja v a2 s .c om public void handle(JsonObject body) { final JsonArray ids = body.getJsonArray("id"); final Boolean unread = body.getBoolean("unread"); if (ids == null || ids.isEmpty() || unread == null) { badRequest(request); return; } UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override public void handle(final UserInfos user) { if (user != null) { conversationService.toggleUnread(ids.getList(), unread, user, defaultResponseHandler(request)); } else { unauthorized(request); } } }); } }); }
From source file:org.entcore.conversation.controllers.ConversationController.java
License:Open Source License
@Put("move/userfolder/:folderId") @SecuredAction(value = "", type = ActionType.RESOURCE) @ResourceFilter(FoldersMessagesFilter.class) public void move(final HttpServerRequest request) { final String folderId = request.params().get("folderId"); bodyToJson(request, new Handler<JsonObject>() { @Override//from w w w . j a v a2 s.co m public void handle(JsonObject body) { final JsonArray messageIds = body.getJsonArray("id"); if (messageIds == null || messageIds.size() == 0) { badRequest(request); return; } Handler<UserInfos> userInfosHandler = new Handler<UserInfos>() { public void handle(final UserInfos user) { if (user == null) { unauthorized(request); return; } conversationService.moveToFolder(messageIds.getList(), folderId, user, defaultResponseHandler(request)); } }; UserUtils.getUserInfos(eb, request, userInfosHandler); } }); }
From source file:org.entcore.conversation.service.impl.ConversationRepositoryEvents.java
License:Open Source License
@Override public void deleteUsers(JsonArray users) { JsonArray userIds = new fr.wseduc.webutils.collections.JsonArray(); for (Object o : users) { if (!(o instanceof JsonObject)) continue; userIds.add(((JsonObject) o).getString("id")); }//ww w. jav a2s .co m SqlStatementsBuilder builder = new SqlStatementsBuilder(); String unusedAttachments = "WITH unusedAtts AS (" + "SELECT DISTINCT attachment_id AS id FROM conversation.usermessagesattachments uma " + "GROUP BY attachment_id " + "HAVING every(user_id IN " + Sql.listPrepared(userIds.getList()) + ") " + ") SELECT " + "CASE WHEN COUNT(id) = 0 THEN '[]' ELSE json_agg(distinct id) END AS attachmentIds " + "FROM unusedAtts u"; builder.prepared(unusedAttachments, userIds); String deleteFolder = "DELETE FROM conversation.folders f " + "WHERE f.user_id IN " + Sql.listPrepared(userIds.getList()); builder.prepared(deleteFolder, userIds); String deleteUserMessages = "DELETE FROM conversation.usermessages um " + "WHERE um.user_id IN " + Sql.listPrepared(userIds.getList()); builder.prepared(deleteUserMessages, userIds); String setFrom = "UPDATE conversation.messages " + "SET " + "\"from\" = '', " + "\"fromName\" = ?, " + "\"displayNames\" = \"displayNames\" - (? || '$' || ? || '$ $ ') " + "WHERE \"from\" = ?"; String setTO = "UPDATE conversation.messages " + "SET " + "\"to\" = \"to\" - ?, " + "\"toName\" = COALESCE(\"toName\", '[]')::jsonb || (?)::jsonb, " + "\"displayNames\" = \"displayNames\" - (? || '$' || ? || '$ $ ') " + "WHERE \"to\" @> (?)::jsonb"; String setCC = "UPDATE conversation.messages " + "SET " + "\"cc\" = \"cc\" - ?, " + "\"ccName\" = COALESCE(\"ccName\", '[]')::jsonb || (?)::jsonb, " + "\"displayNames\" = \"displayNames\" - (? || '$' || ? || '$ $ ') " + "WHERE \"cc\" @> (?)::jsonb"; for (Object o : users) { if (!(o instanceof JsonObject)) continue; JsonObject user = (JsonObject) o; JsonArray paramsToCc = new fr.wseduc.webutils.collections.JsonArray(); JsonArray paramsFrom = new fr.wseduc.webutils.collections.JsonArray(); paramsToCc.add(user.getString("id", "")); paramsToCc.add(new fr.wseduc.webutils.collections.JsonArray().add(user.getString("displayName", "")) .toString()); paramsToCc.add(user.getString("id", "")); paramsToCc.add(user.getString("displayName", "")); paramsToCc.add(new fr.wseduc.webutils.collections.JsonArray().add(user.getString("id", "")).toString()); paramsFrom.add(user.getString("displayName", "")); paramsFrom.add(user.getString("id", "")); paramsFrom.add(user.getString("displayName", "")); paramsFrom.add(user.getString("id", "")); builder.prepared(setTO, paramsToCc); builder.prepared(setCC, paramsToCc); builder.prepared(setFrom, paramsFrom); } sql.transaction(builder.build(), new DeliveryOptions().setSendTimeout(timeout), SqlResult.validResultsHandler(new Handler<Either<String, JsonArray>>() { public void handle(Either<String, JsonArray> event) { if (event.isLeft()) { log.error("Error deleting conversation data : " + event.left().getValue()); return; } JsonArray results = event.right().getValue(); JsonArray attachmentIds = results.getJsonArray(0).size() > 0 ? new fr.wseduc.webutils.collections.JsonArray( results.getJsonArray(0).getJsonObject(0).getString("attachmentIds", "[]")) : new fr.wseduc.webutils.collections.JsonArray(); for (Object attachmentObj : attachmentIds) { final String attachmentId = (String) attachmentObj; storage.removeFile(attachmentId, new Handler<JsonObject>() { @Override public void handle(JsonObject event) { if (!"ok".equals(event.getString("status"))) { log.error("[" + ConversationRepositoryEvents.class.getSimpleName() + "] Error while tying to delete attachment file (_id: {" + attachmentId + "})"); } } }); } } }, "attachmentIds")); }
From source file:org.entcore.conversation.service.impl.DeleteOrphan.java
License:Open Source License
@Override public void handle(Long event) { final Sql sql = Sql.getInstance(); final SqlStatementsBuilder builder = new SqlStatementsBuilder(); builder.raw(DELETE_ORPHAN_MESSAGE);//from w w w .j a v a2 s . co m builder.raw(SELECT_ORPHAN_ATTACHMENT); sql.transaction(builder.build(), new DeliveryOptions().setSendTimeout(TIMEOUT), SqlResult.validResultHandler(1, new Handler<Either<String, JsonArray>>() { @Override public void handle(Either<String, JsonArray> res) { if (res.isRight()) { log.info("Successful delete orphan conversation messages."); final JsonArray attachments = res.right().getValue(); if (attachments != null && attachments.size() > 0) { log.info("Orphan attachments : " + attachments.encode()); JsonArray ids = new fr.wseduc.webutils.collections.JsonArray(); for (Object attObj : attachments) { if (!(attObj instanceof JsonObject)) continue; JsonObject unusedAttachment = (JsonObject) attObj; final String attachmentId = unusedAttachment.getString("orphanid"); ids.add(attachmentId); storage.removeFile(attachmentId, new Handler<JsonObject>() { public void handle(JsonObject event) { if (!"ok".equals(event.getString("status"))) { log.error("Error while tying to delete attachment file (_id: {" + attachmentId + "})"); } } }); } final String deletOrphanAttachments = "delete from conversation.attachments where id IN " + Sql.listPrepared(ids.getList()); sql.prepared(deletOrphanAttachments, ids, new DeliveryOptions().setSendTimeout(TIMEOUT), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if (!"ok".equals(event.body().getString("status"))) { log.error("Error deleting orphan attachments : " + event.body().getString("message", "")); } else { log.info("Successful delete orphan conversation attachments."); } } }); } } else { log.error("Orphan conversation error : " + res.left().getValue()); } } })); }
From source file:org.entcore.feeder.aaf.PersonnelImportProcessing.java
License:Open Source License
protected String detectProfile(JsonObject object) { Boolean isTeacher = object.getBoolean("isTeacher"); if (isTeacher != null) { return isTeacher ? TEACHER_PROFILE_EXTERNAL_ID : PERSONNEL_PROFILE_EXTERNAL_ID; } else {// ww w . ja va2 s . c om JsonArray functions = object.getJsonArray("functions"); if (object.getBoolean("teaches", false)) { return TEACHER_PROFILE_EXTERNAL_ID; } else if (functions != null && functions.size() > 0) { for (Object function : functions.getList()) { if (function != null && (function.toString().contains("$DOC$") || function.toString().contains("$ENS$"))) { return TEACHER_PROFILE_EXTERNAL_ID; } } } return PERSONNEL_PROFILE_EXTERNAL_ID; } }
From source file:org.entcore.feeder.aaf.StudentImportProcessing.java
License:Open Source License
@Override public void process(JsonObject object) { createClasses(object.getJsonArray("classes")); createGroups(object.getJsonArray("groups")); JsonArray r = parseRelativeField(object.getJsonArray("relative")); if (r != null) { resp.addAll(r.getList()); }/*from ww w . j a v a 2 s . co m*/ object.put("profiles", new fr.wseduc.webutils.collections.JsonArray().add("Student")); importer.createOrUpdateStudent(object, DefaultProfiles.STUDENT_PROFILE_EXTERNAL_ID, null, null, null, null, null, true, false); }
From source file:org.entcore.feeder.dictionary.structures.Structure.java
License:Open Source License
public synchronized Object[] addJointure(String externalId) { if (struct != null) { JsonArray joinKey = struct.getJsonArray("joinKey"); if (joinKey == null) { joinKey = new fr.wseduc.webutils.collections.JsonArray(); struct.put("joinKey", joinKey); }/* ww w . ja v a 2s . c om*/ joinKey.add(externalId); String query = "MATCH (s:Structure {externalId: {externalId}}) " + "SET s.joinKey = {joinKey} "; JsonObject params = new JsonObject().put("joinKey", joinKey).put("externalId", getExternalId()); getTransaction().add(query, params); return joinKey.getList().toArray(); } return null; }