Booking deletion fixed some minor problems remain
[RRRRHHHH_Code] / ruralHouses / src / dataAccess / DB4oManager.java
index e189e95..a677c95 100644 (file)
@@ -85,8 +85,7 @@ public class DB4oManager {
                configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
                configuration.common().objectClass(RuralHouse.class)
                                .cascadeOnDelete(true);
-               configuration.common().objectClass(Account.class)
-               .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());
@@ -222,7 +221,25 @@ public class DB4oManager {
                }
        }
 
+       public Vector<Offer> getRHsOffer(String name) {
+               if (c.isDatabaseLocal() == false)
+                       openSDB();
+               else
+                       openDB();
+
+               try {
+                       RuralHouse rh = (RuralHouse) db.queryByExample(
+                                       new RuralHouse(name, null, null, null, null)).get(0);
+                       Offer proto = new Offer(0, rh, null, null, 0);
+                       ObjectSet<Offer> result = db.queryByExample(proto);
+                       return new Vector<Offer>(result);
+               } finally {
+                       db.close();
+               }
+       }
+
        public Administrator getAdminData() {
+
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
@@ -368,10 +385,7 @@ public class DB4oManager {
                try {
                        RuralHouse proto = new RuralHouse(null, null, null, null, null);
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
-                       Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
-                       while (result.hasNext())
-                               ruralHouses.add((RuralHouse) result.next());
-                       return ruralHouses;
+                       return new Vector<RuralHouse>(result);
                } finally {
                        db.close();
                }
@@ -496,10 +510,10 @@ public class DB4oManager {
 
        }
 
-       public Vector<RuralHouse> getRuralHouses(String name, String town,
-                       int nBed, int nKit, int nBath, int nPark, int nLiv) {
+       public Vector<RuralHouse> getRuralHouses(Owner ow, String name,
+                       String town, int nBed, int nKit, int nBath, int nPark, int nLiv) {
                HouseFeatures fea = new HouseFeatures(nBed, nKit, nBath, nLiv, nPark);
-               RuralHouse rh = new RuralHouse(name, null, null, town, fea);
+               RuralHouse rh = new RuralHouse(name, ow, null, town, fea);
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
@@ -592,10 +606,15 @@ public class DB4oManager {
                else
                        openDB();
                try {
-                       ObjectSet<Booking> result = db.queryByExample(b);
-                       result.get(0).getOffer().getBookings().remove(b);
-                       db.store(result.get(0).getOffer());
-                       db.delete(result.get(0));
+                       Booking book = new Booking(b.getBookNumber(), new Offer(b
+                                       .getOffer().getOfferNumber(), new RuralHouse(b.getOffer()
+                                       .getRuralHouse().getHouseName(), null, null, null, null),
+                                       null, null, 0), b.getClient(), b.getBookDate());
+
+                       ObjectSet<Booking> result = db.queryByExample(book);
+                       Offer of = result.get(0).getOffer();
+                       of.getBookings().remove(result.get(0));
+                       db.store(of);
                        db.commit();
                } catch (Exception e) {
                        e.printStackTrace();