Search in sources :

Example 1 with GridClientNodeStateBeforeStartRequest

use of org.apache.ignite.internal.processors.rest.client.message.GridClientNodeStateBeforeStartRequest in project ignite by apache.

the class GridTcpRestNioListener method createRestRequest.

/**
 * Creates a REST request object from client TCP binary packet.
 *
 * @param ses NIO session.
 * @param msg Request message.
 * @return REST request object.
 */
@Nullable
private GridRestRequest createRestRequest(GridNioSession ses, GridClientMessage msg) {
    GridRestRequest restReq = null;
    if (msg instanceof GridClientAuthenticationRequest) {
        GridClientAuthenticationRequest req = (GridClientAuthenticationRequest) msg;
        restReq = new GridRestAuthenticationRequest();
        restReq.command(NOOP);
        ses.addMeta(CREDS_KEY, req.credentials());
        ses.addMeta(USER_ATTR_KEY, req.userAttributes());
    } else if (msg instanceof GridClientCacheRequest) {
        GridClientCacheRequest req = (GridClientCacheRequest) msg;
        GridRestCacheRequest restCacheReq = new GridRestCacheRequest();
        restCacheReq.cacheName(req.cacheName());
        restCacheReq.cacheFlags(req.cacheFlagsOn());
        restCacheReq.key(req.key());
        restCacheReq.value(req.value());
        restCacheReq.value2(req.value2());
        Map vals = req.values();
        if (vals != null)
            restCacheReq.values(new HashMap<Object, Object>(vals));
        restCacheReq.command(cacheCmdMap.get(req.operation()));
        restReq = restCacheReq;
    } else if (msg instanceof GridClientTaskRequest) {
        GridClientTaskRequest req = (GridClientTaskRequest) msg;
        GridRestTaskRequest restTaskReq = new GridRestTaskRequest();
        restTaskReq.command(EXE);
        restTaskReq.taskName(req.taskName());
        restTaskReq.params(Arrays.asList(req.argument()));
        restReq = restTaskReq;
    } else if (msg instanceof GridClientTopologyRequest) {
        GridClientTopologyRequest req = (GridClientTopologyRequest) msg;
        GridRestTopologyRequest restTopReq = new GridRestTopologyRequest();
        restTopReq.includeMetrics(req.includeMetrics());
        restTopReq.includeAttributes(req.includeAttributes());
        if (req.nodeId() != null) {
            restTopReq.command(NODE);
            restTopReq.nodeId(req.nodeId());
        } else if (req.nodeIp() != null) {
            restTopReq.command(NODE);
            restTopReq.nodeIp(req.nodeIp());
        } else
            restTopReq.command(TOPOLOGY);
        restReq = restTopReq;
    } else if (msg instanceof GridClientStateRequest) {
        GridClientStateRequest req = (GridClientStateRequest) msg;
        GridRestChangeStateRequest restChangeReq = new GridRestChangeStateRequest();
        if (req.isReqCurrentState()) {
            restChangeReq.reqCurrentState();
            restChangeReq.command(CLUSTER_CURRENT_STATE);
        } else {
            restChangeReq.active(req.active());
            restChangeReq.command(req.active() ? CLUSTER_ACTIVATE : CLUSTER_DEACTIVATE);
        }
        restReq = restChangeReq;
    } else if (msg instanceof GridClientClusterStateRequest) {
        GridClientClusterStateRequest req = (GridClientClusterStateRequest) msg;
        boolean forceDeactivation = !(msg instanceof GridClientClusterStateRequestV2) || ((GridClientClusterStateRequestV2) msg).forceDeactivation();
        GridRestClusterStateRequest restChangeReq = new GridRestClusterStateRequest();
        if (req.isReqCurrentState()) {
            restChangeReq.reqCurrentMode();
            restChangeReq.command(CLUSTER_STATE);
        } else {
            restChangeReq.state(req.state());
            restChangeReq.command(CLUSTER_SET_STATE);
            restChangeReq.forceDeactivation(forceDeactivation);
        }
        restReq = restChangeReq;
    } else if (msg instanceof GridClientClusterNameRequest)
        restReq = new GridRestClusterNameRequest();
    else if (msg instanceof GridClientNodeStateBeforeStartRequest) {
        GridClientNodeStateBeforeStartRequest reqClient = (GridClientNodeStateBeforeStartRequest) msg;
        if (reqClient instanceof GridClientWarmUpRequest) {
            GridClientWarmUpRequest warmUpReqClient = (GridClientWarmUpRequest) reqClient;
            restReq = new GridRestWarmUpRequest().stopWarmUp(warmUpReqClient.stopWarmUp());
            restReq.command(WARM_UP);
        } else {
            restReq = new GridRestNodeStateBeforeStartRequest();
            restReq.command(NODE_STATE_BEFORE_START);
        }
    }
    if (restReq != null) {
        restReq.destinationId(msg.destinationId());
        restReq.clientId(msg.clientId());
        restReq.sessionToken(msg.sessionToken());
        restReq.address(ses.remoteAddress());
        restReq.certificates(ses.certificates());
        restReq.credentials(ses.meta(CREDS_KEY));
        restReq.userAttributes(ses.meta(USER_ATTR_KEY));
    }
    return restReq;
}
Also used : GridRestClusterStateRequest(org.apache.ignite.internal.processors.rest.request.GridRestClusterStateRequest) GridClientAuthenticationRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientAuthenticationRequest) GridRestClusterNameRequest(org.apache.ignite.internal.processors.rest.request.GridRestClusterNameRequest) GridClientWarmUpRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientWarmUpRequest) GridRestTopologyRequest(org.apache.ignite.internal.processors.rest.request.GridRestTopologyRequest) GridClientClusterNameRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientClusterNameRequest) GridClientNodeStateBeforeStartRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientNodeStateBeforeStartRequest) GridRestNodeStateBeforeStartRequest(org.apache.ignite.internal.processors.rest.request.GridRestNodeStateBeforeStartRequest) GridRestWarmUpRequest(org.apache.ignite.internal.processors.rest.request.GridRestWarmUpRequest) GridClientClusterStateRequestV2(org.apache.ignite.internal.processors.rest.client.message.GridClientClusterStateRequestV2) GridClientClusterStateRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientClusterStateRequest) GridRestCacheRequest(org.apache.ignite.internal.processors.rest.request.GridRestCacheRequest) GridRestChangeStateRequest(org.apache.ignite.internal.processors.rest.request.GridRestChangeStateRequest) GridRestTaskRequest(org.apache.ignite.internal.processors.rest.request.GridRestTaskRequest) GridClientStateRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientStateRequest) GridRestAuthenticationRequest(org.apache.ignite.internal.processors.rest.request.GridRestAuthenticationRequest) GridClientTopologyRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientTopologyRequest) GridRestRequest(org.apache.ignite.internal.processors.rest.request.GridRestRequest) GridClientCacheRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientCacheRequest) Map(java.util.Map) EnumMap(java.util.EnumMap) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) HashMap(java.util.HashMap) GridClientTaskRequest(org.apache.ignite.internal.processors.rest.client.message.GridClientTaskRequest) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

EnumMap (java.util.EnumMap)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 GridClientAuthenticationRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientAuthenticationRequest)1 GridClientCacheRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientCacheRequest)1 GridClientClusterNameRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientClusterNameRequest)1 GridClientClusterStateRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientClusterStateRequest)1 GridClientClusterStateRequestV2 (org.apache.ignite.internal.processors.rest.client.message.GridClientClusterStateRequestV2)1 GridClientNodeStateBeforeStartRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientNodeStateBeforeStartRequest)1 GridClientStateRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientStateRequest)1 GridClientTaskRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientTaskRequest)1 GridClientTopologyRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientTopologyRequest)1 GridClientWarmUpRequest (org.apache.ignite.internal.processors.rest.client.message.GridClientWarmUpRequest)1 GridRestAuthenticationRequest (org.apache.ignite.internal.processors.rest.request.GridRestAuthenticationRequest)1 GridRestCacheRequest (org.apache.ignite.internal.processors.rest.request.GridRestCacheRequest)1 GridRestChangeStateRequest (org.apache.ignite.internal.processors.rest.request.GridRestChangeStateRequest)1 GridRestClusterNameRequest (org.apache.ignite.internal.processors.rest.request.GridRestClusterNameRequest)1 GridRestClusterStateRequest (org.apache.ignite.internal.processors.rest.request.GridRestClusterStateRequest)1 GridRestNodeStateBeforeStartRequest (org.apache.ignite.internal.processors.rest.request.GridRestNodeStateBeforeStartRequest)1