commit f682a8cbcae8002c7950030b24886993c94d7fac
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Thu Jul 30 19:15:43 2015 +0200

    example and logger update

diff --git a/samples/example/models/address.cpp b/samples/example/models/address.cpp
index e0ae21e..6530005 100644
--- a/samples/example/models/address.cpp
+++ b/samples/example/models/address.cpp
@@ -52,9 +52,9 @@ void Address::setPersons(const QList<QSharedPointer<Person> > &value) {
 const QHash<QString, CuteEntityManager::Relation> Address::getRelations()
 const {
     auto hash = Entity::getRelations();
-//    hash.insert("persons", CuteEntityManager::Relation("persons",
-//                RelationType::MANY_TO_MANY,
-//                QString("addresses")));
+    hash.insert("persons", CuteEntityManager::Relation("persons",
+                RelationType::MANY_TO_MANY,
+                QString("addresses")));
     hash.insert("pupils", CuteEntityManager::Relation("pupils",
                 RelationType::MANY_TO_MANY,
                 QString("addresses")));
diff --git a/samples/example/models/contact.cpp b/samples/example/models/contact.cpp
index 467b6bb..07a69b8 100644
--- a/samples/example/models/contact.cpp
+++ b/samples/example/models/contact.cpp
@@ -10,9 +10,9 @@ Contact::Contact(QString label, Category category, QString content) {
 const QHash<QString, CuteEntityManager::Relation> Contact::getRelations()
 const {
     auto hash = Entity::getRelations();
-//    hash.insert("persons", CuteEntityManager::Relation("persons",
-//                RelationType::MANY_TO_MANY,
-//                QString("contacts")));
+    hash.insert("persons", CuteEntityManager::Relation("persons",
+                RelationType::MANY_TO_MANY,
+                QString("contacts")));
     hash.insert("pupils", CuteEntityManager::Relation("pupils",
                 RelationType::MANY_TO_MANY,
                 QString("contacts")));
diff --git a/samples/example/models/person.cpp b/samples/example/models/person.cpp
index 035e114..f1d69e8 100644
--- a/samples/example/models/person.cpp
+++ b/samples/example/models/person.cpp
@@ -24,10 +24,10 @@ const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const {
     hash.insert("maintainedGroups", CuteEntityManager::Relation("maintainedGroups",
                 RelationType::ONE_TO_MANY,
                 QString("mainTeacher")));
-//    hash.insert("contacts", CuteEntityManager::Relation("contacts",
-//                RelationType::MANY_TO_MANY));
-//    hash.insert("addresses", CuteEntityManager::Relation("addresses",
-//                RelationType::MANY_TO_MANY));
+    hash.insert("contacts", CuteEntityManager::Relation("contacts",
+                RelationType::MANY_TO_MANY));
+    hash.insert("addresses", CuteEntityManager::Relation("addresses",
+                RelationType::MANY_TO_MANY));
     return hash;
 }
 
diff --git a/samples/example/models/person.h b/samples/example/models/person.h
index 7a49716..d9e867f 100644
--- a/samples/example/models/person.h
+++ b/samples/example/models/person.h
@@ -27,10 +27,10 @@ class Person: public Entity {
     Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups)
     Q_PROPERTY(QList<QSharedPointer<Group>> maintainedGroups READ
                getMaintainedGroups WRITE setMaintainedGroups)
-//    Q_PROPERTY(QList<QSharedPointer<Contact>> contacts READ getContacts WRITE
-//               setContacts)
-//    Q_PROPERTY(QList<QSharedPointer<Address>> addresses READ
-//               getAddresses WRITE setAddresses)
+    Q_PROPERTY(QList<QSharedPointer<Contact>> contacts READ getContacts WRITE
+               setContacts)
+    Q_PROPERTY(QList<QSharedPointer<Address>> addresses READ
+               getAddresses WRITE setAddresses)
 
   public:
     enum class Gender {MALE, FEMALE, UNKNOWNGENDER};
diff --git a/src/logger.cpp b/src/logger.cpp
index 276834a..10b2146 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -25,13 +25,14 @@ void Logger::lastError(const QSqlQuery &q, bool logQuery) {
         qDebug() << errorMsg;
         stream << errorMsg;
     }
-    if(logQuery) {
+    if(logQuery || !errorMsg.isEmpty()) {
         const QString query = this->generateLogMsg(q);
         if(!query.isEmpty()) {
             qDebug() << query;
             stream << query;
         }
     }
+    stream << "\n";
     stream.flush();
     log.close();
 }
@@ -48,8 +49,9 @@ void Logger::lastError(const QSqlError &e) {
     }
 }
 
-QString Logger::generateLogMsg(const QSqlQuery &q) const {
+QString Logger::generateLogMsg(const QSqlQuery &q, bool withValues) const {
     QString r = "<" + q.executedQuery() + ">";
+    if(withValues) {
     QMap<QString, QVariant> m = q.boundValues();
     QMap<QString,QVariant>::iterator i;
     if(!m.isEmpty()) {
@@ -58,6 +60,7 @@ QString Logger::generateLogMsg(const QSqlQuery &q) const {
             r += "{" + i.key() + ":" + i.value().toString() + "}";
         }
     }
+    }
     return r;
 }
 
@@ -74,7 +77,7 @@ void Logger::setPath(const QString &value) {
 
 QString Logger::generateLogMsg(const QSqlError &e) const {
     if(e.isValid()) {
-        return "UTC:" + QDateTime::currentDateTime().toString("yyyy-MM-dd|hh:MM:ss") + "|" + e.driverText() + "|" + e.databaseText().toLatin1() + "\n";
+        return "ErrorUTC:" + QDateTime::currentDateTime().toString("yyyy-MM-dd|hh:MM:ss") + "|" + e.driverText() + "|" + e.databaseText().toLatin1();
     } else {
         return "";
     }
diff --git a/src/logger.h b/src/logger.h
index ba91743..6050738 100644
--- a/src/logger.h
+++ b/src/logger.h
@@ -20,7 +20,7 @@ public:
 
 protected:
     QString generateLogMsg(const QSqlError &e) const;
-    QString generateLogMsg(const QSqlQuery &q) const;
+    QString generateLogMsg(const QSqlQuery &q, bool withValues=true) const;
 
 private:
     QString path;
