List of usage examples for io.vertx.core.eventbus Message body
@CacheReturn T body();
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
@Put("/documents/move/:ids/:folder") @SecuredAction(value = "workspace.manager", type = ActionType.RESOURCE) public void moveDocuments(final HttpServerRequest request) { final String ids = request.params().get("ids"); // TODO refactor with json in request body String tempFolder = getOrElse(request.params().get("folder"), ""); try {// w w w . j a va 2 s. c o m tempFolder = URLDecoder.decode(tempFolder, "UTF-8"); } catch (UnsupportedEncodingException e) { log.warn(e.getMessage(), e); } final String folder = tempFolder; final String cleanedFolder = folder.replaceAll(Pattern.quote("\\"), Matcher.quoteReplacement("\\\\")) .replaceAll(Pattern.quote("\""), Matcher.quoteReplacement("\\\"")); UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override public void handle(UserInfos user) { if (user != null && user.getUserId() != null) { if (ids != null && !ids.trim().isEmpty()) { JsonArray idsArray = new fr.wseduc.webutils.collections.JsonArray( Arrays.asList(ids.split(","))); final String criteria = "{ \"_id\" : { \"$in\" : " + idsArray.encode() + "}}"; if (folder != null && !folder.trim().isEmpty()) { //If the document has a parent folder, replicate sharing rights String parentName, parentFolder; if (folder.lastIndexOf('_') < 0) { parentName = folder; parentFolder = folder; } else { String[] splittedPath = folder.split("_"); parentName = splittedPath[splittedPath.length - 1]; parentFolder = folder; } folderService.getParentRights(parentName, parentFolder, user, new Handler<Either<String, JsonArray>>() { public void handle(Either<String, JsonArray> event) { final JsonArray parentSharedRights = event.right() == null || event.isLeft() ? null : event.right().getValue(); String obj = "{ \"$set\" : { \"folder\": \"" + cleanedFolder + "\", \"modified\" : \"" + MongoDb.formatDate(new Date()) + "\""; if (parentSharedRights != null && parentSharedRights.size() > 0) obj += ", \"shared\" : " + parentSharedRights.toString() + " }}"; else obj += "}, \"$unset\" : { \"shared\": 1 }}"; mongo.update(DocumentDao.DOCUMENTS_COLLECTION, new JsonObject(criteria), new JsonObject(obj), false, true, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { JsonObject res = r.body(); if ("ok".equals(res.getString("status"))) { renderJson(request, res); } else { renderJson(request, res, 404); } } }); } }); } else { String obj = "{ \"$set\" : { \"modified\" : \"" + MongoDb.formatDate(new Date()) + "\" }, " + " \"$unset\" : { \"folder\" : 1, \"shared\": 1 }}"; mongo.update(DocumentDao.DOCUMENTS_COLLECTION, new JsonObject(criteria), new JsonObject(obj), false, true, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { JsonObject res = r.body(); if ("ok".equals(res.getString("status"))) { renderJson(request, res); } else { renderJson(request, res, 404); } } }); } } else { badRequest(request); } } else { unauthorized(request); } } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
@Get("/documents") @SecuredAction("workspace.documents.list") public void listDocuments(final HttpServerRequest request) { UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override//from w w w .j ava 2 s. com public void handle(UserInfos user) { if (user != null && user.getUserId() != null) { String filter = request.params().get("filter"); String query = "{ "; String forApplication = ", \"application\": \"" + getOrElse(request.params().get("application"), WorkspaceService.WORKSPACE_NAME) + "\""; if ("owner".equals(filter)) { query += "\"owner\": \"" + user.getUserId() + "\""; } else if ("protected".equals(filter)) { query += "\"owner\": \"" + user.getUserId() + "\", \"protected\":true"; forApplication = ""; } else if ("public".equals(filter)) { query += "\"owner\": \"" + user.getUserId() + "\", \"public\":true"; forApplication = ""; } else if ("shared".equals(filter)) { query += "\"owner\": { \"$ne\":\"" + user.getUserId() + "\"},\"shared\" : { \"$elemMatch\" : " + orSharedElementMatch(user) + "}"; } else { query += "\"$or\" : [{ \"owner\": \"" + user.getUserId() + "\"}, {\"shared\" : { \"$elemMatch\" : " + orSharedElementMatch(user) + "}}]"; } if (request.params().get("hierarchical") != null) { query += ", \"file\" : { \"$exists\" : true }" + forApplication + ", \"folder\" : { \"$exists\" : false }}"; } else { query += ", \"file\" : { \"$exists\" : true }" + forApplication + "}"; } mongo.find(DocumentDao.DOCUMENTS_COLLECTION, new JsonObject(query), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { String status = res.body().getString("status"); JsonArray results = res.body().getJsonArray("results"); if ("ok".equals(status) && results != null) { renderJson(request, results); } else { renderJson(request, new fr.wseduc.webutils.collections.JsonArray()); } } }); } else { unauthorized(request); } } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
@Get("/documents/:folder") @SecuredAction("workspace.documents.list.by.folder") public void listDocumentsByFolder(final HttpServerRequest request) { UserUtils.getUserInfos(eb, request, new Handler<UserInfos>() { @Override/*from w ww .ja v a2 s. c o m*/ public void handle(UserInfos user) { if (user != null && user.getUserId() != null) { String filter = request.params().get("filter"); String query = "{ "; if ("owner".equals(filter)) { query += "\"owner\": \"" + user.getUserId() + "\""; } else if ("shared".equals(filter)) { String ownerId = request.params().get("ownerId"); query += "\"shared\" : { \"$elemMatch\" : " + orSharedElementMatch(user) + "}"; if (ownerId != null) { query += ", \"owner\": \"" + ownerId + "\""; } } else { query += "\"$or\" : [{ \"owner\": \"" + user.getUserId() + "\"}, {\"shared\" : { \"$elemMatch\" : " + orSharedElementMatch(user) + "}}]"; } String folder = getOrElse(request.params().get("folder"), ""); try { folder = URLDecoder.decode(folder, "UTF-8"); folder = folder.replaceAll(Pattern.quote("\\"), Matcher.quoteReplacement("\\\\")) .replaceAll(Pattern.quote("\""), Matcher.quoteReplacement("\\\"")); } catch (UnsupportedEncodingException e) { log.warn(e.getMessage(), e); } String forApplication = getOrElse(request.params().get("application"), WorkspaceService.WORKSPACE_NAME); if (request.params().get("hierarchical") != null) { query += ", \"file\" : { \"$exists\" : true }, \"application\": \"" + forApplication + "\", \"folder\" : \"" + folder + "\" }"; } else { query += ", \"file\" : { \"$exists\" : true }, \"application\": \"" + forApplication + "\", \"folder\" : { \"$regex\" : \"^" + folder + "(_|$)\" }}"; } mongo.find(DocumentDao.DOCUMENTS_COLLECTION, new JsonObject(query), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { String status = res.body().getString("status"); JsonArray results = res.body().getJsonArray("results"); if ("ok".equals(status) && results != null) { renderJson(request, results); } else { renderJson(request, new fr.wseduc.webutils.collections.JsonArray()); } } }); } else { unauthorized(request); } } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
@BusAddress("org.entcore.workspace") public void workspaceEventBusHandler(final Message<JsonObject> message) { switch (message.body().getString("action", "")) { case "addDocument": addDocument(message);//from ww w . j a v a2 s . c o m break; case "updateDocument": updateDocument(message); break; case "getDocument": getDocument(message); break; case "copyDocument": copyDocument(message); break; default: message.reply(new JsonObject().put("status", "error").put("message", "invalid.action")); } }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
private void getDocument(final Message<JsonObject> message) { documentDao.findById(message.body().getString("id"), new Handler<JsonObject>() { @Override/*from w w w .java 2 s. c o m*/ public void handle(JsonObject res) { message.reply(res); } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
private void addDocument(final Message<JsonObject> message) { JsonObject uploaded = message.body().getJsonObject("uploaded"); JsonObject doc = message.body().getJsonObject("document"); if (doc == null || uploaded == null) { message.reply(new JsonObject().put("status", "error").put("message", "missing.attribute")); return;// w w w. ja v a2 s . c o m } String name = message.body().getString("name"); String application = message.body().getString("application"); JsonArray t = message.body().getJsonArray("thumbs", new fr.wseduc.webutils.collections.JsonArray()); List<String> thumbs = new ArrayList<>(); for (int i = 0; i < t.size(); i++) { thumbs.add(t.getString(i)); } addAfterUpload(uploaded, doc, name, application, thumbs, DocumentDao.DOCUMENTS_COLLECTION, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> m) { if (m != null) { message.reply(m.body()); } } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
private void updateDocument(final Message<JsonObject> message) { JsonObject uploaded = message.body().getJsonObject("uploaded"); String id = message.body().getString("id"); if (uploaded == null || id == null || id.trim().isEmpty()) { message.reply(new JsonObject().put("status", "error").put("message", "missing.attribute")); return;//www . j a va 2 s .c o m } String name = message.body().getString("name"); JsonArray t = message.body().getJsonArray("thumbs", new fr.wseduc.webutils.collections.JsonArray()); List<String> thumbs = new ArrayList<>(); for (int i = 0; i < t.size(); i++) { thumbs.add(t.getString(i)); } updateAfterUpload(id, name, uploaded, thumbs, null, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> m) { if (m != null) { message.reply(m.body()); } } }); }
From source file:org.entcore.workspace.service.WorkspaceService.java
License:Open Source License
public void copyDocument(final Message<JsonObject> message) { emptySize(message.body().getJsonObject("user").getString("userId"), new Handler<Long>() { @Override/*from w w w .jav a 2 s .c o m*/ public void handle(Long emptySize) { copyFile(message.body(), documentDao, emptySize, new Handler<JsonObject>() { @Override public void handle(JsonObject res) { if ("ok".equals(res.getString("status"))) message.reply(res); else message.fail(500, res.getString("status")); } }); } }); }
From source file:org.hawkular.metrics.clients.ptrans.backend.MetricsSender.java
License:Apache License
private void handleMetric(Message<SingleMetric> metricMessage) { buffer.insert(metricMessage.body()); metricInserted(); }
From source file:org.jberet.vertx.cluster.PartitionVerticle.java
License:Open Source License
@Override public void start() throws Exception { final JobOperatorImpl jobOperator = new JobOperatorImpl(); final BatchEnvironment batchEnvironment = jobOperator.getBatchEnvironment(); final JobRepository jobRepository = jobOperator.getJobRepository(); final ArtifactFactoryWrapper artifactFactory = new ArtifactFactoryWrapper( batchEnvironment.getArtifactFactory()); final EventBus eventBus = vertx.eventBus(); final Handler<Message<Buffer>> receivingPartitionHandler = new Handler<Message<Buffer>>() { public void handle(Message<Buffer> message) { Buffer body = message.body(); final byte[] bytes = body.getBytes(); final PartitionInfo partitionInfo; try { partitionInfo = (PartitionInfo) BatchUtil.bytesToSerializableObject(bytes, batchEnvironment.getClassLoader()); } catch (Exception e) { throw VertxClusterMessages.MESSAGES.failedToReceivePartitionInfo(e); }/*from w ww .j ava2s .c o m*/ final JobExecutionImpl jobExecution = partitionInfo.getJobExecution(); final Step step = partitionInfo.getStep(); final PartitionExecutionImpl partitionExecution = partitionInfo.getPartitionExecution(); final String stopRequestTopicName = PartitionInfo .getStopRequestTopicName(jobExecution.getExecutionId()); eventBus.consumer(stopRequestTopicName, new Handler<Message<Boolean>>() { @Override public void handle(final Message<Boolean> stopMessage) { VertxClusterLogger.LOGGER.receivedStopRequest(jobExecution.getExecutionId(), step.getId(), partitionExecution.getStepExecutionId(), partitionExecution.getPartitionId()); jobExecution.stop(); } }); VertxClusterLogger.LOGGER.receivedPartitionInfo(partitionInfo); final JobContextImpl jobContext = new JobContextImpl(jobExecution, null, artifactFactory, jobRepository, batchEnvironment); final VertxPartitionWorker partitionWorker = new VertxPartitionWorker(eventBus); final AbstractContext[] outerContext = { jobContext }; final StepContextImpl stepContext = new StepContextImpl(step, partitionExecution, outerContext); final AbstractRunner<StepContextImpl> runner; final Chunk chunk = step.getChunk(); if (chunk == null) { runner = new BatchletRunner(stepContext, null, step.getBatchlet(), partitionWorker); } else { runner = new ChunkRunner(stepContext, null, chunk, null, partitionWorker); } batchEnvironment.submitTask(runner); } }; eventBus.consumer(PartitionInfo.PARTITION_QUEUE, receivingPartitionHandler); }