Commit 6256bc21 authored by DonLakeFlyer's avatar DonLakeFlyer

parent 9f396d68
......@@ -321,9 +321,9 @@ bool FactMetaData::isInRawMinLimit(const QVariant& variantValue) const
case valueTypeInt64:
return _rawMin.value<int64_t>() <= variantValue.value<int64_t>();
case valueTypeFloat:
return _rawMin.value<float>() <= variantValue.value<float>();
return qIsNaN(variantValue.toFloat()) || _rawMin.value<float>() <= variantValue.value<float>();
case valueTypeDouble:
return _rawMin.value<double>() <= variantValue.value<double>();
return qIsNaN(variantValue.toDouble()) || _rawMin.value<double>() <= variantValue.value<double>();
default:
return true;
}
......@@ -351,9 +351,9 @@ bool FactMetaData::isInRawMaxLimit(const QVariant& variantValue) const
case valueTypeInt64:
return _rawMax.value<int64_t>() >= variantValue.value<int64_t>();
case valueTypeFloat:
return _rawMax.value<float>() >= variantValue.value<float>();
return qIsNaN(variantValue.toFloat()) || _rawMax.value<float>() >= variantValue.value<float>();
case valueTypeDouble:
return _rawMax.value<double>() >= variantValue.value<double>();
return qIsNaN(variantValue.toDouble()) || _rawMax.value<double>() >= variantValue.value<double>();
default:
return true;
}
......@@ -1294,19 +1294,23 @@ FactMetaData* FactMetaData::createFromJsonObject(const QJsonObject& json, QMap<Q
metaData->setRawUnits(json[_unitsJsonKey].toString());
}
QString defaultValueJsonKey;
QString defaultValueJsonKey = _defaultValueJsonKey;
#ifdef __mobile__
if (json.contains(_mobileDefaultValueJsonKey)) {
defaultValueJsonKey = _mobileDefaultValueJsonKey;
}
#endif
if (defaultValueJsonKey.isEmpty() && json.contains(_defaultValueJsonKey)) {
defaultValueJsonKey = _defaultValueJsonKey;
}
if (!defaultValueJsonKey.isEmpty()) {
if (json.contains(defaultValueJsonKey)) {
const QJsonValue jsonValue = json[defaultValueJsonKey];
if (jsonValue.type() == QJsonValue::Null && (type == valueTypeFloat || type == valueTypeDouble)) {
metaData->setRawDefaultValue(type == valueTypeFloat ? std::numeric_limits<float>::quiet_NaN() : std::numeric_limits<double>::quiet_NaN());
} else {
QVariant typedValue;
QString errorString;
QVariant initialValue = json[defaultValueJsonKey].toVariant();
QVariant initialValue = jsonValue.toVariant();
if (metaData->convertAndValidateRaw(initialValue, true /* convertOnly */, typedValue, errorString)) {
metaData->setRawDefaultValue(typedValue);
} else {
......@@ -1316,6 +1320,7 @@ FactMetaData* FactMetaData::createFromJsonObject(const QJsonObject& json, QMap<Q
<< " error:" << errorString;
}
}
}
if (json.contains(_incrementJsonKey)) {
QVariant typedValue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment