Example usage for io.vertx.core.json JsonArray JsonArray

List of usage examples for io.vertx.core.json JsonArray JsonArray

Introduction

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

Prototype

public JsonArray() 

Source Link

Document

Create an empty instance

Usage

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.AbstractCommand.java

License:Open Source License

protected JsonArray buildJsonFilesArray(ElFinderContext efContext, ITarget target) {
    JsonArray returnArray = new JsonArray();
    returnArray.add(getTargetInfo(efContext, target));
    return returnArray;
}

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.AbstractCommand.java

License:Open Source License

protected JsonArray buildJsonFilesArray(ElFinderContext efContext, Collection<ITarget> targetList) {
    JsonArray returnArray = new JsonArray();
    targetList.forEach(target -> returnArray.add(getTargetInfo(efContext, target)));
    return returnArray;
}

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.AbstractCommand.java

License:Open Source License

protected JsonObject getOptions(ElFinderContext efContext, ITarget target) {
    JsonObject options = new JsonObject();
    options.put(ElFinderConstants.ELFINDER_PARAMETER_PATH, target.getName());
    options.put(ElFinderConstants.ELFINDER_PARAMETER_COMMAND_DISABLED, new JsonArray());
    options.put(ElFinderConstants.ELFINDER_PARAMETER_FILE_SEPARATOR,
            ElFinderConstants.ELFINDER_PARAMETER_FILE_SEPARATOR);
    options.put(ElFinderConstants.ELFINDER_PARAMETER_OVERWRITE_FILE, ElFinderConstants.ELFINDER_TRUE_RESPONSE);
    // options.put(ElFinderConstants.ELFINDER_PARAMETER_ARCHIVERS, ArchiverOption.JSON_INSTANCE);
    return options;
}

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.MkdirCommand.java

License:Open Source License

@Override
public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<ITarget>> handler) {
    final String targetHash = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET);
    final String fileName = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_NAME);
    ITarget target = findTarget(efContext, targetHash);
    ITarget newFile = target.createChildTarget(fileName);
    newFile.createFolder();//  ww w  . j a va 2 s.  c  om
    JsonObject jo = getTargetInfo(efContext, newFile);
    json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, new JsonArray().add(jo));
    handler.handle(createFuture(newFile));
}

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.MkfileCommand.java

License:Open Source License

@Override
public void execute(ElFinderContext efContext, JsonObject json, Handler<AsyncResult<ITarget>> handler) {
    final String targetHash = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_TARGET);
    final String fileName = efContext.getParameter(ElFinderConstants.ELFINDER_PARAMETER_NAME);
    ITarget target = findTarget(efContext, targetHash);
    if (target == null) {
        throw new IllegalArgumentException("Folder does not exist: " + efContext.translateHash(targetHash));
    }//  w w  w. ja  v  a 2 s  . c  om
    ITarget newFile = target.createChildTarget(fileName);
    newFile.createFile();
    JsonObject jo = getTargetInfo(efContext, newFile);
    json.put(ElFinderConstants.ELFINDER_JSON_RESPONSE_ADDED, new JsonArray().add(jo));
    handler.handle(createFuture(newFile));
}

From source file:de.braintags.netrelay.controller.filemanager.elfinder.command.impl.OpenCommand.java

License:Open Source License

@Override
public void execute(ElFinderContext efContext, JsonObject json,
        Handler<AsyncResult<Map<String, ITarget>>> handler) {
    RoutingContext context = efContext.getRoutingContext();
    boolean init = context.request().getParam(ElFinderConstants.ELFINDER_PARAMETER_INIT) != null;
    boolean tree = context.request().getParam(ElFinderConstants.ELFINDER_PARAMETER_TREE) != null;
    String target = context.request().getParam(ElFinderConstants.ELFINDER_PARAMETER_TARGET);
    if (init) {/*from  w  ww .  j a  v  a2  s.com*/
        json.put(ElFinderConstants.ELFINDER_PARAMETER_API, ElFinderConstants.ELFINDER_VERSION_API);
        json.put(ElFinderConstants.ELFINDER_PARAMETER_NETDRIVERS, new JsonArray());
    }

    Map<String, ITarget> files = new LinkedHashMap<>();

    if (tree) {
        for (IVolume root : efContext.getRootVolumes()) {
            ITarget rootTarget = root.getRoot();
            String hash = ElFinderContext.getHash(rootTarget);
            files.put(hash, rootTarget);
            addSubFolders(efContext, files, rootTarget);
        }
    }

    ITarget cwd = findCwd(efContext, target);
    files.put(cwd.getHash(), cwd);
    addChildren(efContext, files, cwd);
    json.put(ElFinderConstants.ELFINDER_PARAMETER_FILES, buildJsonFilesArray(efContext, files.values()));
    json.put(ElFinderConstants.ELFINDER_PARAMETER_CWD, getTargetInfo(efContext, cwd));
    json.put(ElFinderConstants.ELFINDER_PARAMETER_OPTIONS, getOptions(efContext, cwd));
    handler.handle(createFuture(files));
}

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);/*  w ww .j  av a  2s. 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.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);/*w ww .  java2 s  .  c  o  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 v a  2 s .c  o 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 www. j  a  v a2 s.c o m*/
        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));
}