public ResultsDesc nextResults() { if (IsCorrelation) { return(nextCorrelationResults()); } ResultsDesc resultsDesc; do { String path = String.Format("/api/v2/query/{0}/results?size=5000", queryDesc.queryId); WebRequest webRequest = createWebRequest(path); webRequest.Method = "GET"; WebResponse myWebResponse = webRequest.GetResponse(); StreamReader reader = new StreamReader(myWebResponse.GetResponseStream()); string reply = reader.ReadToEnd(); resultsDesc = new ResultsDesc(); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(reply)); DataContractJsonSerializer ser = new DataContractJsonSerializer(resultsDesc.GetType()); resultsDesc = ser.ReadObject(ms) as ResultsDesc; ms.Close(); } while (resultsDesc.hasMore && resultsDesc.rows.Length == 0); return(resultsDesc); }
public ResultsDesc nextCorrelationResults() { ResultsDesc resultsDesc; do { String path = String.Format("/api/v1/instance/{0}/correlationevents?from={1}&size=5000&type=MESSAGES", queryDesc.queryId, offset); WebRequest webRequest = createWebRequest(path); webRequest.Method = "GET"; WebResponse myWebResponse = webRequest.GetResponse(); StreamReader reader = new StreamReader(myWebResponse.GetResponseStream()); string reply = reader.ReadToEnd(); CorrResultsDesc corrResultsDesc = new CorrResultsDesc(); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(reply)); DataContractJsonSerializer ser = new DataContractJsonSerializer(corrResultsDesc.GetType()); corrResultsDesc = ser.ReadObject(ms) as CorrResultsDesc; resultsDesc = new ResultsDesc(); offset += corrResultsDesc.count; resultsDesc.offset = corrResultsDesc.from; resultsDesc.hasMore = corrResultsDesc.from + corrResultsDesc.count != corrResultsDesc.totalCount; resultsDesc.rows = corrResultsDesc.results; ms.Close(); } while (resultsDesc.hasMore && resultsDesc.rows.Length == 0); return(resultsDesc); }
protected override bool MoveNextCore() { if (lastResults == null || rowIdx == (lastResults.rows.Length - 1)) { lastResults = lmiHandler.nextResults(); rowIdx = -1; if (!lastResults.hasMore && lastResults.rows.Length == 0) { return(false); } } rowIdx++; for (int i = 0; i < cursors.Length; i++) { if (lastResults.rows[rowIdx][i] == null) { cursors[i].CurrentDataValue.SetNullValue(); continue; } if (cursors[i] is MutableValueCursor <String> ) { ((MutableValueCursor <String>)cursors[i]).MutableDataValue.ValidValue = lastResults.rows[rowIdx][i]; } else if (cursors[i] is MutableValueCursor <DateTime> ) { long dateTimeLong = Convert.ToInt64(lastResults.rows[rowIdx][i]); DateTime dateTime = EPOCH.AddMilliseconds(dateTimeLong).ToLocalTime(); ((MutableValueCursor <DateTime>)cursors[i]).MutableDataValue.ValidValue = dateTime; } else if (cursors[i] is MutableValueCursor <int> ) { int intValue = Convert.ToInt32(lastResults.rows[rowIdx][i]); ((MutableValueCursor <int>)cursors[i]).MutableDataValue.ValidValue = intValue; } else if (cursors[i] is MutableValueCursor <long> ) { long longValue = Convert.ToInt64(lastResults.rows[rowIdx][i]); ((MutableValueCursor <long>)cursors[i]).MutableDataValue.ValidValue = longValue; } else if (cursors[i] is MutableValueCursor <double> ) { double doubleValue = Convert.ToDouble(lastResults.rows[rowIdx][i]); ((MutableValueCursor <double>)cursors[i]).MutableDataValue.ValidValue = doubleValue; } else if (cursors[i] is MutableValueCursor <bool> ) { bool boolValue = Convert.ToBoolean(lastResults.rows[rowIdx][i]); ((MutableValueCursor <bool>)cursors[i]).MutableDataValue.ValidValue = boolValue; } } return(lastResults.hasMore || rowIdx != (lastResults.rows.Length - 1)); }
private void initQuery() { queryDesc = lmiHandler.getQueryDesc(); rowIdx = -1; lastResults = null; }