Examples of RexProMessage


Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

     */
    public NextAction handleRead(final FilterChainContext ctx) throws IOException {
        final RexProRequest request = ctx.getMessage();
        request.process();

        final RexProMessage message = request.getRequestMessage();
        if (message instanceof SessionRequestMessage && !message.hasSession()) {
            final SessionRequestMessage specificMessage = (SessionRequestMessage) message;

            if (!specificMessage.metaGetKillSession()) {
                final String username = specificMessage.Username;
                final String password = specificMessage.Password;
                if (!authenticate(username, password)) {
                    // there is no session to this message...that's a problem
                    final ErrorResponseMessage errorMessage = new ErrorResponseMessage();
                    errorMessage.setSessionAsUUID(RexProMessage.EMPTY_SESSION);
                    errorMessage.Request = specificMessage.Request;
                    errorMessage.ErrorMessage = "Invalid username or password.";
                    errorMessage.metaSetFlag(ErrorResponseMessage.AUTH_FAILURE_ERROR);

                    request.writeResponseMessage(errorMessage);
                    ctx.write(request);

                    return ctx.getStopAction();
                }
            }
        } else if (message instanceof ScriptRequestMessage && !message.hasSession()) {
      // sessionless script requests don't support secure requests atm - requires a changes to the
      // rexpro protocol to do so
      // there is no session to this message...that's a problem
      final ErrorResponseMessage errorMessage = new ErrorResponseMessage();
      errorMessage.setSessionAsUUID(RexProMessage.EMPTY_SESSION);
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

            // RexPro class.
            if (this.rexProConnection == null) {
                this.rexProConnection = new RexProClientConnection(rexProHost, rexProPort);
            }

            final RexProMessage rcvMessage = sendRequest(sessionRequestMessageToSend, 3);

            if (rcvMessage != null && rcvMessage instanceof SessionResponseMessage) {
                final SessionResponseMessage sessionResponseMessage = (SessionResponseMessage) rcvMessage;
                this.availableLanguages = new ArrayList<String>();
                for (String lang : sessionResponseMessage.Languages) {
                    this.availableLanguages.add(lang);
                }

                this.sessionKey = rcvMessage.sessionAsUUID();
            }
        }
    }
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

        return sendRequest(request, maxRetries, 3000);
    }

    public RexProMessage sendRequest(RexProMessage request, int maxRetries, int waitMsBetweenTries) {
        int tries = 0;
        RexProMessage rcvMessage = null;

        // set the session for all incoming messages.
        request.setSessionAsUUID(this.getSessionKey());

        while (rcvMessage == null && tries < maxRetries) {
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

                sessionKillMessageToSend.metaSetKillSession(true);
                sessionKillMessageToSend.setRequestAsUUID(UUID.randomUUID());

                // need to set the session here so that the server knows which one to delete.
                sessionKillMessageToSend.setSessionAsUUID(this.sessionKey);
                final RexProMessage rcvMessage = sendRequest(sessionKillMessageToSend, 3);

                // response message will have an EMPTY_SESSION
                if (rcvMessage instanceof SessionResponseMessage) {
                    this.sessionKey = rcvMessage.sessionAsUUID();
                }

                rexProConnection.close();
                rexProConnection = null;
            }
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

     * @param script the script to execute
     * @param scriptArgs the map becomes bindings.
     */
    public <T> List<T> execute(final String script, final Map<String, Object> scriptArgs) throws RexProException, IOException {
        final ArrayBlockingQueue<Object> responseQueue = new ArrayBlockingQueue<Object>(1);
        final RexProMessage msgToSend = createNoSessionScriptRequest(script, scriptArgs);
        final UUID requestId = msgToSend.requestAsUUID();
        responses.put(requestId, responseQueue);

        try {
            this.sendRequest(msgToSend);
        } catch (Throwable t) {
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

                serializer = jsonSerializer;
            } else {
                throw new RexProException(String.format("unknown serializer type: %s", serializerType));
            }

            RexProMessage message = null;
            if (messageType == MessageType.SCRIPT_REQUEST) {
                message = serializer.deserialize(messageAsBytes, ScriptRequestMessage.class);
            } else if (messageType == MessageType.SESSION_REQUEST) {
                message = serializer.deserialize(messageAsBytes, SessionRequestMessage.class);
            } else if (messageType == MessageType.SESSION_RESPONSE) {
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

        Object rawMsg = ctx.getMessage();

        RexsterClient.MessageContainer container = (RexsterClient.MessageContainer) rawMsg;
        // Get the source message to be written
        byte serializerType = container.getSerializer();
        RexProMessage msg = container.getMessage();

        byte[] rexProMessageAsBytes = new byte[0];

        try {
            RexProSerializer serializer;
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

        scriptMessage.Script = "merged=[:];rexster.getGraphNames().collect{[(\"${it}\".toString()):rexster.getGraph(it).features.toMap()]}.collectMany{it.entrySet()}.each{merged[it.key] = it.value};merged";
        scriptMessage.LanguageName = "groovy";
        scriptMessage.metaSetInSession(false);
        scriptMessage.setRequestAsUUID(UUID.randomUUID());

        final RexProMessage inMsg = client.execute(scriptMessage);

        if (inMsg instanceof ErrorResponseMessage) {
            throw new RexProException(((ErrorResponseMessage) inMsg).ErrorMessage);
        } else if (!(inMsg instanceof ScriptResponseMessage)) {
            throw new RexProException("wrong response type");
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

        //create a session
        final SessionRequestMessage outMsg = new SessionRequestMessage();
        outMsg.setRequestAsUUID(UUID.randomUUID());

        RexProMessage inMsg = client.execute(outMsg);
        Assert.assertNotNull(inMsg.Session);
        Assert.assertTrue(inMsg instanceof SessionResponseMessage);

        UUID sessionKey = BitWorks.convertByteArrayToUUID(inMsg.Session);
View Full Code Here

Examples of com.tinkerpop.rexster.protocol.msg.RexProMessage

            final SessionRequestMessage outMsg = new SessionRequestMessage();
            outMsg.setRequestAsUUID(UUID.randomUUID());
            outMsg.metaSetGraphName(entry.getKey());
            outMsg.metaSetGraphObjName("graph");

            RexProMessage inMsg = client.execute(outMsg);
            Assert.assertNotNull(inMsg.Session);
            Assert.assertTrue(inMsg instanceof SessionResponseMessage);

            UUID sessionKey = BitWorks.convertByteArrayToUUID(inMsg.Session);
View Full Code Here
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.