Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / dataAccess / DB4oManager.java
index 0f17aeb..d17876f 100644 (file)
@@ -85,9 +85,14 @@ 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(Owner.class).cascadeOnUpdate(true);
+               configuration.common().objectClass(Booking.class).cascadeOnUpdate(true);
+               configuration.common().objectClass(RuralHouse.class)
+                               .cascadeOnUpdate(true);
+               configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
+               configuration.common().objectClass(Offer.class).cascadeOnUpdate(true);
                configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
                db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
        }
@@ -222,14 +227,15 @@ public class DB4oManager {
                }
        }
 
-       public Vector<Offer> getRHsOffer(String name){
+       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);
+                       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);
@@ -237,8 +243,8 @@ public class DB4oManager {
                        db.close();
                }
        }
-       
-       public Administrator getAdminData(){
+
+       public Administrator getAdminData() {
 
                if (c.isDatabaseLocal() == false)
                        openSDB();
@@ -322,12 +328,12 @@ public class DB4oManager {
                                openSDB();
 
                        RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(), null,
-                                       ruralHouse.getDescription(), ruralHouse.getDistrict(), null);
+                                       null, null, null);
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        RuralHouse rh = (RuralHouse) result.next();
 
                        Offer offer;
-                       offer = rh.findOffer(firstDate, lastDate);
+                       offer = (Offer)db.queryByExample(new Offer(0, rh, firstDate, lastDate, 0)).get(0);
 
                        if (offer != null) {
                                offer.createBooking(theDB4oManagerAux.bookingNumber++, cl);
@@ -374,23 +380,7 @@ public class DB4oManager {
                }
        }
 
-       
-       public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
-                       Exception {
 
-               if (c.isDatabaseLocal() == false)
-                       openSDB();
-               else
-                       openDB();
-
-               try {
-                       RuralHouse proto = new RuralHouse(null, null, null, null, null);
-                       ObjectSet<RuralHouse> result = db.queryByExample(proto);
-                       return new Vector<RuralHouse>(result);
-               } finally {
-                       db.close();
-               }
-       }
 
        public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay,
                        Date lastDay) throws RemoteException, OverlappingOfferExists {
@@ -414,10 +404,6 @@ public class DB4oManager {
                }
        }
 
-       public static ObjectContainer getContainer() {
-               return db;
-       }
-
        public void close() {
                db.close();
                System.out.println("DataBase closed");
@@ -511,8 +497,8 @@ public class DB4oManager {
 
        }
 
-       public Vector<RuralHouse> getRuralHouses(Owner ow, 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, ow, null, town, fea);
                if (c.isDatabaseLocal() == false)
@@ -562,7 +548,7 @@ public class DB4oManager {
                        openDB();
 
                try {
-                       ObjectSet<Account> result = db.queryByExample(new Account(own));
+                       ObjectSet<Account> result = db.queryByExample(new Account(null,null,own));
                        if (!result.isEmpty()) {
                                db.delete(result.get(0));
                                db.commit();
@@ -607,10 +593,12 @@ 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());
+                       book.setOffer(null);
+                       db.delete(book);
                        db.commit();
                } catch (Exception e) {
                        e.printStackTrace();