From dd0098f8bdf4de6e8af02cd068e328e2c03db71d Mon Sep 17 00:00:00 2001 From: pinene Date: Sun, 19 Apr 2015 17:23:19 +0200 Subject: [PATCH] database management --- ruralHouses/src/businessLogic/HouseManager.java | 1 - ruralHouses/src/dataAccess/DB4oManager.java | 8 ++++++-- ruralHouses/src/domain/Owner.java | 5 +++++ ruralHouses/src/gui/listOfAdditionRequestsGUI.java | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ruralHouses/src/businessLogic/HouseManager.java b/ruralHouses/src/businessLogic/HouseManager.java index 7de62a4..68cf64e 100644 --- a/ruralHouses/src/businessLogic/HouseManager.java +++ b/ruralHouses/src/businessLogic/HouseManager.java @@ -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; } diff --git a/ruralHouses/src/dataAccess/DB4oManager.java b/ruralHouses/src/dataAccess/DB4oManager.java index 0e6e881..eb47769 100644 --- a/ruralHouses/src/dataAccess/DB4oManager.java +++ b/ruralHouses/src/dataAccess/DB4oManager.java @@ -459,9 +459,12 @@ public class DB4oManager { RuralHouse house = new RuralHouse(rh.getHouseName(), null, null, null, null); try { - ObjectSet result = db.queryByExample(house); + ObjectSet 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(); } diff --git a/ruralHouses/src/domain/Owner.java b/ruralHouses/src/domain/Owner.java index 010ff64..3ec14a4 100644 --- a/ruralHouses/src/domain/Owner.java +++ b/ruralHouses/src/domain/Owner.java @@ -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; diff --git a/ruralHouses/src/gui/listOfAdditionRequestsGUI.java b/ruralHouses/src/gui/listOfAdditionRequestsGUI.java index 0fbf336..db65fb2 100644 --- a/ruralHouses/src/gui/listOfAdditionRequestsGUI.java +++ b/ruralHouses/src/gui/listOfAdditionRequestsGUI.java @@ -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. -- 2.20.1