implemented lacking GUIs and corrected errors
[RRRRHHHH_Code] / ruralHouses / src / dataAccess / DB4oManager.java
index 295af73..b0e4005 100644 (file)
@@ -39,6 +39,7 @@ public class DB4oManager {
                        db = Db4o.openFile(Db4o.newConfiguration(), db4oFileName);
                        db.ext().configure().updateDepth(5);
 
+
                } else if (mode.compareTo("initialize") == 0) {
                        try {
                                new File(db4oFileName).delete();
@@ -51,7 +52,7 @@ public class DB4oManager {
                                jon.setBankAccount("1349 5677 21 2133567777");
                                alfredo.addRuralHouse(3, "Casa del abuelo", "Pitillas", 5, 5,
                                                5, 5, 5);
-                               alfredo.addRuralHouse(4, "Murgia", 6, 6, 6, 6, 6);
+                               alfredo.addRuralHouse(4,"", "Murgia", 6, 6, 6, 6, 6);
                                alfredo.setBankAccount("4144 0087 23 9700002133");
                                Account jonAcc = new Account("userJon", "passJon", jon);
                                Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
@@ -76,24 +77,34 @@ public class DB4oManager {
                return db;
        }
 
+
        /**
         * @param rh
         */
-       public void storeRuralHouses(RuralHouse rh) {
+       public boolean storeRuralHouses(RuralHouse rh) {
                DB4oManager.openDatabase("open");
+               boolean stored = false;
                ObjectContainer db = DB4oManager.getContainer();
+               RuralHouse house = new RuralHouse(rh.getHouseNumber(), null, null,
+                               null, null);
                try {
-                       db.store(rh);
-                       db.commit();
+                       ObjectSet<Owner> result = db.queryByExample(house);
+                       if (result.isEmpty()) {
+                               db.store(rh);
+                               db.commit();
+                               stored = true;
+                       }
                } finally {
                        db.close();
                }
+               return stored;
        }
 
        /**
         * This method finds all existing owners
         * 
         */
+
        public Vector<Owner> getOwners() throws RemoteException, Exception {
                DB4oManager.openDatabase("open");
                ObjectContainer db = DB4oManager.getContainer();
@@ -108,6 +119,7 @@ public class DB4oManager {
                } finally {
                        db.close();
                }
+
        }
 
        /**
@@ -140,12 +152,12 @@ public class DB4oManager {
         * @throws Exception
         */
        public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
+
                        Exception {
                DB4oManager.openDatabase("open");
                ObjectContainer db = DB4oManager.getContainer();
                try {
-                       RuralHouse proto = new RuralHouse(0, null, null, null, 0, 0, 0, 0,
-                                       0);
+                       RuralHouse proto = new RuralHouse(0, null, null, null, null);
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
                        while (result.hasNext())
@@ -164,6 +176,7 @@ public class DB4oManager {
         *            number, start day, last day and price
         * @return None
         */
+
        public Offer createOffer(RuralHouse ruralHouse, Date firstDay,
                        Date lastDay, float price) throws RemoteException, Exception {
                DB4oManager.openDatabase("open");
@@ -171,8 +184,8 @@ public class DB4oManager {
                Offer o;
                try {
                        RuralHouse proto = new RuralHouse(ruralHouse.getHouseNumber(),
-                                       null, ruralHouse.getDescription(), ruralHouse.getTown(), 0,
-                                       0, 0, 0, 0);
+                                       null, ruralHouse.getDescription(), ruralHouse.getTown(),
+                                       ruralHouse.getFeatures());
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        RuralHouse rh = (RuralHouse) result.next();
                        o = rh.createOffer(firstDay, lastDay, price);
@@ -184,6 +197,7 @@ public class DB4oManager {
                return o;
        }
 
+
        /**
         * @param rh
         * @return
@@ -194,7 +208,8 @@ public class DB4oManager {
                try {
                        ObjectContainer db = DB4oManager.getContainer();
                        RuralHouse proto = new RuralHouse(rh.getHouseNumber(), null,
-                                       rh.getDescription(), rh.getTown(), 0, 0, 0, 0, 0);
+
+                                       rh.getDescription(), rh.getTown(), rh.getFeatures());
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        return rh = (RuralHouse) result.next();
                } catch (Exception exc) {
@@ -203,7 +218,8 @@ public class DB4oManager {
                } finally {
                        db.close();
                }
-       }
+
+       } 
 
        /**
         * @param offer
@@ -229,6 +245,25 @@ public class DB4oManager {
                } finally {
                        db.close();
                }
+
+       }
+
+       public void removeHouse(int houseNumber) {
+               ObjectContainer db = DB4oManager.getContainer();
+               RuralHouse house = new RuralHouse(houseNumber, null, null, null, null);
+               try {
+                       ObjectSet<RuralHouse> result = db.queryByExample(house);
+                       if (!result.isEmpty()) {
+                               RuralHouse found = (RuralHouse) result.get(0);
+                               db.delete(found);
+                               db.commit();
+                       }
+               } catch (Exception exc) {
+                       exc.printStackTrace();
+               } finally {
+                       db.close();
+               }
+
        }
 
        /**