コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 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));
 }
コード例 #4
0
 private void initQuery()
 {
     queryDesc   = lmiHandler.getQueryDesc();
     rowIdx      = -1;
     lastResults = null;
 }