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

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

Introduction

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

Prototype

public JsonObject put(String key, Object value) 

Source Link

Document

Put an Object into the JSON object with the specified key.

Usage

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);
}