commit 57853172b5a545ed71b9c36c8a874e98b998c5c1
Author: SebastianDiel <sebastian.diel@web.de>
Date:   Mon Jan 2 23:00:26 2017 +0100

    Pupil persisting problem

diff --git a/samples/simple/group.cpp b/samples/simple/group.cpp
index 120fa7d..d8b01a2 100644
--- a/samples/simple/group.cpp
+++ b/samples/simple/group.cpp
@@ -9,8 +9,6 @@ Group::Group() : Entity() {
 const QHash<QString, CuteEntityManager::Relation> Group::getRelations() const {
     auto hash = QHash<QString, CuteEntityManager::Relation>();
     hash.insert("persons", CuteEntityManager::Relation("persons",
-                RelationType::MANY_TO_MANY));
-    hash.insert("pupils", CuteEntityManager::Relation("pupils",
                 RelationType::MANY_TO_MANY, QString("groups")));
     hash.insert("mainTeacher", CuteEntityManager::Relation("mainTeacher",
                 RelationType::MANY_TO_ONE));
@@ -24,21 +22,6 @@ QString Group::getName() const {
 void Group::setName(const QString &value) {
     name = value;
 }
-QList<QSharedPointer<Pupil> > Group::getPupils() const {
-    return pupils;
-}
-
-void Group::setPupils(const QList<QSharedPointer<Pupil> > &value) {
-    pupils = value;
-}
-
-void Group::addPupil(Pupil *pupil) {
-    this->pupils.append(QSharedPointer<Pupil>(pupil));
-}
-
-QSharedPointer<Pupil> Group::pupilAt(int i) {
-    return this->pupils.at(i);
-}
 
 QSharedPointer<Person> Group::getMainTeacher() const {
     return mainTeacher;
diff --git a/samples/simple/group.h b/samples/simple/group.h
index 2222109..d24dd51 100644
--- a/samples/simple/group.h
+++ b/samples/simple/group.h
@@ -12,7 +12,6 @@ using namespace CuteEntityManager;
 class Group: public CuteEntityManager::Entity {
     Q_OBJECT
     EM_MACRO(Group)
-    Q_PROPERTY(QList<QSharedPointer<Pupil>> pupils READ getPupils WRITE setPupils)
     Q_PROPERTY(QList<QSharedPointer<Person>> persons READ getPersons WRITE
                setPersons)
     Q_PROPERTY(QString name READ getName WRITE setName)
@@ -26,12 +25,7 @@ class Group: public CuteEntityManager::Entity {
     QString getName() const;
     void setName(const QString &value);
 
-    QList<QSharedPointer<Pupil> > getPupils() const;
-    void setPupils(const QList<QSharedPointer<Pupil> > &value);
-    void addPupil(Pupil *pupil);
-    QSharedPointer<Pupil> pupilAt(int i);
-
-    QSharedPointer<Person> getMainTeacher() const;
+        QSharedPointer<Person> getMainTeacher() const;
     void setMainTeacher(const QSharedPointer<Person> &value);
 
     QList<QSharedPointer<Person> > getPersons() const;
@@ -39,7 +33,6 @@ class Group: public CuteEntityManager::Entity {
     void setPersons(const QList<QSharedPointer<Person> > &value);
 
   protected:
-    QList<QSharedPointer<Pupil>> pupils;
     QList<QSharedPointer<Person>> persons;
     QSharedPointer<Person> mainTeacher;
     QString name;
diff --git a/samples/simple/main.cpp b/samples/simple/main.cpp
index 41bcfc6..3a7c436 100644
--- a/samples/simple/main.cpp
+++ b/samples/simple/main.cpp
@@ -25,11 +25,11 @@ int main(int argc, char *argv[]) {
     EntityInstanceFactory::registerClass<Person>();
     EntityInstanceFactory::registerClass<Pupil>();
     EntityInstanceFactory::registerClass<Group>();
-    EntityInstanceFactory::registerClass<Occasion>();
-    EntityInstanceFactory::registerClass<Incident>();
-    EntityInstanceFactory::registerClass<RatingMarkDefinition>();
-    EntityInstanceFactory::registerClass<RatingMarkIncident>();
-    EntityInstanceFactory::registerClass<RatingMarkSystem>();
+//    EntityInstanceFactory::registerClass<Occasion>();
+//    EntityInstanceFactory::registerClass<Incident>();
+//    EntityInstanceFactory::registerClass<RatingMarkDefinition>();
+//    EntityInstanceFactory::registerClass<RatingMarkIncident>();
+//    EntityInstanceFactory::registerClass<RatingMarkSystem>();
 
 
 
@@ -38,24 +38,29 @@ int main(int argc, char *argv[]) {
                 CuteEntityManager::EntityManager("QSQLITE",
                         QDir::currentPath() + "/db.sqlite"));
     qDebug()<<QDir::currentPath();
-    QStringList inits = QStringList() << "Address" << "Contact" << "Person" << "Pupil" << "Group" << "Incident" << "Occasion" << "RatingMarkDefinition" << "RatingMarkIncident" << "RatingMarkSystem";
+    QStringList inits = QStringList() << "Address" << "Contact" << "Person" << "Pupil" << "Group";
+
+    // << "Incident" << "Occasion" << "RatingMarkDefinition" << "RatingMarkIncident" << "RatingMarkSystem";
     e->startup("0.1", inits);
 
 
-    auto entities = DataCreation::createRatingEntities();
-    e->save(entities);
+//    auto entities = DataCreation::createRatingEntities();
+//    e->save(entities);
 
 //    QSharedPointer<Pupil> pupil = QSharedPointer<Pupil>(new Pupil("Vorname","Nachname","","","Keks"));
 //    e->save(pupil);
 
     QSharedPointer<Pupil> pupil = QSharedPointer<Pupil>(new Pupil());
     pupil->setLegalGuardianNote("note");
-    e->save(pupil);
-
+    try {
+    e->save(QList<QSharedPointer<Entity>>()<<pupil);
+    } catch(QString s) {
+    qDebug()<<s;
+    }
 //    QSharedPointer<Person> person = QSharedPointer<Person>(new Person("Vorname","Nachname","","","Keks"));
 //    e->save(person);
 
-
+/*
 
     QSharedPointer<Occasion> occasion = QSharedPointer<Occasion>(new Occasion("IrgendeinAnlass"));
     QSharedPointer<RatingMarkIncident> inc = QSharedPointer<RatingMarkIncident>(new RatingMarkIncident());
@@ -72,6 +77,6 @@ int main(int argc, char *argv[]) {
     e->save(inc);
 
 
-
+*/
     return 0;
 }
diff --git a/samples/simple/person.cpp b/samples/simple/person.cpp
index 8f42a50..de6a735 100644
--- a/samples/simple/person.cpp
+++ b/samples/simple/person.cpp
@@ -20,9 +20,6 @@ const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const {
     hash.insert("groups", CuteEntityManager::Relation("groups",
                 RelationType::MANY_TO_MANY,
                 QString("persons")));
-    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",
@@ -122,13 +119,3 @@ void Person::addContact(Contact *contact) {
 void Person::addAddress(Address *address) {
     this->addresses.append(QSharedPointer<Address>(address));
 }
-
-QList<QSharedPointer<Group> > Person::getMaintainedGroups() const {
-    return maintainedGroups;
-}
-
-void Person::setMaintainedGroups(const QList<QSharedPointer<Group> > &value) {
-    maintainedGroups = value;
-
-}
-
diff --git a/samples/simple/person.h b/samples/simple/person.h
index a5a7ac1..03536ce 100644
--- a/samples/simple/person.h
+++ b/samples/simple/person.h
@@ -25,8 +25,6 @@ class Person: public Entity {
                setCustomPictureFileName)
     Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday)
     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
@@ -75,8 +73,7 @@ class Person: public Entity {
     void addContact(Contact *contact);
     void addAddress(Address *address);
 
-    QList<QSharedPointer<Group> > getMaintainedGroups() const;
-    void setMaintainedGroups(const QList<QSharedPointer<Group> > &value);
+
 
   protected:
     QString firstName;
@@ -88,7 +85,6 @@ class Person: public Entity {
     QList <QSharedPointer<Contact>> contacts;
     QList <QSharedPointer<Address>> addresses;
     QList <QSharedPointer<Group>> groups;
-    QList <QSharedPointer<Group>> maintainedGroups;
 
 };
 
