Package com.tinkerpop.rexster.client

Source Code of com.tinkerpop.rexster.client.TryRexProSessioned

package com.tinkerpop.rexster.client;

import com.tinkerpop.rexster.Tokens;
import com.tinkerpop.rexster.protocol.msg.ScriptRequestMessage;
import com.tinkerpop.rexster.protocol.msg.ScriptResponseMessage;
import org.msgpack.MessagePack;

import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.UUID;
/**
* A bit of an experiment.
*/
public class TryRexProSessioned {

    public static void main(String[] args) {
        //bigCalls();
        lotsOfCalls(false);
    }

    private static void bigCalls() {

        RemoteRexsterSession session = new RemoteRexsterSession("localhost", 8184, 100, "", "");
        session.open();

        long start = System.currentTimeMillis();

        long checkpoint = System.currentTimeMillis();

        try {
            ScriptResponseMessage resultMessage = (ScriptResponseMessage) session.sendRequest(
                    createScriptRequestMessage(session, "g=rexster.getGraph('gratefulgraph');g.V;"), 100);
            resultMessage = (ScriptResponseMessage) session.sendRequest(
                    createScriptRequestMessage(session, "g.E;"), 100);
            System.out.println((checkpoint - start) + ":" + (System.currentTimeMillis() - checkpoint));

        } catch (Exception ex) {
            ex.printStackTrace();
        }


    }

    private static void lotsOfCalls(boolean doJson){

        RemoteRexsterSession session = new RemoteRexsterSession("localhost", 8184, 100, "", "");
        session.open();

        MessagePack msgpack = new MessagePack();

        long start = System.currentTimeMillis();


        long checkpoint = System.currentTimeMillis();

        try {

            ScriptResponseMessage resultMessage = (ScriptResponseMessage) session.sendRequest(
                    createScriptRequestMessage(session, "g=rexster.getGraph('gratefulgraph');g.V;"), 100);

            int counter = 1;
            Iterator itty = ((Iterable) resultMessage.Results).iterator();
            while (itty.hasNext()){
                final Map<String,Object> map = (Map<String, Object>) itty.next();
                final String vId = (String) map.get(Tokens._ID);

                ScriptResponseMessage vertexResultMessage = (ScriptResponseMessage) session.sendRequest(
                        createScriptRequestMessage(session, "g.v(" + vId + ")"), 100);

                System.out.println(vertexResultMessage.Results);
                counter++;
            }

            /*
            resultMessage = (ScriptResponseMessage) session.sendRequest(
                    createScriptRequestMessage(session, "g.E;"), 100);

            unpacker = msgpack.createBufferUnpacker(resultMessage.Results);

            itty = unpacker.iterator();
            while (itty.hasNext()){
                final Map<String,Value> map = new Converter(msgpack, itty.next()).read(tMap(TString, TValue));
                final String eId = map.get(Tokens._ID).asRawValue().getString();

                ScriptResponseMessage edgeResultMessage = (ScriptResponseMessage) session.sendRequest(
                        createScriptRequestMessage(session, "g.e(" + eId + ")"), 100);

                unpacker = msgpack.createBufferUnpacker(edgeResultMessage.Results);
                System.out.println(unpacker.read(tMap(TString, TValue)));
            }
            */

            long end = System.currentTimeMillis() - checkpoint;
            System.out.println((checkpoint - start) + ":" + end);
            System.out.println(counter / (end / 1000));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    private static ScriptRequestMessage createScriptRequestMessage(RemoteRexsterSession session, String script) throws IOException {
        ScriptRequestMessage scriptMessage = new ScriptRequestMessage();
        scriptMessage.setSessionAsUUID(session.getSessionKey());
        scriptMessage.Script = script;

        scriptMessage.LanguageName = "groovy";
        scriptMessage.metaSetInSession(true);
        scriptMessage.setRequestAsUUID(UUID.randomUUID());
        return scriptMessage;
    }
}
TOP

Related Classes of com.tinkerpop.rexster.client.TryRexProSessioned

TOP
Copyright © 2018 www.massapi.com. 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.