Merge index.html and QJsonSchemaChecker changes

This commit is contained in:
b1rdhous3
2016-08-31 17:19:41 +02:00
parent b6cec24596
commit 752b32c906
2 changed files with 14 additions and 70 deletions

View File

@@ -2,7 +2,7 @@
#include <iterator>
#include <sstream>
#include <algorithm>
#include <math.h>
#include <math.h>
// Utils-Jsonschema includes
#include <utils/jsonschema/QJsonSchemaChecker.h>
@@ -45,9 +45,9 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
// check the current json value
for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i)
{
QString attribute = i.key();
QString attribute = i.key();
const QJsonValue & attributeValue = *i;
if (attribute == "type")
checkType(value, attributeValue);
else if (attribute == "properties")
@@ -71,7 +71,7 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
const QJsonObject & props = schema["properties"].toObject();
ignoredProperties = props.keys();
}
checkAdditionalProperties(value.toObject(), attributeValue, ignoredProperties);
}
else
@@ -108,7 +108,7 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
; // nothing to do. value is present so always oke
else if (attribute == "id")
; // references have already been collected
else if (attribute == "title" || attribute == "description" || attribute == "default")
else if (attribute == "title" || attribute == "description" || attribute == "default" || attribute == "format")
; // nothing to do.
else
{
@@ -135,7 +135,7 @@ const std::list<std::string> & QJsonSchemaChecker::getMessages() const
void QJsonSchemaChecker::checkType(const QJsonValue & value, const QJsonValue & schema)
{
QString type = schema.toString();
bool wrongType = false;
if (type == "string")
wrongType = !value.isString();
@@ -168,16 +168,16 @@ void QJsonSchemaChecker::checkType(const QJsonValue & value, const QJsonValue &
}
void QJsonSchemaChecker::checkProperties(const QJsonObject & value, const QJsonObject & schema)
{
{
for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i)
{
QString property = i.key();
const QJsonValue & propertyValue = i.value();
_currentPath.push_back(std::string(".") + property.toStdString());
QJsonObject::const_iterator required = propertyValue.toObject().find("required");
if (value.contains(property))
{
validate(value[property], propertyValue.toObject());
@@ -264,7 +264,7 @@ void QJsonSchemaChecker::checkItems(const QJsonValue & value, const QJsonObject
setMessage("items only valid for arrays");
return;
}
QJsonArray jArray = value.toArray();
for(int i = 0; i < jArray.size(); ++i)
{