From d6a9e7c58d4d4fa511f2a12d39786d68b8cf5188 Mon Sep 17 00:00:00 2001 From: Hamed Masafi Date: Sat, 7 Oct 2017 13:56:05 +0330 Subject: [PATCH] generatotrs moved to seprate folder --- nut.pri | 20 +++++----- src/database.cpp | 8 ++-- src/databasemodel.cpp | 21 +++++++++- src/databasemodel.h | 3 ++ src/dbgeography.cpp | 42 +++++++------------- src/dbgeography.h | 15 +++---- src/{ => generators}/mysqlgenerator.cpp | 2 +- src/{ => generators}/mysqlgenerator.h | 0 src/{ => generators}/postgresqlgenerator.cpp | 4 +- src/{ => generators}/postgresqlgenerator.h | 0 src/{ => generators}/sqlgeneratorbase.cpp | 10 ++--- src/{ => generators}/sqlgeneratorbase_p.h | 4 +- src/{ => generators}/sqlitegenerator.cpp | 4 +- src/{ => generators}/sqlitegenerator.h | 0 src/{ => generators}/sqlservergenerator.cpp | 4 +- src/{ => generators}/sqlservergenerator.h | 0 src/query.h | 2 +- src/table.cpp | 2 +- 18 files changed, 71 insertions(+), 70 deletions(-) rename src/{ => generators}/mysqlgenerator.cpp (99%) rename src/{ => generators}/mysqlgenerator.h (100%) rename src/{ => generators}/postgresqlgenerator.cpp (98%) rename src/{ => generators}/postgresqlgenerator.h (100%) rename src/{ => generators}/sqlgeneratorbase.cpp (99%) rename src/{ => generators}/sqlgeneratorbase_p.h (98%) rename src/{ => generators}/sqlitegenerator.cpp (97%) rename src/{ => generators}/sqlitegenerator.h (100%) rename src/{ => generators}/sqlservergenerator.cpp (98%) rename src/{ => generators}/sqlservergenerator.h (100%) diff --git a/nut.pri b/nut.pri index 99fa96a..92c44de 100644 --- a/nut.pri +++ b/nut.pri @@ -3,20 +3,20 @@ QT += core sql INCLUDEPATH += $$PWD/include HEADERS += \ + $$PWD/src/generators/sqlgeneratorbase_p.h \ + $$PWD/src/generators/postgresqlgenerator.h \ + $$PWD/src/generators/mysqlgenerator.h \ + $$PWD/src/generators/sqlitegenerator.h \ + $$PWD/src/generators/sqlservergenerator.h \ $$PWD/src/tableset.h \ $$PWD/src/defines_p.h \ $$PWD/src/defines.h \ $$PWD/src/query.h \ $$PWD/src/databasemodel.h \ - $$PWD/src/sqlgeneratorbase_p.h \ - $$PWD/src/postgresqlgenerator.h \ $$PWD/src/changelogtable.h \ $$PWD/src/tablesetbase_p.h \ $$PWD/src/querybase_p.h \ - $$PWD/src/mysqlgenerator.h \ - $$PWD/src/sqlitegenerator.h \ $$PWD/src/tablemodel.h \ - $$PWD/src/sqlservergenerator.h \ $$PWD/src/wherephrase.h \ $$PWD/src/query_p.h \ $$PWD/src/table.h \ @@ -26,18 +26,18 @@ HEADERS += \ $$PWD/src/serializableobject.h SOURCES += \ + $$PWD/src/generators/sqlgeneratorbase.cpp \ + $$PWD/src/generators/postgresqlgenerator.cpp \ + $$PWD/src/generators/mysqlgenerator.cpp \ + $$PWD/src/generators/sqlitegenerator.cpp \ + $$PWD/src/generators/sqlservergenerator.cpp \ $$PWD/src/tableset.cpp \ $$PWD/src/query.cpp \ $$PWD/src/databasemodel.cpp \ $$PWD/src/tablesetbase.cpp \ - $$PWD/src/sqlgeneratorbase.cpp \ - $$PWD/src/postgresqlgenerator.cpp \ $$PWD/src/changelogtable.cpp \ $$PWD/src/querybase.cpp \ - $$PWD/src/mysqlgenerator.cpp \ - $$PWD/src/sqlitegenerator.cpp \ $$PWD/src/tablemodel.cpp \ - $$PWD/src/sqlservergenerator.cpp \ $$PWD/src/wherephrase.cpp \ $$PWD/src/table.cpp \ $$PWD/src/database.cpp \ diff --git a/src/database.cpp b/src/database.cpp index 98b33c2..fc4e1a0 100644 --- a/src/database.cpp +++ b/src/database.cpp @@ -34,10 +34,10 @@ #include "database_p.h" #include "defines.h" #include "tablemodel.h" -#include "postgresqlgenerator.h" -#include "mysqlgenerator.h" -#include "sqlitegenerator.h" -#include "sqlservergenerator.h" +#include "generators/postgresqlgenerator.h" +#include "generators/mysqlgenerator.h" +#include "generators/sqlitegenerator.h" +#include "generators/sqlservergenerator.h" #include "query.h" #include diff --git a/src/databasemodel.cpp b/src/databasemodel.cpp index f9db4da..71b4531 100644 --- a/src/databasemodel.cpp +++ b/src/databasemodel.cpp @@ -37,6 +37,19 @@ DatabaseModel::DatabaseModel(const DatabaseModel &other) : QList(ot } +DatabaseModel::DatabaseModel(const QJsonObject &json) : QList() +{ + setVersion(json.value(QT_STRINGIFY(version)).toString()); + + foreach (QString key, json.keys()) { + if(!json.value(key).isObject()) + continue; + + TableModel *sch = new TableModel(json.value(key).toObject(), key); + append(sch); + } +} + TableModel *DatabaseModel::tableByName(QString tableName) const { for(int i = 0; i < size(); i++){ @@ -89,8 +102,7 @@ QJsonObject DatabaseModel::toJson() const { QJsonObject obj; -// obj.insert(QT_STRINGIFY(versionMajor), QJsonValue(_versionMajor)); -// obj.insert(QT_STRINGIFY(versionMinor), QJsonValue(_versionMinor)); + obj.insert(QT_STRINGIFY(version), QJsonValue(_version)); for(int i = 0; i < size(); i++){ TableModel *s = at(i); @@ -100,6 +112,11 @@ QJsonObject DatabaseModel::toJson() const return obj; } +DatabaseModel::operator QJsonObject() +{ + return toJson(); +} + RelationModel *DatabaseModel::relationByClassNames(const QString &masterClassName, const QString &childClassName) { TableModel *childTable = tableByClassName(childClassName); diff --git a/src/databasemodel.h b/src/databasemodel.h index d827370..6e575d6 100644 --- a/src/databasemodel.h +++ b/src/databasemodel.h @@ -39,6 +39,7 @@ class DatabaseModel : public QList public: DatabaseModel(const QString &name = QString::null); DatabaseModel(const DatabaseModel &other); + DatabaseModel(const QJsonObject &json); TableModel *tableByName(QString tableName) const; TableModel *tableByClassName(QString className) const; @@ -50,8 +51,10 @@ public: bool operator==(const DatabaseModel &other) const; + Q_DECL_DEPRECATED static DatabaseModel fromJson(QJsonObject &json); QJsonObject toJson() const; + operator QJsonObject(); QString version() const; void setVersion(QString version); diff --git a/src/dbgeography.cpp b/src/dbgeography.cpp index a5524b2..11d4407 100644 --- a/src/dbgeography.cpp +++ b/src/dbgeography.cpp @@ -22,15 +22,15 @@ NUT_BEGIN_NAMESPACE -DbGeography::DbGeography(QObject *parent) : m_longitude(0), m_latitude(0) +DbGeography::DbGeography() : m_longitude(0), m_latitude(0) { } DbGeography::DbGeography(const DbGeography &other) { - setLatitude(other.latitude()); setLongitude(other.longitude()); + setLatitude(other.latitude()); } DbGeography::DbGeography(const QVariant &value) @@ -47,14 +47,23 @@ DbGeography::DbGeography(const QVariant &value) } } +qreal DbGeography::longitude() const +{ + return m_longitude; +} + qreal DbGeography::latitude() const { return m_latitude; } -qreal DbGeography::longitude() const +void DbGeography::setLongitude(qreal longitude) + { - return m_longitude; + if (qFuzzyCompare(m_longitude, longitude)) + return; + + m_longitude = longitude; } void DbGeography::setLatitude(qreal latitude) @@ -64,32 +73,9 @@ void DbGeography::setLatitude(qreal latitude) m_latitude = latitude; } - -void DbGeography::setLongitude(qreal longitude) -{ - if (qFuzzyCompare(m_longitude, longitude)) - return; - - m_longitude = longitude; -} - -/*QVariant Nut::DbGeography::operator QVariant() +DbGeography::operator QVariant() { return QVariant::fromValue(QString("%1,%2").arg(longitude()).arg(latitude())); -}*/ - -QString DbGeography::toString() -{ - return QString("%1,%2").arg(longitude()).arg(latitude()); -} - -void DbGeography::fromString(const QString &s) -{ - QStringList parts = s.split(','); - if (parts.count() == 2) { - setLongitude(parts[0].toDouble()); - setLatitude(parts[1].toDouble()); - } } NUT_END_NAMESPACE diff --git a/src/dbgeography.h b/src/dbgeography.h index c0a82ac..58d0196 100644 --- a/src/dbgeography.h +++ b/src/dbgeography.h @@ -28,26 +28,23 @@ NUT_BEGIN_NAMESPACE -class NUT_EXPORT DbGeography //: public QObject +class NUT_EXPORT DbGeography { - qreal m_latitude; qreal m_longitude; + qreal m_latitude; public: - explicit DbGeography(QObject *parent = 0); + explicit DbGeography(); DbGeography(const DbGeography &other); DbGeography(const QVariant &value); - qreal latitude() const; qreal longitude() const; + qreal latitude() const; - void setLatitude(qreal latitude); void setLongitude(qreal longitude); + void setLatitude(qreal latitude); - //QVariant operator QVariant(); - - QString toString(); - void fromString(const QString &s); + operator QVariant(); }; NUT_END_NAMESPACE diff --git a/src/mysqlgenerator.cpp b/src/generators/mysqlgenerator.cpp similarity index 99% rename from src/mysqlgenerator.cpp rename to src/generators/mysqlgenerator.cpp index f2d4c1a..e1ecb12 100644 --- a/src/mysqlgenerator.cpp +++ b/src/generators/mysqlgenerator.cpp @@ -19,7 +19,7 @@ **************************************************************************/ #include "mysqlgenerator.h" -#include "tablemodel.h" +#include "../tablemodel.h" #include #include diff --git a/src/mysqlgenerator.h b/src/generators/mysqlgenerator.h similarity index 100% rename from src/mysqlgenerator.h rename to src/generators/mysqlgenerator.h diff --git a/src/postgresqlgenerator.cpp b/src/generators/postgresqlgenerator.cpp similarity index 98% rename from src/postgresqlgenerator.cpp rename to src/generators/postgresqlgenerator.cpp index 0ff4b46..105e663 100644 --- a/src/postgresqlgenerator.cpp +++ b/src/generators/postgresqlgenerator.cpp @@ -19,8 +19,8 @@ **************************************************************************/ #include "postgresqlgenerator.h" -#include "table.h" -#include "tablemodel.h" +#include "../table.h" +#include "../tablemodel.h" NUT_BEGIN_NAMESPACE diff --git a/src/postgresqlgenerator.h b/src/generators/postgresqlgenerator.h similarity index 100% rename from src/postgresqlgenerator.h rename to src/generators/postgresqlgenerator.h diff --git a/src/sqlgeneratorbase.cpp b/src/generators/sqlgeneratorbase.cpp similarity index 99% rename from src/sqlgeneratorbase.cpp rename to src/generators/sqlgeneratorbase.cpp index fa1c0cb..f845d4f 100644 --- a/src/sqlgeneratorbase.cpp +++ b/src/generators/sqlgeneratorbase.cpp @@ -24,12 +24,12 @@ #include #include -#include "database.h" -#include "databasemodel.h" #include "sqlgeneratorbase_p.h" -#include "table.h" -#include "tablemodel.h" -#include "wherephrase.h" +#include "../database.h" +#include "../table.h" +#include "../databasemodel.h" +#include "../tablemodel.h" +#include "../wherephrase.h" NUT_BEGIN_NAMESPACE diff --git a/src/sqlgeneratorbase_p.h b/src/generators/sqlgeneratorbase_p.h similarity index 98% rename from src/sqlgeneratorbase_p.h rename to src/generators/sqlgeneratorbase_p.h index 9714948..a2bc6fe 100644 --- a/src/sqlgeneratorbase_p.h +++ b/src/generators/sqlgeneratorbase_p.h @@ -24,7 +24,7 @@ #include #include #include -#include "wherephrase.h" +#include "../wherephrase.h" NUT_BEGIN_NAMESPACE @@ -33,8 +33,6 @@ struct FieldModel; class DatabaseModel; class TableModel; class Database; -//struct PhraseData; -//class WherePhrase; class SqlGeneratorBase : public QObject { // Q_OBJECT diff --git a/src/sqlitegenerator.cpp b/src/generators/sqlitegenerator.cpp similarity index 97% rename from src/sqlitegenerator.cpp rename to src/generators/sqlitegenerator.cpp index 744bb27..5219a61 100644 --- a/src/sqlitegenerator.cpp +++ b/src/generators/sqlitegenerator.cpp @@ -19,8 +19,8 @@ **************************************************************************/ #include "sqlitegenerator.h" -#include "table.h" -#include "tablemodel.h" +#include "../table.h" +#include "../tablemodel.h" NUT_BEGIN_NAMESPACE diff --git a/src/sqlitegenerator.h b/src/generators/sqlitegenerator.h similarity index 100% rename from src/sqlitegenerator.h rename to src/generators/sqlitegenerator.h diff --git a/src/sqlservergenerator.cpp b/src/generators/sqlservergenerator.cpp similarity index 98% rename from src/sqlservergenerator.cpp rename to src/generators/sqlservergenerator.cpp index cdca934..9a4198f 100644 --- a/src/sqlservergenerator.cpp +++ b/src/generators/sqlservergenerator.cpp @@ -19,8 +19,8 @@ **************************************************************************/ #include "sqlservergenerator.h" -#include "table.h" -#include "tablemodel.h" +#include "../table.h" +#include "../tablemodel.h" #include #include diff --git a/src/sqlservergenerator.h b/src/generators/sqlservergenerator.h similarity index 100% rename from src/sqlservergenerator.h rename to src/generators/sqlservergenerator.h diff --git a/src/query.h b/src/query.h index a14b845..f70d7dc 100644 --- a/src/query.h +++ b/src/query.h @@ -31,7 +31,7 @@ #include "database.h" #include "databasemodel.h" #include "tablesetbase_p.h" -#include "sqlgeneratorbase_p.h" +#include "generators/sqlgeneratorbase_p.h" #include "querybase_p.h" #include "wherephrase.h" #include "tablemodel.h" diff --git a/src/table.cpp b/src/table.cpp index 75eb7bc..47af793 100644 --- a/src/table.cpp +++ b/src/table.cpp @@ -22,7 +22,7 @@ #include #include "table.h" #include "database.h" -#include "sqlgeneratorbase_p.h" +#include "generators/sqlgeneratorbase_p.h" NUT_BEGIN_NAMESPACE