Revision 35cf13b7
Von Christian Ehringfeld vor mehr als 9 Jahren hinzugefügt
src/database.cpp | ||
---|---|---|
}
|
||
}
|
||
|
||
QSharedPointer<Schema> Database::getSchema(int db,
|
||
QSharedPointer<Schema> Database::getSchema(DatabaseType db,
|
||
QSharedPointer<Database> database) {
|
||
switch (db) {
|
||
case SQLITE:
|
||
case DatabaseType::SQLITE:
|
||
return QSharedPointer<Schema>(new SqliteSchema(database));;
|
||
break;
|
||
// case PGSQL:
|
src/database.h | ||
---|---|---|
bool rollbackTransaction();
|
||
|
||
static DatabaseType getDatabaseType(QString s);
|
||
static QSharedPointer<Schema> getSchema(int db,
|
||
static QSharedPointer<Schema> getSchema(DatabaseType db,
|
||
QSharedPointer<Database> database);
|
||
|
||
};
|
src/entity.cpp | ||
---|---|---|
++iterator;
|
||
}
|
||
delete superObject;
|
||
superObject = 0;
|
||
superObject = nullptr;
|
||
}
|
||
return relations;
|
||
}
|
||
... | ... | |
QList<const QMetaObject *> classes = QList<const QMetaObject *>();
|
||
auto superMetaObject = this->metaObject()->superClass();
|
||
if (this->getInheritanceStrategy() == JOINED_TABLE) {
|
||
Entity *e = 0;
|
||
while (superMetaObject != 0
|
||
&& QString(superMetaObject->className()) !=
|
||
Entity *e = nullptr;
|
||
while (superMetaObject && QString(superMetaObject->className()) !=
|
||
QString("CuteEntityManager::Entity")) {
|
||
e = EntityInstanceFactory::createInstance(superMetaObject->className());
|
||
if (e) {
|
||
... | ... | |
superMetaObject = superMetaObject->superClass();
|
||
quint8 s = e->getInheritanceStrategy();
|
||
delete e;
|
||
e = 0;
|
||
e = nullptr;
|
||
if (stopAtSingleTableInheritance && s == PER_CLASS_TABLE) {
|
||
break;
|
||
}
|
src/entityinstancefactory.cpp | ||
---|---|---|
}
|
||
|
||
Entity *EntityInstanceFactory::createInstance(int metaTypeId) {
|
||
Entity *e = 0;
|
||
Entity *e = nullptr;
|
||
if (metaTypeId != QMetaType::UnknownType) {
|
||
auto metaObject = QMetaType::metaObjectForType(metaTypeId);
|
||
if (metaObject) {
|
||
... | ... | |
}
|
||
|
||
Entity *EntityInstanceFactory::newSuperClassInstance(const Entity *e) {
|
||
Entity *super = 0;
|
||
Entity *super = nullptr;
|
||
if (e) {
|
||
auto metaObject = e->metaObject()->superClass();
|
||
if (QString(metaObject->className()) != QString("CuteEntityManager::Entity")) {
|
src/entitymanager.cpp | ||
---|---|---|
auto list = EntityInstanceFactory::castQVariantList(var);
|
||
if (!list.contains(add)) {
|
||
list.append(add);
|
||
this->setListProperty(entity,list,property);
|
||
this->setListProperty(entity, list, property);
|
||
}
|
||
}
|
||
}
|
||
... | ... | |
builder->generateManyToManyColumnName(entity),
|
||
builder->generateManyToManyColumnName(ptr));
|
||
q.bindValue(0, entity->getId());
|
||
auto prop = this->mappedProperty(r,ptr);
|
||
auto prop = this->mappedProperty(r, ptr);
|
||
QSharedPointer<Entity> item;
|
||
for (int var = 0; var < saved.size(); ++var) {
|
||
item = list.at(var);
|
||
... | ... | |
}
|
||
|
||
|
||
QMetaProperty EntityManager::mappedProperty(const Relation &r, const QSharedPointer<Entity> &foreignEntity) const
|
||
{
|
||
QMetaProperty EntityManager::mappedProperty(const Relation &r,
|
||
const QSharedPointer<Entity> &foreignEntity) const {
|
||
QMetaProperty prop;
|
||
auto props = foreignEntity->getMetaProperties();
|
||
if (!r.getMappedBy().isEmpty()) {
|
||
... | ... | |
}
|
||
} else {
|
||
auto relations = foreignEntity->getRelations();
|
||
for (auto iterator = relations.constBegin();iterator != relations.constEnd(); ++iterator) {
|
||
for (auto iterator = relations.constBegin(); iterator != relations.constEnd();
|
||
++iterator) {
|
||
auto rel = iterator.value();
|
||
if(rel.getMappedBy() == r.getPropertyName()) {
|
||
if (rel.getMappedBy() == r.getPropertyName()) {
|
||
prop = props.value(rel.getPropertyName());
|
||
break;
|
||
}
|
src/enums/databasetype.h | ||
---|---|---|
#include "../schema/sqliteschema.h"
|
||
|
||
namespace CuteEntityManager {
|
||
enum DatabaseType {
|
||
enum class DatabaseType {
|
||
SQLITE = 0,
|
||
PGSQL = 1,
|
||
MYSQL = 2
|
src/querybuilder.cpp | ||
---|---|---|
const QSharedPointer<Entity> &entity, const Relation &relation,
|
||
const QMetaProperty &metaProperty, const QString &update,
|
||
const QString &remove) const {
|
||
QSharedPointer<Entity> ptr = QSharedPointer<Entity>
|
||
(EntityInstanceFactory::createInstance(metaProperty.type()));
|
||
auto ptr = QSharedPointer<Entity>
|
||
(EntityInstanceFactory::createInstance(metaProperty.type()));
|
||
if (ptr) {
|
||
if (relation.getType() == ONE_TO_ONE || relation.getType() == MANY_TO_ONE) {
|
||
QString indexName = this->generateIndexName(relation.getPropertyName(),
|
||
... | ... | |
auto superMetaObject = e->metaObject()->superClass();
|
||
if (e->getInheritanceStrategy() == JOINED_TABLE
|
||
&& QString(superMetaObject->className()) !=
|
||
QString("CuteEntityManager::Entity")) {
|
||
this->entityClassname()) {
|
||
Entity *superClass = EntityInstanceFactory::createInstance(
|
||
superMetaObject->className());
|
||
if (superClass) {
|
||
... | ... | |
}
|
||
|
||
QSharedPointer<Database> QueryBuilder::getDatabase() const {
|
||
return database;
|
||
return this->database;
|
||
}
|
||
|
||
void QueryBuilder::setDatabase(const QSharedPointer<Database> &value) {
|
||
... | ... | |
}
|
||
}
|
||
if (!(QString(superMetaObject->className()) !=
|
||
QString("CuteEntityManager::Entity")
|
||
this->entityClassname()
|
||
&& entity->getInheritanceStrategy() == JOINED_TABLE)) {
|
||
map.insert(entity->getPrimaryKey(), this->schema->TYPE_BIGPK);
|
||
}
|
||
... | ... | |
return "DISTINCT";
|
||
}
|
||
|
||
QString QueryBuilder::entityClassname() const {
|
||
return QString("CuteEntityManager::Entity");
|
||
}
|
||
|
||
QString QueryBuilder::limit(const qint64 &limit, const qint64 &offset) const {
|
||
QString s = "";
|
||
if (limit > 0) {
|
src/querybuilder.h | ||
---|---|---|
const QStringList &columns = QStringList()) const;
|
||
virtual QString countFunction(const QString &distinctColumn = "") const;
|
||
virtual QString distinct() const;
|
||
QString entityClassname() const;
|
||
|
||
QSharedPointer<Schema> schema;
|
||
QSharedPointer<Database> database;
|
Auch abrufbar als: Unified diff
small cleanup