Owner deletion added
[RRRRHHHH_Code] / ruralHouses / src / dataAccess / DB4oManager.java
index 7ae4fa9..e189e95 100644 (file)
@@ -81,12 +81,13 @@ public class DB4oManager {
                configuration = Db4oEmbedded.newConfiguration();
                configuration.common().activationDepth(c.getActivationDepth());
                configuration.common().updateDepth(c.getUpdateDepth());
-               configuration.common().objectClass(Owner.class).cascadeOnUpdate(true);
+               configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
                configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
                configuration.common().objectClass(RuralHouse.class)
-                               .cascadeOnUpdate(true);
-               configuration.common().objectClass(Offer.class)
-               .cascadeOnUpdate(true);
+                               .cascadeOnDelete(true);
+               configuration.common().objectClass(Account.class)
+               .cascadeOnDelete(true);
+               configuration.common().objectClass(Offer.class).cascadeOnDelete(true);
                configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
                db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
        }
@@ -539,20 +540,16 @@ public class DB4oManager {
                return false;
        }
 
-       // TODO remove account
-
-       public boolean removeAccount(Account acc) {
+       public boolean removeAccount(Owner own) {
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
                        openDB();
 
                try {
-                       ObjectSet<Account> result = db.queryByExample(new Account(acc
-                                       .getUsername()));
+                       ObjectSet<Account> result = db.queryByExample(new Account(own));
                        if (!result.isEmpty()) {
                                db.delete(result.get(0));
-                               ;
                                db.commit();
                                return true;
                        }
@@ -598,10 +595,10 @@ public class DB4oManager {
                        ObjectSet<Booking> result = db.queryByExample(b);
                        result.get(0).getOffer().getBookings().remove(b);
                        db.store(result.get(0).getOffer());
+                       db.delete(result.get(0));
                        db.commit();
                } catch (Exception e) {
                        e.printStackTrace();
-                       ;
                } finally {
                        db.close();
                }