Package org.apache.jackrabbit.mk.json

Examples of org.apache.jackrabbit.mk.json.JsopBuilder


            indexRootNode = "/" + indexRootNode;
        }
        revision = mk.getHeadRevision();
        readRevision = revision;
        if (!mk.nodeExists(indexRootNode, revision)) {
            JsopBuilder jsop = new JsopBuilder();
            String p = "/";
            for (String e : PathUtils.elements(indexRootNode)) {
                p = PathUtils.concat(p, e);
                if (!mk.nodeExists(p, revision)) {
                    jsop.tag('+').key(PathUtils.relativize("/", p)).object().endObject().newline();
                }
            }
            revision = mk.commit("/", jsop.toString(), revision, null);
        } else {
            String node = mk.getNodes(indexRootNode, revision, 0, 0, Integer.MAX_VALUE, null);
            JsopTokenizer t = new JsopTokenizer(node);
            t.read('{');
            HashMap<String, String> map = new HashMap<String, String>();
View Full Code Here


     * @param toRevision the new index revision
     * @return the new head revision
     */
    public String updateEnd(String toRevision) {
        readRevision = toRevision;
        JsopBuilder jsop = new JsopBuilder();
        jsop.tag('^').key("rev").value(readRevision);
        buffer(jsop.toString());
        commitChanges();
        return revision;
    }
View Full Code Here

            switch (r) {
            case '+':
                t.read(':');
                if (t.matches('{')) {
                    NodeImpl n = NodeImpl.parse(map, t, 0);
                    JsopWriter diff = new JsopBuilder();
                    diff.tag('+').key(path);
                    n.append(diff, Integer.MAX_VALUE, 0, Integer.MAX_VALUE, false);
                    buffer(path, diff);
                } else {
                    String value = t.readRawValue().trim();
                    JsopWriter diff = new JsopBuilder();
                    diff.tag('+').key(path);
                    diff.encodedValue(value);
                    buffer(path, diff);
                }
                break;
            case '-': {
                JsopWriter diff = new JsopBuilder();
                diff.tag('-').value(path);
                buffer(path, diff);
                break;
            }
            case '^':
                t.read(':');
                String value;
                if (t.matches(JsopReader.NULL)) {
                    JsopWriter diff = new JsopBuilder();
                    diff.tag('^').key(path).value(null);
                    buffer(path, diff);
                } else {
                    value = t.readRawValue().trim();
                    JsopWriter diff = new JsopBuilder();
                    diff.tag('^').key(path).encodedValue(value);
                    buffer(path, diff);
                }
                break;
            case '>': {
                t.read(':');
                JsopWriter diff = new JsopBuilder();
                if (t.matches('{')) {
                    String position = t.readString();
                    t.read(':');
                    String to = t.readString();
                    t.read('}');
                    if (!PathUtils.isAbsolute(to)) {
                        to = PathUtils.concat(rootPath, to);
                    }
                    diff.tag('>').key(path);
                    diff.object().key(position);
                    diff.value(to).endObject();
                } else {
                    String to = t.readString();
                    if (!PathUtils.isAbsolute(to)) {
                        to = PathUtils.concat(rootPath, to);
                    }
                    diff.tag('>').key(path);
                    diff.value(to);
                }
                buffer(path, diff);
                break;
            }
            default:
View Full Code Here

    }

    private JsopWriter getBuilder(String mount) {
        JsopWriter builder = builders.get(mount);
        if (builder == null) {
            builder = new JsopBuilder();
            builders.put(mount, builder);
        }
        return builder;
    }
View Full Code Here

    public BTree(Indexer indexer, String name, boolean unique) {
        this.indexer = indexer;
        this.name = name;
        this.unique = unique;
        if (!indexer.nodeExists(name)) {
            JsopBuilder jsop = new JsopBuilder();
            jsop.tag('+').key(name).object().endObject();
            indexer.commit(jsop.toString());
        }
    }
View Full Code Here

        }
        return c;
    }

    void bufferSetArray(String path, String propertyName, String[] data) {
        JsopBuilder jsop = new JsopBuilder();
        path = PathUtils.concat(name, path);
        jsop.tag('^').key(PathUtils.concat(path, propertyName));
        if (data.length == 0) {
            jsop.value(null);
        } else {
            jsop.array();
            for (String d : data) {
                jsop.value(d);
            }
            jsop.endArray();
        }
        jsop.newline();
        indexer.buffer(jsop.toString());
    }
View Full Code Here

        jsop.newline();
        indexer.buffer(jsop.toString());
    }

    void bufferMove(String path, String newPath) {
        JsopBuilder jsop = new JsopBuilder();
        jsop.tag('>').key(path).value(newPath);
        jsop.newline();
        indexer.buffer(jsop.toString());
    }
View Full Code Here

        jsop.newline();
        indexer.buffer(jsop.toString());
    }

    void bufferDelete(String path) {
        JsopBuilder jsop = new JsopBuilder();
        jsop.tag('-').value(PathUtils.concat(name, path));
        jsop.newline();
        indexer.buffer(jsop.toString());
    }
View Full Code Here

    }

    @Override
    void writeCreate() {
        tree.modified(this);
        JsopBuilder jsop = new JsopBuilder();
        jsop.tag('+').key(PathUtils.concat(tree.getName(), getPath())).object();
        jsop.key("keys").array();
        for (String k : keys) {
            jsop.value(k);
        }
        jsop.endArray();
        jsop.key("values").array();
        for (String v : values) {
            jsop.value(v);
        }
        jsop.endArray();
        jsop.endObject();
        jsop.newline();
        tree.buffer(jsop.toString());
    }
View Full Code Here

    public static String addFiles(AbstractBlobStore store, String dir) throws Exception {
        ArrayList<String> list = new ArrayList<String>();
        String root = new File(dir).getAbsolutePath();
        String parent = new File(dir).getParentFile().getAbsolutePath();
        addFiles(list, new File(root));
        JsopBuilder listing = new JsopBuilder();
        listing.object();
        for (String f : list) {
            FileInputStream in = new FileInputStream(f);
            String id = store.writeBlob(in);
            in.close();
            String name = f.substring(parent.length());
            listing.key(name).value(id);
            listing.newline();
        }
        listing.endObject();
        String l = listing.toString();
        String id = store.writeBlob(new ByteArrayInputStream(l.getBytes("UTF-8")));
        return id;
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.mk.json.JsopBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.