summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Craig <ext-chris.craig@nokia.com>2012-03-01 11:37:35 +0100
committerAlexei Rousskikh <ext-alexei.rousskikh@nokia.com>2012-03-01 17:09:45 +0100
commit49f3d62b76baf32bf324758e5af6ec0b85900eb0 (patch)
tree190b65966bb0131ea7bc3f695097f7b2475b2a9b
parent10c41cb849ab8f715a04e35c6cc702a294f82eba (diff)
add error object to server validation signals, add debug stream operator
Change-Id: Iaf6c9b4ddab9d2532096830bcb87ca222549e435 Reviewed-by: Alexei Rousskikh <ext-alexei.rousskikh@nokia.com>
-rw-r--r--src/jsonserver.cpp16
-rw-r--r--src/jsonserver.h5
-rw-r--r--src/qtjsonschema/schemaerror.cpp7
-rw-r--r--src/qtjsonschema/schemaerror.h2
4 files changed, 21 insertions, 9 deletions
diff --git a/src/jsonserver.cpp b/src/jsonserver.cpp
index 248e5c9..d5ed561 100644
--- a/src/jsonserver.cpp
+++ b/src/jsonserver.cpp
@@ -261,7 +261,7 @@ void JsonServer::receiveMessage(const QString &identifier, const QJsonObject &me
if (!m_inboundValidator->validateSchema(message))
{
if (validatorFlags().testFlag(WarnIfInvalid)) {
- emit inboundMessageValidationFailed(message);
+ emit inboundMessageValidationFailed(message, m_inboundValidator->getLastError());
}
if (validatorFlags().testFlag(DropIfInvalid)) {
return;
@@ -373,7 +373,7 @@ bool JsonServer::send(const QString &identifier, const QJsonObject &message)
if (!m_outboundValidator->validateSchema(message))
{
if (validatorFlags().testFlag(WarnIfInvalid)) {
- emit outboundMessageValidationFailed(message);
+ emit outboundMessageValidationFailed(message, m_outboundValidator->getLastError());
}
if (validatorFlags().testFlag(DropIfInvalid)) {
return false;
@@ -407,7 +407,7 @@ void JsonServer::broadcast(const QJsonObject &message)
if (!m_outboundValidator->validateSchema(message))
{
if (validatorFlags().testFlag(WarnIfInvalid)) {
- emit outboundMessageValidationFailed(message);
+ emit outboundMessageValidationFailed(message, m_outboundValidator->getLastError());
}
if (validatorFlags().testFlag(DropIfInvalid)) {
return;
@@ -555,13 +555,15 @@ void JsonServer::initSchemaValidation()
*/
/*!
- \fn void JsonServer::inboundMessageValidationFailed(const QJsonObject &message)
- This signal is emitted when an inbound \a message message fails a JSON schema validation.
+ \fn void JsonServer::inboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error)
+ This signal is emitted when an inbound \a message message fails a JSON schema validation. The validation
+ error is reported in \a error.
*/
/*!
- \fn void JsonServer::outboundMessageValidationFailed(const QJsonObject &message)
- This signal is emitted when an outbound \a message message fails a JSON schema validation.
+ \fn void JsonServer::outboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error)
+ This signal is emitted when an outbound \a message message fails a JSON schema validation. The validation
+ error is reported in \a error.
*/
#include "moc_jsonserver.cpp"
diff --git a/src/jsonserver.h b/src/jsonserver.h
index 63e1cf2..0657b3c 100644
--- a/src/jsonserver.h
+++ b/src/jsonserver.h
@@ -50,6 +50,7 @@
class QLocalServer;
#include "jsonstream-global.h"
+#include "schemaerror.h"
QT_BEGIN_NAMESPACE_JSONSTREAM
@@ -107,8 +108,8 @@ signals:
void messageReceived(const QString &identifier, const QJsonObject &message);
void authorizationFailed();
- void inboundMessageValidationFailed(const QJsonObject &message);
- void outboundMessageValidationFailed(const QJsonObject &message);
+ void inboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error);
+ void outboundMessageValidationFailed(const QJsonObject &message, const QtAddOn::JsonStream::SchemaError &error);
protected slots:
virtual void handleClientAuthorized(const QString &identifier);
diff --git a/src/qtjsonschema/schemaerror.cpp b/src/qtjsonschema/schemaerror.cpp
index 1e134eb..9bfe2a2 100644
--- a/src/qtjsonschema/schemaerror.cpp
+++ b/src/qtjsonschema/schemaerror.cpp
@@ -42,6 +42,7 @@
#include "schemaerror.h"
#include <QStringList>
+#include <QDebug>
QT_BEGIN_NAMESPACE_JSONSTREAM
@@ -124,4 +125,10 @@ QList<SchemaError> SchemaError::subErrors() const
return errors;
}
+QDebug operator <<(QDebug dbg, const SchemaError &e)
+{
+ dbg << "SchemaError(" << e.m_data << ")";
+ return dbg;
+}
+
QT_END_NAMESPACE_JSONSTREAM
diff --git a/src/qtjsonschema/schemaerror.h b/src/qtjsonschema/schemaerror.h
index ada86e1..185d742 100644
--- a/src/qtjsonschema/schemaerror.h
+++ b/src/qtjsonschema/schemaerror.h
@@ -85,6 +85,8 @@ public:
static const QString kErrorPrefixStr;
private:
+ friend Q_ADDON_JSONSTREAM_EXPORT QDebug operator<<(QDebug, const SchemaError &);
+
QJsonObject m_data;
};