List of usage examples for io.vertx.core.json JsonObject put
public JsonObject put(String key, Object value)
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.PasteCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<List<ITarget>>> handler) { List<String> targets = efContext.getParameterValues(ElFinderConstants.ELFINDER_PARAMETER_TARGETS); List<String> renames = efContext.getParameterValues(ElFinderConstants.ELFINDER_PARAMETER_RENAMES); final String destination = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_FILE_DESTINATION); final String src = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_SRC); final boolean cut = INT_CUT.equals(efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_CUT)); List<ITarget> added = new ArrayList<>(); List<String> removed = new ArrayList<>(); ITarget vhDst = findTarget(efContext, destination); for (String target : targets) { ITarget vhTarget = findTarget(efContext, target); final String name = vhTarget.getName(); ITarget newFile = vhDst.createChildTarget(name); createAndCopy(vhTarget, newFile); added.add(newFile);//from w ww .j ava2s. c o m if (cut) { vhTarget.delete(); removed.add(vhTarget.getHash()); } } json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, buildJsonFilesArray(efContext, added)); JsonArray returnArray = new JsonArray(); removed.forEach(target -> returnArray.add(target)); json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_REMOVED, returnArray); handler.handle(createFuture(added)); }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.PutCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<ITarget>> handler) { final String target = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET); ITarget file = findTarget(efContext, target); String newContent = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_CONTENT); file.writeFile(Buffer.buffer(newContent, ENCODING)); json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_CHANGED, this.buildJsonFilesArray(efContext, file)); handler.handle(createFuture(file));//www.java 2s . com }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.RenameCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<ITarget>> handler) { final String target = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET); final String newName = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_NAME); ITarget source = findTarget(efContext, target); ITarget destination = source.getParent().createChildTarget(newName); source.rename(destination);//from w w w. j a v a 2s . co m JsonArray result = new JsonArray(); result.add(getTargetInfo(efContext, destination)); json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, result); result = new JsonArray(); result.add(target); json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_REMOVED, result); handler.handle(createFuture(destination)); }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.RmCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<List<ITarget>>> handler) { List<String> targets = efContext.getParameterValues(ElFinderConstants.ELFINDER_PARAMETER_TARGETS); JsonArray removed = new JsonArray(); List<ITarget> rmTargets = new ArrayList<>(); for (String ts : targets) { ITarget target = findTarget(efContext, ts); if (!target.isFolder() || checkEmptyDirectory(target)) { target.delete();/* w ww . j a va2 s .co m*/ removed.add(target.getHash()); rmTargets.add(target); } else { json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ERROR, "Directory not empty: " + target.getPath()); } } json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_REMOVED, removed); handler.handle(createFuture(rmTargets)); }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.SearchCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<List<ITarget>>> handler) { final String query = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_SEARCH_QUERY); List<ITarget> found = new ArrayList<>(); try {//from ww w . ja v a 2 s. c om JsonArray objects = new JsonArray(); List<IVolume> volumes = efContext.getRootVolumes(); for (IVolume volume : volumes) { // checks volume security ITarget volumeRoot = volume.getRoot(); // search only in volumes that are readable if (volumeRoot.isReadable()) { // search for targets List<ITarget> targets = volume.search(query); if (targets != null) { // adds targets info in the return list targets.forEach(target -> objects.add(getTargetInfo(efContext, target))); } found.addAll(targets); } } json.put(ElFinderConstants.ELFINDER_PARAMETER_FILES, objects); } catch (Exception e) { json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ERROR, "Unable to search! Error: " + e); } handler.handle(createFuture(found)); }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.SizeCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<List<ITarget>>> handler) { final List<String> targets = efContext.getRoutingContext().request().params() .getAll(ElFinderConstants.ELFINDER_PARAMETER_TARGETS); List<ITarget> targetList = findTargets(efContext, targets); long size = 0; for (ITarget target : targetList) { size += target.getSize();/*from w ww . j a va 2 s. c o m*/ } json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_SIZE, size); handler.handle(createFuture(targetList)); }
From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.UploadCommand.java
License:Open Source License
@Override public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<List<ITarget>>> handler) { String targetString = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET); ITarget parentDir = findTarget(efContext, targetString); Set<FileUpload> uploadedFiles = efContext.getRoutingContext().fileUploads(); List<ITarget> added = new ArrayList<>(); FileSystem fs = efContext.getRoutingContext().vertx().fileSystem(); for (FileUpload upload : uploadedFiles) { String newFileName = FileSystemUtil.createUniqueName(fs, parentDir.getAbsolutePath(), upload.fileName());//from www . j av a 2 s .c o m ITarget newFile = parentDir.createChildTarget(newFileName); fs.moveBlocking(upload.uploadedFileName(), newFile.getAbsolutePath()); added.add(newFile); } json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, buildJsonFilesArray(efContext, added)); handler.handle(createFuture(added)); }
From source file:de.braintags.netrelay.RequestUtil.java
License:Open Source License
/** * Loads the given property from the request * //from w w w . j ava 2 s.c o m * @param context * @param propName * @param required * @param errorObject * @return */ public static String loadProperty(RoutingContext context, String propName, boolean required, JsonObject errorObject) { String value = context.request().getParam(propName); if (required && (value == null || value.trim().isEmpty())) errorObject.put(propName + "Error", "parameter '" + propName + " is required"); return value; }
From source file:de.elsibay.EbbTicketShowcase.java
License:Open Source License
@Override public void start(Future<Void> startFuture) throws Exception { SessionStore sessionStore = LocalSessionStore.create(vertx); Router backendRouter = Router.router(vertx); backendRouter.route().handler(LoggerHandler.create(LoggerHandler.DEFAULT_FORMAT)); CookieHandler cookieHandler = CookieHandler.create(); SessionHandler sessionHandler = SessionHandler.create(sessionStore); // the CORS OPTION request must not set cookies backendRouter.get().handler(cookieHandler); backendRouter.get().handler(sessionHandler); backendRouter.post().handler(cookieHandler); backendRouter.post().handler(sessionHandler); // setup CORS CorsHandler corsHandler = CorsHandler.create("http(s)?://" + WEBSERVER_HOST + ":" + WEBSERVER_PORT) .allowCredentials(true).allowedHeader(HttpHeaders.ACCEPT.toString()) .allowedHeader(HttpHeaders.ORIGIN.toString()).allowedHeader(HttpHeaders.AUTHORIZATION.toString()) .allowedHeader(HttpHeaders.CONTENT_TYPE.toString()).allowedHeader(HttpHeaders.COOKIE.toString()) .exposedHeader(HttpHeaders.SET_COOKIE.toString()).allowedMethod(HttpMethod.POST) .allowedMethod(HttpMethod.PUT).allowedMethod(HttpMethod.GET).allowedMethod(HttpMethod.DELETE); // setup event bus bridge TicketEventbusBridge sebb = new TicketEventbusBridge(sessionStore); backendRouter.mountSubRouter("/eventbus", sebb.route(vertx)); // dummy eventbus services vertx.eventBus().consumer("ping", (Message<JsonObject> msg) -> { msg.reply(new JsonObject().put("answer", "pong " + msg.body().getString("text", ""))); });// www. j a va 2 s.c om vertx.setPeriodic(5000, id -> { vertx.eventBus().send("topic", new JsonObject().put("timestamp", new Date().getTime())); }); // session manager for login backendRouter.route("/api/*").handler(corsHandler); backendRouter.route("/api/*").method(HttpMethod.POST).method(HttpMethod.PUT).handler(BodyHandler.create()); backendRouter.route("/api/session").handler((RoutingContext rc) -> { JsonObject user = rc.getBodyAsJson(); String sessionId = rc.session().id(); rc.session().put("user", user); rc.response().end(user.copy().put("sessionId", sessionId).encodePrettily()); }); // dummy ping REST service backendRouter.route("/api/ping").handler((RoutingContext rc) -> { JsonObject replyMsg = new JsonObject(); replyMsg.put("timestamp", new Date().getTime()); Cookie sessionCookie = rc.getCookie(SessionHandler.DEFAULT_SESSION_COOKIE_NAME); if (sessionCookie != null) { replyMsg.put("sessionId", sessionCookie.getValue()); } rc.response().end(replyMsg.encode()); }); // start backend on one port vertx.createHttpServer().requestHandler(backendRouter::accept).listen(BACKENDSERVER_PORT, BACKENDSERVER_HOST, (AsyncResult<HttpServer> async) -> { System.out .println(async.succeeded() ? "Backend Server started" : "Backend Server start FAILED"); }); // static files on other port Router staticFilesRouter = Router.router(vertx); staticFilesRouter.route("/*").handler(StaticHandler.create("src/main/www").setCachingEnabled(false)); vertx.createHttpServer().requestHandler(staticFilesRouter::accept).listen(WEBSERVER_PORT, WEBSERVER_HOST, (AsyncResult<HttpServer> async) -> { System.out.println(async.succeeded() ? "Web Server started\ngoto http://" + WEBSERVER_HOST + ":" + WEBSERVER_PORT + "/" : "Web Server start FAILED"); }); }
From source file:de.fraunhofer.fokus.redistest.DoInterestingThings.java
License:Creative Commons License
/** * transfer hash table from redis into Entry * @param json - JsonObject stored in redis, all fields are of type string * @return Entry// www. ja v a 2s .c o m */ private JsonObject toEntry(JsonObject json) { Entry entry = new Entry().setHandle(json.getString(Constants.KEY_RECORD_ID)); json.remove(Constants.KEY_RECORD_ID); for (String fn : json.fieldNames()) { switch (fn) { case Constants.KEY_DICE_VALUE: case Constants.KEY_FAMILYNAME: case Constants.KEY_FIRSTNAME: case Constants.KEY_DAY_OF_BIRTH: case Constants.KEY_MONTH_OF_BIRTH: case Constants.KEY_YEAR_OF_BIRTH: case Constants.KEY_PLACE_OF_BIRTH: case Constants.KEY_GENDER: json.put(fn, Double.parseDouble(json.getString(fn))); break; } } return entry.setDiceJson(json); }