debugging
[RRRRHHHH_Code] / ruralHouses / src / dataAccess / DB4oManager.java
index cb923e1..03601e1 100644 (file)
@@ -69,8 +69,8 @@ public class DB4oManager {
                } else // c.getDataBaseOpenMode().equals("open")
 
                {
-                       ObjectSet res = db.queryByExample(DB4oManagerAux.class);
-                       ListIterator listIter = res.listIterator();
+                       ObjectSet<DB4oManagerAux> res = db.queryByExample(DB4oManagerAux.class);
+                       ListIterator<DB4oManagerAux> listIter = res.listIterator();
                        if (listIter.hasNext())
                                theDB4oManagerAux = (DB4oManagerAux) res.next();
                }
@@ -116,18 +116,20 @@ public class DB4oManager {
                try {
                        Owner jon = new Owner("Jon");
                        Owner alfredo = new Owner("Alfredo");
-                       jon.addRuralHouse("Ezkioko", "Ezkioko etxea", "Beatriz", 3, 3, 3, 3,
-                                       3);
-                       jon.addRuralHouse("Eskiatze", "Eskiatzeko etxea", "Guazate", 4, 4, 4,
-                                       4, 4);
+                       jon.addRuralHouse("Ezkioko", "Ezkioko etxea", "Beatriz", 3, 3, 3,
+                                       3, 3);
+                       jon.addRuralHouse("Eskiatze", "Eskiatzeko etxea", "Guazate", 4, 4,
+                                       4, 4, 4);
                        jon.setBankAccount("1349 5677 21 2133567777");
-                       alfredo.addRuralHouse("Aitonako", "Casa del abuelo", "Vegas", 5,
-                                       5, 5, 5, 5);
+                       alfredo.addRuralHouse("Aitonako", "Casa del abuelo", "Vegas", 5, 5,
+                                       5, 5, 5);
+                       
                        alfredo.addRuralHouse("Murgoitz", "", "Cedro", 6, 6, 6, 6, 6);
                        alfredo.setBankAccount("4144 0087 23 9700002133");
                        Account jonAcc = new Account("userJon", "passJon", jon);
                        Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
                                        alfredo);
+
                        Account admin = new Account("admin","admin", true);
                        db.store(Administrator.giveAdmin());
                        db.store(jon);
@@ -150,8 +152,7 @@ public class DB4oManager {
 
                try {
                        Owner proto = new Owner(null, null);
-                       ObjectSet result = db.queryByExample(proto);
-                       Vector<Owner> owners = new Vector<Owner>();
+                       ObjectSet<Owner> result = db.queryByExample(proto);
                        while (result.hasNext()) {
                                Owner o = (Owner) result.next();
                                System.out.println("Deleted owner: " + o.toString());
@@ -162,8 +163,6 @@ public class DB4oManager {
                        db.close();
                }
        }
-       
-       
 
        public Offer createOffer(RuralHouse ruralHouse, Date firstDay,
                        Date lastDay, float price) throws RemoteException, Exception {
@@ -178,7 +177,7 @@ public class DB4oManager {
 
                        RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(), null,
                                        null, null, null);
-                       ObjectSet result = db.queryByExample(proto);
+                       ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        RuralHouse rh = (RuralHouse) result.next();
                        o = rh.createOffer(theDB4oManagerAux.offerNumber++, firstDay,
                                        lastDay, price);
@@ -196,27 +195,8 @@ public class DB4oManager {
                return o;
        }
 
-       public Offer modifyOffer(Offer offer) throws RemoteException, Exception {
-               if (c.isDatabaseLocal() == false)
-                       openSDB();
-               else
-                       openDB();
-
-               try {
-
-                       db.store(offer);
-                       db.commit();
-
-               } catch (com.db4o.ext.ObjectNotStorableException e) {
-                       System.out
-                                       .println("Error: com.db4o.ext.ObjectNotStorableException in createOffer");
-               } finally {
-                       db.close();
-               }
-               return offer;
-       }
-
-       public void deleteOffer(RuralHouse rh, Offer offer) throws RemoteException,
+       
+       public void deleteOffer(Offer offer) throws RemoteException,
                        Exception {
                if (c.isDatabaseLocal() == false)
                        openSDB();
@@ -224,9 +204,10 @@ public class DB4oManager {
                        openDB();
 
                try {
-
+                       ObjectSet<Offer> of = db.queryByExample(offer);
+                       RuralHouse rh =of.get(0).getRuralHouse();
+                       System.out.println(rh.offers.remove(of.get(0)));
                        db.store(rh);
-                       db.delete(offer);
                        db.commit();
 
                } catch (com.db4o.ext.ObjectNotStorableException e) {
@@ -238,16 +219,23 @@ public class DB4oManager {
        }
 
        
+       @SuppressWarnings("static-access")
        public LinkedList<RuralHouse>[] getAdminData(){
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
                        openDB();
+               @SuppressWarnings("unchecked")
                LinkedList<RuralHouse>[] ret =  new LinkedList[2];
                
                try {
                        
                        List<Administrator> admL = db.query(new Predicate<Administrator>(){
+                               /**
+                                * 
+                                */
+                               private static final long serialVersionUID = 1L;
+
                                public boolean match(Administrator admin){
                                        return true;
                                }
@@ -264,6 +252,7 @@ public class DB4oManager {
                
        }
        
+       @SuppressWarnings("static-access")
        public void storeAdmin() {
                if (c.isDatabaseLocal() == false)
                        openSDB();
@@ -272,6 +261,11 @@ public class DB4oManager {
                try {
                        
                        List<Administrator> admL = db.query(new Predicate<Administrator>(){
+                               /**
+                                * 
+                                */
+                               private static final long serialVersionUID = 1L;
+
                                public boolean match(Administrator admin){
                                        return true;
                                }
@@ -319,7 +313,7 @@ public class DB4oManager {
 
                        RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(), null,
                                        ruralHouse.getDescription(), ruralHouse.getDistrict(), null);
-                       ObjectSet result = db.queryByExample(proto);
+                       ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        RuralHouse rh = (RuralHouse) result.next();
 
                        Offer offer;
@@ -359,7 +353,7 @@ public class DB4oManager {
 
                try {
                        Owner proto = new Owner(null, null);
-                       ObjectSet result = db.queryByExample(proto);
+                       ObjectSet<Owner> result = db.queryByExample(proto);
                        Vector<Owner> owners = new Vector<Owner>();
                        while (result.hasNext())
                                owners.add((Owner) result.next());
@@ -379,7 +373,7 @@ public class DB4oManager {
 
                try {
                        RuralHouse proto = new RuralHouse(null, null, null, null, null);
-                       ObjectSet result = db.queryByExample(proto);
+                       ObjectSet<RuralHouse> result = db.queryByExample(proto);
                        Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
                        while (result.hasNext())
                                ruralHouses.add((RuralHouse) result.next());
@@ -465,8 +459,20 @@ public class DB4oManager {
                RuralHouse house = new RuralHouse(rh.getHouseName(), null, null, null,
                                null);
                try {
-                       ObjectSet<Owner> result = db.queryByExample(house);
+                       ObjectSet<RuralHouse> result = db.queryByExample(house);
                        if (result.isEmpty()) {
+                               Owner ow = (Owner) db.queryByExample(rh.getOwner()).get(0);
+                               ObjectSet<RuralHouse> orh = db.queryByExample(new RuralHouse(null, ow, null, null, null));
+                               for (RuralHouse aa: orh){
+                                       db.delete(aa);
+                               }
+                               db.delete(ow);
+                               ow.addRuralHouse(rh);
+                               db.store(ow);
+                               db.commit();
+                               stored = true;
+                       } else {
+                               db.delete(result.get(0));
                                db.store(rh);
                                db.commit();
                                stored = true;
@@ -484,12 +490,13 @@ public class DB4oManager {
                else
                        openDB();
                try {
-                       ObjectSet<RuralHouse> result = db.queryByExample(rh);
-                       if (!result.isEmpty()) {
-                               RuralHouse found = (RuralHouse) result.get(0);
-                               // db.delete(found.getOwner());
-                               db.store(owner);
-                               db.delete(found);
+                       ObjectSet<Owner> result = db.queryByExample(owner);
+                       ObjectSet<RuralHouse> rhs = db.queryByExample(rh);
+                       if (!rhs.isEmpty()) {
+                               Owner found =  result.get(0);
+                               found.getRuralHouses().remove(rhs.get(0));
+                               db.delete(rhs.get(0));
+                               db.store(found);
                                db.commit();
                        }
                } catch (Exception exc) {
@@ -500,54 +507,11 @@ public class DB4oManager {
 
        }
 
-       public Vector<RuralHouse> getRuralHousesByTown(String town) {
-               RuralHouse rh = new RuralHouse(null, null, null, town, null);
-
-               if (c.isDatabaseLocal() == false)
-                       openSDB();
-               else
-                       openDB();
-
-               try {
-                       ObjectSet<RuralHouse> result = db.queryByExample(rh);
-                       Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
-                       while (result.hasNext())
-                               ruralHouses.add(result.next());
-                       return ruralHouses;
-               } finally {
-                       db.close();
-               }
-
-       }
-
-       public RuralHouse getRuralHouseByName(String name) {
-               RuralHouse rh = new RuralHouse(name, null, null, null, null);
-
-               if (c.isDatabaseLocal() == false)
-                       openSDB();
-               else
-                       openDB();
-
-               try {
-                       ObjectSet<RuralHouse> result = db.queryByExample(rh);
-                       Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
-                       while (result.hasNext())
-                               ruralHouses.add(result.next());
-                       db.close();
-                       if (!ruralHouses.isEmpty())
-                               return ruralHouses.get(0);
-                       else
-                               return null;
-               } catch (NullPointerException e) {
-                       return null;
-               }
-
-       }
 
-       public Vector<RuralHouse> getRuralHouses(String town, int nBed, int nKit,
-                       int nBath, int nPark, int nLiv) {
+       public Vector<RuralHouse> getRuralHouses(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(null, null, null, town, fea);
+               RuralHouse rh = new RuralHouse(name, null, null, town, fea);
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else