Package org.commoncrawl.query

Source Code of org.commoncrawl.query.QueryRequest

package org.commoncrawl.query;

import java.io.File;
import java.security.acl.LastOwnerException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicLong;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableComparable;
import org.commoncrawl.query.ClientQueryInfo;
import org.commoncrawl.query.QueryStatus;
import org.commoncrawl.rpc.RPCStruct;


public class QueryRequest<DataType extends RPCStruct,KeyType extends WritableComparable,ValueType extends Writable> implements Comparable<QueryRequest>{

  private static final Log LOG = LogFactory.getLog(QueryRequest.class);
  private static AtomicLong _lastSeqNo = new AtomicLong();
  private long _querySeqNo = _lastSeqNo.addAndGet(1);
  private Query<DataType,KeyType,ValueType>            _querySource;
  private ClientQueryInfo _clientQueryObj;
  private QueryStatus _queryStatus;
  private QueryCompletionCallback<DataType,KeyType,ValueType> _completionCallback;
 
  public enum RunState {
    IDLE,
    RUNNING_REMOTE,
    RUNNING_LOCAL,
    RUNNING_CACHE,
    ERROR
  }
 
  private RunState _runState      = RunState.IDLE;
  private RunState _lastRunningState = RunState.IDLE;
 
  public QueryRequest(Query<DataType,KeyType,ValueType> query,ClientQueryInfo ClientQueryInfo,QueryCompletionCallback<DataType,KeyType,ValueType> callback) {
    _querySource = query;
    _clientQueryObj = ClientQueryInfo;
    _completionCallback = callback;
    _queryStatus = new QueryStatus();
    _queryStatus.setQueryId(ClientQueryInfo.getClientQueryId());
    _queryStatus.setStatus(QueryStatus.Status.PENDING);
  }
 
  public Query<DataType,KeyType,ValueType>           getSourceQuery() { return _querySource; }
  public ClientQueryInfo getClientQueryInfo() { return _clientQueryObj; }
  public QueryStatus getQueryStatus() { return _queryStatus; }
  public QueryCompletionCallback<DataType,KeyType,ValueType> getCompletionCallback() { return _completionCallback; }
  public void setRunState(RunState runState) {
    if (_runState != RunState.IDLE && _runState != RunState.ERROR) {
      _lastRunningState = _runState;
    }
    _runState = runState;
  }
  public RunState getRunState() { return _runState; }
  public RunState getLastRunState() { return _lastRunningState; }
 
  @Override
  public int compareTo(QueryRequest o) {
    return (_querySeqNo < o._querySeqNo) ? -1 : (_querySeqNo > o._querySeqNo) ? 1 : 0;
  }
 
  public long getSequenceNo() { return _querySeqNo; }
 
 
}
TOP

Related Classes of org.commoncrawl.query.QueryRequest

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.