summaryrefslogtreecommitdiffstats
path: root/src/bm/bmrequest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bm/bmrequest.cpp')
-rw-r--r--src/bm/bmrequest.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/bm/bmrequest.cpp b/src/bm/bmrequest.cpp
index 9300dc3..5f008b4 100644
--- a/src/bm/bmrequest.cpp
+++ b/src/bm/bmrequest.cpp
@@ -4848,8 +4848,15 @@ QByteArray BMRequest_IndexGetValues::toRequestBuffer(QString *)
QString request =
QString(
"<request type=\"%1\"><args baseTimestamp=\"%2\" medianWinSize=\"%3\" "
- "cacheKey=\"%4\" />")
- .arg(name()).arg(baseTimestamp).arg(medianWinSize).arg(cacheKey);
+ "cacheKey=\"%4\" dataQualityStats=\"%5\" dqStatsDiffTol=\"%6\" "
+ "dqStatsStabTol=\"%7\" />")
+ .arg(name())
+ .arg(baseTimestamp)
+ .arg(medianWinSize)
+ .arg(cacheKey)
+ .arg(dataQualityStats ? 1 : 0)
+ .arg(dqStatsDiffTol)
+ .arg(dqStatsStabTol);
for (int i = 0; i < testCaseFilter.size(); ++i)
request += QString("<testCase name=\"%1\" />").arg(testCaseFilter.at(i));
@@ -4911,6 +4918,14 @@ QByteArray BMRequest_IndexGetValues::toReplyBuffer()
medianWinSize = argsElem.attributeNode("medianWinSize").value().toInt(&ok);
Q_ASSERT(ok);
+ // Get data quality stats params ...
+ dataQualityStats = argsElem.attributeNode("dataQualityStats").value().toInt(&ok);
+ Q_ASSERT(ok);
+ dqStatsDiffTol = argsElem.attributeNode("dqStatsDiffTol").value().toDouble(&ok);
+ Q_ASSERT(ok);
+ dqStatsStabTol = argsElem.attributeNode("dqStatsStabTol").value().toInt(&ok);
+ Q_ASSERT(ok);
+
// Get filters ...
QDomNodeList testCaseNodes = doc.elementsByTagName("testCase");
for (int i = 0; i < testCaseNodes.size(); ++i)
@@ -5085,7 +5100,7 @@ QByteArray BMRequest_IndexGetValues::toReplyBuffer()
QList<qreal> indexValues;
QList<int> contrCounts;
- QList<QList<Index::RankedInfo> > topContr;
+ QList<QList<Index::RankedInfo> > topContr; // Top contributors for each index value
const int topContrLimit = 10; // ### hard-coded for now!
QString error_;
if (!index.computeValues(