database management
authorpinene <epinzolas001@ikasle.ehu.es>
Sun, 19 Apr 2015 15:23:19 +0000 (17:23 +0200)
committerpinene <epinzolas001@ikasle.ehu.es>
Sun, 19 Apr 2015 15:23:19 +0000 (17:23 +0200)
ruralHouses/src/businessLogic/HouseManager.java
ruralHouses/src/dataAccess/DB4oManager.java
ruralHouses/src/domain/Owner.java
ruralHouses/src/gui/listOfAdditionRequestsGUI.java

index 7de62a4..68cf64e 100644 (file)
@@ -34,7 +34,6 @@ public class HouseManager implements HouseManagerInterface {
                if (!suitsRegulations(rh.getFeatures().getnKitchens(), rh.getFeatures()
                                .getnBaths(), rh.getFeatures().getnKitchens()))
                        return false;
-               rh.getOwner().getRuralHouses().add(rh);
                stored = this.dbMngr.storeRuralHouses(rh);
                return stored;
        }
index 0e6e881..eb47769 100644 (file)
@@ -459,9 +459,12 @@ 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()) {
-                               db.store(rh);
+                               Owner ow = (Owner) db.queryByExample(rh.getOwner()).get(0);
+                               db.delete(ow);
+                               ow.addRuralHouse(rh);
+                               db.store(ow);
                                db.commit();
                                stored = true;
                        } else {
@@ -488,6 +491,7 @@ public class DB4oManager {
                        if (!rhs.isEmpty()) {
                                Owner found =  result.get(0);
                                found.getRuralHouses().remove(rhs.get(0));
+                               db.delete(rhs.get(0));
                                db.store(found);
                                db.commit();
                        }
index 010ff64..3ec14a4 100644 (file)
@@ -51,6 +51,11 @@ public class Owner implements Serializable {
                ruralHouses.add(rh);
                return rh;
        }
+       
+       public RuralHouse addRuralHouse(RuralHouse rh) {
+               ruralHouses.add(rh);
+               return rh;
+       }
 
        public String toString() {
                return name;
index 0fbf336..db65fb2 100644 (file)
@@ -85,7 +85,7 @@ public class listOfAdditionRequestsGUI extends JFrame {
                JButton btnNewButton = new JButton("Confirm Addition");
                btnNewButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
-                               if (table.getRowCount()!=0) {
+                               if (table.getRowCount()!=0 && table.getSelectedRow() != -1) {
                                        HouseManagerInterface hm = new HouseManager();
                                        RuralHouse rh = houses.get(table.getSelectedRow());
                                        //TODO when the house is not added show a warning to the user. Method below returns a boolean stating that.